10 lines
275 KiB
JavaScript
10 lines
275 KiB
JavaScript
/*! insight-bitcore 0.1.3 */
|
||
!function(D,T,s){"use strict";function F(b){return function(){var c,a=arguments[0],a="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.2.14-build.2346+sha.6b5baad/"+(b?b+"/":"")+a;for(c=1;c<arguments.length;c++)a=a+(1==c?"?":"&")+"p"+(c-1)+"="+encodeURIComponent("function"==typeof arguments[c]?arguments[c].toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof arguments[c]?"undefined":"string"!=typeof arguments[c]?JSON.stringify(arguments[c]):arguments[c]);return Error(a)}}function ub(b){if(null==b||ya(b))return!1;var a=b.length;return 1===b.nodeType&&a?!0:E(b)||I(b)||0===a||"number"==typeof a&&a>0&&a-1 in b}function r(b,a,c){var d;if(b)if(N(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d);else if(b.forEach&&b.forEach!==r)b.forEach(a,c);else if(ub(b))for(d=0;d<b.length;d++)a.call(c,b[d],d);else for(d in b)b.hasOwnProperty(d)&&a.call(c,b[d],d);return b}function Pb(b){var c,a=[];for(c in b)b.hasOwnProperty(c)&&a.push(c);return a.sort()}function Qc(b,a,c){for(var d=Pb(b),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function Qb(b){return function(a,c){b(c,a)}}function Za(){for(var a,b=ia.length;b;){if(b--,a=ia[b].charCodeAt(0),57==a)return ia[b]="A",ia.join("");if(90!=a)return ia[b]=String.fromCharCode(a+1),ia.join("");ia[b]="0"}return ia.unshift("0"),ia.join("")}function Rb(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function t(b){var a=b.$$hashKey;return r(arguments,function(a){a!==b&&r(a,function(a,c){b[c]=a})}),Rb(b,a),b}function Q(b){return parseInt(b,10)}function Sb(b,a){return t(new(t(function(){},{prototype:b})),a)}function x(){}function za(b){return b}function $(b){return function(){return b}}function B(b){return"undefined"==typeof b}function v(b){return"undefined"!=typeof b}function X(b){return null!=b&&"object"==typeof b}function E(b){return"string"==typeof b}function vb(b){return"number"==typeof b}function La(b){return"[object Date]"===Aa.call(b)}function I(b){return"[object Array]"===Aa.call(b)}function N(b){return"function"==typeof b}function $a(b){return"[object RegExp]"===Aa.call(b)}function ya(b){return b&&b.document&&b.location&&b.alert&&b.setInterval}function Rc(b){return!(!b||!(b.nodeName||b.prop&&b.attr&&b.find))}function Sc(b,a,c){var d=[];return r(b,function(b,f,g){d.push(a.call(c,b,f,g))}),d}function ab(b,a){if(b.indexOf)return b.indexOf(a);for(var c=0;c<b.length;c++)if(a===b[c])return c;return-1}function Ma(b,a){var c=ab(b,a);return c>=0&&b.splice(c,1),a}function ba(b,a){if(ya(b)||b&&b.$evalAsync&&b.$watch)throw Na("cpws");if(a){if(b===a)throw Na("cpi");if(I(b))for(var c=a.length=0;c<b.length;c++)a.push(ba(b[c]));else{c=a.$$hashKey,r(a,function(b,c){delete a[c]});for(var d in b)a[d]=ba(b[d]);Rb(a,c)}}else(a=b)&&(I(b)?a=ba(b,[]):La(b)?a=new Date(b.getTime()):$a(b)?a=RegExp(b.source):X(b)&&(a=ba(b,{})));return a}function Tb(b,a){a=a||{};for(var c in b)!b.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(a[c]=b[c]);return a}function sa(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var d,c=typeof b;if(c==typeof a&&"object"==c){if(!I(b)){if(La(b))return La(a)&&b.getTime()==a.getTime();if($a(b)&&$a(a))return b.toString()==a.toString();if(b&&b.$evalAsync&&b.$watch||a&&a.$evalAsync&&a.$watch||ya(b)||ya(a)||I(a))return!1;c={};for(d in b)if("$"!==d.charAt(0)&&!N(b[d])){if(!sa(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!c.hasOwnProperty(d)&&"$"!==d.charAt(0)&&a[d]!==s&&!N(a[d]))return!1;return!0}if(!I(a))return!1;if((c=b.length)==a.length){for(d=0;c>d;d++)if(!sa(b[d],a[d]))return!1;return!0}}return!1}function Ub(){return T.securityPolicy&&T.securityPolicy.isActive||T.querySelector&&!(!T.querySelector("[ng-csp]")&&!T.querySelector("[data-ng-csp]"))}function bb(b,a){var c=2<arguments.length?ta.call(arguments,2):[];return!N(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?a.apply(b,c.concat(ta.call(arguments,0))):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Tc(b,a){var c=a;return"string"==typeof b&&"$"===b.charAt(0)?c=s:ya(a)?c="$WINDOW":a&&T===a?c="$DOCUMENT":a&&a.$evalAsync&&a.$watch&&(c="$SCOPE"),c}function na(b,a){return"undefined"==typeof b?s:JSON.stringify(b,Tc,a?" ":null)}function Vb(b){return E(b)?JSON.parse(b):b}function Oa(b){return"function"==typeof b?b=!0:b&&0!==b.length?(b=O(""+b),b=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)):b=!1,b}function fa(b){b=z(b).clone();try{b.empty()}catch(a){}var c=z("<div>").append(b).html();try{return 3===b[0].nodeType?O(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+O(b)})}catch(d){return O(c)}}function Wb(b){try{return decodeURIComponent(b)}catch(a){}}function Xb(b){var c,d,a={};return r((b||"").split("&"),function(b){b&&(c=b.split("="),d=Wb(c[0]),v(d)&&(b=v(c[1])?Wb(c[1]):!0,a[d]?I(a[d])?a[d].push(b):a[d]=[a[d],b]:a[d]=b))}),a}function Yb(b){var a=[];return r(b,function(b,d){I(b)?r(b,function(b){a.push(ua(d,!0)+(!0===b?"":"="+ua(b,!0)))}):a.push(ua(d,!0)+(!0===b?"":"="+ua(b,!0)))}),a.length?a.join("&"):""}function wb(b){return ua(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ua(b,a){return encodeURIComponent(b).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,a?"%20":"+")}function Uc(b,a){function c(a){a&&d.push(a)}var e,f,d=[b],g=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(g,function(a){g[a]=!0,c(T.getElementById(a)),a=a.replace(":","\\:"),b.querySelectorAll&&(r(b.querySelectorAll("."+a),c),r(b.querySelectorAll("."+a+"\\:"),c),r(b.querySelectorAll("["+a+"]"),c))}),r(d,function(a){if(!e){var b=h.exec(" "+a.className+" ");b?(e=a,f=(b[2]||"").replace(/\s+/g,",")):r(a.attributes,function(b){!e&&g[b.name]&&(e=a,f=b.value)})}}),e&&a(e,f?[f]:[])}function Zb(b,a){var c=function(){if(b=z(b),b.injector()){var c=b[0]===T?"document":fa(b);throw Na("btstrpd",c)}return a=a||[],a.unshift(["$provide",function(a){a.value("$rootElement",b)}]),a.unshift("ng"),c=$b(a),c.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),c},d=/^NG_DEFER_BOOTSTRAP!/;return D&&!d.test(D.name)?c():(D.name=D.name.replace(d,""),void(Ba.resumeBootstrap=function(b){r(b,function(b){a.push(b)}),c()}))}function cb(b,a){return a=a||"_",b.replace(Vc,function(b,d){return(d?a:"")+b.toLowerCase()})}function xb(b,a,c){if(!b)throw Na("areq",a||"?",c||"required");return b}function Pa(b,a,c){return c&&I(b)&&(b=b[b.length-1]),xb(N(b),a,"not a function, got "+(b&&"object"==typeof b?b.constructor.name||"Object":typeof b)),b}function va(b,a){if("hasOwnProperty"===b)throw Na("badname",a)}function ac(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;f>g;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&N(b)?bb(e,b):b}function yb(b){var a=b[0];if(b=b[b.length-1],a===b)return z(a);var c=[a];do{if(a=a.nextSibling,!a)break;c.push(a)}while(a!==b);return z(c)}function Wc(b){var a=F("$injector"),c=F("ng");return b=b.angular||(b.angular={}),b.$$minErr=b.$$minErr||F,b.module||(b.module=function(){var b={};return function(e,f,g){if("hasOwnProperty"===e)throw c("badname","module");return f&&b.hasOwnProperty(e)&&(b[e]=null),b[e]||(b[e]=function(){function b(a,d,e){return function(){return c[e||"push"]([a,d,arguments]),n}}if(!f)throw a("nomod",e);var c=[],d=[],l=b("$injector","invoke"),n={_invokeQueue:c,_runBlocks:d,requires:f,name:e,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:b("$provide","value"),constant:b("$provide","constant","unshift"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:l,run:function(a){return d.push(a),this}};return g&&l(g),n}())}}())}function Qa(b){return b.replace(Xc,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Yc,"Moz$1")}function zb(b,a,c,d){function e(b){var k,l,n,q,p,y,e=c&&b?[this.filter(b)]:[this],m=a;if(!d||null!=b)for(;e.length;)for(k=e.shift(),l=0,n=k.length;n>l;l++)for(q=z(k[l]),m?q.triggerHandler("$destroy"):m=!m,p=0,q=(y=q.children()).length;q>p;p++)e.push(Ca(y[p]));return f.apply(this,arguments)}var f=Ca.fn[b],f=f.$original||f;e.$original=f,Ca.fn[b]=e}function R(b){if(b instanceof R)return b;if(E(b)&&(b=ca(b)),!(this instanceof R)){if(E(b)&&"<"!=b.charAt(0))throw Ab("nosel");return new R(b)}if(E(b)){var a=T.createElement("div");a.innerHTML="<div> </div>"+b,a.removeChild(a.firstChild),Bb(this,a.childNodes),z(T.createDocumentFragment()).append(this)}else Bb(this,b)}function Cb(b){return b.cloneNode(!0)}function Da(b){bc(b);var a=0;for(b=b.childNodes||[];a<b.length;a++)Da(b[a])}function cc(b,a,c,d){if(v(d))throw Ab("offargs");var e=ja(b,"events");ja(b,"handle")&&(B(a)?r(e,function(a,c){Db(b,c,a),delete e[c]}):r(a.split(" "),function(a){B(c)?(Db(b,a,e[a]),delete e[a]):Ma(e[a]||[],c)}))}function bc(b,a){var c=b[db],d=Ra[c];d&&(a?delete Ra[c].data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),cc(b)),delete Ra[c],b[db]=s))}function ja(b,a,c){var d=b[db],d=Ra[d||-1];return v(c)?(d||(b[db]=d=++Zc,d=Ra[d]={}),void(d[a]=c)):d&&d[a]}function dc(b,a,c){var d=ja(b,"data"),e=v(c),f=!e&&v(a),g=f&&!X(a);if(d||g||ja(b,"data",d={}),e)d[a]=c;else{if(!f)return d;if(g)return d&&d[a];t(d,a)}}function Eb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+a+" "):!1}function eb(b,a){a&&b.setAttribute&&r(a.split(" "),function(a){b.setAttribute("class",ca((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+ca(a)+" "," ")))})}function fb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(a.split(" "),function(a){a=ca(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),b.setAttribute("class",ca(c))}}function Bb(b,a){if(a){a=a.nodeName||!v(a.length)||ya(a)?[a]:a;for(var c=0;c<a.length;c++)b.push(a[c])}}function ec(b,a){return gb(b,"$"+(a||"ngController")+"Controller")}function gb(b,a,c){for(b=z(b),9==b[0].nodeType&&(b=b.find("html")),a=I(a)?a:[a];b.length;){for(var d=0,e=a.length;e>d;d++)if((c=b.data(a[d]))!==s)return c;b=b.parent()}}function fc(b){for(var a=0,c=b.childNodes;a<c.length;a++)Da(c[a]);for(;b.firstChild;)b.removeChild(b.firstChild)}function gc(b,a){var c=hb[a.toLowerCase()];return c&&hc[b.nodeName]&&c}function $c(b,a){var c=function(c,e){if(c.preventDefault||(c.preventDefault=function(){c.returnValue=!1}),c.stopPropagation||(c.stopPropagation=function(){c.cancelBubble=!0}),c.target||(c.target=c.srcElement||T),B(c.defaultPrevented)){var f=c.preventDefault;c.preventDefault=function(){c.defaultPrevented=!0,f.call(c)},c.defaultPrevented=!1}c.isDefaultPrevented=function(){return c.defaultPrevented||!1===c.returnValue};var g=Tb(a[e||c.type]||[]);r(g,function(a){a.call(b,c)}),8>=P?(c.preventDefault=null,c.stopPropagation=null,c.isDefaultPrevented=null):(delete c.preventDefault,delete c.stopPropagation,delete c.isDefaultPrevented)};return c.elem=b,c}function Ea(b){var c,a=typeof b;return"object"==a&&null!==b?"function"==typeof(c=b.$$hashKey)?c=b.$$hashKey():c===s&&(c=b.$$hashKey=Za()):c=b,a+":"+c}function Sa(b){r(b,this.put,this)}function ic(b){var a,c;return"function"==typeof b?(a=b.$inject)||(a=[],b.length&&(c=b.toString().replace(ad,""),c=c.match(bd),r(c[1].split(cd),function(b){b.replace(dd,function(b,c,d){a.push(d)})})),b.$inject=a):I(b)?(c=b.length-1,Pa(b[c],"fn"),a=b.slice(0,c)):Pa(b,"fn",!0),a}function $b(b){function a(a){return function(b,c){return X(b)?void r(b,Qb(a)):a(b,c)}}function c(a,b){if(va(a,"service"),(N(b)||I(b))&&(b=n.instantiate(b)),!b.$get)throw Ta("pget",a);return l[a+h]=b}function d(a,b){return c(a,{$get:b})}function e(a){var c,d,f,h,b=[];return r(a,function(a){if(!k.get(a)){k.put(a,!0);try{if(E(a))for(c=Ua(a),b=b.concat(e(c.requires)).concat(c._runBlocks),d=c._invokeQueue,f=0,h=d.length;h>f;f++){var g=d[f],m=n.get(g[0]);m[g[1]].apply(m,g[2])}else N(a)?b.push(n.invoke(a)):I(a)?b.push(n.invoke(a)):Pa(a,"module")}catch(l){throw I(a)&&(a=a[a.length-1]),l.message&&l.stack&&-1==l.stack.indexOf(l.message)&&(l=l.message+"\n"+l.stack),Ta("modulerr",a,l.stack||l.message||l)}}}),b}function f(a,b){function c(d){if(a.hasOwnProperty(d)){if(a[d]===g)throw Ta("cdep",m.join(" <- "));return a[d]}try{return m.unshift(d),a[d]=g,a[d]=b(d)}catch(e){throw a[d]===g&&delete a[d],e}finally{m.shift()}}function d(a,b,e){var g,k,m,f=[],h=ic(a);for(k=0,g=h.length;g>k;k++){if(m=h[k],"string"!=typeof m)throw Ta("itkn",m);f.push(e&&e.hasOwnProperty(m)?e[m]:c(m))}return a.$inject||(a=a[g]),a.apply(b,f)}return{invoke:d,instantiate:function(a,b){var e,c=function(){};return c.prototype=(I(a)?a[a.length-1]:a).prototype,c=new c,e=d(a,c,b),X(e)||N(e)?e:c},get:c,annotate:ic,has:function(b){return l.hasOwnProperty(b+h)||a.hasOwnProperty(b)}}}var g={},h="Provider",m=[],k=new Sa,l={$provide:{provider:a(c),factory:a(d),service:a(function(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}),value:a(function(a,b){return d(a,$(b))}),constant:a(function(a,b){va(a,"constant"),l[a]=b,q[a]=b}),decorator:function(a,b){var c=n.get(a+h),d=c.$get;c.$get=function(){var a=p.invoke(d,c);return p.invoke(b,null,{$delegate:a})}}}},n=l.$injector=f(l,function(){throw Ta("unpr",m.join(" <- "))}),q={},p=q.$injector=f(q,function(a){return a=n.get(a+h),p.invoke(a.$get,a)});return r(e(b),function(a){p.invoke(a||x)}),p}function ed(){var b=!0;this.disableAutoScrolling=function(){b=!1},this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;return r(a,function(a){b||"a"!==O(a.nodeName)||(b=a)}),b}function f(){var d,b=c.hash();b?(d=g.getElementById(b))?d.scrollIntoView():(d=e(g.getElementsByName(b)))?d.scrollIntoView():"top"===b&&a.scrollTo(0,0):a.scrollTo(0,0)}var g=a.document;return b&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(f)}),f}]}function fd(){this.$get=["$$rAF","$timeout",function(b,a){return b.supported?function(a){return b(a)}:function(b){return a(b,0,!1)}}]}function gd(b,a,c,d){function e(a){try{a.apply(null,ta.call(arguments,1))}finally{if(y--,0===y)for(;C.length;)try{C.pop()()}catch(b){c.error(b)}}}function f(a,b){!function jb(){r(A,function(a){a()}),u=b(jb,a)}()}function g(){w=null,H!=h.url()&&(H=h.url(),r(Y,function(a){a(h.url())}))}var h=this,m=a[0],k=b.location,l=b.history,n=b.setTimeout,q=b.clearTimeout,p={};h.isMock=!1;var y=0,C=[];h.$$completeOutstandingRequest=e,h.$$incOutstandingRequestCount=function(){y++},h.notifyWhenNoOutstandingRequests=function(a){r(A,function(a){a()}),0===y?a():C.push(a)};var u,A=[];h.addPollFn=function(a){return B(u)&&f(100,n),A.push(a),a};var H=k.href,W=a.find("base"),w=null;h.url=function(a,c){return k!==b.location&&(k=b.location),l!==b.history&&(l=b.history),a?H!=a?(H=a,d.history?c?l.replaceState(null,"",a):(l.pushState(null,"",a),W.attr("href",W.attr("href"))):(w=a,c?k.replace(a):k.href=a),h):void 0:w||k.href.replace(/%27/g,"'")};var Y=[],S=!1;h.onUrlChange=function(a){return S||(d.history&&z(b).on("popstate",g),d.hashchange?z(b).on("hashchange",g):h.addPollFn(g),S=!0),Y.push(a),a},h.baseHref=function(){var a=W.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var M={},aa="",U=h.baseHref();h.cookies=function(a,b){var d,e,f,h;if(!a){if(m.cookie!==aa)for(aa=m.cookie,d=aa.split("; "),M={},f=0;f<d.length;f++)e=d[f],h=e.indexOf("="),h>0&&(a=unescape(e.substring(0,h)),M[a]===s&&(M[a]=unescape(e.substring(h+1))));return M}b===s?m.cookie=escape(a)+"=;path="+U+";expires=Thu, 01 Jan 1970 00:00:00 GMT":E(b)&&(d=(m.cookie=escape(a)+"="+escape(b)+";path="+U).length+1,d>4096&&c.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+d+" > 4096 bytes)!"))},h.defer=function(a,b){var c;return y++,c=n(function(){delete p[c],e(a)},b||0),p[c]=!0,c},h.defer.cancel=function(a){return p[a]?(delete p[a],q(a),e(x),!0):!1}}function hd(){this.$get=["$window","$log","$sniffer","$document",function(b,a,c,d){return new gd(b,d,a,c)}]}function id(){this.$get=function(){function b(b,d){function e(a){a!=n&&(q?q==a&&(q=a.n):q=a,f(a.n,a.p),f(a,n),n=a,n.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw F("$cacheFactory")("iid",b);var g=0,h=t({},d,{id:b}),m={},k=d&&d.capacity||Number.MAX_VALUE,l={},n=null,q=null;return a[b]={put:function(a,b){if(k<Number.MAX_VALUE){var c=l[a]||(l[a]={key:a});e(c)}return B(b)?void 0:(a in m||g++,m[a]=b,g>k&&this.remove(q.key),b)},get:function(a){if(k<Number.MAX_VALUE){var b=l[a];if(!b)return;e(b)}return m[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=l[a];if(!b)return;b==n&&(n=b.p),b==q&&(q=b.n),f(b.n,b.p),delete l[a]}delete m[a],g--},removeAll:function(){m={},g=0,l={},n=q=null},destroy:function(){l=h=m=null,delete a[b]},info:function(){return t({},h,{size:g})}}}var a={};return b.info=function(){var b={};return r(a,function(a,e){b[e]=a.info()}),b},b.get=function(b){return a[b]},b}}function jd(){this.$get=["$cacheFactory",function(b){return b("templates")}]}function jc(b,a){var c={},d="Directive",e=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,f=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,g=/^<\s*(tr|th|td|tbody)(\s+[^>]*)?>/i,h=/^(on[a-z]+|formaction)$/;this.directive=function k(a,e){return va(a,"directive"),E(a)?(xb(e,"directiveFactory"),c.hasOwnProperty(a)||(c[a]=[],b.factory(a+d,["$injector","$exceptionHandler",function(b,d){var e=[];return r(c[a],function(c,f){try{var h=b.invoke(c);N(h)?h={compile:$(h)}:!h.compile&&h.link&&(h.compile=$(h.link)),h.priority=h.priority||0,h.index=f,h.name=h.name||a,h.require=h.require||h.controller&&h.name,h.restrict=h.restrict||"A",e.push(h)}catch(g){d(g)}}),e}])),c[a].push(e)):r(a,Qb(k)),this},this.aHrefSanitizationWhitelist=function(b){return v(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,n,q,p,y,C,A,u,H,W,w){function Y(a,b,c,d,e){a instanceof z||(a=z(a)),r(a,function(b,c){3==b.nodeType&&b.nodeValue.match(/\S+/)&&(a[c]=z(b).wrap("<span></span>").parent()[0])});var f=M(a,b,a,c,d,e);return S(a,"ng-scope"),function(b,c,d){xb(b,"scope");var e=c?Fa.clone.call(a):a;r(d,function(a,b){e.data("$"+b+"Controller",a)}),d=0;for(var h=e.length;h>d;d++){var g=e[d].nodeType;1!==g&&9!==g||e.eq(d).data("$scope",b)}return c&&c(e,b),f&&f(b,e,e),e}}function S(a,b){try{a.addClass(b)}catch(c){}}function M(a,b,c,d,e,f){function h(a,c,d,e){var f,k,l,n,p,q,y;f=c.length;var L=Array(f);for(p=0;f>p;p++)L[p]=c[p];for(y=p=0,q=g.length;q>p;y++)k=L[y],c=g[p++],f=g[p++],l=z(k),c?(c.scope?(n=a.$new(),l.data("$scope",n)):n=a,(l=c.transclude)||!e&&b?c(f,n,k,d,aa(a,l||b)):c(f,n,k,d,e)):f&&f(a,k.childNodes,s,e)}for(var k,l,n,p,g=[],q=0;q<a.length;q++)k=new Fb,l=U(a[q],[],k,0===q?d:s,e),(f=l.length?Va(l,a[q],k,b,c,null,[],[],f):null)&&f.scope&&S(z(a[q]),"ng-scope"),k=f&&f.terminal||!(n=a[q].childNodes)||!n.length?null:M(n,f?f.transclude:b),g.push(f,k),p=p||f||k,f=null;return p?h:null}function aa(a,b){return function(c,d,e){var f=!1;return c||(c=a.$new(),f=c.$$transcluded=!0),d=b(c,d,e),f&&d.on("$destroy",bb(c,c.$destroy)),d}}function U(a,b,c,d,h){var k,g=c.$attr;switch(a.nodeType){case 1:v(b,ka(Ga(a).toLowerCase()),"E",d,h);var l,n,p;k=a.attributes;for(var q=0,y=k&&k.length;y>q;q++){var C=!1,H=!1;if(l=k[q],!P||P>=8||l.specified){n=l.name,p=ka(n),oa.test(p)&&(n=cb(p.substr(6),"-"));var A=p.replace(/(Start|End)$/,"");p===A+"Start"&&(C=n,H=n.substr(0,n.length-5)+"end",n=n.substr(0,n.length-6)),p=ka(n.toLowerCase()),g[p]=n,c[p]=l=ca(l.value),gc(a,p)&&(c[p]=!0),ga(a,b,l,p),v(b,p,"A",d,h,C,H)}}if(a=a.className,E(a)&&""!==a)for(;k=f.exec(a);)p=ka(k[2]),v(b,p,"C",d,h)&&(c[p]=ca(k[3])),a=a.substr(k.index+k[0].length);break;case 3:D(b,a.nodeValue);break;case 8:try{(k=e.exec(a.nodeValue))&&(p=ka(k[1]),v(b,p,"M",d,h)&&(c[p]=ca(k[2])))}catch(w){}}return b.sort(F),b}function J(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ha("uterdir",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return z(d)}function ib(a,b,c){return function(d,e,f,h,g){return e=J(e[0],b,c),a(d,e,f,h,g)}}function Va(a,c,d,e,f,h,g,k,p){function q(a,b,c,d){a&&(c&&(a=ib(a,c,d)),a.require=G.require,(M===G||G.$$isolateScope)&&(a=kc(a,{isolateScope:!0})),g.push(a)),b&&(c&&(b=ib(b,c,d)),b.require=G.require,(M===G||G.$$isolateScope)&&(b=kc(b,{isolateScope:!0})),k.push(b))}function H(a,b,c){var d,e="data",f=!1;if(E(a)){for(;"^"==(d=a.charAt(0))||"?"==d;)a=a.substr(1),"^"==d&&(e="inheritedData"),f=f||"?"==d;if(d=null,c&&"data"===e&&(d=c[a]),d=d||b[e]("$"+a+"Controller"),!d&&!f)throw ha("ctreq",a,ga)}else I(a)&&(d=[],r(a,function(a){d.push(H(a,b,c))}));return d}function A(a,e,f,h,p){function q(a,b){var c;return 2>arguments.length&&(b=a,a=s),Ha&&(c=kb),p(a,b,c)}var L,w,u,Y,J,U,v,kb={};if(L=c===f?d:Tb(d,new Fb(z(f),d.$attr)),w=L.$$element,M){var t=/^\s*([@=&])(\??)\s*(\w*)\s*$/;h=z(f),U=e.$new(!0),aa&&aa===M.$$originalDirective?h.data("$isolateScope",U):h.data("$isolateScopeNoTemplate",U),S(h,"ng-isolate-scope"),r(M.scope,function(a,c){var g,k,p,n,d=a.match(t)||[],f=d[3]||c,h="?"==d[2],d=d[1];switch(U.$$isolateBindings[c]=d+f,d){case"@":L.$observe(f,function(a){U[c]=a}),L.$$observers[f].$$scope=e,L[f]&&(U[c]=b(L[f])(e));break;case"=":if(h&&!L[f])break;k=y(L[f]),n=k.literal?sa:function(a,b){return a===b},p=k.assign||function(){throw g=U[c]=k(e),ha("nonassign",L[f],M.name)},g=U[c]=k(e),U.$watch(function(){var a=k(e);return n(a,U[c])||(n(a,g)?p(e,a=U[c]):U[c]=a),g=a},null,k.literal);break;case"&":k=y(L[f]),U[c]=function(a){return k(e,a)};break;default:throw ha("iscp",M.name,c,a)}})}for(v=p&&q,W&&r(W,function(a){var c,b={$scope:a===M||a.$$isolateScope?U:e,$element:w,$attrs:L,$transclude:v};J=a.controller,"@"==J&&(J=L[a.name]),c=C(J,b),kb[a.name]=c,Ha||w.data("$"+a.name+"Controller",c),a.controllerAs&&(b.$scope[a.controllerAs]=c)}),h=0,u=g.length;u>h;h++)try{(Y=g[h])(Y.isolateScope?U:e,w,L,Y.require&&H(Y.require,w,kb),v)}catch(K){n(K,fa(w))}for(h=e,M&&(M.template||null===M.templateUrl)&&(h=U),a&&a(h,f.childNodes,s,p),h=k.length-1;h>=0;h--)try{(Y=k[h])(Y.isolateScope?U:e,w,L,Y.require&&H(Y.require,w,kb),v)}catch(ib){n(ib,fa(w))}}p=p||{};for(var u,G,ga,t,oa,w=-Number.MAX_VALUE,W=p.controllerDirectives,M=p.newIsolateScopeDirective,aa=p.templateDirective,v=p.nonTlbTranscludeDirective,Va=!1,Ha=p.hasElementTranscludeDirective,K=d.$$element=z(c),F=e,D=0,P=a.length;P>D;D++){G=a[D];var Q=G.$$start,V=G.$$end;if(Q&&(K=J(c,Q,V)),t=s,w>G.priority)break;if((t=G.scope)&&(u=u||G,G.templateUrl||(R("new/isolated scope",M,G,K),X(t)&&(M=G))),ga=G.name,!G.templateUrl&&G.controller&&(t=G.controller,W=W||{},R("'"+ga+"' controller",W[ga],G,K),W[ga]=G),(t=G.transclude)&&(Va=!0,G.$$tlb||(R("transclusion",v,G,K),v=G),"element"==t?(Ha=!0,w=G.priority,t=J(c,Q,V),K=d.$$element=z(T.createComment(" "+ga+": "+d[ga]+" ")),c=K[0],lb(f,z(ta.call(t,0)),c),F=Y(t,e,w,h&&h.name,{nonTlbTranscludeDirective:v})):(t=z(Cb(c)).contents(),K.empty(),F=Y(t,e))),G.template)if(R("template",aa,G,K),aa=G,t=N(G.template)?G.template(K,d):G.template,t=lc(t),G.replace){if(h=G,t=B(t),c=t[0],1!=t.length||1!==c.nodeType)throw ha("tplrt",ga,"");lb(f,K,c),P={$attr:{}},t=U(c,[],P);var Z=a.splice(D+1,a.length-(D+1));M&&jb(t),a=a.concat(t).concat(Z),x(d,P),P=a.length}else K.html(t);if(G.templateUrl)R("template",aa,G,K),aa=G,G.replace&&(h=G),A=O(a.splice(D,a.length-D),K,d,f,F,g,k,{controllerDirectives:W,newIsolateScopeDirective:M,templateDirective:aa,nonTlbTranscludeDirective:v}),P=a.length;else if(G.compile)try{oa=G.compile(K,d,F),N(oa)?q(null,oa,Q,V):oa&&q(oa.pre,oa.post,Q,V)}catch($){n($,fa(K))}G.terminal&&(A.terminal=!0,w=Math.max(w,G.priority))}return A.scope=u&&!0===u.scope,A.transclude=Va&&F,p.hasElementTranscludeDirective=Ha,A}function jb(a){for(var b=0,c=a.length;c>b;b++)a[b]=Sb(a[b],{$$isolateScope:!0})}function v(b,e,f,h,g,l,p){if(e===g)return null;if(g=null,c.hasOwnProperty(e)){var q;e=a.get(e+d);for(var y=0,C=e.length;C>y;y++)try{q=e[y],(h===s||h>q.priority)&&-1!=q.restrict.indexOf(f)&&(l&&(q=Sb(q,{$$start:l,$$end:p})),b.push(q),g=q)}catch(H){n(H)}}return g}function x(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;r(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),r(b,function(b,f){"class"==f?(S(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function B(a){var b;if(a=ca(a),b=g.exec(a)){b=b[1].toLowerCase(),a=z("<table>"+a+"</table>");var c=a.children("tbody"),d=/(td|th)/.test(b)&&a.find("tr");return c.length&&"tbody"!==b&&(a=c),d&&d.length&&(a=d),a.contents()}return z("<div>"+a+"</div>").contents()}function O(a,b,c,d,e,f,h,g){var l,n,k=[],y=b[0],C=a.shift(),w=t({},C,{templateUrl:null,transclude:null,replace:null,$$originalDirective:C}),A=N(C.templateUrl)?C.templateUrl(b,c):C.templateUrl;return b.empty(),q.get(H.getTrustedResourceUrl(A),{cache:p}).success(function(p){var q,H;if(p=lc(p),C.replace){if(p=B(p),q=p[0],1!=p.length||1!==q.nodeType)throw ha("tplrt",C.name,A);p={$attr:{}},lb(d,b,q);var u=U(q,[],p);X(C.scope)&&jb(u),a=u.concat(a),x(c,p)}else q=y,b.html(p);for(a.unshift(w),l=Va(a,q,c,e,b,C,f,h,g),r(d,function(a,c){a==q&&(d[c]=b[0])}),n=M(b[0].childNodes,e);k.length;){p=k.shift(),H=k.shift();var W=k.shift(),Y=k.shift(),u=b[0];if(H!==y){var J=H.className;g.hasElementTranscludeDirective&&C.replace||(u=Cb(q)),lb(W,z(H),u),S(z(u),J)}H=l.transclude?aa(p,l.transclude):Y,l(n,p,u,d,H)}k=null}).error(function(a,b,c,d){throw ha("tpload",d.url)}),function(a,b,c,d,e){k?(k.push(b),k.push(c),k.push(d),k.push(e)):l(n,b,c,d,e)}}function F(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function R(a,b,c,d){if(b)throw ha("multidir",b.name,c.name,a,fa(d))}function D(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:$(function(a,b){var c=b.parent(),e=c.data("$binding")||[];e.push(d),S(c.data("$binding",e),"ng-binding"),a.$watch(d,function(a){b[0].nodeValue=a})})})}function Ha(a,b){if("srcdoc"==b)return H.HTML;var c=Ga(a);return"xlinkHref"==b||"FORM"==c&&"action"==b||"IMG"!=c&&("src"==b||"ngSrc"==b)?H.RESOURCE_URL:void 0}function ga(a,c,d,e){var f=b(d,!0);if(f){if("multiple"===e&&"SELECT"===Ga(a))throw ha("selmulti",fa(a));c.push({priority:100,compile:function(){return{pre:function(c,d,g){if(d=g.$$observers||(g.$$observers={}),h.test(e))throw ha("nodomevents");(f=b(g[e],!0,Ha(a,e)))&&(g[e]=f(c),(d[e]||(d[e]=[])).$$inter=!0,(g.$$observers&&g.$$observers[e].$$scope||c).$watch(f,function(a,b){"class"===e&&a!=b?g.$updateClass(a,b):g.$set(e,a)}))}}}})}}function lb(a,b,c){var h,g,d=b[0],e=b.length,f=d.parentNode;if(a)for(h=0,g=a.length;g>h;h++)if(a[h]==d){a[h++]=c,g=h+e-1;for(var k=a.length;k>h;h++,g++)k>g?a[h]=a[g]:delete a[h];a.length-=e-1;break}for(f&&f.replaceChild(c,d),a=T.createDocumentFragment(),a.appendChild(d),c[z.expando]=d[z.expando],d=1,e=b.length;e>d;d++)f=b[d],z(f).remove(),a.appendChild(f),delete b[d];b[0]=c,b.length=1}function kc(a,b){return t(function(){return a.apply(null,arguments)},a,b)}var Fb=function(a,b){this.$$element=a,this.$attr=b||{}};Fb.prototype={$normalize:ka,$addClass:function(a){a&&0<a.length&&W.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&W.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=mc(a,b),d=mc(b,a);0===c.length?W.removeClass(this.$$element,d):0===d.length?W.addClass(this.$$element,c):W.setClass(this.$$element,c,d)},$set:function(a,b,c,d){var e=gc(this.$$element[0],a);e&&(this.$$element.prop(a,b),d=e),this[a]=b,d?this.$attr[a]=d:(d=this.$attr[a])||(this.$attr[a]=d=cb(a,"-")),e=Ga(this.$$element),("A"===e&&"href"===a||"IMG"===e&&"src"===a)&&(this[a]=b=w(b,"src"===a)),!1!==c&&(null===b||b===s?this.$$element.removeAttr(d):this.$$element.attr(d,b)),(c=this.$$observers)&&r(c[a],function(a){try{a(b)}catch(c){n(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);return e.push(b),A.$evalAsync(function(){e.$$inter||b(c[a])}),b}};var Q=b.startSymbol(),V=b.endSymbol(),lc="{{"==Q||"}}"==V?za:function(a){return a.replace(/\{\{/g,Q).replace(/}}/g,V)},oa=/^ngAttr[A-Z]/;return Y}]}function ka(b){return Qa(b.replace(kd,""))}function mc(b,a){var c="",d=b.split(/\s+/),e=a.split(/\s+/),f=0;a:for(;f<d.length;f++){for(var g=d[f],h=0;h<e.length;h++)if(g==e[h])continue a;c+=(0<c.length?" ":"")+g}return c}function ld(){var b={},a=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(a,d){va(a,"controller"),X(a)?t(b,a):b[a]=d},this.$get=["$injector","$window",function(c,d){return function(e,f){var g,h,m;if(E(e)&&(g=e.match(a),h=g[1],m=g[3],e=b.hasOwnProperty(h)?b[h]:ac(f.$scope,h,!0)||ac(d,h,!0),Pa(e,h,!0)),g=c.instantiate(e,f),m){if(!f||"object"!=typeof f.$scope)throw F("$controller")("noscp",h||e.name,m);f.$scope[m]=g}return g}}]}function md(){this.$get=["$window",function(b){return z(b.document)}]}function nd(){this.$get=["$log",function(b){return function(){b.error.apply(b,arguments)}}]}function nc(b){var c,d,e,a={};return b?(r(b.split("\n"),function(b){e=b.indexOf(":"),c=O(ca(b.substr(0,e))),d=ca(b.substr(e+1)),c&&(a[c]=a[c]?a[c]+(", "+d):d)}),a):a}function oc(b){var a=X(b)?b:s;return function(c){return a||(a=nc(b)),c?a[O(c)]||null:a}}function pc(b,a,c){return N(c)?c(b,a):(r(c,function(c){b=c(b,a)}),b)}function od(){var b=/^\s*(\[|\{[^\{])/,a=/[\}\]]\s*$/,c=/^\)\]\}',?\n/,d={"Content-Type":"application/json;charset=utf-8"},e=this.defaults={transformResponse:[function(d){return E(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=Vb(d))),d}],transformRequest:[function(a){return X(a)&&"[object File]"!==Aa.call(a)?na(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ba(d),put:ba(d),patch:ba(d)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},f=this.interceptors=[],g=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,c,d,n,q){function p(a){function c(a){var b=t({},a,{data:pc(a.data,a.headers,d.transformResponse)});return 200<=a.status&&300>a.status?b:n.reject(b)}var d={method:"get",transformRequest:e.transformRequest,transformResponse:e.transformResponse},f=function(a){function b(a){var c;r(a,function(b,d){N(b)&&(c=b(),null!=c?a[d]=c:delete a[d])})}var f,h,c=e.headers,d=t({},a.headers),c=t({},c.common,c[O(a.method)]);b(c),b(d);a:for(f in c){a=O(f);for(h in d)if(O(h)===a)continue a;d[f]=c[f]}return d}(a);t(d,a),d.headers=f,d.method=Ia(d.method),(a=Gb(d.url)?b.cookies()[d.xsrfCookieName||e.xsrfCookieName]:s)&&(f[d.xsrfHeaderName||e.xsrfHeaderName]=a);var h=[function(a){f=a.headers;var b=pc(a.data,oc(f),a.transformRequest);return B(a.data)&&r(f,function(a,b){"content-type"===O(b)&&delete f[b]}),B(a.withCredentials)&&!B(e.withCredentials)&&(a.withCredentials=e.withCredentials),y(a,b,f).then(c,c)},s],g=n.when(d);for(r(u,function(a){(a.request||a.requestError)&&h.unshift(a.request,a.requestError),(a.response||a.responseError)&&h.push(a.response,a.responseError)});h.length;){a=h.shift();var k=h.shift(),g=g.then(a,k)}return g.success=function(a){return g.then(function(b){a(b.data,b.status,b.headers,d)}),g},g.error=function(a){return g.then(null,function(b){a(b.data,b.status,b.headers,d)}),g},g}function y(b,c,f){function g(a,b,c){u&&(a>=200&&300>a?u.put(s,[a,b,nc(c)]):u.remove(s)),k(b,a,c),d.$$phase||d.$apply()}function k(a,c,d){c=Math.max(c,0),(c>=200&&300>c?q.resolve:q.reject)({data:a,status:c,headers:oc(d),config:b})}function m(){var a=ab(p.pendingRequests,b);-1!==a&&p.pendingRequests.splice(a,1)}var u,r,q=n.defer(),y=q.promise,s=C(b.url,b.params);if(p.pendingRequests.push(b),y.then(m,m),(b.cache||e.cache)&&!1!==b.cache&&"GET"==b.method&&(u=X(b.cache)?b.cache:X(e.cache)?e.cache:A),u)if(r=u.get(s),v(r)){if(r.then)return r.then(m,m),r;
|
||
I(r)?k(r[1],r[0],ba(r[2])):k(r,200,{})}else u.put(s,y);return B(r)&&a(b.method,s,c,g,f,b.timeout,b.withCredentials,b.responseType),y}function C(a,b){if(!b)return a;var c=[];return Qc(b,function(a,b){null===a||B(a)||(I(a)||(a=[a]),r(a,function(a){X(a)&&(a=na(a)),c.push(ua(b)+"="+ua(a))}))}),0<c.length&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&")),a}var A=c("$http"),u=[];return r(f,function(a){u.unshift(E(a)?q.get(a):q.invoke(a))}),r(g,function(a,b){var c=E(a)?q.get(a):q.invoke(a);u.splice(b,0,{response:function(a){return c(n.when(a))},responseError:function(a){return c(n.reject(a))}})}),p.pendingRequests=[],function(){r(arguments,function(a){p[a]=function(b,c){return p(t(c||{},{method:a,url:b}))}})}("get","delete","head","jsonp"),function(){r(arguments,function(a){p[a]=function(b,c,d){return p(t(d||{},{method:a,url:b,data:c}))}})}("post","put"),p.defaults=e,p}]}function pd(b){if(8>=P&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!D.XMLHttpRequest))return new D.ActiveXObject("Microsoft.XMLHTTP");if(D.XMLHttpRequest)return new D.XMLHttpRequest;throw F("$httpBackend")("noxhr")}function qd(){this.$get=["$browser","$window","$document",function(b,a,c){return rd(b,pd,b.defer,a.angular.callbacks,c[0])}]}function rd(b,a,c,d,e){function f(a,b){var c=e.createElement("script"),d=function(){c.onreadystatechange=c.onload=c.onerror=null,e.body.removeChild(c),b&&b()};return c.type="text/javascript",c.src=a,P&&8>=P?c.onreadystatechange=function(){/loaded|complete/.test(c.readyState)&&d()}:c.onload=c.onerror=function(){d()},e.body.appendChild(c),d}var g=-1;return function(e,m,k,l,n,q,p,y){function C(){u=g,W&&W(),w&&w.abort()}function A(a,d,e,f){S&&c.cancel(S),W=w=null,d=0===d?e?200:404:d,a(1223==d?204:d,e,f),b.$$completeOutstandingRequest(x)}var u;if(b.$$incOutstandingRequestCount(),m=m||b.url(),"jsonp"==O(e)){var H="_"+(d.counter++).toString(36);d[H]=function(a){d[H].data=a};var W=f(m.replace("JSON_CALLBACK","angular.callbacks."+H),function(){d[H].data?A(l,200,d[H].data):A(l,u||-2),d[H]=Ba.noop})}else{var w=a(e);if(w.open(e,m,!0),r(n,function(a,b){v(a)&&w.setRequestHeader(b,a)}),w.onreadystatechange=function(){if(w&&4==w.readyState){var a=null,b=null;u!==g&&(a=w.getAllResponseHeaders(),b="response"in w?w.response:w.responseText),A(l,u||w.status,b,a)}},p&&(w.withCredentials=!0),y)try{w.responseType=y}catch(Y){if("json"!==y)throw Y}w.send(k||null)}if(q>0)var S=c(C,q);else q&&q.then&&q.then(C)}}function sd(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b},this.endSymbol=function(b){return b?(a=b,this):a},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,k,l){for(var n,q,p=0,y=[],C=f.length,A=!1,u=[];C>p;)-1!=(n=f.indexOf(b,p))&&-1!=(q=f.indexOf(a,n+g))?(p!=n&&y.push(f.substring(p,n)),y.push(p=c(A=f.substring(n+g,q))),p.exp=A,p=q+h,A=!0):(p!=C&&y.push(f.substring(p)),p=C);if((C=y.length)||(y.push(""),C=1),l&&1<y.length)throw qc("noconcat",f);return!k||A?(u.length=C,p=function(a){try{for(var h,b=0,c=C;c>b;b++)"function"==typeof(h=y[b])&&(h=h(a),h=l?e.getTrusted(l,h):e.valueOf(h),null===h||B(h)?h="":"string"!=typeof h&&(h=na(h))),u[b]=h;return u.join("")}catch(g){a=qc("interr",f,g.toString()),d(a)}},p.exp=f,p.parts=y,p):void 0}var g=b.length,h=a.length;return f.startSymbol=function(){return b},f.endSymbol=function(){return a},f}]}function td(){this.$get=["$rootScope","$window","$q",function(b,a,c){function d(d,g,h,m){var k=a.setInterval,l=a.clearInterval,n=c.defer(),q=n.promise,p=0,y=v(m)&&!m;return h=v(h)?h:0,q.then(null,null,d),q.$$intervalId=k(function(){n.notify(p++),h>0&&p>=h&&(n.resolve(p),l(q.$$intervalId),delete e[q.$$intervalId]),y||b.$apply()},g),e[q.$$intervalId]=n,q}var e={};return d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1},d}]}function ud(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January February March April May June July August September October November December".split(" "),SHORTMONTH:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),DAY:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),SHORTDAY:"Sun Mon Tue Wed Thu Fri Sat".split(" "),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(b){return 1===b?"one":"other"}}}}function rc(b){b=b.split("/");for(var a=b.length;a--;)b[a]=wb(b[a]);return b.join("/")}function sc(b,a,c){b=wa(b,c),a.$$protocol=b.protocol,a.$$host=b.hostname,a.$$port=Q(b.port)||vd[b.protocol]||null}function tc(b,a,c){var d="/"!==b.charAt(0);d&&(b="/"+b),b=wa(b,c),a.$$path=decodeURIComponent(d&&"/"===b.pathname.charAt(0)?b.pathname.substring(1):b.pathname),a.$$search=Xb(b.search),a.$$hash=decodeURIComponent(b.hash),a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function la(b,a){return 0===a.indexOf(b)?a.substr(b.length):void 0}function Wa(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Hb(b){return b.substr(0,Wa(b).lastIndexOf("/")+1)}function uc(b,a){this.$$html5=!0,a=a||"";var c=Hb(b);sc(b,this,b),this.$$parse=function(a){var e=la(c,a);if(!E(e))throw Ib("ipthprfx",a,c);tc(e,this,b),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=Yb(this.$$search),b=this.$$hash?"#"+wb(this.$$hash):"";this.$$url=rc(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=c+this.$$url.substr(1)},this.$$rewrite=function(d){var e;return(e=la(b,d))!==s?(d=e,(e=la(a,e))!==s?c+(la("/",e)||e):b+d):(e=la(c,d))!==s?c+e:c==d+"/"?c:void 0}}function Jb(b,a){var c=Hb(b);sc(b,this,b),this.$$parse=function(d){var e=la(b,d)||la(c,d),e="#"==e.charAt(0)?la(a,e):this.$$html5?e:"";if(!E(e))throw Ib("ihshprfx",d,a);tc(e,this,b),d=this.$$path;var f=/^\/?.*?:(\/.*)/;0===e.indexOf(b)&&(e=e.replace(b,"")),f.exec(e)||(d=(e=f.exec(d))?e[1]:d),this.$$path=d,this.$$compose()},this.$$compose=function(){var c=Yb(this.$$search),e=this.$$hash?"#"+wb(this.$$hash):"";this.$$url=rc(this.$$path)+(c?"?"+c:"")+e,this.$$absUrl=b+(this.$$url?a+this.$$url:"")},this.$$rewrite=function(a){return Wa(b)==Wa(a)?a:void 0}}function vc(b,a){this.$$html5=!0,Jb.apply(this,arguments);var c=Hb(b);this.$$rewrite=function(d){var e;return b==Wa(d)?d:(e=la(c,d))?b+a+e:c===d+"/"?c:void 0}}function mb(b){return function(){return this[b]}}function wc(b,a){return function(c){return B(c)?this[b]:(this[b]=a(c),this.$$compose(),this)}}function wd(){var b="",a=!1;this.hashPrefix=function(a){return v(a)?(b=a,this):b},this.html5Mode=function(b){return v(b)?(a=b,this):a},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(c,d,e,f){function g(a){c.$broadcast("$locationChangeSuccess",h.absUrl(),a)}var h,m=d.baseHref(),k=d.url();a?(m=k.substring(0,k.indexOf("/",k.indexOf("//")+2))+(m||"/"),e=e.history?uc:vc):(m=Wa(k),e=Jb),h=new e(m,"#"+b),h.$$parse(h.$$rewrite(k)),f.on("click",function(a){if(!a.ctrlKey&&!a.metaKey&&2!=a.which){for(var b=z(a.target);"a"!==O(b[0].nodeName);)if(b[0]===f[0]||!(b=b.parent())[0])return;var e=b.prop("href");X(e)&&"[object SVGAnimatedString]"===e.toString()&&(e=wa(e.animVal).href);var g=h.$$rewrite(e);e&&!b.attr("target")&&g&&!a.isDefaultPrevented()&&(a.preventDefault(),g!=d.url()&&(h.$$parse(g),c.$apply(),D.angular["ff-684208-preventDefault"]=!0))}}),h.absUrl()!=k&&d.url(h.absUrl(),!0),d.onUrlChange(function(a){h.absUrl()!=a&&(c.$evalAsync(function(){var b=h.absUrl();h.$$parse(a),c.$broadcast("$locationChangeStart",a,b).defaultPrevented?(h.$$parse(b),d.url(b)):g(b)}),c.$$phase||c.$digest())});var l=0;return c.$watch(function(){var a=d.url(),b=h.$$replace;return l&&a==h.absUrl()||(l++,c.$evalAsync(function(){c.$broadcast("$locationChangeStart",h.absUrl(),a).defaultPrevented?h.$$parse(a):(d.url(h.absUrl(),b),g(a))})),h.$$replace=!1,l}),h}]}function xd(){var b=!0,a=this;this.debugEnabled=function(a){return v(a)?(b=a,this):b},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||x;a=!1;try{a=!!e.apply}catch(m){}return a?function(){var a=[];return r(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){b&&c.apply(a,arguments)}}()}}]}function da(b,a){if("constructor"===b)throw xa("isecfld",a);return b}function Xa(b,a){if(b){if(b.constructor===b)throw xa("isecfn",a);if(b.document&&b.location&&b.alert&&b.setInterval)throw xa("isecwindow",a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw xa("isecdom",a)}return b}function nb(b,a,c,d,e){e=e||{},a=a.split(".");for(var f,g=0;1<a.length;g++){f=da(a.shift(),d);var h=b[f];h||(h={},b[f]=h),b=h,b.then&&e.unwrapPromises&&(pa(d),"$$v"in b||function(a){a.then(function(b){a.$$v=b})}(b),b.$$v===s&&(b.$$v={}),b=b.$$v)}return f=da(a.shift(),d),b[f]=c}function xc(b,a,c,d,e,f,g){return da(b,f),da(a,f),da(c,f),da(d,f),da(e,f),g.unwrapPromises?function(h,g){var l,k=g&&g.hasOwnProperty(b)?g:h;return null==k?k:((k=k[b])&&k.then&&(pa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v),a?null==k?s:((k=k[a])&&k.then&&(pa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v),c?null==k?s:((k=k[c])&&k.then&&(pa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v),d?null==k?s:((k=k[d])&&k.then&&(pa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v),e?null==k?s:((k=k[e])&&k.then&&(pa(f),"$$v"in k||(l=k,l.$$v=s,l.then(function(a){l.$$v=a})),k=k.$$v),k):k):k):k):k)}:function(f,g){var k=g&&g.hasOwnProperty(b)?g:f;return null==k?k:(k=k[b],a?null==k?s:(k=k[a],c?null==k?s:(k=k[c],d?null==k?s:(k=k[d],e?null==k?s:k=k[e]:k):k):k):k)}}function yd(b,a){return da(b,a),function(a,d){return null==a?s:(d&&d.hasOwnProperty(b)?d:a)[b]}}function zd(b,a,c){return da(b,c),da(a,c),function(c,e){return null==c?s:(c=(e&&e.hasOwnProperty(b)?e:c)[b],null==c?s:c[a])}}function yc(b,a,c){if(Kb.hasOwnProperty(b))return Kb[b];var f,d=b.split("."),e=d.length;if(a.unwrapPromises||1!==e)if(a.unwrapPromises||2!==e)if(a.csp)f=6>e?xc(d[0],d[1],d[2],d[3],d[4],c,a):function(b,f){var g,h=0;do g=xc(d[h++],d[h++],d[h++],d[h++],d[h++],c,a)(b,f),f=s,b=g;while(e>h);return g};else{var g="var p;\n";r(d,function(b,d){da(b,c),g+="if(s == null) return undefined;\ns="+(d?"s":'((k&&k.hasOwnProperty("'+b+'"))?k:s)')+'["'+b+'"];\n'+(a.unwrapPromises?'if (s && s.then) {\n pw("'+c.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")});var g=g+"return s;",h=new Function("s","k","pw",g);h.toString=$(g),f=a.unwrapPromises?function(a,b){return h(a,b,pa)}:h}else f=zd(d[0],d[1],c);else f=yd(d[0],c);return"hasOwnProperty"!==b&&(Kb[b]=f),f}function Ad(){var b={},a={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(b){return v(b)?(a.unwrapPromises=!!b,this):a.unwrapPromises},this.logPromiseWarnings=function(b){return v(b)?(a.logPromiseWarnings=b,this):a.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(c,d,e){return a.csp=d.csp,pa=function(b){a.logPromiseWarnings&&!zc.hasOwnProperty(b)&&(zc[b]=!0,e.warn("[$parse] Promise found in the expression `"+b+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(d){var e;switch(typeof d){case"string":return b.hasOwnProperty(d)?b[d]:(e=new Lb(a),e=new Ya(e,c,a).parse(d,!1),"hasOwnProperty"!==d&&(b[d]=e),e);case"function":return d;default:return x}}}]}function Bd(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return Cd(function(a){b.$evalAsync(a)},a)}]}function Cd(b,a){function c(a){return a}function d(a){return g(a)}var e=function(){var k,l,g=[];return l={resolve:function(a){if(g){var c=g;g=s,k=f(a),c.length&&b(function(){for(var a,b=0,d=c.length;d>b;b++)a=c[b],k.then(a[0],a[1],a[2])})}},reject:function(a){l.resolve(h(a))},notify:function(a){if(g){var c=g;g.length&&b(function(){for(var b,d=0,e=c.length;e>d;d++)b=c[d],b[2](a)})}},promise:{then:function(b,f,h){var l=e(),C=function(d){try{l.resolve((N(b)?b:c)(d))}catch(e){l.reject(e),a(e)}},A=function(b){try{l.resolve((N(f)?f:d)(b))}catch(c){l.reject(c),a(c)}},u=function(b){try{l.notify((N(h)?h:c)(b))}catch(d){a(d)}};return g?g.push([C,A,u]):k.then(C,A,u),l.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,c){var d=e();return c?d.resolve(a):d.reject(a),d.promise}function d(e,f){var h=null;try{h=(a||c)()}catch(g){return b(g,!1)}return h&&N(h.then)?h.then(function(){return b(e,f)},function(a){return b(a,!1)}):b(e,f)}return this.then(function(a){return d(a,!0)},function(a){return d(a,!1)})}}}},f=function(a){return a&&N(a.then)?a:{then:function(c){var d=e();return b(function(){d.resolve(c(a))}),d.promise}}},g=function(a){var b=e();return b.reject(a),b.promise},h=function(c){return{then:function(f,h){var g=e();return b(function(){try{g.resolve((N(h)?h:d)(c))}catch(b){g.reject(b),a(b)}}),g.promise}}};return{defer:e,reject:g,when:function(h,k,l,n){var p,q=e(),y=function(b){try{return(N(k)?k:c)(b)}catch(d){return a(d),g(d)}},C=function(b){try{return(N(l)?l:d)(b)}catch(c){return a(c),g(c)}},A=function(b){try{return(N(n)?n:c)(b)}catch(d){a(d)}};return b(function(){f(h).then(function(a){p||(p=!0,q.resolve(f(a).then(y,C,A)))},function(a){p||(p=!0,q.resolve(C(a)))},function(a){p||q.notify(A(a))})}),q.promise},all:function(a){var b=e(),c=0,d=I(a)?[]:{};return r(a,function(a,e){c++,f(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}}}function Dd(){this.$get=["$window",function(b){var a=b.requestAnimationFrame||b.webkitRequestAnimationFrame,c=b.cancelAnimationFrame||b.webkitCancelAnimationFrame;return b=function(b){var e=a(b);return function(){c(e)}},b.supported=!!a,b}]}function Ed(){var b=10,a=F("$rootScope"),c=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,e,f,g){function h(){this.$id=Za(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function m(b){if(q.$$phase)throw a("inprog",q.$$phase);q.$$phase=b}function k(a,b){var c=f(a);return Pa(c,b),c}function l(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function n(){}h.prototype={constructor:h,$new:function(a){return a?(a=new h,a.$root=this.$root,a.$$asyncQueue=this.$$asyncQueue,a.$$postDigestQueue=this.$$postDigestQueue):(a=function(){},a.prototype=this,a=new a,a.$id=Za()),a["this"]=a,a.$$listeners={},a.$$listenerCount={},a.$parent=this,a.$$watchers=a.$$nextSibling=a.$$childHead=a.$$childTail=null,a.$$prevSibling=this.$$childTail,this.$$childHead?this.$$childTail=this.$$childTail.$$nextSibling=a:this.$$childHead=this.$$childTail=a,a},$watch:function(a,b,d){var e=k(a,"watch"),f=this.$$watchers,h={fn:b,last:n,get:e,exp:a,eq:!!d};if(c=null,!N(b)){var g=k(b||x,"listener");h.fn=function(a,b,c){g(c)}}if("string"==typeof a&&e.constant){var l=h.fn;h.fn=function(a,b,c){l.call(this,a,b,c),Ma(f,h)}}return f||(f=this.$$watchers=[]),f.unshift(h),function(){Ma(f,h),c=null}},$watchCollection:function(a,b){var d,e,c=this,h=0,g=f(a),k=[],l={},m=0;return this.$watch(function(){e=g(c);var a,b;if(X(e))if(ub(e))for(d!==k&&(d=k,m=d.length=0,h++),a=e.length,m!==a&&(h++,d.length=m=a),b=0;a>b;b++)d[b]!==e[b]&&(h++,d[b]=e[b]);else{d!==l&&(d=l={},m=0,h++),a=0;for(b in e)e.hasOwnProperty(b)&&(a++,d.hasOwnProperty(b)?d[b]!==e[b]&&(h++,d[b]=e[b]):(m++,d[b]=e[b],h++));if(m>a)for(b in h++,d)d.hasOwnProperty(b)&&!e.hasOwnProperty(b)&&(m--,delete d[b])}else d!==e&&(d=e,h++);return h},function(){b(e,d,c)})},$digest:function(){var d,f,h,g,r,w,S,v,t,J,k=this.$$asyncQueue,l=this.$$postDigestQueue,s=b,M=[];m("$digest"),c=null;do{for(w=!1,S=this;k.length;){try{J=k.shift(),J.scope.$eval(J.expression)}catch(z){q.$$phase=null,e(z)}c=null}a:do{if(g=S.$$watchers)for(r=g.length;r--;)try{if(d=g[r])if((f=d.get(S))===(h=d.last)||(d.eq?sa(f,h):"number"==typeof f&&"number"==typeof h&&isNaN(f)&&isNaN(h))){if(d===c){w=!1;break a}}else w=!0,c=d,d.last=d.eq?ba(f):f,d.fn(f,h===n?f:h,S),5>s&&(v=4-s,M[v]||(M[v]=[]),t=N(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,t+="; newVal: "+na(f)+"; oldVal: "+na(h),M[v].push(t))}catch(E){q.$$phase=null,e(E)}if(!(g=S.$$childHead||S!==this&&S.$$nextSibling))for(;S!==this&&!(g=S.$$nextSibling);)S=S.$parent}while(S=g);if((w||k.length)&&!s--)throw q.$$phase=null,a("infdig",b,na(M))}while(w||k.length);for(q.$$phase=null;l.length;)try{l.shift()()}catch(x){e(x)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==q&&(r(this.$$listenerCount,bb(null,l,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null)}},$eval:function(a,b){return f(a)(this,b)},$evalAsync:function(a){q.$$phase||q.$$asyncQueue.length||g.defer(function(){q.$$asyncQueue.length&&q.$digest()}),this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return m("$apply"),this.$eval(a)}catch(b){e(b)}finally{q.$$phase=null;try{q.$digest()}catch(c){throw e(c),c}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[ab(c,b)]=null,l(e,1,a)}},$emit:function(a){var d,l,m,c=[],f=this,h=!1,g={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){g.defaultPrevented=!0},defaultPrevented:!1},k=[g].concat(ta.call(arguments,1));do{for(d=f.$$listeners[a]||c,g.currentScope=f,l=0,m=d.length;m>l;l++)if(d[l])try{d[l].apply(null,k)}catch(q){e(q)}else d.splice(l,1),l--,m--;if(h)break;f=f.$parent}while(f);return g},$broadcast:function(a){for(var g,k,c=this,d=this,f={name:a,targetScope:this,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1},h=[f].concat(ta.call(arguments,1));c=d;){for(f.currentScope=c,d=c.$$listeners[a]||[],g=0,k=d.length;k>g;g++)if(d[g])try{d[g].apply(null,h)}catch(l){e(l)}else d.splice(g,1),g--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}return f}};var q=new h;return q}]}function Fd(){var b=/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*(https?|ftp|file):|data:image\//;this.aHrefSanitizationWhitelist=function(a){return v(a)?(b=a,this):b},this.imgSrcSanitizationWhitelist=function(b){return v(b)?(a=b,this):a},this.$get=function(){return function(c,d){var f,e=d?a:b;return P&&!(P>=8)||(f=wa(c).href,""===f||f.match(e))?c:"unsafe:"+f}}}function Gd(b){if("self"===b)return b;if(E(b)){if(-1<b.indexOf("***"))throw qa("iwcard",b);return b=b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08").replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),RegExp("^"+b+"$")}if($a(b))return RegExp("^"+b.source+"$");throw qa("imatcher")}function Ac(b){var a=[];return v(b)&&r(b,function(b){a.push(Gd(b))}),a}function Hd(){this.SCE_CONTEXTS=ea;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){return arguments.length&&(b=Ac(a)),b},this.resourceUrlBlacklist=function(b){return arguments.length&&(a=Ac(b)),a},this.$get=["$injector",function(c){function d(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}var e=function(){throw qa("unsafe")};c.has("$sanitize")&&(e=c.get("$sanitize"));var f=d(),g={};return g[ea.HTML]=d(f),g[ea.CSS]=d(f),g[ea.URL]=d(f),g[ea.JS]=d(f),g[ea.RESOURCE_URL]=d(g[ea.URL]),{trustAs:function(a,b){var c=g.hasOwnProperty(a)?g[a]:null;if(!c)throw qa("icontext",a,b);if(null===b||b===s||""===b)return b;if("string"!=typeof b)throw qa("itype",a);return new c(b)},getTrusted:function(c,d){if(null===d||d===s||""===d)return d;var f=g.hasOwnProperty(c)?g[c]:null;if(f&&d instanceof f)return d.$$unwrapTrustedValue();if(c===ea.RESOURCE_URL){var l,n,f=wa(d.toString()),q=!1;for(l=0,n=b.length;n>l;l++)if("self"===b[l]?Gb(f):b[l].exec(f.href)){q=!0;break}if(q)for(l=0,n=a.length;n>l;l++)if("self"===a[l]?Gb(f):a[l].exec(f.href)){q=!1;break}if(q)return d;throw qa("insecurl",d.toString())}if(c===ea.HTML)return e(d);throw qa("unsafe")},valueOf:function(a){return a instanceof f?a.$$unwrapTrustedValue():a}}}]}function Id(){var b=!0;this.enabled=function(a){return arguments.length&&(b=!!a),b},this.$get=["$parse","$sniffer","$sceDelegate",function(a,c,d){if(b&&c.msie&&8>c.msieDocumentMode)throw qa("iequirks");var e=ba(ea);e.isEnabled=function(){return b},e.trustAs=d.trustAs,e.getTrusted=d.getTrusted,e.valueOf=d.valueOf,b||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=za),e.parseAs=function(b,c){var d=a(c);return d.literal&&d.constant?d:function(a,c){return e.getTrusted(b,d(a,c))}};var f=e.parseAs,g=e.getTrusted,h=e.trustAs;return r(ea,function(a,b){var c=O(b);e[Qa("parse_as_"+c)]=function(b){return f(a,b)},e[Qa("get_trusted_"+c)]=function(b){return g(a,b)},e[Qa("trust_as_"+c)]=function(b){return h(a,b)}}),e}]}function Jd(){this.$get=["$window","$document",function(b,a){var h,c={},d=Q((/android (\d+)/.exec(O((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g=f.documentMode,m=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=f.body&&f.body.style,l=!1,n=!1;if(k){for(var q in k)if(l=m.exec(q)){h=l[0],h=h.substr(0,1).toUpperCase()+h.substr(1);break}h||(h="WebkitOpacity"in k&&"webkit"),l=!!("transition"in k||h+"Transition"in k),n=!!("animation"in k||h+"Animation"in k),!d||l&&n||(l=E(f.body.style.webkitTransition),n=E(f.body.style.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hashchange:"onhashchange"in b&&(!g||g>7),hasEvent:function(a){if("input"==a&&9==P)return!1;if(B(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Ub(),vendorPrefix:h,transitions:l,animations:n,android:d,msie:P,msieDocumentMode:g}}]}function Kd(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(b,a,c,d){function e(e,h,m){var k=c.defer(),l=k.promise,n=v(m)&&!m;return h=a.defer(function(){try{k.resolve(e())}catch(a){k.reject(a),d(a)}finally{delete f[l.$$timeoutId]}n||b.$apply()},h),l.$$timeoutId=h,f[h]=k,l}var f={};return e.cancel=function(b){return b&&b.$$timeoutId in f?(f[b.$$timeoutId].reject("canceled"),delete f[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1},e}]}function wa(b){var c=b;return P&&(V.setAttribute("href",c),c=V.href),V.setAttribute("href",c),{href:V.href,protocol:V.protocol?V.protocol.replace(/:$/,""):"",host:V.host,search:V.search?V.search.replace(/^\?/,""):"",hash:V.hash?V.hash.replace(/^#/,""):"",hostname:V.hostname,port:V.port,pathname:"/"===V.pathname.charAt(0)?V.pathname:"/"+V.pathname}}function Gb(b){return b=E(b)?wa(b):b,b.protocol===Bc.protocol&&b.host===Bc.host}function Ld(){this.$get=$(D)}function Cc(b){function a(d,e){if(X(d)){var f={};return r(d,function(b,c){f[c]=a(c,b)}),f}return b.factory(d+c,e)}var c="Filter";this.register=a,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],a("currency",Dc),a("date",Ec),a("filter",Md),a("json",Nd),a("limitTo",Od),a("lowercase",Pd),a("number",Fc),a("orderBy",Gc),a("uppercase",Qd)}function Md(){return function(b,a,c){if(!I(b))return b;var d=typeof c,e=[];e.check=function(a){for(var b=0;b<e.length;b++)if(!e[b](a))return!1;return!0},"function"!==d&&(c="boolean"===d&&c?function(a,b){return Ba.equals(a,b)}:function(a,b){if(a&&b&&"object"==typeof a&&"object"==typeof b){for(var d in a)if("$"!==d.charAt(0)&&Rd.call(a,d)&&c(a[d],b[d]))return!0;return!1}return b=(""+b).toLowerCase(),-1<(""+a).toLowerCase().indexOf(b)});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case"boolean":case"number":case"string":return c(a,b);case"object":switch(typeof b){case"object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case"array":for(d=0;d<a.length;d++)if(f(a[d],b))return!0;return!1;default:return!1}};switch(typeof a){case"boolean":case"number":case"string":a={$:a};case"object":for(var g in a)(function(b){"undefined"!=typeof a[b]&&e.push(function(c){return f("$"==b?c:c&&c[b],a[b])})})(g);break;case"function":e.push(a);break;default:return b}for(d=[],g=0;g<b.length;g++){var h=b[g];e.check(h)&&d.push(h)}return d}}function Dc(b){var a=b.NUMBER_FORMATS;return function(b,d){return B(d)&&(d=a.CURRENCY_SYM),Hc(b,a.PATTERNS[1],a.GROUP_SEP,a.DECIMAL_SEP,2).replace(/\u00A4/g,d)}}function Fc(b){var a=b.NUMBER_FORMATS;return function(b,d){return Hc(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Hc(b,a,c,d,e){if(null==b||!isFinite(b)||X(b))return"";var f=0>b;b=Math.abs(b);var g=b+"",h="",m=[],k=!1;if(-1!==g.indexOf("e")){var l=g.match(/([\d\.]+)e(-?)(\d+)/);l&&"-"==l[2]&&l[3]>e+1?g="0":(h=g,k=!0)}if(k)e>0&&b>-1&&1>b&&(h=b.toFixed(e));else{g=(g.split(Ic)[1]||"").length,B(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac)),g=Math.pow(10,e),b=Math.round(b*g)/g,b=(""+b).split(Ic),g=b[0],b=b[1]||"";var l=0,n=a.lgSize,q=a.gSize;if(g.length>=n+q)for(l=g.length-n,k=0;l>k;k++)0===(l-k)%q&&0!==k&&(h+=c),h+=g.charAt(k);for(k=l;k<g.length;k++)0===(g.length-k)%n&&0!==k&&(h+=c),h+=g.charAt(k);for(;b.length<e;)b+="0";e&&"0"!==e&&(h+=d+b.substr(0,e))}return m.push(f?a.negPre:a.posPre),m.push(h),m.push(f?a.negSuf:a.posSuf),m.join("")}function Mb(b,a,c){var d="";for(0>b&&(d="-",b=-b),b=""+b;b.length<a;)b="0"+b;return c&&(b=b.substr(b.length-a)),d+b}function Z(b,a,c,d){return c=c||0,function(e){return e=e["get"+b](),(c>0||e>-c)&&(e+=c),0===e&&-12==c&&(e=12),Mb(e,a,d)}}function ob(b,a){return function(c,d){var e=c["get"+b](),f=Ia(a?"SHORT"+b:b);return d[f][e]}}function Ec(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,m=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Q(b[9]+b[10]),g=Q(b[9]+b[11])),h.call(a,Q(b[1]),Q(b[2])-1,Q(b[3])),f=Q(b[4]||0)-f,g=Q(b[5]||0)-g,h=Q(b[6]||0),b=Math.round(1e3*parseFloat("0."+(b[7]||0))),m.call(a,f,g,h,b)}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,e){var h,m,f="",g=[];if(e=e||"mediumDate",e=b.DATETIME_FORMATS[e]||e,E(c)&&(c=Sd.test(c)?Q(c):a(c)),vb(c)&&(c=new Date(c)),!La(c))return c;for(;e;)(m=Td.exec(e))?(g=g.concat(ta.call(m,1)),e=g.pop()):(g.push(e),e=null);return r(g,function(a){h=Ud[a],f+=h?h(c,b.DATETIME_FORMATS):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),f}}function Nd(){return function(b){return na(b,!0)}}function Od(){return function(b,a){if(!I(b)&&!E(b))return b;if(a=Q(a),E(b))return a?a>=0?b.slice(0,a):b.slice(a,b.length):"";var d,e,c=[];for(a>b.length?a=b.length:a<-b.length&&(a=-b.length),a>0?(d=0,e=a):(d=b.length+a,e=b.length);e>d;d++)c.push(b[d]);return c}}function Gc(b){return function(a,c,d){function e(a,b){return Oa(b)?function(b,c){return a(c,b)}:a}if(!I(a)||!c)return a;c=I(c)?c:[c],c=Sc(c,function(a){var c=!1,d=a||za;return E(a)&&(("+"==a.charAt(0)||"-"==a.charAt(0))&&(c="-"==a.charAt(0),a=a.substring(1)),d=b(a)),e(function(a,b){var c;c=d(a);var e=d(b),f=typeof c,h=typeof e;return f==h?("string"==f&&(c=c.toLowerCase(),e=e.toLowerCase()),c=c===e?0:e>c?-1:1):c=h>f?-1:1,c},c)});for(var f=[],g=0;g<a.length;g++)f.push(a[g]);return f.sort(e(function(a,b){for(var d=0;d<c.length;d++){var e=c[d](a,b);if(0!==e)return e}return 0},d))}}function ra(b){return N(b)&&(b={link:b}),b.restrict=b.restrict||"AC",$(b)}function Jc(b,a,c,d){function e(a,c){c=c?"-"+cb(c,"-"):"",d.removeClass(b,(a?pb:qb)+c),d.addClass(b,(a?qb:pb)+c)}var f=this,g=b.parent().controller("form")||rb,h=0,m=f.$error={},k=[];f.$name=a.name||a.ngForm,f.$dirty=!1,f.$pristine=!0,f.$valid=!0,f.$invalid=!1,g.$addControl(f),b.addClass(Ja),e(!0),f.$addControl=function(a){va(a.$name,"input"),k.push(a),a.$name&&(f[a.$name]=a)},f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name],r(m,function(b,c){f.$setValidity(c,!0,a)}),Ma(k,a)},f.$setValidity=function(a,b,c){var d=m[a];if(b)d&&(Ma(d,c),d.length||(h--,h||(e(b),f.$valid=!0,f.$invalid=!1),m[a]=!1,e(!0,a),g.$setValidity(a,!0,f)));else{if(h||e(b),d){if(-1!=ab(d,c))return}else m[a]=d=[],h++,e(!1,a),g.$setValidity(a,!1,f);d.push(c),f.$valid=!1,f.$invalid=!0}},f.$setDirty=function(){d.removeClass(b,Ja),d.addClass(b,sb),f.$dirty=!0,f.$pristine=!1,g.$setDirty()},f.$setPristine=function(){d.removeClass(b,sb),d.addClass(b,Ja),f.$dirty=!1,f.$pristine=!0,r(k,function(a){a.$setPristine()})}}function ma(b,a,c,d){return b.$setValidity(a,c),c?d:s}function Vd(b,a,c){var d=c.prop("validity");X(d)&&(c=function(c){return b.$error[a]||!(d.badInput||d.customError||d.typeMismatch)||d.valueMissing?c:void b.$setValidity(a,!1)},b.$parsers.push(c),b.$formatters.push(c))}function tb(b,a,c,d,e,f){var g=a.prop("validity");if(!e.android){var h=!1;a.on("compositionstart",function(){h=!0}),a.on("compositionend",function(){h=!1,m()})}var m=function(){if(!h){var e=a.val();Oa(c.ngTrim||"T")&&(e=ca(e)),(d.$viewValue!==e||g&&""===e&&!g.valueMissing)&&(b.$$phase?d.$setViewValue(e):b.$apply(function(){d.$setViewValue(e)}))}};if(e.hasEvent("input"))a.on("input",m);else{var k,l=function(){k||(k=f.defer(function(){m(),k=null}))};a.on("keydown",function(a){a=a.keyCode,91===a||a>15&&19>a||a>=37&&40>=a||l()}),e.hasEvent("paste")&&a.on("paste cut",l)}a.on("change",m),d.$render=function(){a.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)};var n=c.ngPattern;if(n&&((e=n.match(/^\/(.*)\/([gim]*)$/))?(n=RegExp(e[1],e[2]),e=function(a){return ma(d,"pattern",d.$isEmpty(a)||n.test(a),a)}):e=function(c){var e=b.$eval(n);if(!e||!e.test)throw F("ngPattern")("noregexp",n,e,fa(a));return ma(d,"pattern",d.$isEmpty(c)||e.test(c),c)},d.$formatters.push(e),d.$parsers.push(e)),c.ngMinlength){var q=Q(c.ngMinlength);e=function(a){return ma(d,"minlength",d.$isEmpty(a)||a.length>=q,a)},d.$parsers.push(e),d.$formatters.push(e)}if(c.ngMaxlength){var p=Q(c.ngMaxlength);e=function(a){return ma(d,"maxlength",d.$isEmpty(a)||a.length<=p,a)},d.$parsers.push(e),d.$formatters.push(e)}}function Nb(b,a){return b="ngClass"+b,function(){return{restrict:"AC",link:function(c,d,e){function f(b){if(!0===a||c.$index%2===a){var d=g(b||"");h?sa(b,h)||e.$updateClass(d,g(h)):e.$addClass(d)}h=ba(b)}function g(a){if(I(a))return a.join(" ");if(X(a)){var b=[];return r(a,function(a,c){a&&b.push(c)}),b.join(" ")}return a}var h;c.$watch(e[b],f,!0),e.$observe("class",function(){f(c.$eval(e[b]))}),"ngClass"!==b&&c.$watch("$index",function(d,f){var h=1&d;if(h!==f&1){var n=g(c.$eval(e[b]));h===a?e.$addClass(n):e.$removeClass(n)}})}}}}var P,z,Ca,Ua,Ga,O=function(b){return E(b)?b.toLowerCase():b},Rd=Object.prototype.hasOwnProperty,Ia=function(b){return E(b)?b.toUpperCase():b},ta=[].slice,Wd=[].push,Aa=Object.prototype.toString,Na=F("ng"),Ba=D.angular||(D.angular={}),ia=["0","0","0"];P=Q((/msie (\d+)/.exec(O(navigator.userAgent))||[])[1]),isNaN(P)&&(P=Q((/trident\/.*; rv:(\d+)/.exec(O(navigator.userAgent))||[])[1])),x.$inject=[],za.$inject=[];
|
||
var ca=function(){return String.prototype.trim?function(b){return E(b)?b.trim():b}:function(b){return E(b)?b.replace(/^\s\s*/,"").replace(/\s\s*$/,""):b}}();Ga=9>P?function(b){return b=b.nodeName?b:b[0],b.scopeName&&"HTML"!=b.scopeName?Ia(b.scopeName+":"+b.nodeName):b.nodeName}:function(b){return b.nodeName?b.nodeName:b[0].nodeName};var Vc=/[A-Z]/g,Xd={full:"1.2.14-build.2346+sha.6b5baad",major:1,minor:2,dot:14,codeName:"snapshot"},Ra=R.cache={},db=R.expando="ng-"+(new Date).getTime(),Zc=1,Kc=D.document.addEventListener?function(b,a,c){b.addEventListener(a,c,!1)}:function(b,a,c){b.attachEvent("on"+a,c)},Db=D.document.removeEventListener?function(b,a,c){b.removeEventListener(a,c,!1)}:function(b,a,c){b.detachEvent("on"+a,c)};R._data=function(b){return this.cache[b[this.expando]]||{}};var Xc=/([\:\-\_]+(.))/g,Yc=/^moz([A-Z])/,Ab=F("jqLite"),Fa=R.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=!1;"complete"===T.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),R(D).on("load",a))},toString:function(){var b=[];return r(this,function(a){b.push(""+a)}),"["+b.join(", ")+"]"},eq:function(b){return z(b>=0?this[b]:this[this.length+b])},length:0,push:Wd,sort:[].sort,splice:[].splice},hb={};r("multiple selected checked disabled readOnly required open".split(" "),function(b){hb[O(b)]=b});var hc={};r("input select option textarea button form details".split(" "),function(b){hc[Ia(b)]=!0}),r({data:dc,inheritedData:gb,scope:function(b){return z(b).data("$scope")||gb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return z(b).data("$isolateScope")||z(b).data("$isolateScopeNoTemplate")},controller:ec,injector:function(b){return gb(b,"$injector")},removeAttr:function(b,a){b.removeAttribute(a)},hasClass:Eb,css:function(b,a,c){if(a=Qa(a),!v(c)){var d;return 8>=P&&(d=b.currentStyle&&b.currentStyle[a],""===d&&(d="auto")),d=d||b.style[a],8>=P&&(d=""===d?s:d),d}b.style[a]=c},attr:function(b,a,c){var d=O(a);if(hb[d]){if(!v(c))return b[a]||(b.attributes.getNamedItem(a)||x).specified?d:s;c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d))}else if(v(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?s:b},prop:function(b,a,c){return v(c)?void(b[a]=c):b[a]},text:function(){function b(b,d){var e=a[b.nodeType];return B(d)?e?b[e]:"":void(b[e]=d)}var a=[];return 9>P?(a[1]="innerText",a[3]="nodeValue"):a[1]=a[3]="textContent",b.$dv="",b}(),val:function(b,a){if(B(a)){if("SELECT"===Ga(b)&&b.multiple){var c=[];return r(b.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(B(a))return b.innerHTML;for(var c=0,d=b.childNodes;c<d.length;c++)Da(d[c]);b.innerHTML=a},empty:fc},function(b,a){R.prototype[a]=function(a,d){var e,f;if(b!==fc&&(2==b.length&&b!==Eb&&b!==ec?a:d)===s){if(X(a)){for(e=0;e<this.length;e++)if(b===dc)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv,f=e===s?Math.min(this.length,1):this.length;for(var g=0;f>g;g++){var h=b(this[g],a,d);e=e?e+h:h}return e}for(e=0;e<this.length;e++)b(this[e],a,d);return this}}),r({removeData:bc,dealoc:Da,on:function a(c,d,e,f){if(v(f))throw Ab("onargs");var g=ja(c,"events"),h=ja(c,"handle");g||ja(c,"events",g={}),h||ja(c,"handle",h=$c(c,g)),r(d.split(" "),function(d){var f=g[d];if(!f){if("mouseenter"==d||"mouseleave"==d){var l=T.body.contains||T.body.compareDocumentPosition?function(a,c){var d=9===a.nodeType?a.documentElement:a,e=c&&c.parentNode;return a===e||!(!e||1!==e.nodeType||!(d.contains?d.contains(e):a.compareDocumentPosition&&16&a.compareDocumentPosition(e)))}:function(a,c){if(c)for(;c=c.parentNode;)if(c===a)return!0;return!1};g[d]=[],a(c,{mouseleave:"mouseout",mouseenter:"mouseover"}[d],function(a){var c=a.relatedTarget;c&&(c===this||l(this,c))||h(a,d)})}else Kc(c,d,h),g[d]=[];f=g[d]}f.push(e)})},off:cc,one:function(a,c,d){a=z(a),a.on(c,function f(){a.off(c,d),a.off(c,f)}),a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;Da(a),r(new R(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a),d=c})},children:function(a){var c=[];return r(a.childNodes,function(a){1===a.nodeType&&c.push(a)}),c},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,c){r(new R(c),function(c){1!==a.nodeType&&11!==a.nodeType||a.appendChild(c)})},prepend:function(a,c){if(1===a.nodeType){var d=a.firstChild;r(new R(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=z(c)[0];var d=a.parentNode;d&&d.replaceChild(c,a),c.appendChild(a)},remove:function(a){Da(a);var c=a.parentNode;c&&c.removeChild(a)},after:function(a,c){var d=a,e=a.parentNode;r(new R(c),function(a){e.insertBefore(a,d.nextSibling),d=a})},addClass:fb,removeClass:eb,toggleClass:function(a,c,d){c&&r(c.split(" "),function(c){var f=d;B(f)&&(f=!Eb(a,c)),(f?fb:eb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(a=a.nextSibling;null!=a&&1!==a.nodeType;)a=a.nextSibling;return a},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Cb,triggerHandler:function(a,c,d){c=(ja(a,"events")||{})[c],d=d||[];var e=[{preventDefault:x,stopPropagation:x}];r(c,function(c){c.apply(a,e.concat(d))})}},function(a,c){R.prototype[c]=function(c,e,f){for(var g,h=0;h<this.length;h++)B(g)?(g=a(this[h],c,e,f),v(g)&&(g=z(g))):Bb(g,a(this[h],c,e,f));return v(g)?g:this},R.prototype.bind=R.prototype.on,R.prototype.unbind=R.prototype.off}),Sa.prototype={put:function(a,c){this[Ea(a)]=c},get:function(a){return this[Ea(a)]},remove:function(a){var c=this[a=Ea(a)];return delete this[a],c}};var bd=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,cd=/,/,dd=/^\s*(_?)(\S+?)\1\s*$/,ad=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Ta=F("$injector"),Yd=F("$animate"),Zd=["$provide",function(a){this.$$selectors={},this.register=function(c,d){var e=c+"-animation";if(c&&"."!=c.charAt(0))throw Yd("notcsel",c);this.$$selectors[c.substr(1)]=e,a.factory(e,d)},this.classNameFilter=function(a){return 1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null),this.$$classNameFilter},this.$get=["$timeout","$$asyncCallback",function(a,d){return{enter:function(a,c,g,h){g?g.after(a):(c&&c[0]||(c=g.parent()),c.append(a)),h&&d(h)},leave:function(a,c){a.remove(),c&&d(c)},move:function(a,c,d,h){this.enter(a,c,d,h)},addClass:function(a,c,g){c=E(c)?c:I(c)?c.join(" "):"",r(a,function(a){fb(a,c)}),g&&d(g)},removeClass:function(a,c,g){c=E(c)?c:I(c)?c.join(" "):"",r(a,function(a){eb(a,c)}),g&&d(g)},setClass:function(a,c,g,h){r(a,function(a){fb(a,c),eb(a,g)}),h&&d(h)},enabled:x}}]}],ha=F("$compile");jc.$inject=["$provide","$$sanitizeUriProvider"];var kd=/^(x[\:\-_]|data[\:\-_])/i,qc=F("$interpolate"),$d=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,vd={http:80,https:443,ftp:21},Ib=F("$location");vc.prototype=Jb.prototype=uc.prototype={$$html5:!1,$$replace:!1,absUrl:mb("$$absUrl"),url:function(a,c){if(B(a))return this.$$url;var d=$d.exec(a);return d[1]&&this.path(decodeURIComponent(d[1])),(d[2]||d[1])&&this.search(d[3]||""),this.hash(d[5]||"",c),this},protocol:mb("$$protocol"),host:mb("$$host"),port:mb("$$port"),path:wc("$$path",function(a){return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(E(a))this.$$search=Xb(a);else{if(!X(a))throw Ib("isrcharg");this.$$search=a}break;default:B(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}return this.$$compose(),this},hash:wc("$$hash",za),replace:function(){return this.$$replace=!0,this}};var pa,xa=F("$parse"),zc={},Ka={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:x,"+":function(a,c,d,e){return d=d(a,c),e=e(a,c),v(d)?v(e)?d+e:d:v(e)?e:s},"-":function(a,c,d,e){return d=d(a,c),e=e(a,c),(v(d)?d:0)-(v(e)?e:0)},"*":function(a,c,d,e){return d(a,c)*e(a,c)},"/":function(a,c,d,e){return d(a,c)/e(a,c)},"%":function(a,c,d,e){return d(a,c)%e(a,c)},"^":function(a,c,d,e){return d(a,c)^e(a,c)},"=":x,"===":function(a,c,d,e){return d(a,c)===e(a,c)},"!==":function(a,c,d,e){return d(a,c)!==e(a,c)},"==":function(a,c,d,e){return d(a,c)==e(a,c)},"!=":function(a,c,d,e){return d(a,c)!=e(a,c)},"<":function(a,c,d,e){return d(a,c)<e(a,c)},">":function(a,c,d,e){return d(a,c)>e(a,c)},"<=":function(a,c,d,e){return d(a,c)<=e(a,c)},">=":function(a,c,d,e){return d(a,c)>=e(a,c)},"&&":function(a,c,d,e){return d(a,c)&&e(a,c)},"||":function(a,c,d,e){return d(a,c)||e(a,c)},"&":function(a,c,d,e){return d(a,c)&e(a,c)},"|":function(a,c,d,e){return e(a,c)(a,c,d(a,c))},"!":function(a,c,d){return!d(a,c)}},ae={n:"\n",f:"\f",r:"\r",t:" ",v:"","'":"'",'"':'"'},Lb=function(a){this.options=a};Lb.prototype={constructor:Lb,lex:function(a){this.text=a,this.index=0,this.ch=s,this.lastCh=":",this.tokens=[];var c;for(a=[];this.index<this.text.length;){if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&"{"===a[0]&&(c=this.tokens[this.tokens.length-1])&&(c.json=-1===c.text.indexOf("."));else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&a.unshift(this.ch),this.is("}]")&&a.shift(),this.index++;else{if(this.isWhitespace(this.ch)){this.index++;continue}var d=this.ch+this.peek(),e=d+this.peek(2),f=Ka[this.ch],g=Ka[d],h=Ka[e];h?(this.tokens.push({index:this.index,text:e,fn:h}),this.index+=3):g?(this.tokens.push({index:this.index,text:d,fn:g}),this.index+=2):f?(this.tokens.push({index:this.index,text:this.ch,fn:f,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(a){return-1!==a.indexOf(this.ch)},was:function(a){return-1!==a.indexOf(this.lastCh)},peek:function(a){return a=a||1,this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return a>="0"&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||""===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,c,d){throw d=d||this.index,c=v(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d,xa("lexerr",a,c,this.text)},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=O(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else{if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-1))break;this.throwError("Invalid exponent")}}this.index++}a*=1,this.tokens.push({index:c,text:a,json:!0,fn:function(){return a}})},readIdent:function(){for(var e,f,g,h,a=this,c="",d=this.index;this.index<this.text.length&&(h=this.text.charAt(this.index),"."===h||this.isIdent(h)||this.isNumber(h));)"."===h&&(e=this.index),c+=h,this.index++;if(e)for(f=this.index;f<this.text.length;){if(h=this.text.charAt(f),"("===h){g=c.substr(e-d+1),c=c.substr(0,e-d),this.index=f;break}if(!this.isWhitespace(h))break;f++}if(d={index:d,text:c},Ka.hasOwnProperty(c))d.fn=Ka[c],d.json=Ka[c];else{var m=yc(c,this.options,this.text);d.fn=t(function(a,c){return m(a,c)},{assign:function(d,e){return nb(d,c,e,a.text,a.options)}})}this.tokens.push(d),g&&(this.tokens.push({index:e,text:".",json:!1}),this.tokens.push({index:e+1,text:g,json:!1}))},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)"u"===g?(g=this.text.substring(this.index+1,this.index+5),g.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+g+"]"),this.index+=4,d+=String.fromCharCode(parseInt(g,16))):d=(f=ae[g])?d+f:d+g,f=!1;else if("\\"===g)f=!0;else{if(g===a)return this.index++,void this.tokens.push({index:c,text:e,string:d,json:!0,fn:function(){return d}});d+=g}this.index++}this.throwError("Unterminated quote",c)}};var Ya=function(a,c,d){this.lexer=a,this.$filter=c,this.options=d};Ya.ZERO=function(){return 0},Ya.prototype={constructor:Ya,parse:function(a,c){this.text=a,this.json=c,this.tokens=this.lexer.lex(a),c&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:a,index:0})});var d=c?this.primary():this.statements();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),d.literal=!!d.literal,d.constant=!!d.constant,d},primary:function(){var a;if(this.expect("("))a=this.filterChain(),this.consume(")");else if(this.expect("["))a=this.arrayDeclaration();else if(this.expect("{"))a=this.object();else{var c=this.expect();(a=c.fn)||this.throwError("not a primary expression",c),c.json&&(a.constant=!0,a.literal=!0)}for(var d;c=this.expect("(","[",".");)"("===c.text?(a=this.functionCall(a,d),d=null):"["===c.text?(d=a,a=this.objectIndex(a)):"."===c.text?(d=a,a=this.fieldAccess(a)):this.throwError("IMPOSSIBLE");return a},throwError:function(a,c){throw xa("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index))},peekToken:function(){if(0===this.tokens.length)throw xa("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){if(0<this.tokens.length){var f=this.tokens[0],g=f.text;if(g===a||g===c||g===d||g===e||!(a||c||d||e))return f}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.json&&!a.json&&this.throwError("is not valid json",a),this.tokens.shift(),a):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,c){return t(function(d,e){return a(d,e,c)},{constant:c.constant})},ternaryFn:function(a,c,d){return t(function(e,f){return a(e,f)?c(e,f):d(e,f)},{constant:a.constant&&c.constant&&d.constant})},binaryFn:function(a,c,d){return t(function(e,f){return c(e,f,a,d)},{constant:a.constant&&d.constant})},statements:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(c,d){for(var e,f=0;f<a.length;f++){var g=a[f];g&&(e=g(c,d))}return e}},filterChain:function(){for(var c,a=this.expression();;){if(!(c=this.expect("|")))return a;a=this.binaryFn(a,c.fn,this.filter())}},filter:function(){for(var a=this.expect(),c=this.$filter(a.text),d=[];;){if(!(a=this.expect(":"))){var e=function(a,e,h){h=[h];for(var m=0;m<d.length;m++)h.push(d[m](a,e));return c.apply(a,h)};return function(){return e}}d.push(this.expression())}},expression:function(){return this.assignment()},assignment:function(){var c,d,a=this.ternary();return(d=this.expect("="))?(a.assign||this.throwError("implies assignment but ["+this.text.substring(0,d.index)+"] can not be assigned to",d),c=this.ternary(),function(d,f){return a.assign(d,c(d,f),f)}):a},ternary:function(){var c,d,a=this.logicalOR();return this.expect("?")?(c=this.ternary(),(d=this.expect(":"))?this.ternaryFn(a,c,this.ternary()):void this.throwError("expected :",d)):a},logicalOR:function(){for(var c,a=this.logicalAND();;){if(!(c=this.expect("||")))return a;a=this.binaryFn(a,c.fn,this.logicalAND())}},logicalAND:function(){var c,a=this.equality();return(c=this.expect("&&"))&&(a=this.binaryFn(a,c.fn,this.logicalAND())),a},equality:function(){var c,a=this.relational();return(c=this.expect("==","!=","===","!=="))&&(a=this.binaryFn(a,c.fn,this.equality())),a},relational:function(){var c,a=this.additive();return(c=this.expect("<",">","<=",">="))&&(a=this.binaryFn(a,c.fn,this.relational())),a},additive:function(){for(var c,a=this.multiplicative();c=this.expect("+","-");)a=this.binaryFn(a,c.fn,this.multiplicative());return a},multiplicative:function(){for(var c,a=this.unary();c=this.expect("*","/","%");)a=this.binaryFn(a,c.fn,this.unary());return a},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(Ya.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary()},fieldAccess:function(a){var c=this,d=this.expect().text,e=yc(d,this.options,this.text);return t(function(c,d,h){return e(h||a(c,d))},{assign:function(e,g,h){return nb(a(e,h),d,g,c.text,c.options)}})},objectIndex:function(a){var c=this,d=this.expression();return this.consume("]"),t(function(e,f){var m,g=a(e,f),h=d(e,f);return g?((g=Xa(g[h],c.text))&&g.then&&c.options.unwrapPromises&&(m=g,"$$v"in g||(m.$$v=s,m.then(function(a){m.$$v=a})),g=g.$$v),g):s},{assign:function(e,f,g){var h=d(e,g);return Xa(a(e,g),c.text)[h]=f}})},functionCall:function(a,c){var d=[];if(")"!==this.peekToken().text)do d.push(this.expression());while(this.expect(","));this.consume(")");var e=this;return function(f,g){for(var h=[],m=c?c(f,g):f,k=0;k<d.length;k++)h.push(d[k](f,g));return k=a(f,g,m)||x,Xa(m,e.text),Xa(k,e.text),h=k.apply?k.apply(m,h):k(h[0],h[1],h[2],h[3],h[4]),Xa(h,e.text)}},arrayDeclaration:function(){var a=[],c=!0;if("]"!==this.peekToken().text)do{if(this.peek("]"))break;var d=this.expression();a.push(d),d.constant||(c=!1)}while(this.expect(","));return this.consume("]"),t(function(c,d){for(var g=[],h=0;h<a.length;h++)g.push(a[h](c,d));return g},{literal:!0,constant:c})},object:function(){var a=[],c=!0;if("}"!==this.peekToken().text)do{if(this.peek("}"))break;var d=this.expect(),d=d.string||d.text;this.consume(":");var e=this.expression();a.push({key:d,value:e}),e.constant||(c=!1)}while(this.expect(","));return this.consume("}"),t(function(c,d){for(var e={},m=0;m<a.length;m++){var k=a[m];e[k.key]=k.value(c,d)}return e},{literal:!0,constant:c})}};var Kb={},qa=F("$sce"),ea={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},V=T.createElement("a"),Bc=wa(D.location.href,!0);Cc.$inject=["$provide"],Dc.$inject=["$locale"],Fc.$inject=["$locale"];var Ic=".",Ud={yyyy:Z("FullYear",4),yy:Z("FullYear",2,0,!0),y:Z("FullYear",1),MMMM:ob("Month"),MMM:ob("Month",!0),MM:Z("Month",2,1),M:Z("Month",1,1),dd:Z("Date",2),d:Z("Date",1),HH:Z("Hours",2),H:Z("Hours",1),hh:Z("Hours",2,-12),h:Z("Hours",1,-12),mm:Z("Minutes",2),m:Z("Minutes",1),ss:Z("Seconds",2),s:Z("Seconds",1),sss:Z("Milliseconds",3),EEEE:ob("Day"),EEE:ob("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a){return a=-1*a.getTimezoneOffset(),a=(a>=0?"+":"")+(Mb(Math[a>0?"floor":"ceil"](a/60),2)+Mb(Math.abs(a%60),2))}},Td=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,Sd=/^\-?\d+$/;Ec.$inject=["$locale"];var Pd=$(O),Qd=$(Ia);Gc.$inject=["$parse"];var be=$({restrict:"E",compile:function(a,c){return 8>=P&&(c.href||c.name||c.$set("href",""),a.append(T.createComment("IE fix"))),c.href||c.xlinkHref||c.name?void 0:function(a,c){var f="[object SVGAnimatedString]"===Aa.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}),Ob={};r(hb,function(a,c){if("multiple"!=a){var d=ka("ng-"+c);Ob[d]=function(){return{priority:100,link:function(a,f,g){a.$watch(g[d],function(a){g.$set(c,!!a)})}}}}}),r(["src","srcset","href"],function(a){var c=ka("ng-"+a);Ob[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===Aa.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",g=null),f.$observe(c,function(a){a&&(f.$set(h,a),P&&g&&e.prop(g,f[h]))})}}}});var rb={$addControl:x,$removeControl:x,$setValidity:x,$setDirty:x,$setPristine:x};Jc.$inject=["$element","$attrs","$scope","$animate"];var Lc=function(a){return["$timeout",function(c){return{name:"form",restrict:a?"EAC":"E",controller:Jc,compile:function(){return{pre:function(a,e,f,g){if(!f.action){var h=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Kc(e[0],"submit",h),e.on("$destroy",function(){c(function(){Db(e[0],"submit",h)},0,!1)})}var m=e.parent().controller("form"),k=f.name||f.ngForm;k&&nb(a,k,g,k),m&&e.on("$destroy",function(){m.$removeControl(g),k&&nb(a,k,s,k),t(g,rb)})}}}}}]},ce=Lc(),de=Lc(!0),ee=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,fe=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,ge=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Mc={text:tb,number:function(a,c,d,e,f,g){tb(a,c,d,e,f,g),e.$parsers.push(function(a){var c=e.$isEmpty(a);return c||ge.test(a)?(e.$setValidity("number",!0),""===a?null:c?a:parseFloat(a)):(e.$setValidity("number",!1),s)}),Vd(e,"number",c),e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a}),d.min&&(a=function(a){var c=parseFloat(d.min);return ma(e,"min",e.$isEmpty(a)||a>=c,a)},e.$parsers.push(a),e.$formatters.push(a)),d.max&&(a=function(a){var c=parseFloat(d.max);return ma(e,"max",e.$isEmpty(a)||c>=a,a)},e.$parsers.push(a),e.$formatters.push(a)),e.$formatters.push(function(a){return ma(e,"number",e.$isEmpty(a)||vb(a),a)})},url:function(a,c,d,e,f,g){tb(a,c,d,e,f,g),a=function(a){return ma(e,"url",e.$isEmpty(a)||ee.test(a),a)},e.$formatters.push(a),e.$parsers.push(a)},email:function(a,c,d,e,f,g){tb(a,c,d,e,f,g),a=function(a){return ma(e,"email",e.$isEmpty(a)||fe.test(a),a)},e.$formatters.push(a),e.$parsers.push(a)},radio:function(a,c,d,e){B(d.name)&&c.attr("name",Za()),c.on("click",function(){c[0].checked&&a.$apply(function(){e.$setViewValue(d.value)})}),e.$render=function(){c[0].checked=d.value==e.$viewValue},d.$observe("value",e.$render)},checkbox:function(a,c,d,e){var f=d.ngTrueValue,g=d.ngFalseValue;E(f)||(f=!0),E(g)||(g=!1),c.on("click",function(){a.$apply(function(){e.$setViewValue(c[0].checked)})}),e.$render=function(){c[0].checked=e.$viewValue},e.$isEmpty=function(a){return a!==f},e.$formatters.push(function(a){return a===f}),e.$parsers.push(function(a){return a?f:g})},hidden:x,button:x,submit:x,reset:x,file:x},Nc=["$browser","$sniffer",function(a,c){return{restrict:"E",require:"?ngModel",link:function(d,e,f,g){g&&(Mc[O(f.type)]||Mc.text)(d,e,f,g,c,a)}}}],qb="ng-valid",pb="ng-invalid",Ja="ng-pristine",sb="ng-dirty",he=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,c,d,e,f,g){function h(a,c){c=c?"-"+cb(c,"-"):"",g.removeClass(e,(a?pb:qb)+c),g.addClass(e,(a?qb:pb)+c)}this.$modelValue=this.$viewValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=d.name;var m=f(d.ngModel),k=m.assign;if(!k)throw F("ngModel")("nonassign",d.ngModel,fa(e));this.$render=x,this.$isEmpty=function(a){return B(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||rb,n=0,q=this.$error={};e.addClass(Ja),h(!0),this.$setValidity=function(a,c){q[a]!==!c&&(c?(q[a]&&n--,n||(h(!0),this.$valid=!0,this.$invalid=!1)):(h(!1),this.$invalid=!0,this.$valid=!1,n++),q[a]=!c,h(c,a),l.$setValidity(a,c,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,g.removeClass(e,sb),g.addClass(e,Ja)},this.$setViewValue=function(d){this.$viewValue=d,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,g.removeClass(e,Ja),g.addClass(e,sb),l.$setDirty()),r(this.$parsers,function(a){d=a(d)}),this.$modelValue!==d&&(this.$modelValue=d,k(a,d),r(this.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}}))};var p=this;a.$watch(function(){var c=m(a);if(p.$modelValue!==c){var d=p.$formatters,e=d.length;for(p.$modelValue=c;e--;)c=d[e](c);p.$viewValue!==c&&(p.$viewValue=c,p.$render())}return c})}],ie=function(){return{require:["ngModel","^?form"],controller:he,link:function(a,c,d,e){var f=e[0],g=e[1]||rb;g.$addControl(f),a.$on("$destroy",function(){g.$removeControl(f)})}}},je=$({require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),Oc=function(){return{require:"?ngModel",link:function(a,c,d,e){if(e){d.required=!0;var f=function(a){return d.required&&e.$isEmpty(a)?void e.$setValidity("required",!1):(e.$setValidity("required",!0),a)};e.$formatters.push(f),e.$parsers.unshift(f),d.$observe("required",function(){f(e.$viewValue)})}}}},ke=function(){return{require:"ngModel",link:function(a,c,d,e){var f=(a=/\/(.*)\//.exec(d.ngList))&&RegExp(a[1])||d.ngList||",";e.$parsers.push(function(a){if(!B(a)){var c=[];return a&&r(a.split(f),function(a){a&&c.push(ca(a))}),c}}),e.$formatters.push(function(a){return I(a)?a.join(", "):s}),e.$isEmpty=function(a){return!a||!a.length}}}},le=/^(true|false|\d+)$/,me=function(){return{priority:100,compile:function(a,c){return le.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},ne=ra(function(a,c,d){c.addClass("ng-binding").data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){c.text(a==s?"":a)})}),oe=["$interpolate",function(a){return function(c,d,e){c=a(d.attr(e.$attr.ngBindTemplate)),d.addClass("ng-binding").data("$binding",c),e.$observe("ngBindTemplate",function(a){d.text(a)})}}],pe=["$sce","$parse",function(a,c){return function(d,e,f){e.addClass("ng-binding").data("$binding",f.ngBindHtml);var g=c(f.ngBindHtml);d.$watch(function(){return(g(d)||"").toString()},function(){e.html(a.getTrustedHtml(g(d))||"")})}}],qe=Nb("",!0),re=Nb("Odd",0),se=Nb("Even",1),te=ra({compile:function(a,c){c.$set("ngCloak",s),a.removeClass("ng-cloak")}}),ue=[function(){return{scope:!0,controller:"@",priority:500}}],Pc={};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=ka("ng-"+a);Pc[c]=["$parse",function(d){return{compile:function(e,f){var g=d(f[c]);return function(c,d){d.on(O(a),function(a){c.$apply(function(){g(c,{$event:a})})})}}}}]});var ve=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,m,k;c.$watch(e.ngIf,function(f){Oa(f)?m||(m=c.$new(),g(m,function(c){c[c.length++]=T.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)})):(k&&(k.remove(),k=null),m&&(m.$destroy(),m=null),h&&(k=yb(h.clone),a.leave(k,function(){k=null}),h=null))})}}}],we=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,c,d,e,f){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ba.noop,compile:function(g,h){var m=h.ngInclude||h.src,k=h.onload||"",l=h.autoscroll;return function(g,h,p,r,C){var u,t,z,s=0,w=function(){t&&(t.remove(),t=null),u&&(u.$destroy(),u=null),z&&(e.leave(z,function(){t=null}),t=z,z=null)};g.$watch(f.parseAsResourceUrl(m),function(f){var m=function(){!v(l)||l&&!g.$eval(l)||d()},p=++s;f?(a.get(f,{cache:c}).success(function(a){if(p===s){var c=g.$new();r.template=a,a=C(c,function(a){w(),e.enter(a,null,h,m)}),u=c,z=a,u.$emit("$includeContentLoaded"),g.$eval(k)}}).error(function(){p===s&&w()}),g.$emit("$includeContentRequested")):(w(),r.template=null)})}}}}],xe=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){d.html(f.template),a(d.contents())(c)}}}],ye=ra({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),ze=ra({terminal:!0,priority:1e3}),Ae=["$locale","$interpolate",function(a,c){var d=/{}/g;return{restrict:"EA",link:function(e,f,g){var h=g.count,m=g.$attr.when&&f.attr(g.$attr.when),k=g.offset||0,l=e.$eval(m)||{},n={},q=c.startSymbol(),p=c.endSymbol(),s=/^when(Minus)?(.+)$/;r(g,function(a,c){s.test(c)&&(l[O(c.replace("when","").replace("Minus","-"))]=f.attr(g.$attr[c]))}),r(l,function(a,e){n[e]=c(a.replace(d,q+h+"-"+k+p))}),e.$watch(function(){var c=parseFloat(e.$eval(h));return isNaN(c)?"":(c in l||(c=a.pluralCat(c-k)),n[c](e,f,!0))},function(a){f.text(a)})}}}],Be=["$parse","$animate",function(a,c){var d=F("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(e,f,g,h,m){var n,q,p,s,t,v,k=g.ngRepeat,l=k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),u={$id:Ea};if(!l)throw d("iexp",k);if(g=l[1],h=l[2],(l=l[3])?(n=a(l),q=function(a,c,d){return v&&(u[v]=a),u[t]=c,u.$index=d,n(e,u)}):(p=function(a,c){return Ea(c)},s=function(a){return a}),l=g.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!l)throw d("iidexp",g);t=l[3]||l[1],v=l[2];var H={};e.$watchCollection(h,function(a){var g,h,n,E,J,x,B,F,K,l=f[0],u={},I=[];if(ub(a))F=a,n=q||p;else{n=q||s,F=[];for(x in a)a.hasOwnProperty(x)&&"$"!=x.charAt(0)&&F.push(x);F.sort()}for(E=F.length,h=I.length=F.length,g=0;h>g;g++)if(x=a===F?g:F[g],B=a[x],B=n(x,B,g),va(B,"`track by` id"),H.hasOwnProperty(B))K=H[B],delete H[B],u[B]=K,I[g]=K;else{if(u.hasOwnProperty(B))throw r(I,function(a){a&&a.scope&&(H[a.id]=a)}),d("dupes",k,B);I[g]={id:B},u[B]=!1}for(x in H)H.hasOwnProperty(x)&&(K=H[x],g=yb(K.clone),c.leave(g),r(g,function(a){a.$$NG_REMOVED=!0}),K.scope.$destroy());for(g=0,h=F.length;h>g;g++){if(x=a===F?g:F[g],B=a[x],K=I[g],I[g-1]&&(l=I[g-1].clone[I[g-1].clone.length-1]),K.scope){J=K.scope,n=l;do n=n.nextSibling;while(n&&n.$$NG_REMOVED);K.clone[0]!=n&&c.move(yb(K.clone),null,z(l)),l=K.clone[K.clone.length-1]}else J=e.$new();J[t]=B,v&&(J[v]=x),J.$index=g,J.$first=0===g,J.$last=g===E-1,J.$middle=!(J.$first||J.$last),J.$odd=!(J.$even=0===(1&g)),K.scope||m(J,function(a){a[a.length++]=T.createComment(" end ngRepeat: "+k+" "),c.enter(a,null,z(l)),l=a,K.scope=J,K.clone=a,u[K.id]=K})}H=u})}}}],Ce=["$animate",function(a){return function(c,d,e){c.$watch(e.ngShow,function(c){a[Oa(c)?"removeClass":"addClass"](d,"ng-hide")})}}],De=["$animate",function(a){return function(c,d,e){c.$watch(e.ngHide,function(c){a[Oa(c)?"addClass":"removeClass"](d,"ng-hide")})}}],Ee=ra(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&r(d,function(a,d){c.css(d,"")}),a&&c.css(a)},!0)}),Fe=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var g,h,m,k=[];c.$watch(e.ngSwitch||e.on,function(d){var n,q=k.length;if(q>0){if(m){for(n=0;q>n;n++)m[n].remove();m=null}for(m=[],n=0;q>n;n++){var p=h[n];k[n].$destroy(),m[n]=p,a.leave(p,function(){m.splice(n,1),0===m.length&&(m=null)})}}h=[],k=[],(g=f.cases["!"+d]||f.cases["?"])&&(c.$eval(e.change),r(g,function(d){var e=c.$new();k.push(e),d.transclude(e,function(c){var e=d.element;h.push(c),a.enter(c,e.parent(),e)})}))})}}}],Ge=ra({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[],e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),He=ra({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[],e.cases["?"].push({transclude:f,element:c})}}),Ie=ra({link:function(a,c,d,e,f){if(!f)throw F("ngTransclude")("orphan",fa(c));f(function(a){c.empty(),c.append(a)})}}),Je=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],Ke=F("ngOptions"),Le=$({terminal:!0}),Me=["$compile","$parse",function(a,c){var d=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,e={$setViewValue:x};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,c,d){var n,m=this,k={},l=e;m.databound=d.ngModel,m.init=function(a,c,d){l=a,n=d},m.addOption=function(c){va(c,'"option value"'),k[c]=!0,l.$viewValue==c&&(a.val(c),n.parent()&&n.remove())},m.removeOption=function(a){this.hasOption(a)&&(delete k[a],l.$viewValue==a&&this.renderUnknownOption(a))},m.renderUnknownOption=function(c){c="? "+Ea(c)+" ?",n.val(c),a.prepend(n),a.val(c),n.prop("selected",!0)},m.hasOption=function(a){return k.hasOwnProperty(a)},c.$on("$destroy",function(){m.renderUnknownOption=x})}],link:function(e,g,h,m){function k(a,c,d,e){d.$render=function(){var a=d.$viewValue;
|
||
e.hasOption(a)?(E.parent()&&E.remove(),c.val(a),""===a&&x.prop("selected",!0)):B(a)&&x?c.val(""):e.renderUnknownOption(a)},c.on("change",function(){a.$apply(function(){E.parent()&&E.remove(),d.$setViewValue(c.val())})})}function l(a,c,d){var e;d.$render=function(){var a=new Sa(d.$viewValue);r(c.find("option"),function(c){c.selected=v(a.get(c.value))})},a.$watch(function(){sa(e,d.$viewValue)||(e=ba(d.$viewValue),d.$render())}),c.on("change",function(){a.$apply(function(){var a=[];r(c.find("option"),function(c){c.selected&&a.push(c.value)}),d.$setViewValue(a)})})}function n(e,f,g){function h(){var d,k,s,t,y,a={"":[]},c=[""];t=g.$modelValue,y=z(e)||[];var E,A,D,B=n?Pb(y):y;A={},s=!1;var L,J;if(p)if(w&&I(t))for(s=new Sa([]),D=0;D<t.length;D++)A[m]=t[D],s.put(w(e,A),t[D]);else s=new Sa(t);for(D=0;E=B.length,E>D;D++){if(k=D,n){if(k=B[D],"$"===k.charAt(0))continue;A[n]=k}A[m]=y[k],d=q(e,A)||"",(k=a[d])||(k=a[d]=[],c.push(d)),p?d=v(s.remove(w?w(e,A):r(e,A))):(w?(d={},d[m]=t,d=w(e,d)===w(e,A)):d=t===r(e,A),s=s||d),L=l(e,A),L=v(L)?L:"",k.push({id:w?w(e,A):n?B[D]:D,label:L,selected:d})}for(p||(C||null===t?a[""].unshift({id:"",label:"",selected:!s}):s||a[""].unshift({id:"?",label:"",selected:!0})),A=0,B=c.length;B>A;A++){for(d=c[A],k=a[d],x.length<=A?(t={element:F.clone().attr("label",d),label:k.label},y=[t],x.push(y),f.append(t.element)):(y=x[A],t=y[0],t.label!=d&&t.element.attr("label",t.label=d)),L=null,D=0,E=k.length;E>D;D++)s=k[D],(d=y[D+1])?(L=d.element,d.label!==s.label&&L.text(d.label=s.label),d.id!==s.id&&L.val(d.id=s.id),L[0].selected!==s.selected&&L.prop("selected",d.selected=s.selected)):(""===s.id&&C?J=C:(J=u.clone()).val(s.id).attr("selected",s.selected).text(s.label),y.push({element:J,label:s.label,id:s.id,selected:s.selected}),L?L.after(J):t.element.append(J),L=J);for(D++;y.length>D;)y.pop().element.remove()}for(;x.length>A;)x.pop()[0].element.remove()}var k;if(!(k=t.match(d)))throw Ke("iexp",t,fa(f));var l=c(k[2]||k[1]),m=k[4]||k[6],n=k[5],q=c(k[3]||""),r=c(k[2]?k[1]:m),z=c(k[7]),w=k[8]?c(k[8]):null,x=[[{element:f,label:""}]];C&&(a(C)(e),C.removeClass("ng-scope"),C.remove()),f.empty(),f.on("change",function(){e.$apply(function(){var a,h,k,l,q,t,v,u,c=z(e)||[],d={};if(p){for(k=[],q=0,v=x.length;v>q;q++)for(a=x[q],l=1,t=a.length;t>l;l++)if((h=a[l].element)[0].selected){if(h=h.val(),n&&(d[n]=h),w)for(u=0;u<c.length&&(d[m]=c[u],w(e,d)!=h);u++);else d[m]=c[h];k.push(r(e,d))}}else if(h=f.val(),"?"==h)k=s;else if(""===h)k=null;else if(w){for(u=0;u<c.length;u++)if(d[m]=c[u],w(e,d)==h){k=r(e,d);break}}else d[m]=c[h],n&&(d[n]=h),k=r(e,d);g.$setViewValue(k)})}),g.$render=h,e.$watch(h)}if(m[1]){var q=m[0];m=m[1];var x,p=h.multiple,t=h.ngOptions,C=!1,u=z(T.createElement("option")),F=z(T.createElement("optgroup")),E=u.clone();h=0;for(var w=g.children(),D=w.length;D>h;h++)if(""===w[h].value){x=C=w.eq(h);break}q.init(m,C,E),p&&(m.$isEmpty=function(a){return!a||0===a.length}),t?n(e,g,m):p?l(e,g,m):k(e,g,m,q)}}}}],Ne=["$interpolate",function(a){var c={addOption:x,removeOption:x};return{restrict:"E",priority:100,compile:function(d,e){if(B(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),l=k.data("$selectController")||k.parent().data("$selectController");l&&l.databound?d.prop("selected",!1):l=c,f?a.$watch(f,function(a,c){e.$set("value",a),a!==c&&l.removeOption(c),l.addOption(a)}):l.addOption(e.value),d.on("$destroy",function(){l.removeOption(e.value)})}}}}],Oe=$({restrict:"E",terminal:!0});(Ca=D.jQuery)?(z=Ca,t(Ca.fn,{scope:Fa.scope,isolateScope:Fa.isolateScope,controller:Fa.controller,injector:Fa.injector,inheritedData:Fa.inheritedData}),zb("remove",!0,!0,!1),zb("empty",!1,!1,!1),zb("html",!1,!1,!0)):z=R,Ba.element=z,function(a){t(a,{bootstrap:Zb,copy:ba,extend:t,equals:sa,element:z,forEach:r,injector:$b,noop:x,bind:bb,toJson:na,fromJson:Vb,identity:za,isUndefined:B,isDefined:v,isString:E,isFunction:N,isObject:X,isNumber:vb,isElement:Rc,isArray:I,version:Xd,isDate:La,lowercase:O,uppercase:Ia,callbacks:{counter:0},$$minErr:F,$$csp:Ub}),Ua=Wc(D);try{Ua("ngLocale")}catch(c){Ua("ngLocale",[]).provider("$locale",ud)}Ua("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Fd}),a.provider("$compile",jc).directive({a:be,input:Nc,textarea:Nc,form:ce,script:Je,select:Me,style:Oe,option:Ne,ngBind:ne,ngBindHtml:pe,ngBindTemplate:oe,ngClass:qe,ngClassEven:se,ngClassOdd:re,ngCloak:te,ngController:ue,ngForm:de,ngHide:De,ngIf:ve,ngInclude:we,ngInit:ye,ngNonBindable:ze,ngPluralize:Ae,ngRepeat:Be,ngShow:Ce,ngStyle:Ee,ngSwitch:Fe,ngSwitchWhen:Ge,ngSwitchDefault:He,ngOptions:Le,ngTransclude:Ie,ngModel:ie,ngList:ke,ngChange:je,required:Oc,ngRequired:Oc,ngValue:me}).directive({ngInclude:xe}).directive(Ob).directive(Pc),a.provider({$anchorScroll:ed,$animate:Zd,$browser:hd,$cacheFactory:id,$controller:ld,$document:md,$exceptionHandler:nd,$filter:Cc,$interpolate:sd,$interval:td,$http:od,$httpBackend:qd,$location:wd,$log:xd,$parse:Ad,$rootScope:Ed,$q:Bd,$sce:Id,$sceDelegate:Hd,$sniffer:Jd,$templateCache:jd,$timeout:Kd,$window:Ld,$$rAF:Dd,$$asyncCallback:fd})}])}(Ba),z(T).ready(function(){Uc(T,Zb)})}(window,document),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}.ng-animate-block-transitions{transition:0s all!important;-webkit-transition:0s all!important;}</style>'),function(H,a,A){"use strict";function D(p,g){g=g||{},a.forEach(g,function(a,c){delete g[c]});for(var c in p)!p.hasOwnProperty(c)||"$"===c.charAt(0)&&"$"===c.charAt(1)||(g[c]=p[c]);return g}var v=a.$$minErr("$resource"),C=/^(\.[a-zA-Z_$][0-9a-zA-Z_$]*)+$/;a.module("ngResource",["ng"]).factory("$resource",["$http","$q",function(p,g){function c(a,c){this.template=a,this.defaults=c||{},this.urlParams={}}function t(n,w,l){function r(h,d){var e={};return d=x({},w,d),s(d,function(b,d){u(b)&&(b=b());var k;if(b&&b.charAt&&"@"==b.charAt(0)){k=h;var a=b.substr(1);if(null==a||""===a||"hasOwnProperty"===a||!C.test("."+a))throw v("badmember",a);for(var a=a.split("."),f=0,c=a.length;c>f&&k!==A;f++){var g=a[f];k=null!==k?k[g]:A}}else k=b;e[d]=k}),e}function e(a){return a.resource}function f(a){D(a||{},this)}var F=new c(n);return l=x({},B,l),s(l,function(h,d){var c=/^(POST|PUT|PATCH)$/i.test(h.method);f[d]=function(b,d,k,w){var n,l,y,q={};switch(arguments.length){case 4:y=w,l=k;case 3:case 2:if(!u(d)){q=b,n=d,l=k;break}if(u(b)){l=b,y=d;break}l=d,y=k;case 1:u(b)?l=b:c?n=b:q=b;break;case 0:break;default:throw v("badargs",arguments.length)}var t=this instanceof f,m=t?n:h.isArray?[]:new f(n),z={},B=h.interceptor&&h.interceptor.response||e,C=h.interceptor&&h.interceptor.responseError||A;return s(h,function(a,b){"params"!=b&&"isArray"!=b&&"interceptor"!=b&&(z[b]=G(a))}),c&&(z.data=n),F.setUrlParams(z,x({},r(n,h.params||{}),q),h.url),q=p(z).then(function(b){var d=b.data,k=m.$promise;if(d){if(a.isArray(d)!==!!h.isArray)throw v("badcfg",h.isArray?"array":"object",a.isArray(d)?"array":"object");h.isArray?(m.length=0,s(d,function(b){m.push(new f(b))})):(D(d,m),m.$promise=k)}return m.$resolved=!0,b.resource=m,b},function(b){return m.$resolved=!0,(y||E)(b),g.reject(b)}),q=q.then(function(b){var a=B(b);return(l||E)(a,b.headers),a},C),t?q:(m.$promise=q,m.$resolved=!1,m)},f.prototype["$"+d]=function(b,a,k){return u(b)&&(k=a,a=b,b={}),b=f[d].call(this,b,this,a,k),b.$promise||b}}),f.bind=function(a){return t(n,x({},w,a),l)},f}var B={get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}},E=a.noop,s=a.forEach,x=a.extend,G=a.copy,u=a.isFunction;return c.prototype={setUrlParams:function(c,g,l){var f,p,r=this,e=l||r.template,h=r.urlParams={};s(e.split(/\W/),function(a){if("hasOwnProperty"===a)throw v("badname");!/^\d+$/.test(a)&&a&&RegExp("(^|[^\\\\]):"+a+"(\\W|$)").test(e)&&(h[a]=!0)}),e=e.replace(/\\:/g,":"),g=g||{},s(r.urlParams,function(d,c){f=g.hasOwnProperty(c)?g[c]:r.defaults[c],a.isDefined(f)&&null!==f?(p=encodeURIComponent(f).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"%20").replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+"),e=e.replace(RegExp(":"+c+"(\\W|$)","g"),function(a,c){return p+c})):e=e.replace(RegExp("(/?):"+c+"(\\W|$)","g"),function(a,c,d){return"/"==d.charAt(0)?d:c+d})}),e=e.replace(/\/+$/,"")||"/",e=e.replace(/\/\.(?=\w+($|\?))/,"."),c.url=e.replace(/\/\\\./,"/."),s(g,function(a,e){r.urlParams[e]||(c.params=c.params||{},c.params[e]=a)})}},t}])}(window,window.angular),function(n,e){"use strict";function x(s,g,k){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,w){function y(){p&&(p.remove(),p=null),h&&(h.$destroy(),h=null),l&&(k.leave(l,function(){p=null}),p=l,l=null)}function v(){var b=s.current&&s.current.locals;if(e.isDefined(b&&b.$template)){var b=a.$new(),d=s.current;l=w(b,function(d){k.enter(d,null,l||c,function(){!e.isDefined(t)||t&&!a.$eval(t)||g()}),y()}),h=d.scope=b,h.$emit("$viewContentLoaded"),h.$eval(u)}else y()}var h,l,p,t=b.autoscroll,u=b.onload||"";a.$on("$routeChangeSuccess",v),v()}}}function z(e,g,k){return{restrict:"ECA",priority:-400,link:function(a,c){var b=k.current,f=b.locals;c.html(f.$template);var w=e(c.contents());b.controller&&(f.$scope=a,f=g(b.controller,f),b.controllerAs&&(a[b.controllerAs]=f),c.data("$ngControllerController",f),c.children().data("$ngControllerController",f)),w(a)}}}n=e.module("ngRoute",["ng"]).provider("$route",function(){function s(a,c){return e.extend(new(e.extend(function(){},{prototype:a})),c)}function g(a,e){var b=e.caseInsensitiveMatch,f={originalPath:a,regexp:a},k=f.keys=[];return a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,e,b,c){return a="?"===c?c:null,c="*"===c?c:null,k.push({name:b,optional:!!a}),e=e||"",""+(a?"":e)+"(?:"+(a?e:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1"),f.regexp=RegExp("^"+a+"$",b?"i":""),f}var k={};this.when=function(a,c){if(k[a]=e.extend({reloadOnSearch:!0},c,a&&g(a,c)),a){var b="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";k[b]=e.extend({redirectTo:a},g(b,c))}return this},this.otherwise=function(a){return this.when(null,a),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(a,c,b,f,g,n,v,h){function l(){var d=p(),m=r.current;d&&m&&d.$$route===m.$$route&&e.equals(d.pathParams,m.pathParams)&&!d.reloadOnSearch&&!u?(m.params=d.params,e.copy(m.params,b),a.$broadcast("$routeUpdate",m)):(d||m)&&(u=!1,a.$broadcast("$routeChangeStart",d,m),(r.current=d)&&d.redirectTo&&(e.isString(d.redirectTo)?c.path(t(d.redirectTo,d.params)).search(d.params).replace():c.url(d.redirectTo(d.pathParams,c.path(),c.search())).replace()),f.when(d).then(function(){if(d){var c,b,a=e.extend({},d.resolve);return e.forEach(a,function(d,c){a[c]=e.isString(d)?g.get(d):g.invoke(d)}),e.isDefined(c=d.template)?e.isFunction(c)&&(c=c(d.params)):e.isDefined(b=d.templateUrl)&&(e.isFunction(b)&&(b=b(d.params)),b=h.getTrustedResourceUrl(b),e.isDefined(b)&&(d.loadedTemplateUrl=b,c=n.get(b,{cache:v}).then(function(a){return a.data}))),e.isDefined(c)&&(a.$template=c),f.all(a)}}).then(function(c){d==r.current&&(d&&(d.locals=c,e.copy(d.params,b)),a.$broadcast("$routeChangeSuccess",d,m))},function(c){d==r.current&&a.$broadcast("$routeChangeError",d,m,c)}))}function p(){var a,b;return e.forEach(k,function(f){var q;if(q=!b){var g=c.path();q=f.keys;var l={};if(f.regexp)if(g=f.regexp.exec(g)){for(var h=1,p=g.length;p>h;++h){var n=q[h-1],r="string"==typeof g[h]?decodeURIComponent(g[h]):g[h];n&&r&&(l[n.name]=r)}q=l}else q=null;else q=null;q=a=q}q&&(b=s(f,{params:e.extend({},c.search(),a),pathParams:a}),b.$$route=f)}),b||k[null]&&s(k[null],{params:{},pathParams:{}})}function t(a,c){var b=[];return e.forEach((a||"").split(":"),function(a,d){if(0===d)b.push(a);else{var e=a.match(/(\w+)(.*)/),f=e[1];b.push(c[f]),b.push(e[2]||""),delete c[f]}}),b.join("")}var u=!1,r={routes:k,reload:function(){u=!0,a.$evalAsync(l)}};return a.$on("$locationChangeSuccess",l),r}]}),n.provider("$routeParams",function(){this.$get=function(){return{}}}),n.directive("ngView",x),n.directive("ngView",z),x.$inject=["$route","$anchorScroll","$animate"],z.$inject=["$compile","$controller","$route"]}(window,window.angular),angular.module("monospaced.qrcode",[]).directive("qrcode",["$window",function($window){var canvas2D=!!$window.CanvasRenderingContext2D,levels={L:"Low",M:"Medium",Q:"Quartile",H:"High"},draw=function(context,qr,modules,tile){for(var row=0;modules>row;row++)for(var col=0;modules>col;col++){var w=Math.ceil((col+1)*tile)-Math.floor(col*tile),h=Math.ceil((row+1)*tile)-Math.floor(row*tile);context.fillStyle=qr.isDark(row,col)?"#000":"#fff",context.fillRect(Math.round(col*tile),Math.round(row*tile),w,h)}};return{restrict:"E",template:"<canvas></canvas>",link:function(scope,element,attrs){var error,version,errorCorrectionLevel,data,size,modules,tile,qr,domElement=element[0],canvas=element.find("canvas")[0],context=canvas2D?canvas.getContext("2d"):null,trim=/^\s+|\s+$/g,setVersion=function(value){version=Math.max(1,Math.min(parseInt(value,10),10))||4},setErrorCorrectionLevel=function(value){errorCorrectionLevel=value in levels?value:"M"},setData=function(value){if(value){data=value.replace(trim,""),qr=qrcode(version,errorCorrectionLevel),qr.addData(data);try{qr.make()}catch(e){return void(error=e.message)}error=!1,modules=qr.getModuleCount()}},setSize=function(value){size=parseInt(value,10)||2*modules,tile=size/modules,canvas.width=canvas.height=size},render=function(){return qr?error?(canvas2D||(domElement.innerHTML='<img src width="'+size+'"height="'+size+'">'),void scope.$emit("qrcode:error",error)):void(canvas2D?draw(context,qr,modules,tile):domElement.innerHTML=qr.createImgTag(tile,0)):void 0};setVersion(attrs.version),setErrorCorrectionLevel(attrs.errorCorrectionLevel),setSize(attrs.size),attrs.$observe("version",function(value){value&&(setVersion(value),setData(data),setSize(size),render())}),attrs.$observe("errorCorrectionLevel",function(value){value&&(setErrorCorrectionLevel(value),setData(data),setSize(size),render())}),attrs.$observe("data",function(value){value&&(setData(value),setSize(size),render())}),attrs.$observe("size",function(value){value&&(setSize(value),render())})}}}]),function(G,g,Q){"use strict";g.module("ngAnimate",["ng"]).factory("$$animateReflow",["$$rAF","$document",function(g){return function(e){return g(function(){e()})}}]).config(["$provide","$animateProvider",function(W,H){function e(e){for(var m=0;m<e.length;m++){var g=e[m];if(g.nodeType==ba)return g}}function B(m){return g.element(e(m))}var r=g.noop,m=g.forEach,ga=H.$$selectors,ba=1,h="$$ngAnimateState",K="ng-animate",q={running:!0};W.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$$asyncCallback","$rootScope","$document",function(x,G,aa,L,F,I){function R(a){if(a){var b=[],c={};a=a.substr(1).split("."),(aa.transitions||aa.animations)&&a.push("");for(var d=0;d<a.length;d++){var f=a[d],e=ga[f];e&&!c[f]&&(b.push(G.get(e)),c[f]=!0)}return b}}function M(a,b,c){function d(a,b){var c=a[b],d=a["before"+b.charAt(0).toUpperCase()+b.substr(1)];return c||d?("leave"==b&&(d=c,c=null),u.push({event:b,fn:c}),p.push({event:b,fn:d}),!0):void 0}function f(b,d,e){var f=[];m(b,function(a){a.fn&&f.push(a)});var l=0;m(f,function(b,m){var C=function(){a:{if(d){if((d[m]||r)(),++l<f.length)break a;d=null}e()}};switch(b.event){case"setClass":d.push(b.fn(a,n,A,C));break;case"addClass":d.push(b.fn(a,n||c,C));break;case"removeClass":d.push(b.fn(a,A||c,C));break;default:d.push(b.fn(a,C))}}),d&&0===d.length&&e()}var e=a[0];if(e){var n,A,h="setClass"==b,q=h||"addClass"==b||"removeClass"==b;g.isArray(c)&&(n=c[0],A=c[1],c=n+" "+A);var y=a.attr("class")+" "+c;if(T(y)){var v=r,z=[],p=[],w=r,l=[],u=[],y=(" "+y).replace(/\s+/g,".");return m(R(y),function(a){!d(a,b)&&h&&(d(a,"addClass"),d(a,"removeClass"))}),{node:e,event:b,className:c,isClassBased:q,isSetClassOperation:h,before:function(a){v=a,f(p,z,function(){v=r,a()})},after:function(a){w=a,f(u,l,function(){w=r,a()})},cancel:function(){z&&(m(z,function(a){(a||r)(!0)}),v(!0)),l&&(m(l,function(a){(a||r)(!0)}),w(!0))}}}}}function s(a,b,c,d,f,e,q){function r(d){var e="$animate:"+d;w&&w[e]&&0<w[e].length&&F(function(){c.triggerHandler(e,{event:a,className:b})})}function n(){r("before")}function A(){r("after")}function y(){r("close"),q&&F(function(){q()})}function v(){v.hasBeenRun||(v.hasBeenRun=!0,e())}function z(){if(!z.hasBeenRun){z.hasBeenRun=!0;var d=c.data(h);d&&(p.isClassBased?E(c,b):(F(function(){var d=c.data(h)||{};s==d.index&&E(c,b,a)}),c.data(h,d))),y()}}var p=M(c,a,b);if(p){b=p.className;var w=g.element._data(p.node),w=w&&w.events;d||(d=f?f.parent():c.parent());var l=c.data(h)||{};f=l.active||{};var u=l.totalActive||0,C=l.last;if(p.isClassBased&&(l.disabled||C&&!C.isClassBased)||O(c,d))v(),n(),A(),z();else{if(d=!1,u>0){if(l=[],p.isClassBased)"setClass"==C.event?(l.push(C),E(c,b)):f[b]&&(x=f[b],x.event==a?d=!0:(l.push(x),E(c,b)));else if("leave"==a&&f["ng-leave"])d=!0;else{for(var x in f)l.push(f[x]),E(c,x);f={},u=0}0<l.length&&m(l,function(a){a.cancel()})}if(!p.isClassBased||p.isSetClassOperation||d||(d="addClass"==a==c.hasClass(b)),d)n(),A(),y();else{"leave"==a&&c.one("$destroy",function(a){a=g.element(this);var b=a.data(h);b&&(b=b.active["ng-leave"])&&(b.cancel(),E(a,"ng-leave"))}),c.addClass(K);var s=P++;u++,f[b]=p,c.data(h,{last:p,active:f,index:s,totalActive:u}),n(),p.before(function(d){var e=c.data(h);d=d||!e||!e.active[b]||p.isClassBased&&e.active[b].event!=a,v(),!0===d?z():(A(),p.after(z))})}}}else v(),n(),A(),y()}function U(a){(a=e(a))&&(a=g.isFunction(a.getElementsByClassName)?a.getElementsByClassName(K):a.querySelectorAll("."+K),m(a,function(a){a=g.element(a),(a=a.data(h))&&a.active&&m(a.active,function(a){a.cancel()})}))}function E(a,b){if(e(a)==e(L))q.disabled||(q.running=!1,q.structural=!1);else if(b){var c=a.data(h)||{},d=!0===b;!d&&c.active&&c.active[b]&&(c.totalActive--,delete c.active[b]),(d||!c.totalActive)&&(a.removeClass(K),a.removeData(h))}}function O(a,b){if(q.disabled)return!0;if(e(a)==e(L))return q.disabled||q.running;do{if(0===b.length)break;var c=e(b)==e(L),d=c?q:b.data(h),d=d&&(!!d.disabled||d.running||0<d.totalActive);if(c||d)return d;if(c)break}while(b=b.parent());return!0}var P=0;L.data(h,q),I.$$postDigest(function(){I.$$postDigest(function(){q.running=!1})});var V=H.classNameFilter(),T=V?function(a){return V.test(a)}:function(){return!0};return{enter:function(a,b,c,d){this.enabled(!1,a),x.enter(a,b,c),I.$$postDigest(function(){a=B(a),s("enter","ng-enter",a,b,c,r,d)})},leave:function(a,b){U(a),this.enabled(!1,a),I.$$postDigest(function(){s("leave","ng-leave",B(a),null,null,function(){x.leave(a)},b)})},move:function(a,b,c,d){U(a),this.enabled(!1,a),x.move(a,b,c),I.$$postDigest(function(){a=B(a),s("move","ng-move",a,b,c,r,d)})},addClass:function(a,b,c){a=B(a),s("addClass",b,a,null,null,function(){x.addClass(a,b)},c)},removeClass:function(a,b,c){a=B(a),s("removeClass",b,a,null,null,function(){x.removeClass(a,b)},c)},setClass:function(a,b,c,d){a=B(a),s("setClass",[b,c],a,null,null,function(){x.setClass(a,b,c)},d)},enabled:function(a,b){switch(arguments.length){case 2:if(a)E(b);else{var c=b.data(h)||{};c.disabled=!0,b.data(h,c)}break;case 1:q.disabled=!a;break;default:a=!q.disabled}return!!a}}}]),H.register("",["$window","$sniffer","$timeout","$$animateReflow",function(h,q,B,L){function F(a,k){S&&S(),X.push(k),S=L(function(){m(X,function(a){a()}),X=[],S=null,N={}})}function I(a,k){var b=e(a);a=g.element(b),Z.push(a),b=Date.now()+1e3*k,fa>=b||(B.cancel(ea),fa=b,ea=B(function(){K(Z),Z=[]},k,!1))}function K(a){m(a,function(a){(a=a.data(l))&&(a.closeAnimationFn||r)()})}function R(a,k){var b=k?N[k]:null;if(!b){var l,$,t,g,c=0,d=0,e=0,f=0;m(a,function(a){if(a.nodeType==ba){a=h.getComputedStyle(a)||{},t=a[J+y],c=Math.max(M(t),c),g=a[J+v],l=a[J+z],d=Math.max(M(l),d),$=a[n+z],f=Math.max(M($),f);var k=M(a[n+y]);k>0&&(k*=parseInt(a[n+p],10)||1),e=Math.max(k,e)}}),b={total:0,transitionPropertyStyle:g,transitionDurationStyle:t,transitionDelayStyle:l,transitionDelay:d,transitionDuration:c,animationDelayStyle:$,animationDelay:f,animationDuration:e},k&&(N[k]=b)}return b}function M(a){var k=0;return a=g.isString(a)?a.split(/\s*,\s*/):[],m(a,function(a){k=Math.max(parseFloat(a)||0,k)}),k}function s(a){var k=a.parent(),b=k.data(w);return b||(k.data(w,++da),b=da),b+"-"+e(a).className}function U(a,k,b,c){var d=s(k),f=d+" "+b,m=N[f]?++N[f].total:0,g={};if(m>0){var h=b+"-stagger",g=d+" "+h;(d=!N[g])&&k.addClass(h),g=R(k,g),d&&k.removeClass(h)}c=c||function(a){return a()},k.addClass(b);var h=k.data(l)||{},t=c(function(){return R(k,f)});return c=t.transitionDuration,d=t.animationDuration,0===c&&0===d?(k.removeClass(b),!1):(k.data(l,{running:h.running||0,itemIndex:m,stagger:g,timings:t,closeAnimationFn:r}),a=0<h.running||"setClass"==a,c>0&&E(k,b,a),d>0&&0<g.animationDelay&&0===g.animationDuration&&(e(k).style[n]="none 0s"),!0)}function E(a,b,c){"ng-enter"!=b&&"ng-move"!=b&&"ng-leave"!=b&&c?a.addClass(u):e(a).style[J+v]="none"}function O(a){var c=J+v,d=e(a);d.style[c]&&0<d.style[c].length&&(d.style[c]=""),a.removeClass(u)}function P(a){var b=n;a=e(a),a.style[b]&&0<a.style[b].length&&(a.style[b]="")}function V(a,b,c,f){function g(a){b.off(y,h),b.removeClass(q),d(b,c),a=e(b);for(var Y in u)a.style.removeProperty(u[Y])}function h(a){a.stopPropagation();var b=a.originalEvent||a;a=b.$manualTimeStamp||b.timeStamp||Date.now(),b=parseFloat(b.elapsedTime.toFixed(C)),Math.max(a-z,0)>=x&&b>=v&&f()}var p=e(b);if(a=b.data(l),-1!=p.className.indexOf(c)&&a){var q="";m(c.split(" "),function(a,b){q+=(b>0?" ":"")+a+"-active"});var n=a.stagger,t=a.timings,r=a.itemIndex,v=Math.max(t.transitionDuration,t.animationDuration),w=Math.max(t.transitionDelay,t.animationDelay),x=w*ca,z=Date.now(),y=A+" "+H,s="",u=[];if(0<t.transitionDuration){var B=t.transitionPropertyStyle;-1==B.indexOf("all")&&(s+=D+"transition-property: "+B+";",s+=D+"transition-duration: "+t.transitionDurationStyle+";",u.push(D+"transition-property"),u.push(D+"transition-duration"))}return r>0&&(0<n.transitionDelay&&0===n.transitionDuration&&(s+=D+"transition-delay: "+T(t.transitionDelayStyle,n.transitionDelay,r)+"; ",u.push(D+"transition-delay")),0<n.animationDelay&&0===n.animationDuration&&(s+=D+"animation-delay: "+T(t.animationDelayStyle,n.animationDelay,r)+"; ",u.push(D+"animation-delay"))),0<u.length&&(t=p.getAttribute("style")||"",p.setAttribute("style",t+" "+s)),b.on(y,h),b.addClass(q),a.closeAnimationFn=function(){g(),f()},p=(r*(Math.max(n.animationDelay,n.transitionDelay)||0)+(w+v)*W)*ca,a.running++,I(b,p),g}f()}function T(a,b,c){var d="";return m(a.split(","),function(a,Y){d+=(Y>0?",":"")+(c*b+parseInt(a,10))+"s"}),d}function a(a,b,c,e){return U(a,b,c,e)?function(a){a&&d(b,c)}:void 0}function b(a,b,c,e){return b.data(l)?V(a,b,c,e):(d(b,c),void e())}function c(c,d,e,f){var g=a(c,d,e);if(g){var h=g;return F(d,function(){O(d,e),P(d),h=b(c,d,e,f)}),function(a){(h||r)(a)}}f()}function d(a,b){a.removeClass(b);var c=a.data(l);c&&(c.running&&c.running--,c.running&&0!==c.running||a.removeData(l))}function f(a,b){var c="";return a=g.isArray(a)?a:a.split(/\s+/),m(a,function(a,d){a&&0<a.length&&(c+=(d>0?" ":"")+a+b)}),c}var J,H,n,A,D="";G.ontransitionend===Q&&G.onwebkittransitionend!==Q?(D="-webkit-",J="WebkitTransition",H="webkitTransitionEnd transitionend"):(J="transition",H="transitionend"),G.onanimationend===Q&&G.onwebkitanimationend!==Q?(D="-webkit-",n="WebkitAnimation",A="webkitAnimationEnd animationend"):(n="animation",A="animationend");var S,y="Duration",v="Property",z="Delay",p="IterationCount",w="$$ngAnimateKey",l="$$ngAnimateCSS3Data",u="ng-animate-block-transitions",C=3,W=1.5,ca=1e3,N={},da=0,X=[],ea=null,fa=0,Z=[];return{enter:function(a,b){return c("enter",a,"ng-enter",b)},leave:function(a,b){return c("leave",a,"ng-leave",b)},move:function(a,b){return c("move",a,"ng-move",b)},beforeSetClass:function(b,c,d,e){var g=f(d,"-remove")+" "+f(c,"-add"),h=a("setClass",b,g,function(a){var e=b.attr("class");return b.removeClass(d),b.addClass(c),a=a(),b.attr("class",e),a});return h?(F(b,function(){O(b,g),P(b),e()}),h):void e()},beforeAddClass:function(b,c,d){var e=a("addClass",b,f(c,"-add"),function(a){return b.addClass(c),a=a(),b.removeClass(c),a});return e?(F(b,function(){O(b,c),P(b),d()}),e):void d()},setClass:function(a,c,d,e){return d=f(d,"-remove"),c=f(c,"-add"),b("setClass",a,d+" "+c,e)},addClass:function(a,c,d){return b("addClass",a,f(c,"-add"),d)},beforeRemoveClass:function(b,c,d){var e=a("removeClass",b,f(c,"-remove"),function(a){var d=b.attr("class");return b.removeClass(c),a=a(),b.attr("class",d),a});return e?(F(b,function(){O(b,c),P(b),d()}),e):void d()},removeClass:function(a,c,d){return b("removeClass",a,f(c,"-remove"),d)}}}])}])}(window,window.angular),angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdownToggle","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.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function($q,$timeout,$rootScope){function findEndEventName(endEventNames){for(var name in endEventNames)if(void 0!==transElement.style[name])return endEventNames[name]}var $transition=function(element,trigger,options){options=options||{};var deferred=$q.defer(),endEventName=$transition[options.animation?"animationEndEventName":"transitionEndEventName"],transitionEndHandler=function(){$rootScope.$apply(function(){element.unbind(endEventName,transitionEndHandler),deferred.resolve(element)})};return endEventName&&element.bind(endEventName,transitionEndHandler),$timeout(function(){angular.isString(trigger)?element.addClass(trigger):angular.isFunction(trigger)?trigger(element):angular.isObject(trigger)&&element.css(trigger),endEventName||deferred.resolve(element)}),deferred.promise.cancel=function(){endEventName&&element.unbind(endEventName,transitionEndHandler),deferred.reject("Transition cancelled")},deferred.promise},transElement=document.createElement("trans"),transitionEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},animationEndEventNames={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return $transition.transitionEndEventName=findEndEventName(transitionEndEventNames),$transition.animationEndEventName=findEndEventName(animationEndEventNames),$transition}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function($transition){return{link:function(scope,element,attrs){function doTransition(change){function newTransitionDone(){currentTransition===newTransition&&(currentTransition=void 0)}var newTransition=$transition(element,change);return currentTransition&¤tTransition.cancel(),currentTransition=newTransition,newTransition.then(newTransitionDone,newTransitionDone),newTransition}function expand(){initialAnimSkip?(initialAnimSkip=!1,expandDone()):(element.removeClass("collapse").addClass("collapsing"),doTransition({height:element[0].scrollHeight+"px"}).then(expandDone))}function expandDone(){element.removeClass("collapsing"),element.addClass("collapse in"),element.css({height:"auto"})}function collapse(){if(initialAnimSkip)initialAnimSkip=!1,collapseDone(),element.css({height:0});else{element.css({height:element[0].scrollHeight+"px"});{element[0].offsetWidth}element.removeClass("collapse in").addClass("collapsing"),doTransition({height:0}).then(collapseDone)}}function collapseDone(){element.removeClass("collapsing"),element.addClass("collapse")}var currentTransition,initialAnimSkip=!0;scope.$watch(attrs.collapse,function(shouldCollapse){shouldCollapse?collapse():expand()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){var closeOthers=angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers;closeOthers&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(this.groups.indexOf(group),1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",["$parse",function($parse){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){var getIsOpen,setIsOpen;accordionCtrl.addGroup(scope),scope.isOpen=!1,attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,scope.$parent.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.$watch("isOpen",function(value){value&&accordionCtrl.closeOthers(scope),setIsOpen&&setIsOpen(scope.$parent,value)})}}}]).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",compile:function(element,attr,transclude){return function(scope,element,attr,accordionGroupCtrl){accordionGroupCtrl.setHeading(transclude(scope,function(){}))}}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(scope,element,attr,controller){scope.$watch(function(){return controller[attr.accordionTransclude]},function(heading){heading&&(element.html(""),element.append(heading))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function($scope,$attrs){$scope.closeable="close"in $attrs}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"=",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(scope,element,attr){element.addClass("ng-binding").data("$binding",attr.bindHtmlUnsafe),scope.$watch(attr.bindHtmlUnsafe,function(value){element.html(value||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.btnRadio)))},element.bind(buttonsCtrl.toggleEvent,function(){element.hasClass(buttonsCtrl.activeClass)||scope.$apply(function(){ngModelCtrl.$setViewValue(scope.$eval(attrs.btnRadio)),ngModelCtrl.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)
|
||
}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attributeValue,defaultValue){var val=scope.$eval(attributeValue);return angular.isDefined(val)?val:defaultValue}var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.bind(buttonsCtrl.toggleEvent,function(){scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition","$q",function($scope,$timeout,$transition){function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>=0&&(currentTimeout=$timeout(timerFn,interval))}function resetTimer(){currentTimeout&&($timeout.cancel(currentTimeout),currentTimeout=null)}function timerFn(){isPlaying?($scope.next(),restartTimer()):$scope.pause()}var currentTimeout,isPlaying,self=this,slides=self.slides=[],currentIndex=-1;self.currentSlide=null;var destroyed=!1;self.select=function(nextSlide,direction){function goNext(){if(!destroyed){if(self.currentSlide&&angular.isString(direction)&&!$scope.noTransition&&nextSlide.$element){nextSlide.$element.addClass(direction);{nextSlide.$element[0].offsetWidth}angular.forEach(slides,function(slide){angular.extend(slide,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(nextSlide,{direction:direction,active:!0,entering:!0}),angular.extend(self.currentSlide||{},{direction:direction,leaving:!0}),$scope.$currentTransition=$transition(nextSlide.$element,{}),function(next,current){$scope.$currentTransition.then(function(){transitionDone(next,current)},function(){transitionDone(next,current)})}(nextSlide,self.currentSlide)}else transitionDone(nextSlide,self.currentSlide);self.currentSlide=nextSlide,currentIndex=nextIndex,restartTimer()}}function transitionDone(next,current){angular.extend(next,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(current||{},{direction:"",active:!1,leaving:!1,entering:!1}),$scope.$currentTransition=null}var nextIndex=slides.indexOf(nextSlide);void 0===direction&&(direction=nextIndex>currentIndex?"next":"prev"),nextSlide&&nextSlide!==self.currentSlide&&($scope.$currentTransition?($scope.$currentTransition.cancel(),$timeout(goNext)):goNext())},$scope.$on("$destroy",function(){destroyed=!0}),self.indexOfSlide=function(slide){return slides.indexOf(slide)},$scope.next=function(){var newIndex=(currentIndex+1)%slides.length;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"next")},$scope.prev=function(){var newIndex=0>currentIndex-1?slides.length-1:currentIndex-1;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"prev")},$scope.select=function(slide){self.select(slide)},$scope.isActive=function(slide){return self.currentSlide===slide},$scope.slides=function(){return slides},$scope.$watch("interval",restartTimer),$scope.$on("$destroy",resetTimer),$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},self.addSlide=function(slide,element){slide.$element=element,slides.push(slide),1===slides.length||slide.active?(self.select(slides[slides.length-1]),1==slides.length&&$scope.play()):slide.active=!1},self.removeSlide=function(slide){var index=slides.indexOf(slide);slides.splice(index,1),slides.length>0&&slide.active?self.select(index>=slides.length?slides[index-1]:slides[index]):currentIndex>index&¤tIndex--}}]).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",["$parse",function($parse){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{},link:function(scope,element,attrs,carouselCtrl){if(attrs.active){var getActive=$parse(attrs.active),setActive=getActive.assign,lastValue=scope.active=getActive(scope.$parent);scope.$watch(function(){var parentActive=getActive(scope.$parent);return parentActive!==scope.active&&(parentActive!==lastValue?lastValue=scope.active=parentActive:setActive(scope.$parent,parentActive=lastValue=scope.active)),parentActive})}carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){active&&carouselCtrl.select(scope)})}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function($document,$window){function getStyle(el,cssprop){return el.currentStyle?el.currentStyle[cssprop]:$window.getComputedStyle?$window.getComputedStyle(el)[cssprop]:el.style[cssprop]}function isStaticPositioned(element){return"static"===(getStyle(element,"position")||"static")}var parentOffsetEl=function(element){for(var docDomEl=$document[0],offsetParent=element.offsetParent||docDomEl;offsetParent&&offsetParent!==docDomEl&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||docDomEl};return{position:function(element){var elBCR=this.offset(element),offsetParentBCR={top:0,left:0},offsetParentEl=parentOffsetEl(element[0]);offsetParentEl!=$document[0]&&(offsetParentBCR=this.offset(angular.element(offsetParentEl)),offsetParentBCR.top+=offsetParentEl.clientTop-offsetParentEl.scrollTop,offsetParentBCR.left+=offsetParentEl.clientLeft-offsetParentEl.scrollLeft);var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:elBCR.top-offsetParentBCR.top,left:elBCR.left-offsetParentBCR.left}},offset:function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:boundingClientRect.top+($window.pageYOffset||$document[0].body.scrollTop||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].body.scrollLeft||$document[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.position"]).constant("datepickerConfig",{dayFormat:"dd",monthFormat:"MMMM",yearFormat:"yyyy",dayHeaderFormat:"EEE",dayTitleFormat:"MMMM yyyy",monthTitleFormat:"yyyy",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","dateFilter","datepickerConfig",function($scope,$attrs,dateFilter,dtConfig){function getValue(value,defaultValue){return angular.isDefined(value)?$scope.$parent.$eval(value):defaultValue}function getDaysInMonth(year,month){return new Date(year,month,0).getDate()}function getDates(startDate,n){for(var dates=new Array(n),current=startDate,i=0;n>i;)dates[i++]=new Date(current),current.setDate(current.getDate()+1);return dates}function makeDate(date,format,isSelected,isSecondary){return{date:date,label:dateFilter(date,format),selected:!!isSelected,secondary:!!isSecondary}}var format={day:getValue($attrs.dayFormat,dtConfig.dayFormat),month:getValue($attrs.monthFormat,dtConfig.monthFormat),year:getValue($attrs.yearFormat,dtConfig.yearFormat),dayHeader:getValue($attrs.dayHeaderFormat,dtConfig.dayHeaderFormat),dayTitle:getValue($attrs.dayTitleFormat,dtConfig.dayTitleFormat),monthTitle:getValue($attrs.monthTitleFormat,dtConfig.monthTitleFormat)},startingDay=getValue($attrs.startingDay,dtConfig.startingDay),yearRange=getValue($attrs.yearRange,dtConfig.yearRange);this.minDate=dtConfig.minDate?new Date(dtConfig.minDate):null,this.maxDate=dtConfig.maxDate?new Date(dtConfig.maxDate):null,this.modes=[{name:"day",getVisibleDates:function(date,selected){var year=date.getFullYear(),month=date.getMonth(),firstDayOfMonth=new Date(year,month,1),difference=startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth),numDates=0;numDisplayedFromPreviousMonth>0&&(firstDate.setDate(-numDisplayedFromPreviousMonth+1),numDates+=numDisplayedFromPreviousMonth),numDates+=getDaysInMonth(year,month+1),numDates+=(7-numDates%7)%7;for(var days=getDates(firstDate,numDates),labels=new Array(7),i=0;numDates>i;i++){var dt=new Date(days[i]);days[i]=makeDate(dt,format.day,selected&&selected.getDate()===dt.getDate()&&selected.getMonth()===dt.getMonth()&&selected.getFullYear()===dt.getFullYear(),dt.getMonth()!==month)}for(var j=0;7>j;j++)labels[j]=dateFilter(days[j].date,format.dayHeader);return{objects:days,title:dateFilter(date,format.dayTitle),labels:labels}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},split:7,step:{months:1}},{name:"month",getVisibleDates:function(date,selected){for(var months=new Array(12),year=date.getFullYear(),i=0;12>i;i++){var dt=new Date(year,i,1);months[i]=makeDate(dt,format.month,selected&&selected.getMonth()===i&&selected.getFullYear()===year)}return{objects:months,title:dateFilter(date,format.monthTitle)}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth())-new Date(date2.getFullYear(),date2.getMonth())},split:3,step:{years:1}},{name:"year",getVisibleDates:function(date,selected){for(var years=new Array(yearRange),year=date.getFullYear(),startYear=parseInt((year-1)/yearRange,10)*yearRange+1,i=0;yearRange>i;i++){var dt=new Date(startYear+i,0,1);years[i]=makeDate(dt,format.year,selected&&selected.getFullYear()===dt.getFullYear())}return{objects:years,title:[years[0].label,years[yearRange-1].label].join(" - ")}},compare:function(date1,date2){return date1.getFullYear()-date2.getFullYear()},split:5,step:{years:yearRange}}],this.isDisabled=function(date,mode){var currentMode=this.modes[mode||0];return this.minDate&¤tMode.compare(date,this.minDate)<0||this.maxDate&¤tMode.compare(date,this.maxDate)>0||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:currentMode.name})}}]).directive("datepicker",["dateFilter","$parse","datepickerConfig","$log",function(dateFilter,$parse,datepickerConfig,$log){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(scope,element,attrs,ctrls){function updateShowWeekNumbers(){scope.showWeekNumbers=0===mode&&showWeeks}function split(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays}function refill(updateSelected){var date=null,valid=!0;ngModel.$modelValue&&(date=new Date(ngModel.$modelValue),isNaN(date)?(valid=!1,$log.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.')):updateSelected&&(selected=date)),ngModel.$setValidity("date",valid);var currentMode=datepickerCtrl.modes[mode],data=currentMode.getVisibleDates(selected,date);angular.forEach(data.objects,function(obj){obj.disabled=datepickerCtrl.isDisabled(obj.date,mode)}),ngModel.$setValidity("date-disabled",!date||!datepickerCtrl.isDisabled(date)),scope.rows=split(data.objects,currentMode.split),scope.labels=data.labels||[],scope.title=data.title}function setMode(value){mode=value,updateShowWeekNumbers(),refill()}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}var datepickerCtrl=ctrls[0],ngModel=ctrls[1];if(ngModel){var mode=0,selected=new Date,showWeeks=datepickerConfig.showWeeks;attrs.showWeeks?scope.$parent.$watch($parse(attrs.showWeeks),function(value){showWeeks=!!value,updateShowWeekNumbers()}):updateShowWeekNumbers(),attrs.min&&scope.$parent.$watch($parse(attrs.min),function(value){datepickerCtrl.minDate=value?new Date(value):null,refill()}),attrs.max&&scope.$parent.$watch($parse(attrs.max),function(value){datepickerCtrl.maxDate=value?new Date(value):null,refill()}),ngModel.$render=function(){refill(!0)},scope.select=function(date){if(0===mode){var dt=ngModel.$modelValue?new Date(ngModel.$modelValue):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),ngModel.$setViewValue(dt),refill(!0)}else selected=date,setMode(mode-1)},scope.move=function(direction){var step=datepickerCtrl.modes[mode].step;selected.setMonth(selected.getMonth()+direction*(step.months||0)),selected.setFullYear(selected.getFullYear()+direction*(step.years||0)),refill()},scope.toggleMode=function(){setMode((mode+1)%datepickerCtrl.modes.length)},scope.getWeekNumber=function(row){return 0===mode&&scope.showWeekNumbers&&7===row.length?getISO8601WeekNumber(row[0].date):null}}}}}]).constant("datepickerPopupConfig",{dateFormat:"yyyy-MM-dd",currentText:"Today",toggleWeeksText:"Weeks",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","datepickerPopupConfig","datepickerConfig",function($compile,$parse,$document,$position,dateFilter,datepickerPopupConfig,datepickerConfig){return{restrict:"EA",require:"ngModel",link:function(originalScope,element,attrs,ngModel){function setOpen(value){setIsOpen?setIsOpen(originalScope,!!value):scope.isOpen=!!value}function parseDate(viewValue){if(viewValue){if(angular.isDate(viewValue))return ngModel.$setValidity("date",!0),viewValue;if(angular.isString(viewValue)){var date=new Date(viewValue);return isNaN(date)?void ngModel.$setValidity("date",!1):(ngModel.$setValidity("date",!0),date)}return void ngModel.$setValidity("date",!1)}return ngModel.$setValidity("date",!0),null}function addWatchableAttribute(attribute,scopeProperty,datepickerAttribute){attribute&&(originalScope.$watch($parse(attribute),function(value){scope[scopeProperty]=value}),datepickerEl.attr(datepickerAttribute||scopeProperty,scopeProperty))}function updatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}var dateFormat,scope=originalScope.$new(),closeOnDateSelection=angular.isDefined(attrs.closeOnDateSelection)?originalScope.$eval(attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined(attrs.datepickerAppendToBody)?originalScope.$eval(attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody;attrs.$observe("datepickerPopup",function(value){dateFormat=value||datepickerPopupConfig.dateFormat,ngModel.$render()}),scope.showButtonBar=angular.isDefined(attrs.showButtonBar)?originalScope.$eval(attrs.showButtonBar):datepickerPopupConfig.showButtonBar,originalScope.$on("$destroy",function(){$popup.remove(),scope.$destroy()}),attrs.$observe("currentText",function(text){scope.currentText=angular.isDefined(text)?text:datepickerPopupConfig.currentText}),attrs.$observe("toggleWeeksText",function(text){scope.toggleWeeksText=angular.isDefined(text)?text:datepickerPopupConfig.toggleWeeksText}),attrs.$observe("clearText",function(text){scope.clearText=angular.isDefined(text)?text:datepickerPopupConfig.clearText}),attrs.$observe("closeText",function(text){scope.closeText=angular.isDefined(text)?text:datepickerPopupConfig.closeText});var getIsOpen,setIsOpen;attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,originalScope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.isOpen=getIsOpen?getIsOpen(originalScope):!1;var documentClickBind=function(event){scope.isOpen&&event.target!==element[0]&&scope.$apply(function(){setOpen(!1)})},elementFocusBind=function(){scope.$apply(function(){setOpen(!0)})},popupEl=angular.element("<div datepicker-popup-wrap><div datepicker></div></div>");popupEl.attr({"ng-model":"date","ng-change":"dateSelection()"});var datepickerEl=angular.element(popupEl.children()[0]),datepickerOptions={};attrs.datepickerOptions&&(datepickerOptions=originalScope.$eval(attrs.datepickerOptions),datepickerEl.attr(angular.extend({},datepickerOptions))),ngModel.$parsers.unshift(parseDate),scope.dateSelection=function(dt){angular.isDefined(dt)&&(scope.date=dt),ngModel.$setViewValue(scope.date),ngModel.$render(),closeOnDateSelection&&setOpen(!1)},element.bind("input change keyup",function(){scope.$apply(function(){scope.date=ngModel.$modelValue})}),ngModel.$render=function(){var date=ngModel.$viewValue?dateFilter(ngModel.$viewValue,dateFormat):"";element.val(date),scope.date=ngModel.$modelValue},addWatchableAttribute(attrs.min,"min"),addWatchableAttribute(attrs.max,"max"),attrs.showWeeks?addWatchableAttribute(attrs.showWeeks,"showWeeks","show-weeks"):(scope.showWeeks="show-weeks"in datepickerOptions?datepickerOptions["show-weeks"]:datepickerConfig.showWeeks,datepickerEl.attr("show-weeks","showWeeks")),attrs.dateDisabled&&datepickerEl.attr("date-disabled",attrs.dateDisabled);var documentBindingInitialized=!1,elementFocusInitialized=!1;scope.$watch("isOpen",function(value){value?(updatePosition(),$document.bind("click",documentClickBind),elementFocusInitialized&&element.unbind("focus",elementFocusBind),element[0].focus(),documentBindingInitialized=!0):(documentBindingInitialized&&$document.unbind("click",documentClickBind),element.bind("focus",elementFocusBind),elementFocusInitialized=!0),setIsOpen&&setIsOpen(originalScope,value)}),scope.today=function(){scope.dateSelection(new Date)},scope.clear=function(){scope.dateSelection(null)};var $popup=$compile(popupEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(scope,element){element.bind("click",function(event){event.preventDefault(),event.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function($document){var openElement=null,closeMenu=angular.noop;return{restrict:"CA",link:function(scope,element){scope.$watch("$location.path",function(){closeMenu()}),element.parent().bind("click",function(){closeMenu()}),element.bind("click",function(event){var elementWasOpen=element===openElement;event.preventDefault(),event.stopPropagation(),openElement&&closeMenu(),elementWasOpen||element.hasClass("disabled")||element.prop("disabled")||(element.parent().addClass("open"),openElement=element,closeMenu=function(event){event&&(event.preventDefault(),event.stopPropagation()),$document.unbind("click",closeMenu),element.parent().removeClass("open"),closeMenu=angular.noop,openElement=null},$document.bind("click",closeMenu))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i<stack.length;i++)if(key==stack[i].key)return stack[i]},keys:function(){for(var keys=[],i=0;i<stack.length;i++)keys.push(stack[i].key);return keys},top:function(){return stack[stack.length-1]},remove:function(key){for(var idx=-1,i=0;i<stack.length;i++)if(key==stack[i].key){idx=i;break}return stack.splice(idx,1)[0]},removeTop:function(){return stack.splice(stack.length-1,1)[0]},length:function(){return stack.length}}}}}).directive("modalBackdrop",["$timeout",function($timeout){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(scope){scope.animate=!1,$timeout(function(){scope.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function($modalStack,$timeout){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:"template/modal/window.html",link:function(scope,element,attrs){scope.windowClass=attrs.windowClass||"",$timeout(function(){scope.animate=!0,element[0].focus()}),scope.close=function(evt){var modal=$modalStack.getTop();modal&&modal.value.backdrop&&"static"!=modal.value.backdrop&&evt.target===evt.currentTarget&&(evt.preventDefault(),evt.stopPropagation(),$modalStack.dismiss(modal.key,"backdrop click"))}}}}]).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function($transition,$timeout,$document,$compile,$rootScope,$$stackedMap){function backdropIndex(){for(var topBackdropIndex=-1,opened=openedWindows.keys(),i=0;i<opened.length;i++)openedWindows.get(opened[i]).value.backdrop&&(topBackdropIndex=i);return topBackdropIndex}function removeModalWindow(modalInstance){var body=$document.find("body").eq(0),modalWindow=openedWindows.get(modalInstance).value;openedWindows.remove(modalInstance),removeAfterAnimate(modalWindow.modalDomEl,modalWindow.modalScope,300,checkRemoveBackdrop),body.toggleClass(OPENED_MODAL_CLASS,openedWindows.length()>0)}function checkRemoveBackdrop(){if(backdropDomEl&&-1==backdropIndex()){var backdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,150,function(){backdropScopeRef.$destroy(),backdropScopeRef=null}),backdropDomEl=void 0,backdropScope=void 0}}function removeAfterAnimate(domEl,scope,emulateTime,done){function afterAnimating(){afterAnimating.done||(afterAnimating.done=!0,domEl.remove(),done&&done())}scope.animate=!1;var transitionEndEventName=$transition.transitionEndEventName;if(transitionEndEventName){var timeout=$timeout(afterAnimating,emulateTime);domEl.bind(transitionEndEventName,function(){$timeout.cancel(timeout),afterAnimating(),scope.$apply()})}else $timeout(afterAnimating,0)}var backdropDomEl,backdropScope,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),$modalStack={};return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){var modal;27===evt.which&&(modal=openedWindows.top(),modal&&modal.value.keyboard&&$rootScope.$apply(function(){$modalStack.dismiss(modal.key)}))}),$modalStack.open=function(modalInstance,modal){openedWindows.add(modalInstance,{deferred:modal.deferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard});var body=$document.find("body").eq(0),currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.index=currBackdropIndex,backdropDomEl=$compile("<div modal-backdrop></div>")(backdropScope),body.append(backdropDomEl));var angularDomEl=angular.element("<div modal-window></div>");angularDomEl.attr("window-class",modal.windowClass),angularDomEl.attr("index",openedWindows.length()-1),angularDomEl.attr("animate","animate"),angularDomEl.html(modal.content);var modalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack}]).provider("$modal",function(){var $modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){function getTemplatePromise(options){return options.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){return result.data})}function getResolvePromises(resolves){var promisesArr=[];return angular.forEach(resolves,function(value){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var $modal={};return $modal.open=function(modalOptions){var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of template or templateUrl options is required.");var templateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));return templateAndResolvePromise.then(function(tplAndVars){var modalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss;var ctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,content:tplAndVars[0],backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,windowClass:modalOptions.windowClass})},function(reason){modalResultDeferred.reject(reason)}),templateAndResolvePromise.then(function(){modalOpenedDeferred.resolve(!0)},function(){modalOpenedDeferred.reject(!1)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse","$interpolate",function($scope,$attrs,$parse,$interpolate){var self=this,setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(defaultItemsPerPage){$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=defaultItemsPerPage},this.noPrevious=function(){return 1===this.page},this.noNext=function(){return this.page===$scope.totalPages},this.isActive=function(page){return this.page===page},this.calculateTotalPages=function(){var totalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);return Math.max(totalPages||0,1)},this.getAttributeValue=function(attribute,defaultValue,interpolate){return angular.isDefined(attribute)?interpolate?$interpolate(attribute)($scope.$parent):$scope.$parent.$eval(attribute):defaultValue},this.render=function(){this.page=parseInt($scope.page,10)||1,this.page>0&&this.page<=$scope.totalPages&&($scope.pages=this.getPages(this.page,$scope.totalPages))},$scope.selectPage=function(page){!self.isActive(page)&&page>0&&page<=$scope.totalPages&&($scope.page=page,$scope.onSelectPage({page:page}))},$scope.$watch("page",function(){self.render()}),$scope.$watch("totalItems",function(){$scope.totalPages=self.calculateTotalPages()}),$scope.$watch("totalPages",function(value){setNumPages($scope.$parent,value),self.page>value?$scope.selectPage(value):self.render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function($parse,config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isActive,isDisabled){return{number:number,text:text,active:isActive,disabled:isDisabled}}var maxSize,boundaryLinks=paginationCtrl.getAttributeValue(attrs.boundaryLinks,config.boundaryLinks),directionLinks=paginationCtrl.getAttributeValue(attrs.directionLinks,config.directionLinks),firstText=paginationCtrl.getAttributeValue(attrs.firstText,config.firstText,!0),previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),lastText=paginationCtrl.getAttributeValue(attrs.lastText,config.lastText,!0),rotate=paginationCtrl.getAttributeValue(attrs.rotate,config.rotate);paginationCtrl.init(config.itemsPerPage),attrs.maxSize&&scope.$parent.$watch($parse(attrs.maxSize),function(value){maxSize=parseInt(value,10),paginationCtrl.render()}),paginationCtrl.getPages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&totalPages>maxSize;isMaxSized&&(rotate?(startPage=Math.max(currentPage-Math.floor(maxSize/2),1),endPage=startPage+maxSize-1,endPage>totalPages&&(endPage=totalPages,startPage=endPage-maxSize+1)):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;endPage>=number;number++){var page=makePage(number,number,paginationCtrl.isActive(number),!1);pages.push(page)}if(isMaxSized&&!rotate){if(startPage>1){var previousPageSet=makePage(startPage-1,"...",!1,!1);pages.unshift(previousPageSet)}if(totalPages>endPage){var nextPageSet=makePage(endPage+1,"...",!1,!1);pages.push(nextPageSet)}}if(directionLinks){var previousPage=makePage(currentPage-1,previousText,!1,paginationCtrl.noPrevious());pages.unshift(previousPage);var nextPage=makePage(currentPage+1,nextText,!1,paginationCtrl.noNext());pages.push(nextPage)}if(boundaryLinks){var firstPage=makePage(1,firstText,!1,paginationCtrl.noPrevious());pages.unshift(firstPage);var lastPage=makePage(totalPages,lastText,!1,paginationCtrl.noNext());pages.push(lastPage)}return pages}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isDisabled,isPrevious,isNext){return{number:number,text:text,disabled:isDisabled,previous:align&&isPrevious,next:align&&isNext}}var previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),align=paginationCtrl.getAttributeValue(attrs.align,config.align);paginationCtrl.init(config.itemsPerPage),paginationCtrl.getPages=function(currentPage){return[makePage(currentPage-1,previousText,paginationCtrl.noPrevious(),!0,!1),makePage(currentPage+1,nextText,paginationCtrl.noNext(),!1,!0)]}}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function snake_case(name){var regexp=/[A-Z]/g,separator="-";return name.replace(regexp,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var defaultOptions={placement:"top",animation:!0,popupDelay:0},triggerMap={mouseenter:"mouseleave",click:"click",focus:"blur"},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function($window,$compile,$timeout,$parse,$document,$position,$interpolate){return function(type,prefix,defaultTriggerShow){function getTriggers(trigger){var show=trigger||options.trigger||defaultTriggerShow,hide=triggerMap[show]||show;
|
||
return{show:show,hide:hide}}var options=angular.extend({},defaultOptions,globalOptions),directiveName=snake_case(type),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="<div "+directiveName+'-popup title="'+startSym+"tt_title"+endSym+'" content="'+startSym+"tt_content"+endSym+'" placement="'+startSym+"tt_placement"+endSym+'" animation="tt_animation" is-open="tt_isOpen"></div>';return{restrict:"EA",scope:!0,compile:function(){var tooltipLinker=$compile(template);return function(scope,element,attrs){function toggleTooltipBind(){scope.tt_isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){(!hasEnableExp||scope.$eval(attrs[prefix+"Enable"]))&&(scope.tt_popupDelay?(popupTimeout=$timeout(show,scope.tt_popupDelay,!1),popupTimeout.then(function(reposition){reposition()})):show()())}function hideTooltipBind(){scope.$apply(function(){hide()})}function show(){return scope.tt_content?(createTooltip(),transitionTimeout&&$timeout.cancel(transitionTimeout),tooltip.css({top:0,left:0,display:"block"}),appendToBody?$document.find("body").append(tooltip):element.after(tooltip),positionTooltip(),scope.tt_isOpen=!0,scope.$digest(),positionTooltip):angular.noop}function hide(){scope.tt_isOpen=!1,$timeout.cancel(popupTimeout),scope.tt_animation?transitionTimeout=$timeout(removeTooltip,500):removeTooltip()}function createTooltip(){tooltip&&removeTooltip(),tooltip=tooltipLinker(scope,function(){}),scope.$digest()}function removeTooltip(){tooltip&&(tooltip.remove(),tooltip=null)}var tooltip,transitionTimeout,popupTimeout,appendToBody=angular.isDefined(options.appendToBody)?options.appendToBody:!1,triggers=getTriggers(void 0),hasRegisteredTriggers=!1,hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),positionTooltip=function(){var position,ttWidth,ttHeight,ttPosition;switch(position=appendToBody?$position.offset(element):$position.position(element),ttWidth=tooltip.prop("offsetWidth"),ttHeight=tooltip.prop("offsetHeight"),scope.tt_placement){case"right":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left+position.width};break;case"bottom":ttPosition={top:position.top+position.height,left:position.left+position.width/2-ttWidth/2};break;case"left":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left-ttWidth};break;default:ttPosition={top:position.top-ttHeight,left:position.left+position.width/2-ttWidth/2}}ttPosition.top+="px",ttPosition.left+="px",tooltip.css(ttPosition)};scope.tt_isOpen=!1,attrs.$observe(type,function(val){scope.tt_content=val,!val&&scope.tt_isOpen&&hide()}),attrs.$observe(prefix+"Title",function(val){scope.tt_title=val}),attrs.$observe(prefix+"Placement",function(val){scope.tt_placement=angular.isDefined(val)?val:options.placement}),attrs.$observe(prefix+"PopupDelay",function(val){var delay=parseInt(val,10);scope.tt_popupDelay=isNaN(delay)?options.popupDelay:delay});var unregisterTriggers=function(){hasRegisteredTriggers&&(element.unbind(triggers.show,showTooltipBind),element.unbind(triggers.hide,hideTooltipBind))};attrs.$observe(prefix+"Trigger",function(val){unregisterTriggers(),triggers=getTriggers(val),triggers.show===triggers.hide?element.bind(triggers.show,toggleTooltipBind):(element.bind(triggers.show,showTooltipBind),element.bind(triggers.hide,hideTooltipBind)),hasRegisteredTriggers=!0});var animation=scope.$eval(attrs[prefix+"Animation"]);scope.tt_animation=angular.isDefined(animation)?!!animation:options.animation,attrs.$observe(prefix+"AppendToBody",function(val){appendToBody=angular.isDefined(val)?$parse(val)(scope):appendToBody}),appendToBody&&scope.$on("$locationChangeSuccess",function(){scope.tt_isOpen&&hide()}),scope.$on("$destroy",function(){$timeout.cancel(transitionTimeout),$timeout.cancel(popupTimeout),unregisterTriggers(),removeTooltip()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function($tooltip){return $tooltip("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($tooltip){return $tooltip("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($tooltip){return $tooltip("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",["ui.bootstrap.transition"]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig","$transition",function($scope,$attrs,progressConfig,$transition){var self=this,bars=[],max=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):progressConfig.max,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.addBar=function(bar,element){var oldValue=0,index=bar.$parent.$index;angular.isDefined(index)&&bars[index]&&(oldValue=bars[index].value),bars.push(bar),this.update(element,bar.value,oldValue),bar.$watch("value",function(value,oldValue){value!==oldValue&&self.update(element,value,oldValue)}),bar.$on("$destroy",function(){self.removeBar(bar)})},this.update=function(element,newValue,oldValue){var percent=this.getPercentage(newValue);animate?(element.css("width",this.getPercentage(oldValue)+"%"),$transition(element,{width:percent+"%"})):element.css({transition:"none",width:percent+"%"})},this.removeBar=function(bar){bars.splice(bars.indexOf(bar),1)},this.getPercentage=function(value){return Math.round(100*value/max)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},template:'<div class="progress" ng-transclude></div>'}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","$parse","ratingConfig",function($scope,$attrs,$parse,ratingConfig){this.maxRange=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max,this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.createRateObjects=function(states){for(var defaultOptions={stateOn:this.stateOn,stateOff:this.stateOff},i=0,n=states.length;n>i;i++)states[i]=angular.extend({index:i},defaultOptions,states[i]);return states},$scope.range=this.createRateObjects(angular.isDefined($attrs.ratingStates)?angular.copy($scope.$parent.$eval($attrs.ratingStates)):new Array(this.maxRange)),$scope.rate=function(value){$scope.value===value||$scope.readonly||($scope.value=value)},$scope.enter=function(value){$scope.readonly||($scope.val=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.val=angular.copy($scope.value),$scope.onLeave()},$scope.$watch("value",function(value){$scope.val=value}),$scope.readonly=!1,$attrs.readonly&&$scope.$parent.$watch($parse($attrs.readonly),function(value){$scope.readonly=!!value})}]).directive("rating",function(){return{restrict:"EA",scope:{value:"=",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function($scope){var ctrl=this,tabs=ctrl.tabs=$scope.tabs=[];ctrl.select=function(tab){angular.forEach(tabs,function(tab){tab.active=!1}),tab.active=!0},ctrl.addTab=function(tab){tabs.push(tab),(1===tabs.length||tab.active)&&ctrl.select(tab)},ctrl.removeTab=function(tab){var index=tabs.indexOf(tab);if(tab.active&&tabs.length>1){var newActiveIndex=index==tabs.length-1?index-1:index+1;ctrl.select(tabs[newActiveIndex])}tabs.splice(index,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(scope,element,attrs){scope.vertical=angular.isDefined(attrs.vertical)?scope.$parent.$eval(attrs.vertical):!1,scope.justified=angular.isDefined(attrs.justified)?scope.$parent.$eval(attrs.justified):!1,scope.type=angular.isDefined(attrs.type)?scope.$parent.$eval(attrs.type):"tabs"}}}).directive("tab",["$parse",function($parse){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(elm,attrs,transclude){return function(scope,elm,attrs,tabsetCtrl){var getActive,setActive;attrs.active?(getActive=$parse(attrs.active),setActive=getActive.assign,scope.$parent.$watch(getActive,function(value,oldVal){value!==oldVal&&(scope.active=!!value)}),scope.active=getActive(scope.$parent)):setActive=getActive=angular.noop,scope.$watch("active",function(active){setActive(scope.$parent,active),active?(tabsetCtrl.select(scope),scope.onSelect()):scope.onDeselect()}),scope.disabled=!1,attrs.disabled&&scope.$parent.$watch($parse(attrs.disabled),function(value){scope.disabled=!!value}),scope.select=function(){scope.disabled||(scope.active=!0)},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}]).directive("tabContentTransclude",function(){function isTabHeading(node){return node.tagName&&(node.hasAttribute("tab-heading")||node.hasAttribute("data-tab-heading")||"tab-heading"===node.tagName.toLowerCase()||"data-tab-heading"===node.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.tabContentTransclude);tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){isTabHeading(node)?tab.headingElement=node:elm.append(node)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).directive("timepicker",["$parse","$log","timepickerConfig","$locale",function($parse,$log,timepickerConfig,$locale){return{restrict:"EA",require:"?^ngModel",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(scope,element,attrs,ngModel){function getHoursFromTemplate(){var hours=parseInt(scope.hours,10),valid=scope.showMeridian?hours>0&&13>hours:hours>=0&&24>hours;return valid?(scope.showMeridian&&(12===hours&&(hours=0),scope.meridian===meridians[1]&&(hours+=12)),hours):void 0}function getMinutesFromTemplate(){var minutes=parseInt(scope.minutes,10);return minutes>=0&&60>minutes?minutes:void 0}function pad(value){return angular.isDefined(value)&&value.toString().length<2?"0"+value:value}function refresh(keyboardChange){makeValid(),ngModel.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){ngModel.$setValidity("time",!0),scope.invalidHours=!1,scope.invalidMinutes=!1}function updateTemplate(keyboardChange){var hours=selected.getHours(),minutes=selected.getMinutes();scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),scope.hours="h"===keyboardChange?hours:pad(hours),scope.minutes="m"===keyboardChange?minutes:pad(minutes),scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}function addMinutes(minutes){var dt=new Date(selected.getTime()+6e4*minutes);selected.setHours(dt.getHours(),dt.getMinutes()),refresh()}if(ngModel){var selected=new Date,meridians=angular.isDefined(attrs.meridians)?scope.$parent.$eval(attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,hourStep=timepickerConfig.hourStep;attrs.hourStep&&scope.$parent.$watch($parse(attrs.hourStep),function(value){hourStep=parseInt(value,10)});var minuteStep=timepickerConfig.minuteStep;attrs.minuteStep&&scope.$parent.$watch($parse(attrs.minuteStep),function(value){minuteStep=parseInt(value,10)}),scope.showMeridian=timepickerConfig.showMeridian,attrs.showMeridian&&scope.$parent.$watch($parse(attrs.showMeridian),function(value){if(scope.showMeridian=!!value,ngModel.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()});var inputs=element.find("input"),hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),mousewheel=angular.isDefined(attrs.mousewheel)?scope.$eval(attrs.mousewheel):timepickerConfig.mousewheel;if(mousewheel){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementHours():scope.decrementHours()),e.preventDefault()}),minutesInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementMinutes():scope.decrementMinutes()),e.preventDefault()})}if(scope.readonlyInput=angular.isDefined(attrs.readonlyInput)?scope.$eval(attrs.readonlyInput):timepickerConfig.readonlyInput,scope.readonlyInput)scope.updateHours=angular.noop,scope.updateMinutes=angular.noop;else{var invalidate=function(invalidHours,invalidMinutes){ngModel.$setViewValue(null),ngModel.$setValidity("time",!1),angular.isDefined(invalidHours)&&(scope.invalidHours=invalidHours),angular.isDefined(invalidMinutes)&&(scope.invalidMinutes=invalidMinutes)};scope.updateHours=function(){var hours=getHoursFromTemplate();angular.isDefined(hours)?(selected.setHours(hours),refresh("h")):invalidate(!0)},hoursInputEl.bind("blur",function(){!scope.validHours&&scope.hours<10&&scope.$apply(function(){scope.hours=pad(scope.hours)})}),scope.updateMinutes=function(){var minutes=getMinutesFromTemplate();angular.isDefined(minutes)?(selected.setMinutes(minutes),refresh("m")):invalidate(void 0,!0)},minutesInputEl.bind("blur",function(){!scope.invalidMinutes&&scope.minutes<10&&scope.$apply(function(){scope.minutes=pad(scope.minutes)})})}ngModel.$render=function(){var date=ngModel.$modelValue?new Date(ngModel.$modelValue):null;isNaN(date)?(ngModel.$setValidity("time",!1),$log.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.')):(date&&(selected=date),makeValid(),updateTemplate())},scope.incrementHours=function(){addMinutes(60*hourStep)},scope.decrementHours=function(){addMinutes(60*-hourStep)},scope.incrementMinutes=function(){addMinutes(minuteStep)},scope.decrementMinutes=function(){addMinutes(-minuteStep)},scope.toggleMeridian=function(){addMinutes(720*(selected.getHours()<12?1:-1))}}}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error("Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_' but got '"+input+"'.");return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function($compile,$parse,$q,$timeout,$document,$position,typeaheadParser){var HOT_KEYS=[9,13,27,38,40];return{require:"ngModel",link:function(originalScope,element,attrs,modelCtrl){var hasFocus,minSearch=originalScope.$eval(attrs.typeaheadMinLength)||1,waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=originalScope.$eval(attrs.typeaheadEditable)!==!1,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,onSelectCallback=$parse(attrs.typeaheadOnSelect),inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=attrs.typeaheadAppendToBody?$parse(attrs.typeaheadAppendToBody):!1,$setModelValue=$parse(attrs.ngModel).assign,parserResult=typeaheadParser.parse(attrs.typeahead),popUpEl=angular.element("<div typeahead-popup></div>");popUpEl.attr({matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl);var scope=originalScope.$new();originalScope.$on("$destroy",function(){scope.$destroy()});var resetMatches=function(){scope.matches=[],scope.activeIdx=-1},getMatchesAsync=function(inputValue){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),$q.when(parserResult.source(originalScope,locals)).then(function(matches){if(inputValue===modelCtrl.$viewValue&&hasFocus){if(matches.length>0){scope.activeIdx=0,scope.matches.length=0;for(var i=0;i<matches.length;i++)locals[parserResult.itemName]=matches[i],scope.matches.push({label:parserResult.viewMapper(scope,locals),model:matches[i]});scope.query=inputValue,scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}else resetMatches();isLoadingSetter(originalScope,!1)}},function(){resetMatches(),isLoadingSetter(originalScope,!1)})};resetMatches(),scope.query=void 0;var timeoutPromise;modelCtrl.$parsers.unshift(function(inputValue){return hasFocus=!0,inputValue&&inputValue.length>=minSearch?waitTime>0?(timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),inputValue)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,emptyViewValue,locals={};return inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,emptyViewValue=parserResult.viewMapper(originalScope,locals),candidateViewValue!==emptyViewValue?candidateViewValue:modelValue)}),scope.select=function(activeIdx){var model,item,locals={};locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),$setModelValue(originalScope,model),modelCtrl.$setValidity("editable",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals)}),resetMatches(),element[0].focus()},element.bind("keydown",function(evt){0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)&&(evt.preventDefault(),40===evt.which?(scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest()):38===evt.which?(scope.activeIdx=(scope.activeIdx?scope.activeIdx:scope.matches.length)-1,scope.$digest()):13===evt.which||9===evt.which?scope.$apply(function(){scope.select(scope.activeIdx)}):27===evt.which&&(evt.stopPropagation(),resetMatches(),scope.$digest()))}),element.bind("blur",function(){hasFocus=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&(resetMatches(),scope.$digest())};$document.bind("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.unbind("click",dismissClickHandler)});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){return scope.matches.length>0},scope.isActive=function(matchIdx){return scope.active==matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx){scope.select({activeIdx:activeIdx})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function($http,$templateCache,$compile,$parse){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"template/typeahead/typeahead-match.html";$http.get(tplUrl,{cache:$templateCache}).success(function(tplContent){element.replaceWith($compile(tplContent.trim())(scope))})}}}]).filter("typeaheadHighlight",function(){function escapeRegexp(queryToEscape){return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(matchItem,query){return query?matchItem.replace(new RegExp(escapeRegexp(query),"gi"),"<strong>$&</strong>"):matchItem}}),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.position","ui.bootstrap.datepicker","ui.bootstrap.dropdownToggle","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/popup.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($q,$timeout,$rootScope){function findEndEventName(endEventNames){for(var name in endEventNames)if(void 0!==transElement.style[name])return endEventNames[name]}var $transition=function(element,trigger,options){options=options||{};var deferred=$q.defer(),endEventName=$transition[options.animation?"animationEndEventName":"transitionEndEventName"],transitionEndHandler=function(){$rootScope.$apply(function(){element.unbind(endEventName,transitionEndHandler),deferred.resolve(element)})};return endEventName&&element.bind(endEventName,transitionEndHandler),$timeout(function(){angular.isString(trigger)?element.addClass(trigger):angular.isFunction(trigger)?trigger(element):angular.isObject(trigger)&&element.css(trigger),endEventName||deferred.resolve(element)}),deferred.promise.cancel=function(){endEventName&&element.unbind(endEventName,transitionEndHandler),deferred.reject("Transition cancelled")},deferred.promise},transElement=document.createElement("trans"),transitionEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},animationEndEventNames={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return $transition.transitionEndEventName=findEndEventName(transitionEndEventNames),$transition.animationEndEventName=findEndEventName(animationEndEventNames),$transition}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function($transition){return{link:function(scope,element,attrs){function doTransition(change){function newTransitionDone(){currentTransition===newTransition&&(currentTransition=void 0)}var newTransition=$transition(element,change);return currentTransition&¤tTransition.cancel(),currentTransition=newTransition,newTransition.then(newTransitionDone,newTransitionDone),newTransition}function expand(){initialAnimSkip?(initialAnimSkip=!1,expandDone()):(element.removeClass("collapse").addClass("collapsing"),doTransition({height:element[0].scrollHeight+"px"}).then(expandDone))}function expandDone(){element.removeClass("collapsing"),element.addClass("collapse in"),element.css({height:"auto"})}function collapse(){if(initialAnimSkip)initialAnimSkip=!1,collapseDone(),element.css({height:0});else{element.css({height:element[0].scrollHeight+"px"});{element[0].offsetWidth}element.removeClass("collapse in").addClass("collapsing"),doTransition({height:0}).then(collapseDone)}}function collapseDone(){element.removeClass("collapsing"),element.addClass("collapse")}var currentTransition,initialAnimSkip=!0;scope.$watch(attrs.collapse,function(shouldCollapse){shouldCollapse?collapse():expand()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){var closeOthers=angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers;closeOthers&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);-1!==index&&this.groups.splice(this.groups.indexOf(group),1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",["$parse",function($parse){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){var getIsOpen,setIsOpen;accordionCtrl.addGroup(scope),scope.isOpen=!1,attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,scope.$parent.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.$watch("isOpen",function(value){value&&accordionCtrl.closeOthers(scope),setIsOpen&&setIsOpen(scope.$parent,value)})}}}]).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",compile:function(element,attr,transclude){return function(scope,element,attr,accordionGroupCtrl){accordionGroupCtrl.setHeading(transclude(scope,function(){}))}}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(scope,element,attr,controller){scope.$watch(function(){return controller[attr.accordionTransclude]},function(heading){heading&&(element.html(""),element.append(heading))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function($scope,$attrs){$scope.closeable="close"in $attrs}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"=",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(scope,element,attr){element.addClass("ng-binding").data("$binding",attr.bindHtmlUnsafe),scope.$watch(attr.bindHtmlUnsafe,function(value){element.html(value||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.btnRadio)))},element.bind(buttonsCtrl.toggleEvent,function(){element.hasClass(buttonsCtrl.activeClass)||scope.$apply(function(){ngModelCtrl.$setViewValue(scope.$eval(attrs.btnRadio)),ngModelCtrl.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(scope,element,attrs,ctrls){function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attributeValue,defaultValue){var val=scope.$eval(attributeValue);return angular.isDefined(val)?val:defaultValue}var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.bind(buttonsCtrl.toggleEvent,function(){scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition","$q",function($scope,$timeout,$transition){function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>=0&&(currentTimeout=$timeout(timerFn,interval))}function resetTimer(){currentTimeout&&($timeout.cancel(currentTimeout),currentTimeout=null)}function timerFn(){isPlaying?($scope.next(),restartTimer()):$scope.pause()}var currentTimeout,isPlaying,self=this,slides=self.slides=[],currentIndex=-1;self.currentSlide=null;var destroyed=!1;self.select=function(nextSlide,direction){function goNext(){if(!destroyed){if(self.currentSlide&&angular.isString(direction)&&!$scope.noTransition&&nextSlide.$element){nextSlide.$element.addClass(direction);{nextSlide.$element[0].offsetWidth}angular.forEach(slides,function(slide){angular.extend(slide,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(nextSlide,{direction:direction,active:!0,entering:!0}),angular.extend(self.currentSlide||{},{direction:direction,leaving:!0}),$scope.$currentTransition=$transition(nextSlide.$element,{}),function(next,current){$scope.$currentTransition.then(function(){transitionDone(next,current)},function(){transitionDone(next,current)})}(nextSlide,self.currentSlide)}else transitionDone(nextSlide,self.currentSlide);self.currentSlide=nextSlide,currentIndex=nextIndex,restartTimer()}}function transitionDone(next,current){angular.extend(next,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(current||{},{direction:"",active:!1,leaving:!1,entering:!1}),$scope.$currentTransition=null
|
||
}var nextIndex=slides.indexOf(nextSlide);void 0===direction&&(direction=nextIndex>currentIndex?"next":"prev"),nextSlide&&nextSlide!==self.currentSlide&&($scope.$currentTransition?($scope.$currentTransition.cancel(),$timeout(goNext)):goNext())},$scope.$on("$destroy",function(){destroyed=!0}),self.indexOfSlide=function(slide){return slides.indexOf(slide)},$scope.next=function(){var newIndex=(currentIndex+1)%slides.length;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"next")},$scope.prev=function(){var newIndex=0>currentIndex-1?slides.length-1:currentIndex-1;return $scope.$currentTransition?void 0:self.select(slides[newIndex],"prev")},$scope.select=function(slide){self.select(slide)},$scope.isActive=function(slide){return self.currentSlide===slide},$scope.slides=function(){return slides},$scope.$watch("interval",restartTimer),$scope.$on("$destroy",resetTimer),$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},self.addSlide=function(slide,element){slide.$element=element,slides.push(slide),1===slides.length||slide.active?(self.select(slides[slides.length-1]),1==slides.length&&$scope.play()):slide.active=!1},self.removeSlide=function(slide){var index=slides.indexOf(slide);slides.splice(index,1),slides.length>0&&slide.active?self.select(index>=slides.length?slides[index-1]:slides[index]):currentIndex>index&¤tIndex--}}]).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",["$parse",function($parse){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{},link:function(scope,element,attrs,carouselCtrl){if(attrs.active){var getActive=$parse(attrs.active),setActive=getActive.assign,lastValue=scope.active=getActive(scope.$parent);scope.$watch(function(){var parentActive=getActive(scope.$parent);return parentActive!==scope.active&&(parentActive!==lastValue?lastValue=scope.active=parentActive:setActive(scope.$parent,parentActive=lastValue=scope.active)),parentActive})}carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){active&&carouselCtrl.select(scope)})}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function($document,$window){function getStyle(el,cssprop){return el.currentStyle?el.currentStyle[cssprop]:$window.getComputedStyle?$window.getComputedStyle(el)[cssprop]:el.style[cssprop]}function isStaticPositioned(element){return"static"===(getStyle(element,"position")||"static")}var parentOffsetEl=function(element){for(var docDomEl=$document[0],offsetParent=element.offsetParent||docDomEl;offsetParent&&offsetParent!==docDomEl&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||docDomEl};return{position:function(element){var elBCR=this.offset(element),offsetParentBCR={top:0,left:0},offsetParentEl=parentOffsetEl(element[0]);offsetParentEl!=$document[0]&&(offsetParentBCR=this.offset(angular.element(offsetParentEl)),offsetParentBCR.top+=offsetParentEl.clientTop-offsetParentEl.scrollTop,offsetParentBCR.left+=offsetParentEl.clientLeft-offsetParentEl.scrollLeft);var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:elBCR.top-offsetParentBCR.top,left:elBCR.left-offsetParentBCR.left}},offset:function(element){var boundingClientRect=element[0].getBoundingClientRect();return{width:boundingClientRect.width||element.prop("offsetWidth"),height:boundingClientRect.height||element.prop("offsetHeight"),top:boundingClientRect.top+($window.pageYOffset||$document[0].body.scrollTop||$document[0].documentElement.scrollTop),left:boundingClientRect.left+($window.pageXOffset||$document[0].body.scrollLeft||$document[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.position"]).constant("datepickerConfig",{dayFormat:"dd",monthFormat:"MMMM",yearFormat:"yyyy",dayHeaderFormat:"EEE",dayTitleFormat:"MMMM yyyy",monthTitleFormat:"yyyy",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","dateFilter","datepickerConfig",function($scope,$attrs,dateFilter,dtConfig){function getValue(value,defaultValue){return angular.isDefined(value)?$scope.$parent.$eval(value):defaultValue}function getDaysInMonth(year,month){return new Date(year,month,0).getDate()}function getDates(startDate,n){for(var dates=new Array(n),current=startDate,i=0;n>i;)dates[i++]=new Date(current),current.setDate(current.getDate()+1);return dates}function makeDate(date,format,isSelected,isSecondary){return{date:date,label:dateFilter(date,format),selected:!!isSelected,secondary:!!isSecondary}}var format={day:getValue($attrs.dayFormat,dtConfig.dayFormat),month:getValue($attrs.monthFormat,dtConfig.monthFormat),year:getValue($attrs.yearFormat,dtConfig.yearFormat),dayHeader:getValue($attrs.dayHeaderFormat,dtConfig.dayHeaderFormat),dayTitle:getValue($attrs.dayTitleFormat,dtConfig.dayTitleFormat),monthTitle:getValue($attrs.monthTitleFormat,dtConfig.monthTitleFormat)},startingDay=getValue($attrs.startingDay,dtConfig.startingDay),yearRange=getValue($attrs.yearRange,dtConfig.yearRange);this.minDate=dtConfig.minDate?new Date(dtConfig.minDate):null,this.maxDate=dtConfig.maxDate?new Date(dtConfig.maxDate):null,this.modes=[{name:"day",getVisibleDates:function(date,selected){var year=date.getFullYear(),month=date.getMonth(),firstDayOfMonth=new Date(year,month,1),difference=startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth),numDates=0;numDisplayedFromPreviousMonth>0&&(firstDate.setDate(-numDisplayedFromPreviousMonth+1),numDates+=numDisplayedFromPreviousMonth),numDates+=getDaysInMonth(year,month+1),numDates+=(7-numDates%7)%7;for(var days=getDates(firstDate,numDates),labels=new Array(7),i=0;numDates>i;i++){var dt=new Date(days[i]);days[i]=makeDate(dt,format.day,selected&&selected.getDate()===dt.getDate()&&selected.getMonth()===dt.getMonth()&&selected.getFullYear()===dt.getFullYear(),dt.getMonth()!==month)}for(var j=0;7>j;j++)labels[j]=dateFilter(days[j].date,format.dayHeader);return{objects:days,title:dateFilter(date,format.dayTitle),labels:labels}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},split:7,step:{months:1}},{name:"month",getVisibleDates:function(date,selected){for(var months=new Array(12),year=date.getFullYear(),i=0;12>i;i++){var dt=new Date(year,i,1);months[i]=makeDate(dt,format.month,selected&&selected.getMonth()===i&&selected.getFullYear()===year)}return{objects:months,title:dateFilter(date,format.monthTitle)}},compare:function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth())-new Date(date2.getFullYear(),date2.getMonth())},split:3,step:{years:1}},{name:"year",getVisibleDates:function(date,selected){for(var years=new Array(yearRange),year=date.getFullYear(),startYear=parseInt((year-1)/yearRange,10)*yearRange+1,i=0;yearRange>i;i++){var dt=new Date(startYear+i,0,1);years[i]=makeDate(dt,format.year,selected&&selected.getFullYear()===dt.getFullYear())}return{objects:years,title:[years[0].label,years[yearRange-1].label].join(" - ")}},compare:function(date1,date2){return date1.getFullYear()-date2.getFullYear()},split:5,step:{years:yearRange}}],this.isDisabled=function(date,mode){var currentMode=this.modes[mode||0];return this.minDate&¤tMode.compare(date,this.minDate)<0||this.maxDate&¤tMode.compare(date,this.maxDate)>0||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:currentMode.name})}}]).directive("datepicker",["dateFilter","$parse","datepickerConfig","$log",function(dateFilter,$parse,datepickerConfig,$log){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(scope,element,attrs,ctrls){function updateShowWeekNumbers(){scope.showWeekNumbers=0===mode&&showWeeks}function split(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays}function refill(updateSelected){var date=null,valid=!0;ngModel.$modelValue&&(date=new Date(ngModel.$modelValue),isNaN(date)?(valid=!1,$log.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.')):updateSelected&&(selected=date)),ngModel.$setValidity("date",valid);var currentMode=datepickerCtrl.modes[mode],data=currentMode.getVisibleDates(selected,date);angular.forEach(data.objects,function(obj){obj.disabled=datepickerCtrl.isDisabled(obj.date,mode)}),ngModel.$setValidity("date-disabled",!date||!datepickerCtrl.isDisabled(date)),scope.rows=split(data.objects,currentMode.split),scope.labels=data.labels||[],scope.title=data.title}function setMode(value){mode=value,updateShowWeekNumbers(),refill()}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}var datepickerCtrl=ctrls[0],ngModel=ctrls[1];if(ngModel){var mode=0,selected=new Date,showWeeks=datepickerConfig.showWeeks;attrs.showWeeks?scope.$parent.$watch($parse(attrs.showWeeks),function(value){showWeeks=!!value,updateShowWeekNumbers()}):updateShowWeekNumbers(),attrs.min&&scope.$parent.$watch($parse(attrs.min),function(value){datepickerCtrl.minDate=value?new Date(value):null,refill()}),attrs.max&&scope.$parent.$watch($parse(attrs.max),function(value){datepickerCtrl.maxDate=value?new Date(value):null,refill()}),ngModel.$render=function(){refill(!0)},scope.select=function(date){if(0===mode){var dt=ngModel.$modelValue?new Date(ngModel.$modelValue):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),ngModel.$setViewValue(dt),refill(!0)}else selected=date,setMode(mode-1)},scope.move=function(direction){var step=datepickerCtrl.modes[mode].step;selected.setMonth(selected.getMonth()+direction*(step.months||0)),selected.setFullYear(selected.getFullYear()+direction*(step.years||0)),refill()},scope.toggleMode=function(){setMode((mode+1)%datepickerCtrl.modes.length)},scope.getWeekNumber=function(row){return 0===mode&&scope.showWeekNumbers&&7===row.length?getISO8601WeekNumber(row[0].date):null}}}}}]).constant("datepickerPopupConfig",{dateFormat:"yyyy-MM-dd",currentText:"Today",toggleWeeksText:"Weeks",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","datepickerPopupConfig","datepickerConfig",function($compile,$parse,$document,$position,dateFilter,datepickerPopupConfig,datepickerConfig){return{restrict:"EA",require:"ngModel",link:function(originalScope,element,attrs,ngModel){function setOpen(value){setIsOpen?setIsOpen(originalScope,!!value):scope.isOpen=!!value}function parseDate(viewValue){if(viewValue){if(angular.isDate(viewValue))return ngModel.$setValidity("date",!0),viewValue;if(angular.isString(viewValue)){var date=new Date(viewValue);return isNaN(date)?void ngModel.$setValidity("date",!1):(ngModel.$setValidity("date",!0),date)}return void ngModel.$setValidity("date",!1)}return ngModel.$setValidity("date",!0),null}function addWatchableAttribute(attribute,scopeProperty,datepickerAttribute){attribute&&(originalScope.$watch($parse(attribute),function(value){scope[scopeProperty]=value}),datepickerEl.attr(datepickerAttribute||scopeProperty,scopeProperty))}function updatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}var dateFormat,scope=originalScope.$new(),closeOnDateSelection=angular.isDefined(attrs.closeOnDateSelection)?originalScope.$eval(attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined(attrs.datepickerAppendToBody)?originalScope.$eval(attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody;attrs.$observe("datepickerPopup",function(value){dateFormat=value||datepickerPopupConfig.dateFormat,ngModel.$render()}),scope.showButtonBar=angular.isDefined(attrs.showButtonBar)?originalScope.$eval(attrs.showButtonBar):datepickerPopupConfig.showButtonBar,originalScope.$on("$destroy",function(){$popup.remove(),scope.$destroy()}),attrs.$observe("currentText",function(text){scope.currentText=angular.isDefined(text)?text:datepickerPopupConfig.currentText}),attrs.$observe("toggleWeeksText",function(text){scope.toggleWeeksText=angular.isDefined(text)?text:datepickerPopupConfig.toggleWeeksText}),attrs.$observe("clearText",function(text){scope.clearText=angular.isDefined(text)?text:datepickerPopupConfig.clearText}),attrs.$observe("closeText",function(text){scope.closeText=angular.isDefined(text)?text:datepickerPopupConfig.closeText});var getIsOpen,setIsOpen;attrs.isOpen&&(getIsOpen=$parse(attrs.isOpen),setIsOpen=getIsOpen.assign,originalScope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),scope.isOpen=getIsOpen?getIsOpen(originalScope):!1;var documentClickBind=function(event){scope.isOpen&&event.target!==element[0]&&scope.$apply(function(){setOpen(!1)})},elementFocusBind=function(){scope.$apply(function(){setOpen(!0)})},popupEl=angular.element("<div datepicker-popup-wrap><div datepicker></div></div>");popupEl.attr({"ng-model":"date","ng-change":"dateSelection()"});var datepickerEl=angular.element(popupEl.children()[0]),datepickerOptions={};attrs.datepickerOptions&&(datepickerOptions=originalScope.$eval(attrs.datepickerOptions),datepickerEl.attr(angular.extend({},datepickerOptions))),ngModel.$parsers.unshift(parseDate),scope.dateSelection=function(dt){angular.isDefined(dt)&&(scope.date=dt),ngModel.$setViewValue(scope.date),ngModel.$render(),closeOnDateSelection&&setOpen(!1)},element.bind("input change keyup",function(){scope.$apply(function(){scope.date=ngModel.$modelValue})}),ngModel.$render=function(){var date=ngModel.$viewValue?dateFilter(ngModel.$viewValue,dateFormat):"";element.val(date),scope.date=ngModel.$modelValue},addWatchableAttribute(attrs.min,"min"),addWatchableAttribute(attrs.max,"max"),attrs.showWeeks?addWatchableAttribute(attrs.showWeeks,"showWeeks","show-weeks"):(scope.showWeeks="show-weeks"in datepickerOptions?datepickerOptions["show-weeks"]:datepickerConfig.showWeeks,datepickerEl.attr("show-weeks","showWeeks")),attrs.dateDisabled&&datepickerEl.attr("date-disabled",attrs.dateDisabled);var documentBindingInitialized=!1,elementFocusInitialized=!1;scope.$watch("isOpen",function(value){value?(updatePosition(),$document.bind("click",documentClickBind),elementFocusInitialized&&element.unbind("focus",elementFocusBind),element[0].focus(),documentBindingInitialized=!0):(documentBindingInitialized&&$document.unbind("click",documentClickBind),element.bind("focus",elementFocusBind),elementFocusInitialized=!0),setIsOpen&&setIsOpen(originalScope,value)}),scope.today=function(){scope.dateSelection(new Date)},scope.clear=function(){scope.dateSelection(null)};var $popup=$compile(popupEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(scope,element){element.bind("click",function(event){event.preventDefault(),event.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function($document){var openElement=null,closeMenu=angular.noop;return{restrict:"CA",link:function(scope,element){scope.$watch("$location.path",function(){closeMenu()}),element.parent().bind("click",function(){closeMenu()}),element.bind("click",function(event){var elementWasOpen=element===openElement;event.preventDefault(),event.stopPropagation(),openElement&&closeMenu(),elementWasOpen||element.hasClass("disabled")||element.prop("disabled")||(element.parent().addClass("open"),openElement=element,closeMenu=function(event){event&&(event.preventDefault(),event.stopPropagation()),$document.unbind("click",closeMenu),element.parent().removeClass("open"),closeMenu=angular.noop,openElement=null},$document.bind("click",closeMenu))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i<stack.length;i++)if(key==stack[i].key)return stack[i]},keys:function(){for(var keys=[],i=0;i<stack.length;i++)keys.push(stack[i].key);return keys},top:function(){return stack[stack.length-1]},remove:function(key){for(var idx=-1,i=0;i<stack.length;i++)if(key==stack[i].key){idx=i;break}return stack.splice(idx,1)[0]},removeTop:function(){return stack.splice(stack.length-1,1)[0]},length:function(){return stack.length}}}}}).directive("modalBackdrop",["$timeout",function($timeout){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(scope){scope.animate=!1,$timeout(function(){scope.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function($modalStack,$timeout){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:"template/modal/window.html",link:function(scope,element,attrs){scope.windowClass=attrs.windowClass||"",$timeout(function(){scope.animate=!0,element[0].focus()}),scope.close=function(evt){var modal=$modalStack.getTop();modal&&modal.value.backdrop&&"static"!=modal.value.backdrop&&evt.target===evt.currentTarget&&(evt.preventDefault(),evt.stopPropagation(),$modalStack.dismiss(modal.key,"backdrop click"))}}}}]).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function($transition,$timeout,$document,$compile,$rootScope,$$stackedMap){function backdropIndex(){for(var topBackdropIndex=-1,opened=openedWindows.keys(),i=0;i<opened.length;i++)openedWindows.get(opened[i]).value.backdrop&&(topBackdropIndex=i);return topBackdropIndex}function removeModalWindow(modalInstance){var body=$document.find("body").eq(0),modalWindow=openedWindows.get(modalInstance).value;openedWindows.remove(modalInstance),removeAfterAnimate(modalWindow.modalDomEl,modalWindow.modalScope,300,checkRemoveBackdrop),body.toggleClass(OPENED_MODAL_CLASS,openedWindows.length()>0)}function checkRemoveBackdrop(){if(backdropDomEl&&-1==backdropIndex()){var backdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,150,function(){backdropScopeRef.$destroy(),backdropScopeRef=null}),backdropDomEl=void 0,backdropScope=void 0}}function removeAfterAnimate(domEl,scope,emulateTime,done){function afterAnimating(){afterAnimating.done||(afterAnimating.done=!0,domEl.remove(),done&&done())}scope.animate=!1;var transitionEndEventName=$transition.transitionEndEventName;if(transitionEndEventName){var timeout=$timeout(afterAnimating,emulateTime);domEl.bind(transitionEndEventName,function(){$timeout.cancel(timeout),afterAnimating(),scope.$apply()})}else $timeout(afterAnimating,0)}var backdropDomEl,backdropScope,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),$modalStack={};return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.bind("keydown",function(evt){var modal;27===evt.which&&(modal=openedWindows.top(),modal&&modal.value.keyboard&&$rootScope.$apply(function(){$modalStack.dismiss(modal.key)}))}),$modalStack.open=function(modalInstance,modal){openedWindows.add(modalInstance,{deferred:modal.deferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard});var body=$document.find("body").eq(0),currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.index=currBackdropIndex,backdropDomEl=$compile("<div modal-backdrop></div>")(backdropScope),body.append(backdropDomEl));var angularDomEl=angular.element("<div modal-window></div>");angularDomEl.attr("window-class",modal.windowClass),angularDomEl.attr("index",openedWindows.length()-1),angularDomEl.attr("animate","animate"),angularDomEl.html(modal.content);var modalDomEl=$compile(angularDomEl)(modal.scope);openedWindows.top().value.modalDomEl=modalDomEl,body.append(modalDomEl),body.addClass(OPENED_MODAL_CLASS)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.resolve(result),removeModalWindow(modalInstance))},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance).value;modalWindow&&(modalWindow.deferred.reject(reason),removeModalWindow(modalInstance))},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal;)this.dismiss(topModal.key,reason),topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack}]).provider("$modal",function(){var $modalProvider={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function($injector,$rootScope,$q,$http,$templateCache,$controller,$modalStack){function getTemplatePromise(options){return options.template?$q.when(options.template):$http.get(options.templateUrl,{cache:$templateCache}).then(function(result){return result.data})}function getResolvePromises(resolves){var promisesArr=[];return angular.forEach(resolves,function(value){(angular.isFunction(value)||angular.isArray(value))&&promisesArr.push($q.when($injector.invoke(value)))}),promisesArr}var $modal={};return $modal.open=function(modalOptions){var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,close:function(result){$modalStack.close(modalInstance,result)},dismiss:function(reason){$modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of template or templateUrl options is required.");var templateAndResolvePromise=$q.all([getTemplatePromise(modalOptions)].concat(getResolvePromises(modalOptions.resolve)));return templateAndResolvePromise.then(function(tplAndVars){var modalScope=(modalOptions.scope||$rootScope).$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss;var ctrlInstance,ctrlLocals={},resolveIter=1;modalOptions.controller&&(ctrlLocals.$scope=modalScope,ctrlLocals.$modalInstance=modalInstance,angular.forEach(modalOptions.resolve,function(value,key){ctrlLocals[key]=tplAndVars[resolveIter++]}),ctrlInstance=$controller(modalOptions.controller,ctrlLocals)),$modalStack.open(modalInstance,{scope:modalScope,deferred:modalResultDeferred,content:tplAndVars[0],backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,windowClass:modalOptions.windowClass})},function(reason){modalResultDeferred.reject(reason)}),templateAndResolvePromise.then(function(){modalOpenedDeferred.resolve(!0)},function(){modalOpenedDeferred.reject(!1)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse","$interpolate",function($scope,$attrs,$parse,$interpolate){var self=this,setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop;this.init=function(defaultItemsPerPage){$attrs.itemsPerPage?$scope.$parent.$watch($parse($attrs.itemsPerPage),function(value){self.itemsPerPage=parseInt(value,10),$scope.totalPages=self.calculateTotalPages()}):this.itemsPerPage=defaultItemsPerPage},this.noPrevious=function(){return 1===this.page},this.noNext=function(){return this.page===$scope.totalPages},this.isActive=function(page){return this.page===page},this.calculateTotalPages=function(){var totalPages=this.itemsPerPage<1?1:Math.ceil($scope.totalItems/this.itemsPerPage);return Math.max(totalPages||0,1)},this.getAttributeValue=function(attribute,defaultValue,interpolate){return angular.isDefined(attribute)?interpolate?$interpolate(attribute)($scope.$parent):$scope.$parent.$eval(attribute):defaultValue},this.render=function(){this.page=parseInt($scope.page,10)||1,this.page>0&&this.page<=$scope.totalPages&&($scope.pages=this.getPages(this.page,$scope.totalPages))},$scope.selectPage=function(page){!self.isActive(page)&&page>0&&page<=$scope.totalPages&&($scope.page=page,$scope.onSelectPage({page:page}))},$scope.$watch("page",function(){self.render()}),$scope.$watch("totalItems",function(){$scope.totalPages=self.calculateTotalPages()}),$scope.$watch("totalPages",function(value){setNumPages($scope.$parent,value),self.page>value?$scope.selectPage(value):self.render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function($parse,config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isActive,isDisabled){return{number:number,text:text,active:isActive,disabled:isDisabled}}var maxSize,boundaryLinks=paginationCtrl.getAttributeValue(attrs.boundaryLinks,config.boundaryLinks),directionLinks=paginationCtrl.getAttributeValue(attrs.directionLinks,config.directionLinks),firstText=paginationCtrl.getAttributeValue(attrs.firstText,config.firstText,!0),previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),lastText=paginationCtrl.getAttributeValue(attrs.lastText,config.lastText,!0),rotate=paginationCtrl.getAttributeValue(attrs.rotate,config.rotate);paginationCtrl.init(config.itemsPerPage),attrs.maxSize&&scope.$parent.$watch($parse(attrs.maxSize),function(value){maxSize=parseInt(value,10),paginationCtrl.render()}),paginationCtrl.getPages=function(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&totalPages>maxSize;isMaxSized&&(rotate?(startPage=Math.max(currentPage-Math.floor(maxSize/2),1),endPage=startPage+maxSize-1,endPage>totalPages&&(endPage=totalPages,startPage=endPage-maxSize+1)):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;endPage>=number;number++){var page=makePage(number,number,paginationCtrl.isActive(number),!1);pages.push(page)}if(isMaxSized&&!rotate){if(startPage>1){var previousPageSet=makePage(startPage-1,"...",!1,!1);pages.unshift(previousPageSet)}if(totalPages>endPage){var nextPageSet=makePage(endPage+1,"...",!1,!1);pages.push(nextPageSet)}}if(directionLinks){var previousPage=makePage(currentPage-1,previousText,!1,paginationCtrl.noPrevious());pages.unshift(previousPage);var nextPage=makePage(currentPage+1,nextText,!1,paginationCtrl.noNext());pages.push(nextPage)}if(boundaryLinks){var firstPage=makePage(1,firstText,!1,paginationCtrl.noPrevious());pages.unshift(firstPage);var lastPage=makePage(totalPages,lastText,!1,paginationCtrl.noNext());pages.push(lastPage)}return pages}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(config){return{restrict:"EA",scope:{page:"=",totalItems:"=",onSelectPage:" &"},controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(scope,element,attrs,paginationCtrl){function makePage(number,text,isDisabled,isPrevious,isNext){return{number:number,text:text,disabled:isDisabled,previous:align&&isPrevious,next:align&&isNext}}var previousText=paginationCtrl.getAttributeValue(attrs.previousText,config.previousText,!0),nextText=paginationCtrl.getAttributeValue(attrs.nextText,config.nextText,!0),align=paginationCtrl.getAttributeValue(attrs.align,config.align);paginationCtrl.init(config.itemsPerPage),paginationCtrl.getPages=function(currentPage){return[makePage(currentPage-1,previousText,paginationCtrl.noPrevious(),!0,!1),makePage(currentPage+1,nextText,paginationCtrl.noNext(),!1,!0)]}}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function snake_case(name){var regexp=/[A-Z]/g,separator="-";return name.replace(regexp,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var defaultOptions={placement:"top",animation:!0,popupDelay:0},triggerMap={mouseenter:"mouseleave",click:"click",focus:"blur"},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function($window,$compile,$timeout,$parse,$document,$position,$interpolate){return function(type,prefix,defaultTriggerShow){function getTriggers(trigger){var show=trigger||options.trigger||defaultTriggerShow,hide=triggerMap[show]||show;return{show:show,hide:hide}}var options=angular.extend({},defaultOptions,globalOptions),directiveName=snake_case(type),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="<div "+directiveName+'-popup title="'+startSym+"tt_title"+endSym+'" content="'+startSym+"tt_content"+endSym+'" placement="'+startSym+"tt_placement"+endSym+'" animation="tt_animation" is-open="tt_isOpen"></div>';return{restrict:"EA",scope:!0,compile:function(){var tooltipLinker=$compile(template);return function(scope,element,attrs){function toggleTooltipBind(){scope.tt_isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){(!hasEnableExp||scope.$eval(attrs[prefix+"Enable"]))&&(scope.tt_popupDelay?(popupTimeout=$timeout(show,scope.tt_popupDelay,!1),popupTimeout.then(function(reposition){reposition()})):show()())}function hideTooltipBind(){scope.$apply(function(){hide()})}function show(){return scope.tt_content?(createTooltip(),transitionTimeout&&$timeout.cancel(transitionTimeout),tooltip.css({top:0,left:0,display:"block"}),appendToBody?$document.find("body").append(tooltip):element.after(tooltip),positionTooltip(),scope.tt_isOpen=!0,scope.$digest(),positionTooltip):angular.noop}function hide(){scope.tt_isOpen=!1,$timeout.cancel(popupTimeout),scope.tt_animation?transitionTimeout=$timeout(removeTooltip,500):removeTooltip()}function createTooltip(){tooltip&&removeTooltip(),tooltip=tooltipLinker(scope,function(){}),scope.$digest()}function removeTooltip(){tooltip&&(tooltip.remove(),tooltip=null)}var tooltip,transitionTimeout,popupTimeout,appendToBody=angular.isDefined(options.appendToBody)?options.appendToBody:!1,triggers=getTriggers(void 0),hasRegisteredTriggers=!1,hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),positionTooltip=function(){var position,ttWidth,ttHeight,ttPosition;switch(position=appendToBody?$position.offset(element):$position.position(element),ttWidth=tooltip.prop("offsetWidth"),ttHeight=tooltip.prop("offsetHeight"),scope.tt_placement){case"right":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left+position.width};break;
|
||
case"bottom":ttPosition={top:position.top+position.height,left:position.left+position.width/2-ttWidth/2};break;case"left":ttPosition={top:position.top+position.height/2-ttHeight/2,left:position.left-ttWidth};break;default:ttPosition={top:position.top-ttHeight,left:position.left+position.width/2-ttWidth/2}}ttPosition.top+="px",ttPosition.left+="px",tooltip.css(ttPosition)};scope.tt_isOpen=!1,attrs.$observe(type,function(val){scope.tt_content=val,!val&&scope.tt_isOpen&&hide()}),attrs.$observe(prefix+"Title",function(val){scope.tt_title=val}),attrs.$observe(prefix+"Placement",function(val){scope.tt_placement=angular.isDefined(val)?val:options.placement}),attrs.$observe(prefix+"PopupDelay",function(val){var delay=parseInt(val,10);scope.tt_popupDelay=isNaN(delay)?options.popupDelay:delay});var unregisterTriggers=function(){hasRegisteredTriggers&&(element.unbind(triggers.show,showTooltipBind),element.unbind(triggers.hide,hideTooltipBind))};attrs.$observe(prefix+"Trigger",function(val){unregisterTriggers(),triggers=getTriggers(val),triggers.show===triggers.hide?element.bind(triggers.show,toggleTooltipBind):(element.bind(triggers.show,showTooltipBind),element.bind(triggers.hide,hideTooltipBind)),hasRegisteredTriggers=!0});var animation=scope.$eval(attrs[prefix+"Animation"]);scope.tt_animation=angular.isDefined(animation)?!!animation:options.animation,attrs.$observe(prefix+"AppendToBody",function(val){appendToBody=angular.isDefined(val)?$parse(val)(scope):appendToBody}),appendToBody&&scope.$on("$locationChangeSuccess",function(){scope.tt_isOpen&&hide()}),scope.$on("$destroy",function(){$timeout.cancel(transitionTimeout),$timeout.cancel(popupTimeout),unregisterTriggers(),removeTooltip()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function($tooltip){return $tooltip("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($tooltip){return $tooltip("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($tooltip){return $tooltip("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",["ui.bootstrap.transition"]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig","$transition",function($scope,$attrs,progressConfig,$transition){var self=this,bars=[],max=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):progressConfig.max,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.addBar=function(bar,element){var oldValue=0,index=bar.$parent.$index;angular.isDefined(index)&&bars[index]&&(oldValue=bars[index].value),bars.push(bar),this.update(element,bar.value,oldValue),bar.$watch("value",function(value,oldValue){value!==oldValue&&self.update(element,value,oldValue)}),bar.$on("$destroy",function(){self.removeBar(bar)})},this.update=function(element,newValue,oldValue){var percent=this.getPercentage(newValue);animate?(element.css("width",this.getPercentage(oldValue)+"%"),$transition(element,{width:percent+"%"})):element.css({transition:"none",width:percent+"%"})},this.removeBar=function(bar){bars.splice(bars.indexOf(bar),1)},this.getPercentage=function(value){return Math.round(100*value/max)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},template:'<div class="progress" ng-transclude></div>'}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","$parse","ratingConfig",function($scope,$attrs,$parse,ratingConfig){this.maxRange=angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max,this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.createRateObjects=function(states){for(var defaultOptions={stateOn:this.stateOn,stateOff:this.stateOff},i=0,n=states.length;n>i;i++)states[i]=angular.extend({index:i},defaultOptions,states[i]);return states},$scope.range=this.createRateObjects(angular.isDefined($attrs.ratingStates)?angular.copy($scope.$parent.$eval($attrs.ratingStates)):new Array(this.maxRange)),$scope.rate=function(value){$scope.value===value||$scope.readonly||($scope.value=value)},$scope.enter=function(value){$scope.readonly||($scope.val=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.val=angular.copy($scope.value),$scope.onLeave()},$scope.$watch("value",function(value){$scope.val=value}),$scope.readonly=!1,$attrs.readonly&&$scope.$parent.$watch($parse($attrs.readonly),function(value){$scope.readonly=!!value})}]).directive("rating",function(){return{restrict:"EA",scope:{value:"=",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function($scope){var ctrl=this,tabs=ctrl.tabs=$scope.tabs=[];ctrl.select=function(tab){angular.forEach(tabs,function(tab){tab.active=!1}),tab.active=!0},ctrl.addTab=function(tab){tabs.push(tab),(1===tabs.length||tab.active)&&ctrl.select(tab)},ctrl.removeTab=function(tab){var index=tabs.indexOf(tab);if(tab.active&&tabs.length>1){var newActiveIndex=index==tabs.length-1?index-1:index+1;ctrl.select(tabs[newActiveIndex])}tabs.splice(index,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(scope,element,attrs){scope.vertical=angular.isDefined(attrs.vertical)?scope.$parent.$eval(attrs.vertical):!1,scope.justified=angular.isDefined(attrs.justified)?scope.$parent.$eval(attrs.justified):!1,scope.type=angular.isDefined(attrs.type)?scope.$parent.$eval(attrs.type):"tabs"}}}).directive("tab",["$parse",function($parse){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(elm,attrs,transclude){return function(scope,elm,attrs,tabsetCtrl){var getActive,setActive;attrs.active?(getActive=$parse(attrs.active),setActive=getActive.assign,scope.$parent.$watch(getActive,function(value,oldVal){value!==oldVal&&(scope.active=!!value)}),scope.active=getActive(scope.$parent)):setActive=getActive=angular.noop,scope.$watch("active",function(active){setActive(scope.$parent,active),active?(tabsetCtrl.select(scope),scope.onSelect()):scope.onDeselect()}),scope.disabled=!1,attrs.disabled&&scope.$parent.$watch($parse(attrs.disabled),function(value){scope.disabled=!!value}),scope.select=function(){scope.disabled||(scope.active=!0)},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}]).directive("tabContentTransclude",function(){function isTabHeading(node){return node.tagName&&(node.hasAttribute("tab-heading")||node.hasAttribute("data-tab-heading")||"tab-heading"===node.tagName.toLowerCase()||"data-tab-heading"===node.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.tabContentTransclude);tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){isTabHeading(node)?tab.headingElement=node:elm.append(node)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).directive("timepicker",["$parse","$log","timepickerConfig","$locale",function($parse,$log,timepickerConfig,$locale){return{restrict:"EA",require:"?^ngModel",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(scope,element,attrs,ngModel){function getHoursFromTemplate(){var hours=parseInt(scope.hours,10),valid=scope.showMeridian?hours>0&&13>hours:hours>=0&&24>hours;return valid?(scope.showMeridian&&(12===hours&&(hours=0),scope.meridian===meridians[1]&&(hours+=12)),hours):void 0}function getMinutesFromTemplate(){var minutes=parseInt(scope.minutes,10);return minutes>=0&&60>minutes?minutes:void 0}function pad(value){return angular.isDefined(value)&&value.toString().length<2?"0"+value:value}function refresh(keyboardChange){makeValid(),ngModel.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){ngModel.$setValidity("time",!0),scope.invalidHours=!1,scope.invalidMinutes=!1}function updateTemplate(keyboardChange){var hours=selected.getHours(),minutes=selected.getMinutes();scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),scope.hours="h"===keyboardChange?hours:pad(hours),scope.minutes="m"===keyboardChange?minutes:pad(minutes),scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}function addMinutes(minutes){var dt=new Date(selected.getTime()+6e4*minutes);selected.setHours(dt.getHours(),dt.getMinutes()),refresh()}if(ngModel){var selected=new Date,meridians=angular.isDefined(attrs.meridians)?scope.$parent.$eval(attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,hourStep=timepickerConfig.hourStep;attrs.hourStep&&scope.$parent.$watch($parse(attrs.hourStep),function(value){hourStep=parseInt(value,10)});var minuteStep=timepickerConfig.minuteStep;attrs.minuteStep&&scope.$parent.$watch($parse(attrs.minuteStep),function(value){minuteStep=parseInt(value,10)}),scope.showMeridian=timepickerConfig.showMeridian,attrs.showMeridian&&scope.$parent.$watch($parse(attrs.showMeridian),function(value){if(scope.showMeridian=!!value,ngModel.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()});var inputs=element.find("input"),hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),mousewheel=angular.isDefined(attrs.mousewheel)?scope.$eval(attrs.mousewheel):timepickerConfig.mousewheel;if(mousewheel){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementHours():scope.decrementHours()),e.preventDefault()}),minutesInputEl.bind("mousewheel wheel",function(e){scope.$apply(isScrollingUp(e)?scope.incrementMinutes():scope.decrementMinutes()),e.preventDefault()})}if(scope.readonlyInput=angular.isDefined(attrs.readonlyInput)?scope.$eval(attrs.readonlyInput):timepickerConfig.readonlyInput,scope.readonlyInput)scope.updateHours=angular.noop,scope.updateMinutes=angular.noop;else{var invalidate=function(invalidHours,invalidMinutes){ngModel.$setViewValue(null),ngModel.$setValidity("time",!1),angular.isDefined(invalidHours)&&(scope.invalidHours=invalidHours),angular.isDefined(invalidMinutes)&&(scope.invalidMinutes=invalidMinutes)};scope.updateHours=function(){var hours=getHoursFromTemplate();angular.isDefined(hours)?(selected.setHours(hours),refresh("h")):invalidate(!0)},hoursInputEl.bind("blur",function(){!scope.validHours&&scope.hours<10&&scope.$apply(function(){scope.hours=pad(scope.hours)})}),scope.updateMinutes=function(){var minutes=getMinutesFromTemplate();angular.isDefined(minutes)?(selected.setMinutes(minutes),refresh("m")):invalidate(void 0,!0)},minutesInputEl.bind("blur",function(){!scope.invalidMinutes&&scope.minutes<10&&scope.$apply(function(){scope.minutes=pad(scope.minutes)})})}ngModel.$render=function(){var date=ngModel.$modelValue?new Date(ngModel.$modelValue):null;isNaN(date)?(ngModel.$setValidity("time",!1),$log.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.')):(date&&(selected=date),makeValid(),updateTemplate())},scope.incrementHours=function(){addMinutes(60*hourStep)},scope.decrementHours=function(){addMinutes(60*-hourStep)},scope.incrementMinutes=function(){addMinutes(minuteStep)},scope.decrementMinutes=function(){addMinutes(-minuteStep)},scope.toggleMeridian=function(){addMinutes(720*(selected.getHours()<12?1:-1))}}}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*(.*?)(?:\s+as\s+(.*?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+(.*)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error("Expected typeahead specification in form of '_modelValue_ (as _label_)? for _item_ in _collection_' but got '"+input+"'.");return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function($compile,$parse,$q,$timeout,$document,$position,typeaheadParser){var HOT_KEYS=[9,13,27,38,40];return{require:"ngModel",link:function(originalScope,element,attrs,modelCtrl){var hasFocus,minSearch=originalScope.$eval(attrs.typeaheadMinLength)||1,waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=originalScope.$eval(attrs.typeaheadEditable)!==!1,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,onSelectCallback=$parse(attrs.typeaheadOnSelect),inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=attrs.typeaheadAppendToBody?$parse(attrs.typeaheadAppendToBody):!1,$setModelValue=$parse(attrs.ngModel).assign,parserResult=typeaheadParser.parse(attrs.typeahead),popUpEl=angular.element("<div typeahead-popup></div>");popUpEl.attr({matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl);var scope=originalScope.$new();originalScope.$on("$destroy",function(){scope.$destroy()});var resetMatches=function(){scope.matches=[],scope.activeIdx=-1},getMatchesAsync=function(inputValue){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),$q.when(parserResult.source(originalScope,locals)).then(function(matches){if(inputValue===modelCtrl.$viewValue&&hasFocus){if(matches.length>0){scope.activeIdx=0,scope.matches.length=0;for(var i=0;i<matches.length;i++)locals[parserResult.itemName]=matches[i],scope.matches.push({label:parserResult.viewMapper(scope,locals),model:matches[i]});scope.query=inputValue,scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top=scope.position.top+element.prop("offsetHeight")}else resetMatches();isLoadingSetter(originalScope,!1)}},function(){resetMatches(),isLoadingSetter(originalScope,!1)})};resetMatches(),scope.query=void 0;var timeoutPromise;modelCtrl.$parsers.unshift(function(inputValue){return hasFocus=!0,inputValue&&inputValue.length>=minSearch?waitTime>0?(timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),inputValue)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,emptyViewValue,locals={};return inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,emptyViewValue=parserResult.viewMapper(originalScope,locals),candidateViewValue!==emptyViewValue?candidateViewValue:modelValue)}),scope.select=function(activeIdx){var model,item,locals={};locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),$setModelValue(originalScope,model),modelCtrl.$setValidity("editable",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals)}),resetMatches(),element[0].focus()},element.bind("keydown",function(evt){0!==scope.matches.length&&-1!==HOT_KEYS.indexOf(evt.which)&&(evt.preventDefault(),40===evt.which?(scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest()):38===evt.which?(scope.activeIdx=(scope.activeIdx?scope.activeIdx:scope.matches.length)-1,scope.$digest()):13===evt.which||9===evt.which?scope.$apply(function(){scope.select(scope.activeIdx)}):27===evt.which&&(evt.stopPropagation(),resetMatches(),scope.$digest()))}),element.bind("blur",function(){hasFocus=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&(resetMatches(),scope.$digest())};$document.bind("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.unbind("click",dismissClickHandler)});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):element.after($popup)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){return scope.matches.length>0},scope.isActive=function(matchIdx){return scope.active==matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx){scope.select({activeIdx:activeIdx})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function($http,$templateCache,$compile,$parse){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"template/typeahead/typeahead-match.html";$http.get(tplUrl,{cache:$templateCache}).success(function(tplContent){element.replaceWith($compile(tplContent.trim())(scope))})}}}]).filter("typeaheadHighlight",function(){function escapeRegexp(queryToEscape){return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(matchItem,query){return query?matchItem.replace(new RegExp(escapeRegexp(query),"gi"),"<strong>$&</strong>"):matchItem}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion-group.html",'<div class="panel panel-default">\n <div class="panel-heading">\n <h4 class="panel-title">\n <a class="accordion-toggle" ng-click="isOpen = !isOpen" accordion-transclude="heading">{{heading}}</a>\n </h4>\n </div>\n <div class="panel-collapse" collapse="!isOpen">\n <div class="panel-body" ng-transclude></div>\n </div>\n</div>')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude></div>')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/alert/alert.html","<div class='alert' ng-class='\"alert-\" + (type || \"warning\")'>\n <button ng-show='closeable' type='button' class='close' ng-click='close()'>×</button>\n <div ng-transclude></div>\n</div>\n")}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel">\n <ol class="carousel-indicators" ng-show="slides().length > 1">\n <li ng-repeat="slide in slides()" 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="icon-prev"></span></a>\n <a class="right carousel-control" ng-click="next()" ng-show="slides().length > 1"><span class="icon-next"></span></a>\n</div>\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function($templateCache){$templateCache.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($templateCache){$templateCache.put("template/datepicker/datepicker.html",'<table>\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left" ng-click="move(-1)"><i class="glyphicon glyphicon-chevron-left"></i></button></th>\n <th colspan="{{rows[0].length - 2 + showWeekNumbers}}"><button type="button" class="btn btn-default btn-sm btn-block" ng-click="toggleMode()"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right" ng-click="move(1)"><i class="glyphicon glyphicon-chevron-right"></i></button></th>\n </tr>\n <tr ng-show="labels.length > 0" class="h6">\n <th ng-show="showWeekNumbers" class="text-center">#</th>\n <th ng-repeat="label in labels" class="text-center">{{label}}</th>\n </tr>\n </thead>\n <tbody>\n <tr ng-repeat="row in rows">\n <td ng-show="showWeekNumbers" class="text-center"><em>{{ getWeekNumber(row) }}</em></td>\n <td ng-repeat="dt in row" class="text-center">\n <button type="button" style="width:100%;" class="btn btn-default btn-sm" ng-class="{\'btn-info\': dt.selected}" ng-click="select(dt.date)" ng-disabled="dt.disabled"><span ng-class="{\'text-muted\': dt.secondary}">{{dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/datepicker/popup.html","<ul class=\"dropdown-menu\" ng-style=\"{display: (isOpen && 'block') || 'none', top: position.top+'px', left: position.left+'px'}\">\n <li ng-transclude></li>\n"+' <li ng-show="showButtonBar" style="padding:10px 9px 2px">\n <span class="btn-group">\n <button type="button" class="btn btn-sm btn-info" ng-click="today()">{{currentText}}</button>\n <button type="button" class="btn btn-sm btn-default" ng-click="showWeeks = ! showWeeks" ng-class="{active: showWeeks}">{{toggleWeeksText}}</button>\n <button type="button" class="btn btn-sm btn-danger" ng-click="clear()">{{clearText}}</button>\n </span>\n <button type="button" class="btn btn-sm btn-success pull-right" ng-click="isOpen = false">{{closeText}}</button>\n </li>\n</ul>\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/backdrop.html",'<div class="modal-backdrop fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1040 + index*10}"></div>')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/modal/window.html",'<div tabindex="-1" class="modal fade {{ windowClass }}" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n <div class="modal-dialog"><div class="modal-content" ng-transclude></div></div>\n</div>')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pager.html",'<ul class="pager">\n <li ng-repeat="page in pages" ng-class="{disabled: page.disabled, previous: page.previous, next: page.next}"><a ng-click="selectPage(page.number)">{{page.text}}</a></li>\n</ul>')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/pagination/pagination.html",'<ul class="pagination">\n <li ng-repeat="page in pages" ng-class="{active: page.active, disabled: page.disabled}"><a ng-click="selectPage(page.number)">{{page.text}}</a></li>\n</ul>')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.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($templateCache){$templateCache.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($templateCache){$templateCache.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($templateCache){$templateCache.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" ng-transclude></div>')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progress.html",'<div class="progress" ng-transclude></div>')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/progressbar/progressbar.html",'<div class="progress"><div class="progress-bar" ng-class="type && \'progress-bar-\' + type" ng-transclude></div></div>')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/rating/rating.html",'<span ng-mouseleave="reset()">\n <i ng-repeat="r in range" ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < val && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')"></i>\n</span>')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n <a ng-click="select()" tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("template/tabs/tabset-titles.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tabset-titles.html","<ul class=\"nav {{type && 'nav-' + type}}\" ng-class=\"{'nav-stacked': vertical}\">\n</ul>\n")}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("template/tabs/tabset.html",'\n<div class="tabbable">\n <ul class="nav {{type && \'nav-\' + type}}" 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($templateCache){$templateCache.put("template/timepicker/timepicker.html",'<table>\n <tbody>\n <tr class="text-center">\n <td><a ng-click="incrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td> </td>\n <td><a ng-click="incrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n <tr>\n <td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidHours}">\n <input type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-mousewheel="incrementHours()" ng-readonly="readonlyInput" maxlength="2">\n </td>\n <td>:</td>\n <td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n <input type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2">\n </td>\n <td ng-show="showMeridian"><button type="button" class="btn btn-default text-center" ng-click="toggleMeridian()">{{meridian}}</button></td>\n </tr>\n <tr class="text-center">\n <td><a ng-click="decrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td> </td>\n <td><a ng-click="decrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function($templateCache){$templateCache.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($templateCache){$templateCache.put("template/typeahead/typeahead-popup.html","<ul class=\"dropdown-menu\" ng-style=\"{display: isOpen()&&'block' || 'none', top: position.top+'px', left: position.left+'px'}\">\n"+' <li ng-repeat="match in matches" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)">\n <div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n </li>\n</ul>')}]),angular.module("ui.alias",[]).config(["$compileProvider","uiAliasConfig",function(a,b){b=b||{},angular.forEach(b,function(b,c){angular.isString(b)&&(b={replace:!0,template:b}),a.directive(c,function(){return b})})}]),angular.module("ui.event",[]).directive("uiEvent",["$parse",function(a){return function(b,c,d){var e=b.$eval(d.uiEvent);angular.forEach(e,function(d,e){var f=a(d);c.bind(e,function(a){var c=Array.prototype.slice.call(arguments);c=c.splice(1),f(b,{$event:a,$params:c}),b.$$phase||b.$apply()})})}}]),angular.module("ui.format",[]).filter("format",function(){return function(a,b){var c=a;
|
||
if(angular.isString(c)&&void 0!==b)if(angular.isArray(b)||angular.isObject(b)||(b=[b]),angular.isArray(b)){var d=b.length,e=function(a,c){return c=parseInt(c,10),c>=0&&d>c?b[c]:a};c=c.replace(/\$([0-9]+)/g,e)}else angular.forEach(b,function(a,b){c=c.split(":"+b).join(a)});return c}}),angular.module("ui.highlight",[]).filter("highlight",function(){return function(a,b,c){return b||angular.isNumber(b)?(a=a.toString(),b=b.toString(),c?a.split(b).join('<span class="ui-match">'+b+"</span>"):a.replace(new RegExp(b,"gi"),'<span class="ui-match">$&</span>')):a}}),angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(a,b,c,d){return{restrict:"ECA",terminal:!0,compile:function(e,f){var g=f.uiInclude||f.src,h=f.fragment||"",i=f.onload||"",j=f.autoscroll;return function(e,f){function k(){var k=++m,o=e.$eval(g),p=e.$eval(h);o?a.get(o,{cache:b}).success(function(a){if(k===m){l&&l.$destroy(),l=e.$new();var b;b=p?angular.element("<div/>").html(a).find(p):angular.element("<div/>").html(a).contents(),f.html(b),d(b)(l),!angular.isDefined(j)||j&&!e.$eval(j)||c(),l.$emit("$includeContentLoaded"),e.$eval(i)}}).error(function(){k===m&&n()}):n()}var l,m=0,n=function(){l&&(l.$destroy(),l=null),f.html("")};e.$watch(h,k),e.$watch(g,k)}}}}]),angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){return{compile:function(a,b){return b.type&&"checkbox"===b.type.toLowerCase()?function(a,b,c){a.$watch(c.uiIndeterminate,function(a){b[0].indeterminate=!!a})}:angular.noop}}}]),angular.module("ui.inflector",[]).filter("inflector",function(){function a(a){return a.replace(/^([a-z])|\s+([a-z])/g,function(a){return a.toUpperCase()})}function b(a,b){return a.replace(/[A-Z]/g,function(a){return b+a})}var c={humanize:function(c){return a(b(c," ").split("_").join(" "))},underscore:function(a){return a.substr(0,1).toLowerCase()+b(a.substr(1),"_").toLowerCase().split(" ").join("_")},variable:function(b){return b=b.substr(0,1).toLowerCase()+a(b.split("_").join(" ")).substr(1).split(" ").join("")}};return function(a,b){return b!==!1&&angular.isString(a)?(b=b||"humanize",c[b](a)):a}}),angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(a,b){return{restrict:"A",compile:function(c,d){if(!angular.isFunction(c[d.uiJq]))throw new Error('ui-jq: The "'+d.uiJq+'" function does not exist');var e=a&&a[d.uiJq];return function(a,c,d){function f(){b(function(){c[d.uiJq].apply(c,g)},0,!1)}var g=[];d.uiOptions?(g=a.$eval("["+d.uiOptions+"]"),angular.isObject(e)&&angular.isObject(g[0])&&(g[0]=angular.extend({},e,g[0]))):e&&(g=[e]),d.ngModel&&c.is("select,input,textarea")&&c.bind("change",function(){c.trigger("input")}),d.uiRefresh&&a.$watch(d.uiRefresh,function(){f()}),f()}}}}]),angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(a){var b={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"},c=function(a){return a.charAt(0).toUpperCase()+a.slice(1)};return function(d,e,f,g){var h,i=[];h=e.$eval(g["ui"+c(d)]),angular.forEach(h,function(b,c){var d,e;e=a(b),angular.forEach(c.split(" "),function(a){d={expression:e,keys:{}},angular.forEach(a.split("-"),function(a){d.keys[a]=!0}),i.push(d)})}),f.bind(d,function(a){var c=!(!a.metaKey||a.ctrlKey),f=!!a.altKey,g=!!a.ctrlKey,h=!!a.shiftKey,j=a.keyCode;"keypress"===d&&!h&&j>=97&&122>=j&&(j-=32),angular.forEach(i,function(d){var i=d.keys[b[j]]||d.keys[j.toString()],k=!!d.keys.meta,l=!!d.keys.alt,m=!!d.keys.ctrl,n=!!d.keys.shift;i&&k===c&&l===f&&m===g&&n===h&&e.$apply(function(){d.expression(e,{$event:a})})})})}}]),angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(a){return{link:function(b,c,d){a("keydown",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(a){return{link:function(b,c,d){a("keypress",b,c,d)}}}]),angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(a){return{link:function(b,c,d){a("keyup",b,c,d)}}}]),angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{9:/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/}}).directive("uiMask",["uiMaskConfig",function(a){return{priority:100,require:"ngModel",restrict:"A",compile:function(){var b=a;return function(a,c,d,e){function f(a){return angular.isDefined(a)?(s(a),N?(k(),l(),!0):j()):j()}function g(a){angular.isDefined(a)&&(D=a,N&&w())}function h(a){return N?(G=o(a||""),I=n(G),e.$setValidity("mask",I),I&&G.length?p(G):void 0):a}function i(a){return N?(G=o(a||""),I=n(G),e.$viewValue=G.length?p(G):"",e.$setValidity("mask",I),""===G&&void 0!==e.$error.required&&e.$setValidity("required",!1),I?G:void 0):a}function j(){return N=!1,m(),angular.isDefined(P)?c.attr("placeholder",P):c.removeAttr("placeholder"),angular.isDefined(Q)?c.attr("maxlength",Q):c.removeAttr("maxlength"),c.val(e.$modelValue),e.$viewValue=e.$modelValue,!1}function k(){G=K=o(e.$modelValue||""),H=J=p(G),I=n(G);var a=I&&G.length?H:"";d.maxlength&&c.attr("maxlength",2*B[B.length-1]),c.attr("placeholder",D),c.val(a),e.$viewValue=a}function l(){O||(c.bind("blur",t),c.bind("mousedown mouseup",u),c.bind("input keyup click focus",w),O=!0)}function m(){O&&(c.unbind("blur",t),c.unbind("mousedown",u),c.unbind("mouseup",u),c.unbind("input",w),c.unbind("keyup",w),c.unbind("click",w),c.unbind("focus",w),O=!1)}function n(a){return a.length?a.length>=F:!0}function o(a){var b="",c=C.slice();return a=a.toString(),angular.forEach(E,function(b){a=a.replace(b,"")}),angular.forEach(a.split(""),function(a){c.length&&c[0].test(a)&&(b+=a,c.shift())}),b}function p(a){var b="",c=B.slice();return angular.forEach(D.split(""),function(d,e){a.length&&e===c[0]?(b+=a.charAt(0)||"_",a=a.substr(1),c.shift()):b+=d}),b}function q(a){var b=d.placeholder;return"undefined"!=typeof b&&b[a]?b[a]:"_"}function r(){return D.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function s(a){var b=0;if(B=[],C=[],D="","string"==typeof a){F=0;var c=!1,d=a.split("");angular.forEach(d,function(a,d){R.maskDefinitions[a]?(B.push(b),D+=q(d),C.push(R.maskDefinitions[a]),b++,c||F++):"?"===a?c=!0:(D+=a,b++)})}B.push(B.slice().pop()+1),E=r(),N=B.length>1?!0:!1}function t(){L=0,M=0,I&&0!==G.length||(H="",c.val(""),a.$apply(function(){e.$setViewValue("")}))}function u(a){"mousedown"===a.type?c.bind("mouseout",v):c.unbind("mouseout",v)}function v(){M=A(this),c.unbind("mouseout",v)}function w(b){b=b||{};var d=b.which,f=b.type;if(16!==d&&91!==d){var g,h=c.val(),i=J,j=o(h),k=K,l=!1,m=y(this)||0,n=L||0,q=m-n,r=B[0],s=B[j.length]||B.slice().shift(),t=M||0,u=A(this)>0,v=t>0,w=h.length>i.length||t&&h.length>i.length-t,C=h.length<i.length||t&&h.length===i.length-t,D=d>=37&&40>=d&&b.shiftKey,E=37===d,F=8===d||"keyup"!==f&&C&&-1===q,G=46===d||"keyup"!==f&&C&&0===q&&!v,H=(E||F||"click"===f)&&m>r;if(M=A(this),!D&&(!u||"click"!==f&&"keyup"!==f)){if("input"===f&&C&&!v&&j===k){for(;F&&m>r&&!x(m);)m--;for(;G&&s>m&&-1===B.indexOf(m);)m++;var I=B.indexOf(m);j=j.substring(0,I)+j.substring(I+1),l=!0}for(g=p(j),J=g,K=j,c.val(g),l&&a.$apply(function(){e.$setViewValue(j)}),w&&r>=m&&(m=r+1),H&&m--,m=m>s?s:r>m?r:m;!x(m)&&m>r&&s>m;)m+=H?-1:1;(H&&s>m||w&&!x(n))&&m++,L=m,z(this,m)}}}function x(a){return B.indexOf(a)>-1}function y(a){if(!a)return 0;if(void 0!==a.selectionStart)return a.selectionStart;if(document.selection){a.focus();var b=document.selection.createRange();return b.moveStart("character",-a.value.length),b.text.length}return 0}function z(a,b){if(!a)return 0;if(0!==a.offsetWidth&&0!==a.offsetHeight)if(a.setSelectionRange)a.focus(),a.setSelectionRange(b,b);else if(a.createTextRange){var c=a.createTextRange();c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",b),c.select()}}function A(a){return a?void 0!==a.selectionStart?a.selectionEnd-a.selectionStart:document.selection?document.selection.createRange().text.length:0:0}var B,C,D,E,F,G,H,I,J,K,L,M,N=!1,O=!1,P=d.placeholder,Q=d.maxlength,R={};d.uiOptions?(R=a.$eval("["+d.uiOptions+"]"),angular.isObject(R[0])&&(R=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]?angular.extend(b[c],a[c]):b[c]=angular.copy(a[c]));return b}(b,R[0]))):R=b,d.$observe("uiMask",f),d.$observe("placeholder",g),e.$formatters.push(h),e.$parsers.push(i),c.bind("mousedown mouseup",u),Array.prototype.indexOf||(Array.prototype.indexOf=function(a){if(null===this)throw new TypeError;var b=Object(this),c=b.length>>>0;if(0===c)return-1;var d=0;if(arguments.length>1&&(d=Number(arguments[1]),d!==d?d=0:0!==d&&1/0!==d&&d!==-1/0&&(d=(d>0||-1)*Math.floor(Math.abs(d)))),d>=c)return-1;for(var e=d>=0?d:Math.max(c-Math.abs(d),0);c>e;e++)if(e in b&&b[e]===a)return e;return-1})}}}}]),angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(a){var b=null;return void 0!==a&&(b=a),{require:"ngModel",link:function(a,c,d,e){var f;f=angular.element('<a class="ui-reset" />'),c.wrap('<span class="ui-resetwrap" />').after(f),f.bind("click",function(c){c.preventDefault(),a.$apply(function(){e.$setViewValue(d.uiReset?a.$eval(d.uiReset):b),e.$render()})})}}}]),angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(a,b){return{restrict:"AC",scope:!0,compile:function(c,d){var e;if(d.uiRoute)e="uiRoute";else if(d.ngHref)e="ngHref";else{if(!d.href)throw new Error("uiRoute missing a route or href property on "+c[0]);e="href"}return function(c,d,f){function g(b){var d=b.indexOf("#");d>-1&&(b=b.substr(d+1)),(j=function(){i(c,a.path().indexOf(b)>-1)})()}function h(b){var d=b.indexOf("#");d>-1&&(b=b.substr(d+1)),(j=function(){var d=new RegExp("^"+b+"$",["i"]);i(c,d.test(a.path()))})()}var i=b(f.ngModel||f.routeModel||"$uiRoute").assign,j=angular.noop;switch(e){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?g(f.ngHref):f.$observe("ngHref",g);break;case"href":g(f.href)}c.$on("$routeChangeSuccess",function(){j()}),c.$on("$stateChangeSuccess",function(){j()})}}}}]),angular.module("ui.scroll.jqlite",["ui.scroll"]).service("jqLiteExtras",["$log","$window",function(a,b){return{registerFor:function(a){var c,d,e,f,g,h,i;return d=angular.element.prototype.css,a.prototype.css=function(a,b){var c,e;return e=this,c=e[0],c&&3!==c.nodeType&&8!==c.nodeType&&c.style?d.call(e,a,b):void 0},h=function(a){return a&&a.document&&a.location&&a.alert&&a.setInterval},i=function(a,b,c){var d,e,f,g,i;return d=a[0],i={top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[b],e=i[0],g=i[1],f=i[2],h(d)?angular.isDefined(c)?d.scrollTo(a[f].call(a),c):g in d?d[g]:d.document.documentElement[e]:angular.isDefined(c)?d[e]=c:d[e]},b.getComputedStyle?(f=function(a){return b.getComputedStyle(a,null)},c=function(a,b){return parseFloat(b)}):(f=function(a){return a.currentStyle},c=function(a,b){var c,d,e,f,g,h,i;return c=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,f=new RegExp("^("+c+")(?!px)[a-z%]+$","i"),f.test(b)?(i=a.style,d=i.left,g=a.runtimeStyle,h=g&&g.left,g&&(g.left=i.left),i.left=b,e=i.pixelLeft,i.left=d,h&&(g.left=h),e):parseFloat(b)}),e=function(a,b){var d,e,g,i,j,k,l,m,n,o,p,q,r;return h(a)?(d=document.documentElement[{height:"clientHeight",width:"clientWidth"}[b]],{base:d,padding:0,border:0,margin:0}):(r={width:[a.offsetWidth,"Left","Right"],height:[a.offsetHeight,"Top","Bottom"]}[b],d=r[0],l=r[1],m=r[2],k=f(a),p=c(a,k["padding"+l])||0,q=c(a,k["padding"+m])||0,e=c(a,k["border"+l+"Width"])||0,g=c(a,k["border"+m+"Width"])||0,i=k["margin"+l],j=k["margin"+m],n=c(a,i)||0,o=c(a,j)||0,{base:d,padding:p+q,border:e+g,margin:n+o})},g=function(a,b,c){var d,g,h;return g=e(a,b),g.base>0?{base:g.base-g.padding-g.border,outer:g.base,outerfull:g.base+g.margin}[c]:(d=f(a),h=d[b],(0>h||null===h)&&(h=a.style[b]||0),h=parseFloat(h)||0,{base:h-g.padding-g.border,outer:h,outerfull:h+g.padding+g.border+g.margin}[c])},angular.forEach({before:function(a){var b,c,d,e,f,g,h;if(f=this,c=f[0],e=f.parent(),b=e.contents(),b[0]===c)return e.prepend(a);for(d=g=1,h=b.length-1;h>=1?h>=g:g>=h;d=h>=1?++g:--g)if(b[d]===c)return void angular.element(b[d-1]).after(a);throw new Error("invalid DOM structure "+c.outerHTML)},height:function(a){var b;return b=this,angular.isDefined(a)?(angular.isNumber(a)&&(a+="px"),d.call(b,"height",a)):g(this[0],"height","base")},outerHeight:function(a){return g(this[0],"height",a?"outerfull":"outer")},offset:function(a){var b,c,d,e,f,g;return f=this,arguments.length?void 0===a?f:a:(b={top:0,left:0},e=f[0],(c=e&&e.ownerDocument)?(d=c.documentElement,e.getBoundingClientRect&&(b=e.getBoundingClientRect()),g=c.defaultView||c.parentWindow,{top:b.top+(g.pageYOffset||d.scrollTop)-(d.clientTop||0),left:b.left+(g.pageXOffset||d.scrollLeft)-(d.clientLeft||0)}):void 0)},scrollTop:function(a){return i(this,"top",a)},scrollLeft:function(a){return i(this,"left",a)}},function(b,c){return a.prototype[c]?void 0:a.prototype[c]=b})}}}]).run(["$log","$window","jqLiteExtras",function(a,b,c){return b.jQuery?void 0:c.registerFor(angular.element)}]),angular.module("ui.scroll",[]).directive("ngScrollViewport",["$log",function(){return{controller:["$scope","$element",function(a,b){return b}]}}]).directive("ngScroll",["$log","$injector","$rootScope","$timeout",function(a,b,c,d){return{require:["?^ngScrollViewport"],transclude:"element",priority:1e3,terminal:!0,compile:function(e,f,g){return function(f,h,i,j){var k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T;if(H=i.ngScroll.match(/^\s*(\w+)\s+in\s+(\w+)\s*$/),!H)throw new Error('Expected ngScroll in form of "item_ in _datasource_" but got "'+i.ngScroll+'"');if(F=H[1],v=H[2],D=function(a){return angular.isObject(a)&&a.get&&angular.isFunction(a.get)},u=f[v],!D(u)&&(u=b.get(v),!D(u)))throw new Error(v+" is not a valid datasource");return r=Math.max(3,+i.bufferSize||10),q=function(){return T.height()*Math.max(.1,+i.padding||.1)},O=function(a){return a[0].scrollHeight||a[0].document.documentElement.scrollHeight},k=null,g(R=f.$new(),function(a){var b,c,d,f,g,h;if(f=a[0].localName,"dl"===f)throw new Error("ng-scroll directive does not support <"+a[0].localName+"> as a repeating tag: "+a[0].outerHTML);return"li"!==f&&"tr"!==f&&(f="div"),h=j[0]||angular.element(window),h.css({"overflow-y":"auto",display:"block"}),d=function(a){var b,c,d;switch(a){case"tr":return d=angular.element("<table><tr><td><div></div></td></tr></table>"),b=d.find("div"),c=d.find("tr"),c.paddingHeight=function(){return b.height.apply(b,arguments)},c;default:return c=angular.element("<"+a+"></"+a+">"),c.paddingHeight=c.height,c}},c=function(a,b,c){return b[{top:"before",bottom:"after"}[c]](a),{paddingHeight:function(){return a.paddingHeight.apply(a,arguments)},insert:function(b){return a[{top:"after",bottom:"before"}[c]](b)}}},g=c(d(f),e,"top"),b=c(d(f),e,"bottom"),R.$destroy(),k={viewport:h,topPadding:g.paddingHeight,bottomPadding:b.paddingHeight,append:b.insert,prepend:g.insert,bottomDataPos:function(){return O(h)-b.paddingHeight()},topDataPos:function(){return g.paddingHeight()}}}),T=k.viewport,B=1,I=1,p=[],J=[],x=!1,n=!1,G=u.loading||function(){},E=!1,L=function(a,b){var c,d;for(c=d=a;b>=a?b>d:d>b;c=b>=a?++d:--d)p[c].scope.$destroy(),p[c].element.remove();return p.splice(a,b-a)},K=function(){return B=1,I=1,L(0,p.length),k.topPadding(0),k.bottomPadding(0),J=[],x=!1,n=!1,l(!1)},o=function(){return T.scrollTop()+T.height()},S=function(){return T.scrollTop()},P=function(){return!x&&k.bottomDataPos()<o()+q()},s=function(){var b,c,d,e,f,g;for(b=0,e=0,c=f=g=p.length-1;(0>=g?0>=f:f>=0)&&(d=p[c].element.outerHeight(!0),k.bottomDataPos()-b-d>o()+q());c=0>=g?++f:--f)b+=d,e++,x=!1;return e>0?(k.bottomPadding(k.bottomPadding()+b),L(p.length-e,p.length),I-=e,a.log("clipped off bottom "+e+" bottom padding "+k.bottomPadding())):void 0},Q=function(){return!n&&k.topDataPos()>S()-q()},t=function(){var b,c,d,e,f,g;for(e=0,d=0,f=0,g=p.length;g>f&&(b=p[f],c=b.element.outerHeight(!0),k.topDataPos()+e+c<S()-q());f++)e+=c,d++,n=!1;return d>0?(k.topPadding(k.topPadding()+e),L(0,d),B+=d,a.log("clipped off top "+d+" top padding "+k.topPadding())):void 0},w=function(a,b){return E||(E=!0,G(!0)),1===J.push(a)?z(b):void 0},C=function(a,b){var c,d,e;return c=f.$new(),c[F]=b,d=a>B,c.$index=a,d&&c.$index--,e={scope:c},g(c,function(b){return e.element=b,d?a===I?(k.append(b),p.push(e)):(p[a-B].element.after(b),p.splice(a-B+1,0,e)):(k.prepend(b),p.unshift(e))}),{appended:d,wrapper:e}},m=function(a,b){var c;return a?k.bottomPadding(Math.max(0,k.bottomPadding()-b.element.outerHeight(!0))):(c=k.topPadding()-b.element.outerHeight(!0),c>=0?k.topPadding(c):T.scrollTop(T.scrollTop()+b.element.outerHeight(!0)))},l=function(b,c,e){var f;return f=function(){return a.log("top {actual="+k.topDataPos()+" visible from="+S()+" bottom {visible through="+o()+" actual="+k.bottomDataPos()+"}"),P()?w(!0,b):Q()&&w(!1,b),e?e():void 0},c?d(function(){var a,b,d;for(b=0,d=c.length;d>b;b++)a=c[b],m(a.appended,a.wrapper);return f()}):f()},A=function(a,b){return l(a,b,function(){return J.shift(),0===J.length?(E=!1,G(!1)):z(a)})},z=function(b){var c;return c=J[0],c?p.length&&!P()?A(b):u.get(I,r,function(c){var d,e,f,g;if(e=[],0===c.length)x=!0,k.bottomPadding(0),a.log("appended: requested "+r+" records starting from "+I+" recieved: eof");else{for(t(),f=0,g=c.length;g>f;f++)d=c[f],e.push(C(++I,d));a.log("appended: requested "+r+" received "+c.length+" buffer size "+p.length+" first "+B+" next "+I)}return A(b,e)}):p.length&&!Q()?A(b):u.get(B-r,r,function(c){var d,e,f,g;if(e=[],0===c.length)n=!0,k.topPadding(0),a.log("prepended: requested "+r+" records starting from "+(B-r)+" recieved: bof");else{for(s(),d=f=g=c.length-1;0>=g?0>=f:f>=0;d=0>=g?++f:--f)e.unshift(C(--B,c[d]));a.log("prepended: requested "+r+" received "+c.length+" buffer size "+p.length+" first "+B+" next "+I)}return A(b,e)})},M=function(){return c.$$phase||E?void 0:(l(!1),f.$apply())},T.bind("resize",M),N=function(){return c.$$phase||E?void 0:(l(!0),f.$apply())},T.bind("scroll",N),f.$watch(u.revision,function(){return K()}),y=u.scope?u.scope.$new():f.$new(),f.$on("$destroy",function(){return y.$destroy(),T.unbind("resize",M),T.unbind("scroll",N)}),y.$on("update.items",function(a,b,c){var d,e,f,g,h;if(angular.isFunction(b))for(e=function(a){return b(a.scope)},f=0,g=p.length;g>f;f++)d=p[f],e(d);else 0<=(h=b-B-1)&&h<p.length&&(p[b-B-1].scope[F]=c);return null}),y.$on("delete.items",function(a,b){var c,d,e,f,g,h,i,j,k,m,n,o;if(angular.isFunction(b)){for(e=[],h=0,k=p.length;k>h;h++)d=p[h],e.unshift(d);for(g=function(a){return b(a.scope)?(L(e.length-1-c,e.length-c),I--):void 0},c=i=0,m=e.length;m>i;c=++i)f=e[c],g(f)}else 0<=(o=b-B-1)&&o<p.length&&(L(b-B-1,b-B),I--);for(c=j=0,n=p.length;n>j;c=++j)d=p[c],d.scope.$index=B+c;return l(!1)}),y.$on("insert.item",function(a,b,c){var d,e,f,g,h,i,j,k,m,n,o,q;if(e=[],angular.isFunction(b)){for(f=[],i=0,m=p.length;m>i;i++)c=p[i],f.unshift(c);for(h=function(a){var f,g,h,i,j;if(g=b(a.scope)){if(C=function(a,b){return C(a,b),I++},angular.isArray(g)){for(j=[],f=h=0,i=g.length;i>h;f=++h)c=g[f],j.push(e.push(C(d+f,c)));return j}return e.push(C(d,g))}},d=j=0,n=f.length;n>j;d=++j)g=f[d],h(g)}else 0<=(q=b-B-1)&&q<p.length&&(e.push(C(b,c)),I++);for(d=k=0,o=p.length;o>k;d=++k)c=p[d],c.scope.$index=B+d;return l(!1,e)})}}}}]),angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(a){return{require:"^?uiScrollfixTarget",link:function(b,c,d,e){function f(){var b;if(angular.isDefined(a.pageYOffset))b=a.pageYOffset;else{var e=document.compatMode&&"BackCompat"!==document.compatMode?document.documentElement:document.body;b=e.scrollTop}!c.hasClass("ui-scrollfix")&&b>d.uiScrollfix?c.addClass("ui-scrollfix"):c.hasClass("ui-scrollfix")&&b<d.uiScrollfix&&c.removeClass("ui-scrollfix")}var g=c[0].offsetTop,h=e&&e.$element||angular.element(a);d.uiScrollfix?"string"==typeof d.uiScrollfix&&("-"===d.uiScrollfix.charAt(0)?d.uiScrollfix=g-parseFloat(d.uiScrollfix.substr(1)):"+"===d.uiScrollfix.charAt(0)&&(d.uiScrollfix=g+parseFloat(d.uiScrollfix.substr(1)))):d.uiScrollfix=g,h.on("scroll",f),b.$on("$destroy",function(){h.off("scroll",f)})}}}]).directive("uiScrollfixTarget",[function(){return{controller:["$element",function(a){this.$element=a}]}}]),angular.module("ui.showhide",[]).directive("uiShow",[function(){return function(a,b,c){a.$watch(c.uiShow,function(a){a?b.addClass("ui-show"):b.removeClass("ui-show")})}}]).directive("uiHide",[function(){return function(a,b,c){a.$watch(c.uiHide,function(a){a?b.addClass("ui-hide"):b.removeClass("ui-hide")})}}]).directive("uiToggle",[function(){return function(a,b,c){a.$watch(c.uiToggle,function(a){a?b.removeClass("ui-hide").addClass("ui-show"):b.removeClass("ui-show").addClass("ui-hide")})}}]),angular.module("ui.unique",[]).filter("unique",["$parse",function(a){return function(b,c){if(c===!1)return b;if((c||angular.isUndefined(c))&&angular.isArray(b)){var d=[],e=angular.isString(c)?a(c):function(a){return a},f=function(a){return angular.isObject(a)?e(a):a};angular.forEach(b,function(a){for(var b=!1,c=0;c<d.length;c++)if(angular.equals(f(d[c]),f(a))){b=!0;break}b||d.push(a)}),b=d}return b}}]),angular.module("ui.validate",[]).directive("uiValidate",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(b){return angular.isString(b)?void a.$watch(b,function(){angular.forEach(g,function(a){a(d.$modelValue)})}):angular.isArray(b)?void angular.forEach(b,function(b){a.$watch(b,function(){angular.forEach(g,function(a){a(d.$modelValue)})})}):void(angular.isObject(b)&&angular.forEach(b,function(b,c){angular.isString(b)&&a.$watch(b,function(){g[c](d.$modelValue)}),angular.isArray(b)&&angular.forEach(b,function(b){a.$watch(b,function(){g[c](d.$modelValue)})})}))}var f,g={},h=a.$eval(c.uiValidate);h&&(angular.isString(h)&&(h={validator:h}),angular.forEach(h,function(b,c){f=function(e){var f=a.$eval(b,{$value:e});return angular.isObject(f)&&angular.isFunction(f.then)?(f.then(function(){d.$setValidity(c,!0)},function(){d.$setValidity(c,!1)}),e):f?(d.$setValidity(c,!0),e):(d.$setValidity(c,!1),e)},g[c]=f,d.$formatters.push(f),d.$parsers.push(f)}),c.uiValidateWatch&&e(a.$eval(c.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"]),angular.module("ngProgress.provider",["ngProgress.directive"]).provider("ngProgress",function(){"use strict";this.autoStyle=!0,this.count=0,this.height="2px",this.color="firebrick",this.$get=["$document","$window","$compile","$rootScope","$timeout",function(a,b,c,d,e){var f=this.count,g=this.height,h=this.color,i=d,j=a.find("body"),k=c("<ng-progress></ng-progress>")(i);j.append(k),i.count=f,void 0!==g&&k.eq(0).children().css("height",g),void 0!==h&&(k.eq(0).children().css("background-color",h),k.eq(0).children().css("color",h));var l=0;return{start:function(){this.show();var a=this;l=setInterval(function(){if(isNaN(f))clearInterval(l),f=0,a.hide();else{var b=100-f;f+=.15*Math.pow(1-Math.sqrt(b),2),a.updateCount(f)}},200)},updateCount:function(a){i.count=a,i.$$phase||i.$apply()},height:function(a){return void 0!==a&&(g=a,i.height=g,i.$$phase||i.$apply()),g},color:function(a){return void 0!==a&&(h=a,i.color=h,i.$$phase||i.$apply()),h},hide:function(){k.children().css("opacity","0");var a=this;e(function(){k.children().css("width","0%"),e(function(){a.show()},500)},500)},show:function(){e(function(){k.children().css("opacity","1")},100)},status:function(){return f},stop:function(){clearInterval(l)},set:function(a){return this.show(),this.updateCount(a),f=a,clearInterval(l),f},css:function(a){return k.children().css(a)},reset:function(){return clearInterval(l),f=0,this.updateCount(f),0},complete:function(){f=100,this.updateCount(f);var a=this;return e(function(){a.hide(),e(function(){f=0,a.updateCount(f)},500)},1e3),f}}}],this.setColor=function(a){return void 0!==a&&(this.color=a),this.color},this.setHeight=function(a){return void 0!==a&&(this.height=a),this.height}}),angular.module("ngProgress.directive",[]).directive("ngProgress",["$window","$rootScope",function(a,b){var c={replace:!0,restrict:"E",link:function(a,c){b.$watch("count",function(b){(void 0!==b||null!==b)&&(a.counter=b,c.eq(0).children().css("width",b+"%"))}),b.$watch("color",function(b){(void 0!==b||null!==b)&&(a.color=b,c.eq(0).children().css("background-color",b),c.eq(0).children().css("color",b))}),b.$watch("height",function(b){(void 0!==b||null!==b)&&(a.height=b,c.eq(0).children().css("height",b))})},template:'<div id="ngProgress-container"><div id="ngProgress"></div></div>'};return c}]),angular.module("ngProgress",["ngProgress.directive","ngProgress.provider"]); |