function dotlessName(n){var t=n.lastIndexOf(".");return t=t!=-1?t:n.length,n.substring(0,t)}function findPropertyValue(n,t){for(var i=t,r=n,u=i.indexOf(".");u>-1;)if(r=r[i.substring(0,u)],i=i.substring(u+1,i.length),u=i.indexOf("."),$(r).length<1)return null;return i in r?r[i]:null}function addPropertyValue(n,t,i){for(var r=t,u=n,f=r.indexOf("."),e;f>-1;)e=r.substring(0,f),e in u||(u[e]={}),u=u[e],r=r.substring(f+1,r.length),f=r.indexOf(".");u[r]=i}function setOakValidationErrors(n,t){clearOakValidationErrors(n);$.each(t,function(t,i){addPropertyValue(n.ErrorMessage,i.field,i.error)})}function clearOakValidationErrors(n){n.ErrorMessage={}}function validarCPF(n){if((n=n.replace(/[^\d]+/g,""),n=="")||n.length!=11||n=="00000000000"||n=="11111111111"||n=="22222222222"||n=="33333333333"||n=="44444444444"||n=="55555555555"||n=="66666666666"||n=="77777777777"||n=="88888888888"||n=="99999999999")return!1;var t=0;for(i=0;i<9;i++)t+=parseInt(n.charAt(i))*(10-i);if(rev=11-t%11,(rev==10||rev==11)&&(rev=0),rev!=parseInt(n.charAt(9)))return!1;for(t=0,i=0;i<10;i++)t+=parseInt(n.charAt(i))*(11-i);return(rev=11-t%11,(rev==10||rev==11)&&(rev=0),rev!=parseInt(n.charAt(10)))?!1:!0}function validarCNPJ(n){if((n=n.replace(/[^\d]+/g,""),n=="")||n.length!=14||n=="00000000000000"||n=="11111111111111"||n=="22222222222222"||n=="33333333333333"||n=="44444444444444"||n=="55555555555555"||n=="66666666666666"||n=="77777777777777"||n=="88888888888888"||n=="99999999999999")return!1;for(tamanho=n.length-2,numeros=n.substring(0,tamanho),digitos=n.substring(tamanho),soma=0,pos=tamanho-7,i=tamanho;i>=1;i--)soma+=numeros.charAt(tamanho-i)*pos--,pos<2&&(pos=9);if(resultado=soma%11<2?0:11-soma%11,resultado!=digitos.charAt(0))return!1;for(tamanho=tamanho+1,numeros=n.substring(0,tamanho),soma=0,pos=tamanho-7,i=tamanho;i>=1;i--)soma+=numeros.charAt(tamanho-i)*pos--,pos<2&&(pos=9);return(resultado=soma%11<2?0:11-soma%11,resultado!=digitos.charAt(1))?!1:!0}function escapeRegExp(n){return n.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")}function replaceAll(n,t,i){return n.replace(new RegExp(escapeRegExp(t),"g"),i)}function htmlEncode(n){return n?htmlEncodeContainer.text(n).html():""}function htmlDecode(n){return htmlEncodeContainer.html(n).text()}function SubstituiBRPorEnter(n){return n=n.replace(/\r/g,""),n.replace(/<br>/g,"\r\n")}function SubstituiEnterPorBR(n){return n=n.replace(/\r/g,""),n.replace(/\n/g,"<br>")}var htmlEncodeContainer,jsonLocale;(function(n,t,i){"use strict";function y(n){return function(){var r=arguments[0],f="["+(n?n+":":"")+r+"] ",e=arguments[1],u=arguments,o=function(n){return typeof n=="function"?n.toString().replace(/ \{[\s\S]*$/,""):typeof n=="undefined"?"undefined":typeof n!="string"?JSON.stringify(n):n},t,i;for(t=f+e.replace(/\{\d+\}/g,function(n){var i=+n.slice(1,-1),t;return i+2<u.length?(t=u[i+2],typeof t=="function")?t.toString().replace(/ ?\{[\s\S]*$/,""):typeof t=="undefined"?"undefined":typeof t!="string"?st(t):t:n}),t=t+"\nhttp://errors.angularjs.org/1.2.16/"+(n?n+"/":"")+r,i=2;i<arguments.length;i++)t=t+(i==2?"?":"&")+"p"+(i-2)+"="+encodeURIComponent(o(arguments[i]));return new Error(t)}}function er(n){if(n==null||oi(n))return!1;var t=n.length;return n.nodeType===1&&t?!0:e(n)||s(n)||t===0||typeof t=="number"&&t>0&&t-1 in n}function r(n,t,i){var u;if(n)if(c(n))for(u in n)u!="prototype"&&u!="length"&&u!="name"&&(!n.hasOwnProperty||n.hasOwnProperty(u))&&t.call(i,n[u],u);else if(n.forEach&&n.forEach!==r)n.forEach(t,i);else if(er(n))for(u=0;u<n.length;u++)t.call(i,n[u],u);else for(u in n)n.hasOwnProperty(u)&&t.call(i,n[u],u);return n}function af(n){var i=[],t;for(t in n)n.hasOwnProperty(t)&&i.push(t);return i.sort()}function hs(n,t,i){for(var u=af(n),r=0;r<u.length;r++)t.call(i,n[u[r]],u[r]);return u}function vf(n){return function(t,i){n(i,t)}}function or(){for(var n=ot.length,t;n;){if(n--,t=ot[n].charCodeAt(0),t==57)return ot[n]="A",ot.join("");if(t==90)ot[n]="0";else return ot[n]=String.fromCharCode(t+1),ot.join("")}return ot.unshift("0"),ot.join("")}function yf(n,t){t?n.$$hashKey=t:delete n.$$hashKey}function l(n){var t=n.$$hashKey;return r(arguments,function(t){t!==n&&r(t,function(t,i){n[i]=t})}),yf(n,t),n}function k(n){return parseInt(n,10)}function pf(n,t){return l(new(l(function(){},{prototype:n})),t)}function o(){}function ei(n){return n}function g(n){return function(){return n}}function h(n){return typeof n=="undefined"}function f(n){return typeof n!="undefined"}function v(n){return n!=null&&typeof n=="object"}function e(n){return typeof n=="string"}function eu(n){return typeof n=="number"}function pi(n){return gt.call(n)==="[object Date]"}function s(n){return gt.call(n)==="[object Array]"}function c(n){return typeof n=="function"}function sr(n){return gt.call(n)==="[object RegExp]"}function oi(n){return n&&n.document&&n.location&&n.alert&&n.setInterval}function hr(n){return n&&n.$evalAsync&&n.$watch}function cs(n){return gt.call(n)==="[object File]"}function ls(n){return gt.call(n)==="[object Blob]"}function as(n){return!!(n&&(n.nodeName||n.prop&&n.attr&&n.find))}function vs(n,t,i){var u=[];return r(n,function(n,r,f){u.push(t.call(i,n,r,f))}),u}function ys(n,t){return cr(n,t)!=-1}function cr(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(t===n[i])return i;return-1}function wi(n,t){var i=cr(n,t);return i>=0&&n.splice(i,1),t}function tt(n,t){var i,f,u;if(oi(n)||hr(n))throw vi("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(t){if(n===t)throw vi("cpi","Can't copy! Source and destination are identical.");if(s(n))for(t.length=0,i=0;i<n.length;i++)t.push(tt(n[i]));else{f=t.$$hashKey;r(t,function(n,i){delete t[i]});for(u in n)t[u]=tt(n[u]);yf(t,f)}}else t=n,n&&(s(n)?t=tt(n,[]):pi(n)?t=new Date(n.getTime()):sr(n)?t=new RegExp(n.source):v(n)&&(t=tt(n,{})));return t}function wf(n,t){t=t||{};for(var i in n)!n.hasOwnProperty(i)||i.charAt(0)==="$"&&i.charAt(1)==="$"||(t[i]=n[i]);return t}function ni(n,t){if(n===t)return!0;if(n===null||t===null)return!1;if(n!==n&&t!==t)return!0;var f=typeof n,o=typeof t,e,r,u;if(f==o&&f=="object")if(s(n)){if(!s(t))return!1;if((e=n.length)==t.length){for(r=0;r<e;r++)if(!ni(n[r],t[r]))return!1;return!0}}else{if(pi(n))return pi(t)&&n.getTime()==t.getTime();if(sr(n)&&sr(t))return n.toString()==t.toString();if(hr(n)||hr(t)||oi(n)||oi(t)||s(t))return!1;u={};for(r in n)if(r.charAt(0)!=="$"&&!c(n[r])){if(!ni(n[r],t[r]))return!1;u[r]=!0}for(r in t)if(!u.hasOwnProperty(r)&&r.charAt(0)!=="$"&&t[r]!==i&&!c(t[r]))return!1;return!0}return!1}function bf(){return t.securityPolicy&&t.securityPolicy.isActive||t.querySelector&&!!(t.querySelector("[ng-csp]")||t.querySelector("[data-ng-csp]"))}function ou(n,t,i){return n.concat(fu.call(t,i))}function su(n,t){return fu.call(n,t||0)}function lr(n,t){var i=arguments.length>2?su(arguments,2):[];return!c(t)||t instanceof RegExp?t:i.length?function(){return arguments.length?t.apply(n,i.concat(fu.call(arguments,0))):t.apply(n,i)}:function(){return arguments.length?t.apply(n,arguments):t.call(n)}}function ps(n,r){var u=r;return typeof n=="string"&&n.charAt(0)==="$"?u=i:oi(r)?u="$WINDOW":r&&t===r?u="$DOCUMENT":hr(r)&&(u="$SCOPE"),u}function st(n,t){return typeof n=="undefined"?i:JSON.stringify(n,ps,t?"  ":null)}function kf(n){return e(n)?JSON.parse(n):n}function bi(n){if(typeof n=="function")n=!0;else if(n&&n.length!==0){var t=a(""+n);n=!(t=="f"||t=="0"||t=="false"||t=="no"||t=="n"||t=="[]")}else n=!1;return n}function et(n){n=u(n).clone();try{n.empty()}catch(i){}var t=u("<div>").append(n).html();try{return n[0].nodeType===3?a(t):t.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(n,t){return"<"+a(t)})}catch(i){return a(t)}}function df(n){try{return decodeURIComponent(n)}catch(t){}}function gf(n){var i={},u,t;return r((n||"").split("&"),function(n){if(n&&(u=n.split("="),t=df(u[0]),f(t))){var r=f(u[1])?df(u[1]):!0;i[t]?s(i[t])?i[t].push(r):i[t]=[i[t],r]:i[t]=r}}),i}function ne(n){var t=[];return r(n,function(n,i){s(n)?r(n,function(n){t.push(ti(i,!0)+(n===!0?"":"="+ti(n,!0)))}):t.push(ti(i,!0)+(n===!0?"":"="+ti(n,!0)))}),t.length?t.join("&"):""}function hu(n){return ti(n,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ti(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")}function ws(n,i){function e(n){n&&s.push(n)}var s=[n],u,f,o=["ng:app","ng-app","x-ng-app","data-ng-app"],h=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;r(o,function(i){o[i]=!0;e(t.getElementById(i));i=i.replace(":","\\:");n.querySelectorAll&&(r(n.querySelectorAll("."+i),e),r(n.querySelectorAll("."+i+"\\:"),e),r(n.querySelectorAll("["+i+"]"),e))});r(s,function(n){if(!u){var i=" "+n.className+" ",t=h.exec(i);t?(u=n,f=(t[2]||"").replace(/\s+/g,",")):r(n.attributes,function(t){!u&&o[t.name]&&(u=n,f=t.value)})}});u&&i(u,f?[f]:[])}function te(i,f){var e=function(){var r,n;if(i=u(i),i.injector()){r=i[0]===t?"document":et(i);throw vi("btstrpd","App Already Bootstrapped with this Element '{0}'",r);}return f=f||[],f.unshift(["$provide",function(n){n.value("$rootElement",i)}]),f.unshift("ng"),n=ve(f),n.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(n,t,i,r){n.$apply(function(){t.data("$injector",r);i(t)(n)})}]),n},o=/^NG_DEFER_BOOTSTRAP!/;if(n&&!o.test(n.name))return e();n.name=n.name.replace(o,"");ui.resumeBootstrap=function(n){r(n,function(n){f.push(n)});e()}}function ar(n,t){return t=t||"_",n.replace(ie,function(n,i){return(i?t:"")+n.toLowerCase()})}function bs(){dt=n.jQuery;dt?(u=dt,l(dt.fn,{scope:ri.scope,isolateScope:ri.isolateScope,controller:ri.controller,injector:ri.injector,inheritedData:ri.inheritedData}),yu("remove",!0,!0,!1),yu("empty",!1,!1,!1),yu("html",!1,!1,!0)):u=w;ui.element=u}function cu(n,t,i){if(!n)throw vi("areq","Argument '{0}' is {1}",t||"?",i||"required");return n}function ki(n,t,i){return i&&s(n)&&(n=n[n.length-1]),cu(c(n),t,"not a function, got "+(n&&typeof n=="object"?n.constructor.name||"Object":typeof n)),n}function ii(n,t){if(n==="hasOwnProperty")throw vi("badname","hasOwnProperty is not a valid {0} name",t);}function re(n,t,i){var r;if(!t)return n;var u=t.split("."),f,e=n,o=u.length;for(r=0;r<o;r++)f=u[r],n&&(n=(e=n)[f]);return!i&&c(n)?lr(e,n):n}function lu(n){var i=n[0],f=n[n.length-1],t,r;if(i===f)return u(i);t=i;r=[t];do{if(t=t.nextSibling,!t)break;r.push(t)}while(t!==f);return u(r)}function ks(n){function t(n,t,i){return n[t]||(n[t]=i())}var r=y("$injector"),u=y("ng"),i=t(n,"angular",Object);return i.$$minErr=i.$$minErr||y,t(i,"module",function(){var n={};return function(i,f,e){var o=function(n,t){if(n==="hasOwnProperty")throw u("badname","hasOwnProperty is not a valid {0} name",t);};return o(i,"module"),f&&n.hasOwnProperty(i)&&(n[i]=null),t(n,i,function(){function n(n,i,r){return function(){return t[r||"push"]([n,i,arguments]),s}}if(!f)throw r("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var t=[],u=[],o=n("$injector","invoke"),s={_invokeQueue:t,_runBlocks:u,requires:f,name:i,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:n("$provide","value"),constant:n("$provide","constant","unshift"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),config:o,run:function(n){return u.push(n),this}};return e&&o(e),s})}})}function ds(t){l(t,{bootstrap:te,copy:tt,extend:l,equals:ni,element:u,forEach:r,injector:ve,noop:o,bind:lr,toJson:st,fromJson:kf,identity:ei,isUndefined:h,isDefined:f,isString:e,isFunction:c,isObject:v,isNumber:eu,isElement:as,isArray:s,version:ue,isDate:pi,lowercase:a,uppercase:kt,callbacks:{counter:0},$$minErr:y,$$csp:bf});yi=ks(n);try{yi("ngLocale")}catch(i){yi("ngLocale",[]).provider("$locale",hc)}yi("ng",["ngLocale"],["$provide",function(n){n.provider({$$sanitizeUri:il});n.provider("$compile",we).directive({a:go,input:rs,textarea:rs,form:kl,script:pv,select:kv,style:gv,option:dv,ngBind:ya,ngBindHtml:wa,ngBindTemplate:pa,ngClass:ba,ngClassEven:da,ngClassOdd:ka,ngCloak:ga,ngController:nv,ngForm:dl,ngHide:hv,ngIf:tv,ngInclude:iv,ngInit:uv,ngNonBindable:fv,ngPluralize:ev,ngRepeat:ov,ngShow:sv,ngStyle:cv,ngSwitch:lv,ngSwitchWhen:av,ngSwitchDefault:vv,ngOptions:bv,ngTransclude:yv,ngModel:ha,ngList:la,ngChange:ca,required:us,ngRequired:us,ngValue:va}).directive({ngInclude:rv}).directive(nu).directive(fs);n.provider({$anchorScroll:ph,$animate:pe,$browser:kh,$cacheFactory:dh,$controller:nc,$document:tc,$exceptionHandler:ic,$filter:lo,$interpolate:oc,$interval:sc,$http:rc,$httpBackend:fc,$location:vc,$log:yc,$parse:kc,$rootScope:tl,$q:dc,$sce:el,$sceDelegate:fl,$sniffer:ol,$templateCache:gh,$timeout:sl,$window:hl,$$rAF:nl,$$asyncCallback:wh})}])}function nh(){return++gs}function gi(n){return n.replace(th,function(n,t,i,r){return r?i.toUpperCase():i}).replace(ih,"Moz$1")}function yu(n,t,i,r){function e(n){var s=i&&n?[this.filter(n)]:[this],h=t,c,e,a,l,o,v,y;if(!r||n!=null)while(s.length)for(c=s.shift(),e=0,a=c.length;e<a;e++)for(l=u(c[e]),h?l.triggerHandler("$destroy"):h=!h,o=0,v=(y=l.children()).length;o<v;o++)s.push(dt(y[o]));return f.apply(this,arguments)}var f=dt.fn[n];f=f.$original||f;e.$original=f;dt.fn[n]=e}function pu(n){return!uh.test(n)}function oh(n,t){var i,o,r,u=t.createDocumentFragment(),e=[],s,f,h;if(pu(n))e.push(t.createTextNode(n));else{for(i=u.appendChild(t.createElement("div")),o=(fh.exec(n)||["",""])[1].toLowerCase(),r=rt[o]||rt._default,i.innerHTML="<div>&#160;<\/div>"+r[1]+n.replace(eh,"<$1><\/$2>")+r[2],i.removeChild(i.firstChild),s=r[0];s--;)i=i.lastChild;for(f=0,h=i.childNodes.length;f<h;++f)e.push(i.childNodes[f]);i=u.firstChild;i.textContent=""}return u.textContent="",u.innerHTML="",e}function sh(n,i){i=i||t;var r;return(r=rh.exec(n))?[i.createElement(r[1])]:oh(n,i)}function w(n){if(n instanceof w)return n;if(e(n)&&(n=nt(n)),!(this instanceof w)){if(e(n)&&n.charAt(0)!="<")throw vu("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new w(n)}if(e(n)){ku(this,sh(n));var i=u(t.createDocumentFragment());i.append(this)}else ku(this,n)}function wu(n){return n.cloneNode(!0)}function si(n){oe(n);for(var t=0,i=n.childNodes||[];t<i.length;t++)si(i[t])}function ee(n,t,i,u){if(f(u))throw vu("offargs","jqLite#off() does not support the `selector` argument");var e=ht(n,"events"),o=ht(n,"handle");o&&(h(t)?r(e,function(t,i){au(n,i,t);delete e[i]}):r(t.split(" "),function(t){h(i)?(au(n,t,e[t]),delete e[t]):wi(e[t]||[],i)}))}function oe(n,t){var u=n[vr],r=di[u];if(r){if(t){delete di[u].data[t];return}r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),ee(n));delete di[u];n[vr]=i}}function ht(n,t,i){var u=n[vr],r=di[u||-1];if(f(i))r||(n[vr]=u=nh(),r=di[u]={}),r[t]=i;else return r&&r[t]}function se(n,t,i){var r=ht(n,"data"),u=f(i),e=!u&&f(t),o=e&&!v(t);if(r||o||ht(n,"data",r={}),u)r[t]=i;else if(e){if(o)return r&&r[t];l(r,t)}else return r}function bu(n,t){return n.getAttribute?(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function yr(n,t){t&&n.setAttribute&&r(t.split(" "),function(t){n.setAttribute("class",nt((" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+nt(t)+" "," ")))})}function pr(n,t){if(t&&n.setAttribute){var i=(" "+(n.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(t.split(" "),function(n){n=nt(n);i.indexOf(" "+n+" ")===-1&&(i+=n+" ")});n.setAttribute("class",nt(i))}}function ku(n,t){if(t){t=!t.nodeName&&f(t.length)&&!oi(t)?t:[t];for(var i=0;i<t.length;i++)n.push(t[i])}}function he(n,t){return wr(n,"$"+(t||"ngController")+"Controller")}function wr(n,t,r){var o,f,e,h;for(n=u(n),n[0].nodeType==9&&(n=n.find("html")),o=s(t)?t:[t];n.length;){for(f=n[0],e=0,h=o.length;e<h;e++)if((r=n.data(o[e]))!==i)return r;n=u(f.parentNode||f.nodeType===11&&f.host)}}function ce(n){for(var t=0,i=n.childNodes;t<i.length;t++)si(i[t]);while(n.firstChild)n.removeChild(n.firstChild)}function le(n,t){var i=nr[t.toLowerCase()];return i&&du[n.nodeName]&&i}function hh(n,i){var u=function(u,f){var e,o;u.preventDefault||(u.preventDefault=function(){u.returnValue=!1});u.stopPropagation||(u.stopPropagation=function(){u.cancelBubble=!0});u.target||(u.target=u.srcElement||t);h(u.defaultPrevented)&&(e=u.preventDefault,u.preventDefault=function(){u.defaultPrevented=!0;e.call(u)},u.defaultPrevented=!1);u.isDefaultPrevented=function(){return u.defaultPrevented||u.returnValue===!1};o=wf(i[f||u.type]||[]);r(o,function(t){t.call(n,u)});p<=8?(u.preventDefault=null,u.stopPropagation=null,u.isDefaultPrevented=null):(delete u.preventDefault,delete u.stopPropagation,delete u.isDefaultPrevented)};return u.elem=n,u}function hi(n){var r=typeof n,t;return r=="object"&&n!==null?typeof(t=n.$$hashKey)=="function"?t=n.$$hashKey():t===i&&(t=n.$$hashKey=or()):t=n,r+":"+t}function tr(n){r(n,this.put,this)}function ae(n){var t,u,f,i;return typeof n=="function"?(t=n.$inject)||(t=[],n.length&&(u=n.toString().replace(yh,""),f=u.match(lh),r(f[1].split(ah),function(n){n.replace(vh,function(n,i,r){t.push(r)})})),n.$inject=t):s(n)?(i=n.length-1,ki(n[i],"fn"),t=n.slice(0,i)):ki(n,"fn",!0),t}function ve(n){function f(n){return function(t,i){if(v(t))r(t,vf(n));else return n(t,i)}}function b(n,r){if(ii(n,"service"),(c(r)||s(r))&&(r=t.instantiate(r)),!r.$get)throw ir("pget","Provider '{0}' must define $get factory method.",n);return i[n+h]=r}function p(n,t){return b(n,{$get:t})}function nt(n,t){return p(n,["$injector",function(n){return n.instantiate(t)}])}function tt(n,t){return p(n,g(t))}function it(n,t){ii(n,"constant");i[n]=t;y[n]=t}function rt(n,i){var r=t.get(n+h),f=r.$get;r.$get=function(){var n=u.invoke(f,r);return u.invoke(i,null,{$delegate:n})}}function k(n){var i=[],u,o,f,h;return r(n,function(n){if(!w.get(n)){w.put(n,!0);try{if(e(n))for(u=yi(n),i=i.concat(k(u.requires)).concat(u._runBlocks),o=u._invokeQueue,f=0,h=o.length;f<h;f++){var l=o[f],a=t.get(l[0]);a[l[1]].apply(a,l[2])}else c(n)?i.push(t.invoke(n)):s(n)?i.push(t.invoke(n)):ki(n,"module")}catch(r){s(n)&&(n=n[n.length-1]);r.message&&r.stack&&r.stack.indexOf(r.message)==-1&&(r=r.message+"\n"+r.stack);throw ir("modulerr","Failed to instantiate module {0} due to:\n{1}",n,r.stack||r.message||r);}}}),i}function d(n,t){function r(i){if(n.hasOwnProperty(i)){if(n[i]===a)throw ir("cdep","Circular dependency found: {0}",l.join(" <- "));return n[i]}try{return l.unshift(i),n[i]=a,n[i]=t(i)}catch(r){n[i]===a&&delete n[i];throw r;}finally{l.shift()}}function u(n,t,i){for(var o=[],s=ae(n),u,f=0,e=s.length;f<e;f++){if(u=s[f],typeof u!="string")throw ir("itkn","Incorrect injection token! Expected service name as string, got {0}",u);o.push(i&&i.hasOwnProperty(u)?i[u]:r(u))}return n.$inject||(n=n[e]),n.apply(t,o)}function f(n,t){var f=function(){},r,i;return f.prototype=(s(n)?n[n.length-1]:n).prototype,r=new f,i=u(n,r,t),v(i)||c(i)?i:r}return{invoke:u,instantiate:f,get:r,annotate:ae,has:function(t){return i.hasOwnProperty(t+h)||n.hasOwnProperty(t)}}}var a={},h="Provider",l=[],w=new tr,i={$provide:{provider:f(b),factory:f(p),service:f(nt),value:f(tt),constant:f(it),decorator:rt}},t=i.$injector=d(i,function(){throw ir("unpr","Unknown provider: {0}",l.join(" <- "));}),y={},u=y.$injector=d(y,function(n){var i=t.get(n+h);return u.invoke(i.$get,i)});return r(k(n),function(n){u.invoke(n||o)}),u}function ph(){var n=!0;this.disableAutoScrolling=function(){n=!1};this.$get=["$window","$location","$rootScope",function(t,i,u){function o(n){var t=null;return r(n,function(n){t||a(n.nodeName)!=="a"||(t=n)}),t}function e(){var n=i.hash(),r;n?(r=f.getElementById(n))?r.scrollIntoView():(r=o(f.getElementsByName(n)))?r.scrollIntoView():n==="top"&&t.scrollTo(0,0):t.scrollTo(0,0)}var f=t.document;return n&&u.$watch(function(){return i.hash()},function(){u.$evalAsync(e)}),e}]}function wh(){this.$get=["$$rAF","$timeout",function(n,t){return n.supported?function(t){return n(t)}:function(n){return t(n,0,!1)}}]}function bh(n,t,f,s){function g(n){try{n.apply(null,su(arguments,1))}finally{if(a--,a===0)while(w.length)try{w.pop()()}catch(t){f.error(t)}}}function ct(n,t){(function i(){r(b,function(n){n()});ot=t(i,n)})()}function ut(){(tt=null,k!=c.url())&&(k=c.url(),r(it,function(n){n(c.url())}))}var c=this,v=t[0],l=n.location,y=n.history,et=n.setTimeout,ht=n.clearTimeout,p={},a,w,b,ot,it,rt;c.isMock=!1;a=0;w=[];c.$$completeOutstandingRequest=g;c.$$incOutstandingRequestCount=function(){a++};c.notifyWhenNoOutstandingRequests=function(n){r(b,function(n){n()});a===0?n():w.push(n)};b=[];c.addPollFn=function(n){return h(ot)&&ct(100,et),b.push(n),n};var k=l.href,nt=t.find("base"),tt=null;c.url=function(t,i){return l!==n.location&&(l=n.location),y!==n.history&&(y=n.history),t?k==t?void 0:(k=t,s.history?i?y.replaceState(null,"",t):(y.pushState(null,"",t),nt.attr("href",nt.attr("href"))):(tt=t,i?l.replace(t):l.href=t),c):tt||l.href.replace(/%27/g,"'")};it=[];rt=!1;c.onUrlChange=function(t){if(!rt){if(s.history)u(n).on("popstate",ut);if(s.hashchange)u(n).on("hashchange",ut);else c.addPollFn(ut);rt=!0}return it.push(t),t};c.baseHref=function(){var n=nt.attr("href");return n?n.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var d={},ft="",st=c.baseHref();c.cookies=function(n,t){var s,h,r,u,o;if(n)t===i?v.cookie=escape(n)+"=;path="+st+";expires=Thu, 01 Jan 1970 00:00:00 GMT":e(t)&&(s=(v.cookie=escape(n)+"="+escape(t)+";path="+st).length+1,s>4096&&f.warn("Cookie '"+n+"' possibly not set or overflowed because it was too large ("+s+" > 4096 bytes)!"));else{if(v.cookie!==ft)for(ft=v.cookie,h=ft.split("; "),d={},u=0;u<h.length;u++)r=h[u],o=r.indexOf("="),o>0&&(n=unescape(r.substring(0,o)),d[n]===i&&(d[n]=unescape(r.substring(o+1))));return d}};c.defer=function(n,t){var i;return a++,i=et(function(){delete p[i];g(n)},t||0),p[i]=!0,i};c.defer.cancel=function(n){return p[n]?(delete p[n],ht(n),g(o),!0):!1}}function kh(){this.$get=["$window","$log","$sniffer","$document",function(n,t,i,r){return new bh(n,r,t,i)}]}function dh(){this.$get=function(){function t(t,i){function v(n){n!=f&&(r?r==n&&(r=n.n):r=n,c(n.n,n.p),c(n,f),f=n,f.n=null)}function c(n,t){n!=t&&(n&&(n.p=t),t&&(t.n=n))}if(t in n)throw y("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var o=0,a=l({},i,{id:t}),e={},s=i&&i.capacity||Number.MAX_VALUE,u={},f=null,r=null;return n[t]={put:function(n,t){if(s<Number.MAX_VALUE){var i=u[n]||(u[n]={key:n});v(i)}if(!h(t))return n in e||o++,e[n]=t,o>s&&this.remove(r.key),t},get:function(n){if(s<Number.MAX_VALUE){var t=u[n];if(!t)return;v(t)}return e[n]},remove:function(n){if(s<Number.MAX_VALUE){var t=u[n];if(!t)return;t==f&&(f=t.p);t==r&&(r=t.n);c(t.n,t.p);delete u[n]}delete e[n];o--},removeAll:function(){e={};o=0;u={};f=r=null},destroy:function(){e=null;a=null;u=null;delete n[t]},info:function(){return l({},a,{size:o})}}}var n={};return t.info=function(){var t={};return r(n,function(n,i){t[i]=n.info()}),t},t.get=function(t){return n[t]},t}}function gh(){this.$get=["$cacheFactory",function(n){return n("templates")}]}function we(n,o){var h={},a="Directive",y=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,w=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,b=/^(on[a-z]+|formaction)$/;this.directive=function k(t,i){return ii(t,"directive"),e(t)?(cu(i,"directiveFactory"),h.hasOwnProperty(t)||(h[t]=[],n.factory(t+a,["$injector","$exceptionHandler",function(n,i){var u=[];return r(h[t],function(r,f){try{var e=n.invoke(r);c(e)?e={compile:g(e)}:!e.compile&&e.link&&(e.compile=g(e.link));e.priority=e.priority||0;e.index=f;e.name=e.name||t;e.require=e.require||e.controller&&e.name;e.restrict=e.restrict||"A";u.push(e)}catch(o){i(o)}}),u}])),h[t].push(i)):r(t,vf(k)),this};this.aHrefSanitizationWhitelist=function(n){return f(n)?(o.aHrefSanitizationWhitelist(n),this):o.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(n){return f(n)?(o.imgSrcSanitizationWhitelist(n),this):o.imgSrcSanitizationWhitelist()};this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(n,f,o,k,d,tt,it,rt,ft,ot,st,ht){function wt(n,t,i,f,e){n instanceof u||(n=u(n));r(n,function(t,i){t.nodeType==3&&t.nodeValue.match(/\S+/)&&(n[i]=t=u(t).wrap("<span><\/span>").parent()[0])});var o=bt(n,t,n,i,f,e);return lt(n,"ng-scope"),function(t,i,u){var f,e,h,c,s;for(cu(t,"scope"),f=i?ri.clone.call(n):n,r(u,function(n,t){f.data("$"+t+"Controller",n)}),e=0,h=f.length;e<h;e++)c=f[e],s=c.nodeType,(s===1||s===9)&&f.eq(e).data("$scope",t);return i&&i(f,t),o&&o(t,f,f),f}}function lt(n,t){try{n.addClass(t)}catch(i){}}function bt(n,t,r,f,e,o){function w(n,r,f,e){for(var s,h,l,p,a,v,w,y,b=r.length,k=new Array(b),o=0;o<b;o++)k[o]=r[o];for(o=0,y=0,w=c.length;o<w;y++)l=k[y],s=c[o++],h=c[o++],p=u(l),s?(s.scope?(a=n.$new(),p.data("$scope",a)):a=n,v=s.transclude,v||!e&&t?s(h,a,l,f,ui(n,v||t)):s(h,a,l,f,e)):h&&h(n,l.childNodes,i,e)}for(var c=[],l,a,s,v,y,p,h=0;h<n.length;h++)l=new pt,a=kt(n[h],[],l,h===0?f:i,e),s=a.length?si(a,n[h],l,t,r,null,[],[],o):null,s&&s.scope&&lt(u(n[h]),"ng-scope"),y=s&&s.terminal||!(v=n[h].childNodes)||!v.length?null:bt(v,s?s.transclude:t),c.push(s,y),p=p||s||y,o=null;return p?w:null}function ui(n,t){return function(i,r,u){var e=!1,f;if(i||(i=n.$new(),i.$$transcluded=!0,e=!0),f=t(i,r,u),e)f.on("$destroy",lr(i,i.$destroy));return f}}function kt(n,t,i,r,u){var tt=n.nodeType,it=i.$attr,s,h,b,k,g;switch(tt){case 1:vt(t,ct(fi(n).toLowerCase()),"E",r,u);for(var l,o,f,c,d,a=n.attributes,v=0,rt=a&&a.length;v<rt;v++)b=!1,k=!1,l=a[v],(!p||p>=8||l.specified)&&(o=l.name,c=ct(o),ai.test(c)&&(o=ar(c.substr(6),"-")),g=c.replace(/(Start|End)$/,""),c===g+"Start"&&(b=o,k=o.substr(0,o.length-5)+"end",o=o.substr(0,o.length-6)),f=ct(o.toLowerCase()),it[f]=o,i[f]=d=nt(l.value),le(n,f)&&(i[f]=!0),bi(n,t,d,f),vt(t,f,"A",r,u,b,k));if(h=n.className,e(h)&&h!=="")while(s=w.exec(h))f=ct(s[2]),vt(t,f,"C",r,u)&&(i[f]=nt(s[3])),h=h.substr(s.index+s[0].length);break;case 3:pi(t,n.nodeValue);break;case 8:try{s=y.exec(n.nodeValue);s&&(f=ct(s[1]),vt(t,f,"M",r,u)&&(i[f]=nt(s[2])))}catch(ut){}}return t.sort(yi),t}function dt(n,t,i){var r=[],f=0,e;if(t&&n.hasAttribute&&n.hasAttribute(t)){e=n;do{if(!n)throw ut("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,i);n.nodeType==1&&(n.hasAttribute(t)&&f++,n.hasAttribute(i)&&f--);r.push(n);n=n.nextSibling}while(f>0)}else r.push(n);return u(r)}function oi(n,t,i){return function(r,u,f,e,o){return u=dt(u[0],t,i),n(r,u,f,e,o)}}function si(n,h,l,a,y,p,w,b,k){function di(n,t,i,r){n&&(i&&(n=oi(n,i,r)),n.require=d.require,(g===d||d.$$isolateScope)&&(n=li(n,{isolateScope:!0})),w.push(n));t&&(i&&(t=oi(t,i,r)),t.require=d.require,(g===d||d.$$isolateScope)&&(t=li(t,{isolateScope:!0})),b.push(t))}function pi(n,t,i){var u,f="data",o=!1;if(e(n)){while((u=n.charAt(0))=="^"||u=="?")n=n.substr(1),u=="^"&&(f="inheritedData"),o=o||u=="?";if(u=null,i&&f==="data"&&(u=i[n]),u=u||t[f]("$"+n+"Controller"),!u&&!o)throw ut("ctreq","Controller '{0}', required by directive '{1}', can't be found!",n,ot);return u}return s(n)&&(u=[],r(n,function(n){u.push(pi(n,t,i))})),u}function ui(n,t,e,s,c){function yt(n,t){var r;return arguments.length<2&&(t=n,n=i),si&&(r=nt),c(n,t,r)}var v,p,k,st,y,d,a,nt={},rt,at,ft,ot;for(v=h===e?l:wf(l,new pt(u(e),l.$attr)),p=v.$$element,g&&(at=/^\s*([@=&])(\??)\s*(\w*)\s*$/,ft=u(e),a=t.$new(!0),ct&&ct===g.$$originalDirective?ft.data("$isolateScope",a):ft.data("$isolateScopeNoTemplate",a),lt(ft,"ng-isolate-scope"),r(g.scope,function(n,i){var o=n.match(at)||[],r=o[3]||i,l=o[2]=="?",h=o[1],e,u,c,s;a.$$isolateBindings[i]=h+r;switch(h){case"@":v.$observe(r,function(n){a[i]=n});v.$$observers[r].$$scope=t;v[r]&&(a[i]=f(v[r])(t));break;case"=":if(l&&!v[r])return;u=tt(v[r]);s=u.literal?ni:function(n,t){return n===t};c=u.assign||function(){e=a[i]=u(t);throw ut("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",v[r],g.name);};e=a[i]=u(t);a.$watch(function(){var n=u(t);return s(n,a[i])||(s(n,e)?c(t,n=a[i]):a[i]=n),e=n},null,u.literal);break;case"&":u=tt(v[r]);a[i]=function(n){return u(t,n)};break;default:throw ut("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",g.name,i,n);}})),rt=c&&yt,ht&&r(ht,function(n){var r={$scope:n===g||n.$$isolateScope?a:t,$element:p,$attrs:v,$transclude:rt},i;d=n.controller;d=="@"&&(d=v[n.name]);i=it(d,r);nt[n.name]=i;si||p.data("$"+n.name+"Controller",i);n.controllerAs&&(r.$scope[n.controllerAs]=i)}),k=0,st=w.length;k<st;k++)try{y=w[k];y(y.isolateScope?a:t,p,v,y.require&&pi(y.require,p,nt),rt)}catch(vt){o(vt,et(p))}for(ot=t,g&&(g.template||g.templateUrl===null)&&(ot=a),n&&n(ot,e.childNodes,i,c),k=b.length-1;k>=0;k--)try{y=b[k];y(y.isolateScope?a:t,p,v,y.require&&pi(y.require,p,nt),rt)}catch(vt){o(vt,et(p))}}var st,yi,bt,ri;k=k||{};var gt=-Number.MAX_VALUE,fi,ht=k.controllerDirectives,g=k.newIsolateScopeDirective,ct=k.templateDirective,ei=k.nonTlbTranscludeDirective,wi=!1,si=k.hasElementTranscludeDirective,nt=l.$$element=u(h),d,ot,ft,ai=p,ti=a,vt,rt;for(st=0,yi=n.length;st<yi;st++){if(d=n[st],bt=d.$$start,ri=d.$$end,bt&&(nt=dt(h,bt,ri)),ft=i,gt>d.priority)break;if((rt=d.scope)&&(fi=fi||d,d.templateUrl||(at("new/isolated scope",g,d,nt),v(rt)&&(g=d))),ot=d.name,!d.templateUrl&&d.controller&&(rt=d.controller,ht=ht||{},at("'"+ot+"' controller",ht[ot],d,nt),ht[ot]=d),(rt=d.transclude)&&(wi=!0,d.$$tlb||(at("transclusion",ei,d,nt),ei=d),rt=="element"?(si=!0,gt=d.priority,ft=dt(h,bt,ri),nt=l.$$element=u(t.createComment(" "+ot+": "+l[ot]+" ")),h=nt[0],yt(y,u(su(ft)),h),ti=wt(ft,a,gt,ai&&ai.name,{nonTlbTranscludeDirective:ei})):(ft=u(wu(h)).contents(),nt.empty(),ti=wt(ft,a))),d.template)if(at("template",ct,d,nt),ct=d,rt=c(d.template)?d.template(nt,l):d.template,rt=ii(rt),d.replace){if(ai=d,ft=pu(rt)?[]:u(rt),h=ft[0],ft.length!=1||h.nodeType!==1)throw ut("tplrt","Template for directive '{0}' must have exactly one root element. {1}",ot,"");yt(y,nt,h);var bi={$attr:{}},ki=kt(h,[],bi),gi=n.splice(st+1,n.length-(st+1));g&&hi(ki);n=n.concat(ki).concat(gi);ci(l,bi);yi=n.length}else nt.html(rt);if(d.templateUrl)at("template",ct,d,nt),ct=d,d.replace&&(ai=d),ui=vi(n.splice(st,n.length-st),nt,l,y,ti,w,b,{controllerDirectives:ht,newIsolateScopeDirective:g,templateDirective:ct,nonTlbTranscludeDirective:ei}),yi=n.length;else if(d.compile)try{vt=d.compile(nt,l,ti);c(vt)?di(null,vt,bt,ri):vt&&di(vt.pre,vt.post,bt,ri)}catch(nr){o(nr,et(nt))}d.terminal&&(ui.terminal=!0,gt=Math.max(gt,d.priority))}return ui.scope=fi&&fi.scope===!0,ui.transclude=wi&&ti,k.hasElementTranscludeDirective=si,ui}function hi(n){for(var t=0,i=n.length;t<i;t++)n[t]=pf(n[t],{$$isolateScope:!0})}function vt(t,r,u,f,e,s,c){var v;if(r===e)return null;if(v=null,h.hasOwnProperty(r))for(var l,p=n.get(r+a),y=0,w=p.length;y<w;y++)try{l=p[y];(f===i||f>l.priority)&&l.restrict.indexOf(u)!=-1&&(s&&(l=pf(l,{$$start:s,$$end:c})),t.push(l),v=l)}catch(b){o(b)}return v}function ci(n,t){var u=t.$attr,f=n.$attr,i=n.$$element;r(n,function(i,r){r.charAt(0)!="$"&&(t[r]&&(i+=(r==="style"?";":" ")+t[r]),n.$set(r,i,!0,u[r]))});r(t,function(t,r){r=="class"?(lt(i,t),n["class"]=(n["class"]?n["class"]+" ":"")+t):r=="style"?(i.attr("style",i.attr("style")+";"+t),n.style=(n.style?n.style+";":"")+t):r.charAt(0)=="$"||n.hasOwnProperty(r)||(n[r]=t,f[r]=u[r])})}function vi(n,t,i,f,e,o,s,h){var a=[],p,w,b=t[0],y=n.shift(),nt=l({},y,{templateUrl:null,transclude:null,replace:null,$$originalDirective:y}),g=c(y.templateUrl)?y.templateUrl(t,i):y.templateUrl;return t.empty(),k.get(ot.getTrustedResourceUrl(g),{cache:d}).success(function(c){var l,d,tt,ft,it,ot;if(c=ii(c),y.replace){if(tt=pu(c)?[]:u(c),l=tt[0],tt.length!=1||l.nodeType!==1)throw ut("tplrt","Template for directive '{0}' must have exactly one root element. {1}",y.name,g);d={$attr:{}};yt(f,t,l);it=kt(l,[],d);v(y.scope)&&hi(it);n=it.concat(n);ci(i,d)}else l=b,t.html(c);for(n.unshift(nt),p=si(n,l,i,e,t,y,o,s,h),r(f,function(n,i){n==l&&(f[i]=t[0])}),w=bt(t[0].childNodes,e);a.length;){var et=a.shift(),rt=a.shift(),st=a.shift(),ht=a.shift(),k=t[0];rt!==b&&(ot=rt.className,h.hasElementTranscludeDirective&&y.replace||(k=wu(l)),yt(st,u(rt),k),lt(u(k),ot));ft=p.transclude?ui(et,p.transclude):ht;p(w,et,k,f,ft)}a=null}).error(function(n,t,i,r){throw ut("tpload","Failed to load template: {0}",r.url);}),function(n,t,i,r,u){a?(a.push(t),a.push(i),a.push(r),a.push(u)):p(w,t,i,r,u)}}function yi(n,t){var i=t.priority-n.priority;return i!==0?i:n.name!==t.name?n.name<t.name?-1:1:n.index-t.index}function at(n,t,i,r){if(t)throw ut("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",t.name,i.name,n,et(r));}function pi(n,t){var i=f(t,!0);i&&n.push({priority:0,compile:g(function(n,t){var r=t.parent(),u=r.data("$binding")||[];u.push(i);lt(r.data("$binding",u),"ng-binding");n.$watch(i,function(n){t[0].nodeValue=n})})})}function wi(n,t){if(t=="srcdoc")return ot.HTML;var i=fi(n);if(t=="xlinkHref"||i=="FORM"&&t=="action"||i!="IMG"&&(t=="src"||t=="ngSrc"))return ot.RESOURCE_URL}function bi(n,t,i,r){var u=f(i,!0);if(u){if(r==="multiple"&&fi(n)==="SELECT")throw ut("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",et(n));t.push({priority:100,compile:function(){return{pre:function(t,i,e){var o=e.$$observers||(e.$$observers={});if(b.test(r))throw ut("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");(u=f(e[r],!0,wi(n,r)),u)&&(e[r]=u(t),(o[r]||(o[r]=[])).$$inter=!0,(e.$$observers&&e.$$observers[r].$$scope||t).$watch(u,function(n,t){r==="class"&&n!=t?e.$updateClass(n,t):e.$set(r,n)}))}}}})}}function yt(n,i,r){var e=i[0],a=i.length,v=e.parentNode,f,y,c,s,w,l;if(n)for(f=0,y=n.length;f<y;f++)if(n[f]==e){n[f++]=r;for(var o=f,h=o+a-1,p=n.length;o<p;o++,h++)h<p?n[o]=n[h]:delete n[o];n.length-=a-1;break}for(v&&v.replaceChild(r,e),c=t.createDocumentFragment(),c.appendChild(e),r[u.expando]=e[u.expando],s=1,w=i.length;s<w;s++)l=i[s],u(l).remove(),c.appendChild(l),delete i[s];i[0]=r;i.length=1}function li(n,t){return l(function(){return n.apply(null,arguments)},n,t)}var pt=function(n,t){this.$$element=n;this.$attr=t||{}};pt.prototype={$normalize:ct,$addClass:function(n){n&&n.length>0&&st.addClass(this.$$element,n)},$removeClass:function(n){n&&n.length>0&&st.removeClass(this.$$element,n)},$updateClass:function(n,t){var i=ke(n,t),r=ke(t,n);i.length===0?st.removeClass(this.$$element,r):r.length===0?st.addClass(this.$$element,i):st.setClass(this.$$element,i,r)},$set:function(n,t,u,f){var h=le(this.$$element[0],n),e,s;h&&(this.$$element.prop(n,t),f=h);this[n]=t;f?this.$attr[n]=f:(f=this.$attr[n],f||(this.$attr[n]=f=ar(n,"-")));e=fi(this.$$element);(e==="A"&&n==="href"||e==="IMG"&&n==="src")&&(this[n]=t=ht(t,n==="src"));u!==!1&&(t===null||t===i?this.$$element.removeAttr(f):this.$$element.attr(f,t));s=this.$$observers;s&&r(s[n],function(n){try{n(t)}catch(i){o(i)}})},$observe:function(n,t){var i=this,r=i.$$observers||(i.$$observers={}),u=r[n]||(r[n]=[]);return u.push(t),rt.$evalAsync(function(){u.$$inter||t(i[n])}),t}};var gt=f.startSymbol(),ti=f.endSymbol(),ii=gt=="{{"||ti=="}}"?ei:function(n){return n.replace(/\{\{/g,gt).replace(/}}/g,ti)},ai=/^ngAttr[A-Z]/;return wt}]}function ct(n){return gi(n.replace(be,""))}function ke(n,t){var u="",e=n.split(/\s+/),o=t.split(/\s+/),i,f,r;n:for(i=0;i<e.length;i++){for(f=e[i],r=0;r<o.length;r++)if(f==o[r])continue n;u+=(u.length>0?" ":"")+f}return u}function nc(){var n={},t=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(t,i){ii(t,"controller");v(t)?l(n,t):n[t]=i};this.$get=["$injector","$window",function(i,r){return function(u,f){var h,c,o,s;if(e(u)&&(c=u.match(t),o=c[1],s=c[3],u=n.hasOwnProperty(o)?n[o]:re(f.$scope,o,!0)||re(r,o,!0),ki(u,o,!0)),h=i.instantiate(u,f),s){if(!(f&&typeof f.$scope=="object"))throw y("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",o||u.name,s);f.$scope[s]=h}return h}}]}function tc(){this.$get=["$window",function(n){return u(n.document)}]}function ic(){this.$get=["$log",function(n){return function(){n.error.apply(n,arguments)}}]}function de(n){var t={},i,u,f;return n?(r(n.split("\n"),function(n){f=n.indexOf(":");i=a(nt(n.substr(0,f)));u=nt(n.substr(f+1));i&&(t[i]?t[i]+=", "+u:t[i]=u)}),t):t}function ge(n){var t=v(n)?n:i;return function(i){return(t||(t=de(n)),i)?t[a(i)]||null:t}}function no(n,t,i){return c(i)?i(n,t):(r(i,function(i){n=i(n,t)}),n)}function gu(n){return 200<=n&&n<300}function rc(){var u=/^\s*(\[|\{[^\{])/,o=/[\}\]]\s*$/,y=/^\)\]\}',?\n/,t={"Content-Type":"application/json;charset=utf-8"},n=this.defaults={transformResponse:[function(n){return e(n)&&(n=n.replace(y,""),u.test(n)&&o.test(n)&&(n=kf(n))),n}],transformRequest:[function(n){return v(n)&&!cs(n)&&!ls(n)?st(n):n}],headers:{common:{Accept:"application/json, text/plain, */*"},post:tt(t),put:tt(t),patch:tt(t)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},p=this.interceptors=[],w=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(t,u,o,y,b,k){function d(t){function w(n){var t=l({},n,{data:no(n.data,n.headers,f.transformResponse)});return gu(n.status)?t:b.reject(t)}function d(t){function s(n){var t;r(n,function(i,r){c(i)&&(t=i(),t!=null?n[r]=t:delete n[r])})}var i=n.headers,u=l({},t.headers),f,e,o;i=l({},i.common,i[a(t.method)]);s(i);s(u);n:for(f in i){e=a(f);for(o in u)if(a(o)===e)continue n;u[f]=i[f]}return u}var f={method:"get",transformRequest:n.transformRequest,transformResponse:n.transformResponse},o=d(t),v,y,p;l(f,t);f.headers=o;f.method=kt(f.method);v=co(f.url)?u.cookies()[f.xsrfCookieName||n.xsrfCookieName]:i;v&&(o[f.xsrfHeaderName||n.xsrfHeaderName]=v);var k=function(t){o=t.headers;var i=no(t.data,ge(o),t.transformRequest);return h(t.data)&&r(o,function(n,t){a(t)==="content-type"&&delete o[t]}),h(t.withCredentials)&&!h(n.withCredentials)&&(t.withCredentials=n.withCredentials),ut(t,i,o).then(w,w)},s=[k,i],e=b.when(f);for(r(g,function(n){(n.request||n.requestError)&&s.unshift(n.request,n.requestError);(n.response||n.responseError)&&s.push(n.response,n.responseError)});s.length;)y=s.shift(),p=s.shift(),e=e.then(y,p);return e.success=function(n){return e.then(function(t){n(t.data,t.status,t.headers,f)}),e},e.error=function(n){return e.then(null,function(t){n(t.data,t.status,t.headers,f)}),e},e}function it(){r(arguments,function(n){d[n]=function(t,i){return d(l(i||{},{method:n,url:t}))}})}function rt(){r(arguments,function(n){d[n]=function(t,i,r){return d(l(r||{},{method:n,url:t,data:i}))}})}function ut(i,r,u){function k(n,t,i,r){o&&(gu(n)?o.put(c,[n,t,de(i),r]):o.remove(c));w(t,n,i,r);y.$$phase||y.$apply()}function w(n,t,r,u){t=Math.max(t,0);(gu(t)?a.resolve:a.reject)({data:n,status:t,headers:ge(r),config:i,statusText:u})}function l(){var n=cr(d.pendingRequests,i);n!==-1&&d.pendingRequests.splice(n,1)}var a=b.defer(),p=a.promise,o,e,c=ft(i.url,i.params);if(d.pendingRequests.push(i),p.then(l,l),(i.cache||n.cache)&&i.cache!==!1&&i.method=="GET"&&(o=v(i.cache)?i.cache:v(n.cache)?n.cache:nt),o)if(e=o.get(c),f(e)){if(e.then)return e.then(l,l),e;s(e)?w(e[1],e[0],tt(e[2]),e[3]):w(e,200,{},"OK")}else o.put(c,p);return h(e)&&t(i.method,c,r,k,u,i.timeout,i.withCredentials,i.responseType),p}function ft(n,t){if(!t)return n;var i=[];return hs(t,function(n,t){n===null||h(n)||(s(n)||(n=[n]),r(n,function(n){v(n)&&(n=st(n));i.push(ti(t)+"="+ti(n))}))}),i.length>0&&(n+=(n.indexOf("?")==-1?"?":"&")+i.join("&")),n}var nt=o("$http"),g=[];return r(p,function(n){g.unshift(e(n)?k.get(n):k.invoke(n))}),r(w,function(n,t){var i=e(n)?k.get(n):k.invoke(n);g.splice(t,0,{response:function(n){return i(b.when(n))},responseError:function(n){return i(b.reject(n))}})}),d.pendingRequests=[],it("get","delete","head","jsonp"),rt("post","put"),d.defaults=n,d}]}function uc(t){if(p<=8&&(!t.match(/^(get|post|head|put|delete|options)$/i)||!n.XMLHttpRequest))return new n.ActiveXObject("Microsoft.XMLHTTP");if(n.XMLHttpRequest)return new n.XMLHttpRequest;throw y("$httpBackend")("noxhr","This browser does not support XMLHttpRequest.");}function fc(){this.$get=["$browser","$window","$document",function(n,t,i){return ec(n,uc,n.defer,t.angular.callbacks,i[0])}]}function ec(n,t,i,u,e){function h(n,t){var i=e.createElement("script"),r=function(){i.onreadystatechange=i.onload=i.onerror=null;e.body.removeChild(i);t&&t()};return i.type="text/javascript",i.src=n,p&&p<=8?i.onreadystatechange=function(){/loaded|complete/.test(i.readyState)&&r()}:i.onload=i.onerror=function(){r()},e.body.appendChild(i),r}var s=-1;return function(e,c,l,v,y,p,w,b){function rt(){g=s;nt&&nt();k&&k.abort()}function it(t,r,u,f,e){tt&&i.cancel(tt);nt=k=null;r===0&&(r=u?200:pt(c).protocol=="file"?404:0);r=r===1223?204:r;e=e||"";t(r,u,f,e);n.$$completeOutstandingRequest(o)}var g,d,nt,k,tt;if(n.$$incOutstandingRequestCount(),c=c||n.url(),a(e)=="jsonp")d="_"+(u.counter++).toString(36),u[d]=function(n){u[d].data=n},nt=h(c.replace("JSON_CALLBACK","angular.callbacks."+d),function(){u[d].data?it(v,200,u[d].data):it(v,g||-2);u[d]=ui.noop});else{if(k=t(e),k.open(e,c,!0),r(y,function(n,t){f(n)&&k.setRequestHeader(t,n)}),k.onreadystatechange=function(){if(k&&k.readyState==4){var n=null,t=null;g!==s&&(n=k.getAllResponseHeaders(),t="response"in k?k.response:k.responseText);it(v,g||k.status,t,n,k.statusText||"")}},w&&(k.withCredentials=!0),b)try{k.responseType=b}catch(ut){if(b!=="json")throw ut;}k.send(l||null)}p>0?tt=i(rt,p):p&&p.then&&p.then(rt)}}function oc(){var n="{{",t="}}";this.startSymbol=function(t){return t?(n=t,this):n};this.endSymbol=function(n){return n?(t=n,this):t};this.$get=["$parse","$exceptionHandler","$sce",function(i,r,u){function f(f,s,c){for(var p,w,l=0,a=[],v=f.length,k=!1,y,d,b=[];l<v;)(p=f.indexOf(n,l))!=-1&&(w=f.indexOf(t,p+e))!=-1?(l!=p&&a.push(f.substring(l,p)),a.push(y=i(d=f.substring(p+e,w))),y.exp=d,l=w+o,k=!0):(l!=v&&a.push(f.substring(l)),l=v);if((v=a.length)||(a.push(""),v=1),c&&a.length>1)throw nf("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.  See http://docs.angularjs.org/api/ng.$sce",f);if(!s||k)return b.length=v,y=function(n){var i,e,t,o;try{for(i=0,e=v;i<e;i++)typeof(t=a[i])=="function"&&(t=t(n),t=c?u.getTrusted(c,t):u.valueOf(t),t===null||h(t)?t="":typeof t!="string"&&(t=st(t))),b[i]=t;return b.join("")}catch(s){o=nf("interr","Can't interpolate: {0}\n{1}",f,s.toString());r(o)}},y.exp=f,y.parts=a,y}var e=n.length,o=t.length;return f.startSymbol=function(){return n},f.endSymbol=function(){return t},f}]}function sc(){this.$get=["$rootScope","$window","$q",function(n,t,i){function u(u,e,o,s){var a=t.setInterval,v=t.clearInterval,c=i.defer(),h=c.promise,l=0,y=f(s)&&!s;return o=f(o)?o:0,h.then(null,null,u),h.$$intervalId=a(function(){c.notify(l++);o>0&&l>=o&&(c.resolve(l),v(h.$$intervalId),delete r[h.$$intervalId]);y||n.$apply()},e),r[h.$$intervalId]=c,h}var r={};return u.cancel=function(n){return n&&n.$$intervalId in r?(r[n.$$intervalId].reject("canceled"),clearInterval(n.$$intervalId),delete r[n.$$intervalId],!0):!1},u}]}function hc(){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(n){return n===1?"one":"other"}}}}function to(n){for(var t=n.split("/"),i=t.length;i--;)t[i]=hu(t[i]);return t.join("/")}function io(n,t,i){var r=pt(n,i);t.$$protocol=r.protocol;t.$$host=r.hostname;t.$$port=k(r.port)||lc[r.protocol]||null}function ro(n,t,i){var u=n.charAt(0)!=="/",r;u&&(n="/"+n);r=pt(n,i);t.$$path=decodeURIComponent(u&&r.pathname.charAt(0)==="/"?r.pathname.substring(1):r.pathname);t.$$search=gf(r.search);t.$$hash=decodeURIComponent(r.hash);t.$$path&&t.$$path.charAt(0)!="/"&&(t.$$path="/"+t.$$path)}function lt(n,t){if(t.indexOf(n)===0)return t.substr(n.length)}function rr(n){var t=n.indexOf("#");return t==-1?n:n.substr(0,t)}function rf(n){return n.substr(0,rr(n).lastIndexOf("/")+1)}function ac(n){return n.substring(0,n.indexOf("/",n.indexOf("//")+2))}function uo(n,t){this.$$html5=!0;t=t||"";var r=rf(n);io(n,this,n);this.$$parse=function(t){var i=lt(r,t);if(!e(i))throw tf("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,r);ro(i,this,n);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var n=ne(this.$$search),t=this.$$hash?"#"+hu(this.$$hash):"";this.$$url=to(this.$$path)+(n?"?"+n:"")+t;this.$$absUrl=r+this.$$url.substr(1)};this.$$rewrite=function(u){var f,e;return(f=lt(n,u))!==i?(e=f,(f=lt(t,f))!==i?r+(lt("/",f)||f):n+e):(f=lt(r,u))!==i?r+f:r==u+"/"?r:void 0}}function uf(n,t){var i=rf(n);io(n,this,n);this.$$parse=function(r){function o(n,t,i){var u=/^\/?.*?:(\/.*)/,r;return(t.indexOf(i)===0&&(t=t.replace(i,"")),u.exec(t))?n:(r=u.exec(n),r?r[1]:n)}var u=lt(n,r)||lt(i,r),f=u.charAt(0)=="#"?lt(t,u):this.$$html5?u:"";if(!e(f))throw tf("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',r,t);ro(f,this,n);this.$$path=o(this.$$path,f,n);this.$$compose()};this.$$compose=function(){var i=ne(this.$$search),r=this.$$hash?"#"+hu(this.$$hash):"";this.$$url=to(this.$$path)+(i?"?"+i:"")+r;this.$$absUrl=n+(this.$$url?t+this.$$url:"")};this.$$rewrite=function(t){if(rr(n)==rr(t))return t}}function fo(n,t){this.$$html5=!0;uf.apply(this,arguments);var i=rf(n);this.$$rewrite=function(r){var u;return n==rr(r)?r:(u=lt(i,r))?n+t+u:i===r+"/"?i:void 0}}function br(n){return function(){return this[n]}}function eo(n,t){return function(i){return h(i)?this[n]:(this[n]=t(i),this.$$compose(),this)}}function vc(){var t="",i=!1;this.hashPrefix=function(n){return f(n)?(t=n,this):t};this.html5Mode=function(n){return f(n)?(i=n,this):i};this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(r,f,e,o){function p(n){r.$broadcast("$locationChangeSuccess",s.absUrl(),n)}var s,l,w=f.baseHref(),h=f.url(),y,c;i?(y=ac(h)+(w||"/"),l=e.history?uo:fo):(y=rr(h),l=uf);s=new l(y,"#"+t);s.$$parse(s.$$rewrite(h));o.on("click",function(t){var i,e,h;if(!t.ctrlKey&&!t.metaKey&&t.which!=2){for(i=u(t.target);a(i[0].nodeName)!=="a";)if(i[0]===o[0]||!(i=i.parent())[0])return;e=i.prop("href");v(e)&&e.toString()==="[object SVGAnimatedString]"&&(e=pt(e.animVal).href);h=s.$$rewrite(e);e&&!i.attr("target")&&h&&!t.isDefaultPrevented()&&(t.preventDefault(),h!=f.url()&&(s.$$parse(h),r.$apply(),n.angular["ff-684208-preventDefault"]=!0))}});s.absUrl()!=h&&f.url(s.absUrl(),!0);f.onUrlChange(function(n){s.absUrl()!=n&&(r.$evalAsync(function(){var t=s.absUrl();s.$$parse(n);r.$broadcast("$locationChangeStart",n,t).defaultPrevented?(s.$$parse(t),f.url(t)):p(t)}),r.$$phase||r.$digest())});return c=0,r.$watch(function(){var n=f.url(),t=s.$$replace;return c&&n==s.absUrl()||(c++,r.$evalAsync(function(){r.$broadcast("$locationChangeStart",s.absUrl(),n).defaultPrevented?s.$$parse(n):(f.url(s.absUrl(),t),p(n))})),s.$$replace=!1,c}),s}]}function yc(){var n=!0,t=this;this.debugEnabled=function(t){return f(t)?(n=t,this):n};this.$get=["$window",function(i){function f(n){return n instanceof Error&&(n.stack?n=n.message&&n.stack.indexOf(n.message)===-1?"Error: "+n.message+"\n"+n.stack:n.stack:n.sourceURL&&(n=n.message+"\n"+n.sourceURL+":"+n.line)),n}function u(n){var t=i.console||{},u=t[n]||t.log||o,e=!1;try{e=!!u.apply}catch(s){}return e?function(){var n=[];return r(arguments,function(t){n.push(f(t))}),u.apply(t,n)}:function(n,t){u(n,t==null?"":t)}}return{log:u("log"),info:u("info"),warn:u("warn"),error:u("error"),debug:function(){var i=u("debug");return function(){n&&i.apply(t,arguments)}}()}}]}function ft(n,t){if(n==="constructor")throw vt("isecfld",'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}',t);return n}function ur(n,t){if(n)if(n.constructor===n)throw vt("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);else if(n.document&&n.location&&n.alert&&n.setInterval)throw vt("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);else if(n.children&&(n.nodeName||n.prop&&n.attr&&n.find))throw vt("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t);return n}function kr(n,t,r,u,f){var s,e,h,o;for(f=f||{},s=t.split("."),h=0;s.length>1;h++)e=ft(s.shift(),u),o=n[e],o||(o={},n[e]=o),n=o,n.then&&f.unwrapPromises&&(yt(u),"$$v"in n||function(n){n.then(function(t){n.$$v=t})}(n),n.$$v===i&&(n.$$v={}),n=n.$$v);return e=ft(s.shift(),u),n[e]=r,r}function oo(n,t,r,u,f,e,o){return ft(n,e),ft(t,e),ft(r,e),ft(u,e),ft(f,e),o.unwrapPromises?function(o,s){var h=s&&s.hasOwnProperty(n)?s:o,c;return h==null?h:(h=h[n],h&&h.then&&(yt(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!t)?h:h==null?i:(h=h[t],h&&h.then&&(yt(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!r)?h:h==null?i:(h=h[r],h&&h.then&&(yt(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!u)?h:h==null?i:(h=h[u],h&&h.then&&(yt(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),!f)?h:h==null?i:(h=h[f],h&&h.then&&(yt(e),"$$v"in h||(c=h,c.$$v=i,c.then(function(n){c.$$v=n})),h=h.$$v),h)}:function(e,o){var s=o&&o.hasOwnProperty(n)?o:e;return s==null?s:(s=s[n],!t)?s:s==null?i:(s=s[t],!r)?s:s==null?i:(s=s[r],!u)?s:s==null?i:(s=s[u],!f)?s:s==null?i:s[f]}}function wc(n,t){return ft(n,t),function(t,r){return t==null?i:(r&&r.hasOwnProperty(n)?r:t)[n]}}function bc(n,t,r){return ft(n,r),ft(t,r),function(r,u){return r==null?i:(r=(u&&u.hasOwnProperty(n)?u:r)[n],r==null?i:r[t])}}function so(n,t,u){var f,o,e,s,h;return dr.hasOwnProperty(n)?dr[n]:(f=n.split("."),o=f.length,t.unwrapPromises||o!==1?t.unwrapPromises||o!==2?t.csp?e=o<6?oo(f[0],f[1],f[2],f[3],f[4],u,t):function(n,r){var e=0,s;do s=oo(f[e++],f[e++],f[e++],f[e++],f[e++],u,t)(n,r),r=i,n=s;while(e<o);return s}:(s="var p;\n",r(f,function(n,i){ft(n,u);s+="if(s == null) return undefined;\ns="+(i?"s":'((k&&k.hasOwnProperty("'+n+'"))?k:s)')+'["'+n+'"];\n'+(t.unwrapPromises?'if (s && s.then) {\n pw("'+u.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':"")}),s+="return s;",h=new Function("s","k","pw",s),h.toString=g(s),e=t.unwrapPromises?function(n,t){return h(n,t,yt)}:h):e=bc(f[0],f[1],u):e=wc(f[0],u),n!=="hasOwnProperty"&&(dr[n]=e),e)}function kc(){var t={},n={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(t){return f(t)?(n.unwrapPromises=!!t,this):n.unwrapPromises};this.logPromiseWarnings=function(t){return f(t)?(n.logPromiseWarnings=t,this):n.logPromiseWarnings};this.$get=["$filter","$sniffer","$log",function(i,r,u){return n.csp=r.csp,yt=function(t){n.logPromiseWarnings&&!ff.hasOwnProperty(t)&&(ff[t]=!0,u.warn("[$parse] Promise found in the expression `"+t+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(r){var u,f,e;switch(typeof r){case"string":return t.hasOwnProperty(r)?t[r]:(f=new ef(n),e=new li(f,i,n),u=e.parse(r,!1),r!=="hasOwnProperty"&&(t[r]=u),u);case"function":return r;default:return o}}}]}function dc(){this.$get=["$rootScope","$exceptionHandler",function(n,t){return gc(function(t){n.$evalAsync(t)},t)}]}function gc(n,t){function f(n){return n}function h(n){return o(n)}function v(n){var i=u(),f=0,t=s(n)?[]:{};return r(n,function(n,r){f++;e(n).then(function(n){t.hasOwnProperty(r)||(t[r]=n,--f||i.resolve(t))},function(n){t.hasOwnProperty(r)||i.reject(n)})}),f===0&&i.resolve(t),i.promise}var u=function(){var r=[],o,s;return s={resolve:function(t){if(r){var u=r;r=i;o=e(t);u.length&&n(function(){for(var n,t=0,i=u.length;t<i;t++)n=u[t],o.then(n[0],n[1],n[2])})}},reject:function(n){s.resolve(l(n))},notify:function(t){if(r){var i=r;r.length&&n(function(){for(var r,n=0,u=i.length;n<u;n++)r=i[n],r[2](t)})}},promise:{then:function(n,i,e){var s=u(),l=function(i){try{s.resolve((c(n)?n:f)(i))}catch(r){s.reject(r);t(r)}},a=function(n){try{s.resolve((c(i)?i:h)(n))}catch(r){s.reject(r);t(r)}},v=function(n){try{s.notify((c(e)?e:f)(n))}catch(i){t(i)}};return r?r.push([l,a,v]):o.then(l,a,v),s.promise},"catch":function(n){return this.then(null,n)},"finally":function(n){function t(n,t){var i=u();return t?i.resolve(n):i.reject(n),i.promise}function i(i,r){var u=null;try{u=(n||f)()}catch(e){return t(e,!1)}return u&&c(u.then)?u.then(function(){return t(i,r)},function(n){return t(n,!1)}):t(i,r)}return this.then(function(n){return i(n,!0)},function(n){return i(n,!1)})}}}},e=function(t){return t&&c(t.then)?t:{then:function(i){var r=u();return n(function(){r.resolve(i(t))}),r.promise}}},o=function(n){var t=u();return t.reject(n),t.promise},l=function(i){return{then:function(r,f){var e=u();return n(function(){try{e.resolve((c(f)?f:h)(i))}catch(n){e.reject(n);t(n)}}),e.promise}}},a=function(i,r,s,l){var v=u(),a,w=function(n){try{return(c(r)?r:f)(n)}catch(i){return t(i),o(i)}},y=function(n){try{return(c(s)?s:h)(n)}catch(i){return t(i),o(i)}},p=function(n){try{return(c(l)?l:f)(n)}catch(i){t(i)}};return n(function(){e(i).then(function(n){a||(a=!0,v.resolve(e(n).then(w,y,p)))},function(n){a||(a=!0,v.resolve(y(n)))},function(n){a||v.notify(p(n))})}),v.promise};return{defer:u,reject:o,when:a,all:v}}function nl(){this.$get=["$window","$timeout",function(n,t){var i=n.requestAnimationFrame||n.webkitRequestAnimationFrame||n.mozRequestAnimationFrame,f=n.cancelAnimationFrame||n.webkitCancelAnimationFrame||n.mozCancelAnimationFrame||n.webkitCancelRequestAnimationFrame,r=!!i,u=r?function(n){var t=i(n);return function(){f(t)}}:function(n){var i=t(n,16.66,!1);return function(){t.cancel(i)}};return u.supported=r,u}]}function tl(){var t=10,i=y("$rootScope"),n=null;this.digestTtl=function(n){return arguments.length&&(t=n),t};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(u,f,e,s){function a(){this.$id=or();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 y(n){if(h.$$phase)throw i("inprog","{0} already in progress",h.$$phase);h.$$phase=n}function l(){h.$$phase=null}function p(n,t){var i=e(n);return ki(i,t),i}function w(n,t,i){do n.$$listenerCount[i]-=t,n.$$listenerCount[i]===0&&delete n.$$listenerCount[i];while(n=n.$parent)}function b(){}a.prototype={constructor:a,$new:function(n){var i,t;return n?(t=new a,t.$root=this.$root,t.$$asyncQueue=this.$$asyncQueue,t.$$postDigestQueue=this.$$postDigestQueue):(i=function(){},i.prototype=this,t=new i,t.$id=or()),t["this"]=t,t.$$listeners={},t.$$listenerCount={},t.$parent=this,t.$$watchers=t.$$nextSibling=t.$$childHead=t.$$childTail=null,t.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=t,this.$$childTail=t):this.$$childHead=this.$$childTail=t,t},$watch:function(t,i,r){var e=this,s=p(t,"watch"),f=e.$$watchers,u={fn:i,last:b,get:s,exp:t,eq:!!r},h,l;return n=null,c(i)||(h=p(i||o,"listener"),u.fn=function(n,t,i){h(i)}),typeof t=="string"&&s.constant&&(l=u.fn,u.fn=function(n,t,i){l.call(this,n,t,i);wi(f,u)}),f||(f=e.$$watchers=[]),f.unshift(u),function(){wi(f,u);n=null}},$watchCollection:function(n,t){function p(){var e,n,t,o;if(i=y(s),v(i))if(er(i))for(r!==h&&(r=h,f=r.length=0,u++),e=i.length,f!==e&&(u++,r.length=f=e),t=0;t<e;t++)o=r[t]!==r[t]&&i[t]!==i[t],o||r[t]===i[t]||(u++,r[t]=i[t]);else{r!==c&&(r=c={},f=0,u++);e=0;for(n in i)i.hasOwnProperty(n)&&(e++,r.hasOwnProperty(n)?r[n]!==i[n]&&(u++,r[n]=i[n]):(f++,r[n]=i[n],u++));if(f>e){u++;for(n in r)r.hasOwnProperty(n)&&!i.hasOwnProperty(n)&&(f--,delete r[n])}}else r!==i&&(r=i,u++);return u}function w(){var n,r;if(l?(l=!1,t(i,i,s)):t(i,o,s),a)if(v(i))if(er(i))for(o=new Array(i.length),n=0;n<i.length;n++)o[n]=i[n];else{o={};for(r in i)lf.call(i,r)&&(o[r]=i[r])}else o=i}var s=this,i,r,o,a=t.length>1,u=0,y=e(n),h=[],c={},l=!0,f=0;return this.$watch(p,w)},$digest:function(){var r,e,o,p,h=this.$$asyncQueue,ut=this.$$postDigestQueue,w,s,k=t,d,u,g=this,a=[],v,nt,it;y("$digest");n=null;do{for(s=!1,u=g;h.length;){try{it=h.shift();it.scope.$eval(it.expression)}catch(rt){l();f(rt)}n=null}n:do{if(p=u.$$watchers)for(w=p.length;w--;)try{if(r=p[w],r)if((e=r.get(u))===(o=r.last)||(r.eq?ni(e,o):typeof e=="number"&&typeof o=="number"&&isNaN(e)&&isNaN(o))){if(r===n){s=!1;break n}}else s=!0,n=r,r.last=r.eq?tt(e):e,r.fn(e,o===b?e:o,u),k<5&&(v=4-k,a[v]||(a[v]=[]),nt=c(r.exp)?"fn: "+(r.exp.name||r.exp.toString()):r.exp,nt+="; newVal: "+st(e)+"; oldVal: "+st(o),a[v].push(nt))}catch(rt){l();f(rt)}if(!(d=u.$$childHead||u!==g&&u.$$nextSibling))while(u!==g&&!(d=u.$$nextSibling))u=u.$parent}while(u=d);if((s||h.length)&&!k--){l();throw i("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",t,st(a));}}while(s||h.length);for(l();ut.length;)try{ut.shift()()}catch(rt){f(rt)}},$destroy:function(){if(!this.$$destroyed){var n=this.$parent;(this.$broadcast("$destroy"),this.$$destroyed=!0,this!==h)&&(r(this.$$listenerCount,lr(null,w,this)),n.$$childHead==this&&(n.$$childHead=this.$$nextSibling),n.$$childTail==this&&(n.$$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=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=o,this.$on=this.$watch=function(){return o})}},$eval:function(n,t){return e(n)(this,t)},$evalAsync:function(n){h.$$phase||h.$$asyncQueue.length||s.defer(function(){h.$$asyncQueue.length&&h.$digest()});this.$$asyncQueue.push({scope:this,expression:n})},$$postDigest:function(n){this.$$postDigestQueue.push(n)},$apply:function(n){try{return y("$apply"),this.$eval(n)}catch(t){f(t)}finally{l();try{h.$digest()}catch(t){f(t);throw t;}}},$on:function(n,t){var r=this.$$listeners[n],i,u;r||(this.$$listeners[n]=r=[]);r.push(t);i=this;do i.$$listenerCount[n]||(i.$$listenerCount[n]=0),i.$$listenerCount[n]++;while(i=i.$parent);return u=this,function(){r[cr(r,t)]=null;w(u,1,n)}},$emit:function(n){var s=[],r,i=this,o=!1,u={name:n,targetScope:i,stopPropagation:function(){o=!0},preventDefault:function(){u.defaultPrevented=!0},defaultPrevented:!1},h=ou([u],arguments,1),t,e;do{for(r=i.$$listeners[n]||s,u.currentScope=i,t=0,e=r.length;t<e;t++){if(!r[t]){r.splice(t,1);t--;e--;continue}try{r[t].apply(null,h)}catch(c){f(c)}}if(o)return u;i=i.$parent}while(i);return u},$broadcast:function(n){for(var r=this,t=r,o=r,e={name:n,targetScope:r,preventDefault:function(){e.defaultPrevented=!0},defaultPrevented:!1},h=ou([e],arguments,1),u,i,s;t=o;){for(e.currentScope=t,u=t.$$listeners[n]||[],i=0,s=u.length;i<s;i++){if(!u[i]){u.splice(i,1);i--;s--;continue}try{u[i].apply(null,h)}catch(c){f(c)}}if(!(o=t.$$listenerCount[n]&&t.$$childHead||t!==r&&t.$$nextSibling))while(t!==r&&!(o=t.$$nextSibling))t=t.$parent}return e}};var h=new a;return h}]}function il(){var n=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*(https?|ftp|file):|data:image\//;this.aHrefSanitizationWhitelist=function(t){return f(t)?(n=t,this):n};this.imgSrcSanitizationWhitelist=function(n){return f(n)?(t=n,this):t};this.$get=function(){return function(i,r){var f=r?t:n,u;return(!p||p>=8)&&(u=pt(i).href,u!==""&&!u.match(f))?"unsafe:"+u:i}}}function rl(n){return n.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}function ul(n){if(n==="self")return n;if(e(n)){if(n.indexOf("***")>-1)throw at("iwcard","Illegal sequence *** in string matcher.  String: {0}",n);return n=rl(n).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+n+"$")}if(sr(n))return new RegExp("^"+n.source+"$");throw at("imatcher",'Matchers may only be "self", string patterns or RegExp objects');}function ho(n){var t=[];return f(n)&&r(n,function(n){t.push(ul(n))}),t}function fl(){this.SCE_CONTEXTS=it;var n=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(n=ho(t)),n};this.resourceUrlBlacklist=function(n){return arguments.length&&(t=ho(n)),t};this.$get=["$injector",function(r){function s(n,t){return n==="self"?co(t):!!n.exec(t.href)}function h(i){for(var e=pt(i.toString()),f=!1,r=0,u=n.length;r<u;r++)if(s(n[r],e)){f=!0;break}if(f)for(r=0,u=t.length;r<u;r++)if(s(t[r],e)){f=!1;break}return f}function f(n){var t=function(n){this.$$unwrapTrustedValue=function(){return n}};return n&&(t.prototype=new n),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function c(n,t){var r=u.hasOwnProperty(n)?u[n]:null;if(!r)throw at("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",n,t);if(t===null||t===i||t==="")return t;if(typeof t!="string")throw at("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",n);return new r(t)}function l(n){return n instanceof e?n.$$unwrapTrustedValue():n}function a(n,t){if(t===null||t===i||t==="")return t;var r=u.hasOwnProperty(n)?u[n]:null;if(r&&t instanceof r)return t.$$unwrapTrustedValue();if(n===it.RESOURCE_URL){if(h(t))return t;throw at("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",t.toString());}else if(n===it.HTML)return o(t);throw at("unsafe","Attempting to use an unsafe value in a safe context.");}var o=function(){throw at("unsafe","Attempting to use an unsafe value in a safe context.");},e,u;return r.has("$sanitize")&&(o=r.get("$sanitize")),e=f(),u={},u[it.HTML]=f(e),u[it.CSS]=f(e),u[it.URL]=f(e),u[it.JS]=f(e),u[it.RESOURCE_URL]=f(u[it.URL]),{trustAs:c,getTrusted:a,valueOf:l}}]}function el(){var n=!0;this.enabled=function(t){return arguments.length&&(n=!!t),n};this.$get=["$parse","$sniffer","$sceDelegate",function(t,i,u){var f;if(n&&i.msie&&i.msieDocumentMode<8)throw at("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");f=tt(it);f.isEnabled=function(){return n};f.trustAs=u.trustAs;f.getTrusted=u.getTrusted;f.valueOf=u.valueOf;n||(f.trustAs=f.getTrusted=function(n,t){return t},f.valueOf=ei);f.parseAs=function(n,i){var r=t(i);return r.literal&&r.constant?r:function(t,i){return f.getTrusted(n,r(t,i))}};var e=f.parseAs,o=f.getTrusted,s=f.trustAs;return r(it,function(n,t){var i=a(t);f[gi("parse_as_"+i)]=function(t){return e(n,t)};f[gi("get_trusted_"+i)]=function(t){return o(n,t)};f[gi("trust_as_"+i)]=function(t){return s(n,t)}}),f}]}function ol(){this.$get=["$window","$document",function(n,t){var s={},c=k((/android (\d+)/.exec(a((n.navigator||{}).userAgent))||[])[1]),w=/Boxee/i.test((n.navigator||{}).userAgent),u=t[0]||{},l=u.documentMode,i,r=u.body&&u.body.style,f=!1,o=!1,v,y;if(r){for(y in r)if(v=/^(Moz|webkit|O|ms)(?=[A-Z])/.exec(y)){i=v[0];i=i.substr(0,1).toUpperCase()+i.substr(1);break}i||(i="WebkitOpacity"in r&&"webkit");f=!!("transition"in r||i+"Transition"in r);o=!!("animation"in r||i+"Animation"in r);!c||f&&o||(f=e(u.body.style.webkitTransition),o=e(u.body.style.webkitAnimation))}return{history:!!(n.history&&n.history.pushState&&!(c<4)&&!w),hashchange:"onhashchange"in n&&(!l||l>7),hasEvent:function(n){if(n=="input"&&p==9)return!1;if(h(s[n])){var t=u.createElement("div");s[n]="on"+n in t}return s[n]},csp:bf(),vendorPrefix:i,transitions:f,animations:o,android:c,msie:p,msieDocumentMode:l}}]}function sl(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(n,t,i,r){function e(e,o,s){var h=i.defer(),c=h.promise,a=f(s)&&!s,l;return l=t.defer(function(){try{h.resolve(e())}catch(t){h.reject(t);r(t)}finally{delete u[c.$$timeoutId]}a||n.$apply()},o),c.$$timeoutId=l,u[l]=h,c}var u={};return e.cancel=function(n){return n&&n.$$timeoutId in u?(u[n.$$timeoutId].reject("canceled"),delete u[n.$$timeoutId],t.defer.cancel(n.$$timeoutId)):!1},e}]}function pt(n){var t=n;return p&&(b.setAttribute("href",t),t=b.href),b.setAttribute("href",t),{href:b.href,protocol:b.protocol?b.protocol.replace(/:$/,""):"",host:b.host,search:b.search?b.search.replace(/^\?/,""):"",hash:b.hash?b.hash.replace(/^#/,""):"",hostname:b.hostname,port:b.port,pathname:b.pathname.charAt(0)==="/"?b.pathname:"/"+b.pathname}}function co(n){var t=e(n)?pt(n):n;return t.protocol===of.protocol&&t.host===of.host}function hl(){this.$get=g(n)}function lo(n){function t(u,f){if(v(u)){var e={};return r(u,function(n,i){e[i]=t(i,n)}),e}return n.factory(u+i,f)}var i="Filter";this.register=t;this.$get=["$injector",function(n){return function(t){return n.get(t+i)}}];t("currency",ao);t("date",po);t("filter",cl);t("json",wl);t("limitTo",bl);t("lowercase",wo);t("number",vo);t("orderBy",ko);t("uppercase",bo)}function cl(){return function(n,t,i){var e,r,u,c,o,f,h;if(!s(n))return n;e=typeof i;r=[];r.check=function(n){for(var t=0;t<r.length;t++)if(!r[t](n))return!1;return!0};e!=="function"&&(i=e==="boolean"&&i?function(n,t){return ui.equals(n,t)}:function(n,t){if(n&&t&&typeof n=="object"&&typeof t=="object"){for(var r in n)if(r.charAt(0)!=="$"&&lf.call(n,r)&&i(n[r],t[r]))return!0;return!1}return t=(""+t).toLowerCase(),(""+n).toLowerCase().indexOf(t)>-1});u=function(n,t){var f,r;if(typeof t=="string"&&t.charAt(0)==="!")return!u(n,t.substr(1));switch(typeof n){case"boolean":case"number":case"string":return i(n,t);case"object":switch(typeof t){case"object":return i(n,t);default:for(f in n)if(f.charAt(0)!=="$"&&u(n[f],t))return!0}return!1;case"array":for(r=0;r<n.length;r++)if(u(n[r],t))return!0;return!1;default:return!1}};switch(typeof t){case"boolean":case"number":case"string":t={$:t};case"object":for(c in t)(function(n){typeof t[n]!="undefined"&&r.push(function(i){return u(n=="$"?i:i&&i[n],t[n])})})(c);break;case"function":r.push(t);break;default:return n}for(o=[],f=0;f<n.length;f++)h=n[f],r.check(h)&&o.push(h);return o}}function ao(n){var t=n.NUMBER_FORMATS;return function(n,i){return h(i)&&(i=t.CURRENCY_SYM),yo(n,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,2).replace(/\u00A4/g,i)}}function vo(n){var t=n.NUMBER_FORMATS;return function(n,i){return yo(n,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,i)}}function yo(n,t,i,r,u){var p,a,d,w,o,s;if(n==null||!isFinite(n)||v(n))return"";p=n<0;n=Math.abs(n);var c=n+"",e="",l=[],k=!1;if(c.indexOf("e")!==-1&&(a=c.match(/([\d\.]+)e(-?)(\d+)/),a&&a[2]=="-"&&a[3]>u+1?c="0":(e=c,k=!0)),k)u>0&&n>-1&&n<1&&(e=n.toFixed(u));else{d=(c.split(sf)[1]||"").length;h(u)&&(u=Math.min(Math.max(t.minFrac,d),t.maxFrac));w=Math.pow(10,u);n=Math.round(n*w)/w;o=(""+n).split(sf);s=o[0];o=o[1]||"";var f,y=0,b=t.lgSize,g=t.gSize;if(s.length>=b+g)for(y=s.length-b,f=0;f<y;f++)(y-f)%g==0&&f!==0&&(e+=i),e+=s.charAt(f);for(f=y;f<s.length;f++)(s.length-f)%b==0&&f!==0&&(e+=i),e+=s.charAt(f);while(o.length<u)o+="0";u&&u!=="0"&&(e+=r+o.substr(0,u))}return l.push(p?t.negPre:t.posPre),l.push(e),l.push(p?t.negSuf:t.posSuf),l.join("")}function hf(n,t,i){var r="";for(n<0&&(r="-",n=-n),n=""+n;n.length<t;)n="0"+n;return i&&(n=n.substr(n.length-t)),r+n}function d(n,t,i,r){return i=i||0,function(u){var f=u["get"+n]();return(i>0||f>-i)&&(f+=i),f===0&&i==-12&&(f=12),hf(f,t,r)}}function gr(n,t){return function(i,r){var u=i["get"+n](),f=kt(t?"SHORT"+n:n);return r[f][u]}}function ll(n){var t=-1*n.getTimezoneOffset(),i=t>=0?"+":"";return i+(hf(Math[t>0?"floor":"ceil"](t/60),2)+hf(Math.abs(t%60),2))}function al(n,t){return n.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function po(n){function i(n){var i;if(i=n.match(t)){var r=new Date(0),u=0,f=0,e=i[8]?r.setUTCFullYear:r.setFullYear,o=i[8]?r.setUTCHours:r.setHours;i[9]&&(u=k(i[9]+i[10]),f=k(i[9]+i[11]));e.call(r,k(i[1]),k(i[2])-1,k(i[3]));var s=k(i[4]||0)-u,h=k(i[5]||0)-f,c=k(i[6]||0),l=Math.round(parseFloat("0."+(i[7]||0))*1e3);return o.call(r,s,h,c,l),r}return n}var t=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(t,u){var h="",f=[],o,s;if(u=u||"mediumDate",u=n.DATETIME_FORMATS[u]||u,e(t)&&(t=pl.test(t)?k(t):i(t)),eu(t)&&(t=new Date(t)),!pi(t))return t;while(u)s=yl.exec(u),s?(f=ou(f,s,1),u=f.pop()):(f.push(u),u=null);return r(f,function(i){o=vl[i];h+=o?o(t,n.DATETIME_FORMATS):i.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function wl(){return function(n){return st(n,!0)}}function bl(){return function(n,t){if(!s(n)&&!e(n))return n;if(t=k(t),e(n))return t?t>=0?n.slice(0,t):n.slice(t,n.length):"";var u=[],i,r;for(t>n.length?t=n.length:t<-n.length&&(t=-n.length),t>0?(i=0,r=t):(i=n.length+t,r=n.length);i<r;i++)u.push(n[i]);return u}}function ko(n){return function(t,i,r){function c(n,t){for(var u,r=0;r<i.length;r++)if(u=i[r](n,t),u!==0)return u;return 0}function o(n,t){return bi(t)?function(t,i){return n(i,t)}:n}function h(n,t){var i=typeof n,r=typeof t;return i==r?(i=="string"&&(n=n.toLowerCase(),t=t.toLowerCase()),n===t)?0:n<t?-1:1:i<r?-1:1}var f,u;if(!s(t)||!i)return t;for(i=s(i)?i:[i],i=vs(i,function(t){var r=!1,i=t||ei,u;return e(t)&&((t.charAt(0)=="+"||t.charAt(0)=="-")&&(r=t.charAt(0)=="-",t=t.substring(1)),i=n(t),i.constant)?(u=i(),o(function(n,t){return h(n[u],t[u])},r)):o(function(n,t){return h(i(n),i(t))},r)}),f=[],u=0;u<t.length;u++)f.push(t[u]);return f.sort(o(c,r))}}function wt(n){return c(n)&&(n={link:n}),n.restrict=n.restrict||"AC",g(n)}function ns(n,t,i,u){function e(t,i){i=i?"-"+ar(i,"-"):"";u.removeClass(n,(t?ru:iu)+i);u.addClass(n,(t?iu:ru)+i)}var f=this,o=n.parent().controller("form")||fr,s=0,h=f.$error={},c=[];f.$name=t.name||t.ngForm;f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;o.$addControl(f);n.addClass(ai);e(!0);f.$addControl=function(n){ii(n.$name,"input");c.push(n);n.$name&&(f[n.$name]=n)};f.$removeControl=function(n){n.$name&&f[n.$name]===n&&delete f[n.$name];r(h,function(t,i){f.$setValidity(i,!0,n)});wi(c,n)};f.$setValidity=function(n,t,i){var r=h[n];if(t)r&&(wi(r,i),r.length||(s--,s||(e(t),f.$valid=!0,f.$invalid=!1),h[n]=!1,e(!0,n),o.$setValidity(n,!0,f)));else{if(s||e(t),r){if(ys(r,i))return}else h[n]=r=[],s++,e(!1,n),o.$setValidity(n,!1,f);r.push(i);f.$valid=!1;f.$invalid=!0}};f.$setDirty=function(){u.removeClass(n,ai);u.addClass(n,uu);f.$dirty=!0;f.$pristine=!1;o.$setDirty()};f.$setPristine=function(){u.removeClass(n,uu);u.addClass(n,ai);f.$dirty=!1;f.$pristine=!0;r(c,function(n){n.$setPristine()})}}function bt(n,t,r,u){return n.$setValidity(t,r),r?u:i}function ia(n,t,i){var r=i.prop("validity"),u;v(r)&&(u=function(i){if(!n.$error[t]&&(r.badInput||r.customError||r.typeMismatch)&&!r.valueMissing){n.$setValidity(t,!1);return}return i},n.$parsers.push(u))}function tu(n,t,i,r,u,f){var b=t.prop("validity"),s,o,l,a,e,h,c,v,d,p,g,w;if(!u.android){s=!1;t.on("compositionstart",function(){s=!0});t.on("compositionend",function(){s=!1;o()})}if(o=function(){if(!s){var u=t.val();bi(i.ngTrim||"T")&&(u=nt(u));(r.$viewValue!==u||b&&u===""&&!b.valueMissing)&&(n.$$phase?r.$setViewValue(u):n.$apply(function(){r.$setViewValue(u)}))}},u.hasEvent("input"))t.on("input",o);else{a=function(){l||(l=f.defer(function(){o();l=null}))};t.on("keydown",function(n){var t=n.keyCode;t===91||15<t&&t<19||37<=t&&t<=40||a()});if(u.hasEvent("paste"))t.on("paste cut",a)}t.on("change",o);r.$render=function(){t.val(r.$isEmpty(r.$viewValue)?"":r.$viewValue)};e=i.ngPattern;e&&(v=function(n,t){return bt(r,"pattern",r.$isEmpty(t)||n.test(t),t)},c=e.match(/^\/(.*)\/([gim]*)$/),c?(e=new RegExp(c[1],c[2]),h=function(n){return v(e,n)}):h=function(i){var r=n.$eval(e);if(!r||!r.test)throw y("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",e,r,et(t));return v(r,i)},r.$formatters.push(h),r.$parsers.push(h));i.ngMinlength&&(d=k(i.ngMinlength),p=function(n){return bt(r,"minlength",r.$isEmpty(n)||n.length>=d,n)},r.$parsers.push(p),r.$formatters.push(p));i.ngMaxlength&&(g=k(i.ngMaxlength),w=function(n){return bt(r,"maxlength",r.$isEmpty(n)||n.length<=g,n)},r.$parsers.push(w),r.$formatters.push(w))}function ra(n,t,r,u,f,e){var o,s;tu(n,t,r,u,f,e);u.$parsers.push(function(n){var t=u.$isEmpty(n);return t||ta.test(n)?(u.$setValidity("number",!0),n===""?null:t?n:parseFloat(n)):(u.$setValidity("number",!1),i)});ia(u,"number",t);u.$formatters.push(function(n){return u.$isEmpty(n)?"":""+n});r.min&&(o=function(n){var t=parseFloat(r.min);return bt(u,"min",u.$isEmpty(n)||n>=t,n)},u.$parsers.push(o),u.$formatters.push(o));r.max&&(s=function(n){var t=parseFloat(r.max);return bt(u,"max",u.$isEmpty(n)||n<=t,n)},u.$parsers.push(s),u.$formatters.push(s));u.$formatters.push(function(n){return bt(u,"number",u.$isEmpty(n)||eu(n),n)})}function ua(n,t,i,r,u,f){tu(n,t,i,r,u,f);var e=function(n){return bt(r,"url",r.$isEmpty(n)||gl.test(n),n)};r.$formatters.push(e);r.$parsers.push(e)}function fa(n,t,i,r,u,f){tu(n,t,i,r,u,f);var e=function(n){return bt(r,"email",r.$isEmpty(n)||na.test(n),n)};r.$formatters.push(e);r.$parsers.push(e)}function ea(n,t,i,r){h(i.name)&&t.attr("name",or());t.on("click",function(){t[0].checked&&n.$apply(function(){r.$setViewValue(i.value)})});r.$render=function(){var n=i.value;t[0].checked=n==r.$viewValue};i.$observe("value",r.$render)}function oa(n,t,i,r){var u=i.ngTrueValue,f=i.ngFalseValue;e(u)||(u=!0);e(f)||(f=!1);t.on("click",function(){n.$apply(function(){r.$setViewValue(t[0].checked)})});r.$render=function(){t[0].checked=r.$viewValue};r.$isEmpty=function(n){return n!==u};r.$formatters.push(function(n){return n===u});r.$parsers.push(function(n){return n?u:f})}function cf(n,t){return n="ngClass"+n,["$animate",function(i){function f(n,t){var f=[],i,u,r;n:for(i=0;i<n.length;i++){for(u=n[i],r=0;r<t.length;r++)if(u==t[r])continue n;f.push(u)}return f}function u(n){if(s(n))return n;if(e(n))return n.split(" ");if(v(n)){var t=[];return r(n,function(n,i){n&&t.push(i)}),t}return n}return{restrict:"AC",link:function(e,o,s){function l(n){var t=c(n,1);s.$addClass(t)}function v(n){var t=c(n,-1);s.$removeClass(t)}function c(n,t){var i=o.data("$classCounts")||{},u=[];return r(n,function(n){(t>0||i[n])&&(i[n]=(i[n]||0)+t,i[n]===+(t>0)&&u.push(n))}),o.data("$classCounts",i),u.join(" ")}function y(n,t){var r=f(t,n),u=f(n,t);u=c(u,-1);r=c(r,1);r.length===0?i.removeClass(o,u):u.length===0?i.addClass(o,r):i.setClass(o,r,u)}function a(n){var i,r;(t===!0||e.$index%2===t)&&(i=u(n||[]),h?ni(n,h)||(r=u(h),y(r,i)):l(i));h=tt(n)}var h;e.$watch(s[n],a,!0);s.$observe("class",function(){a(e.$eval(s[n]))});n!=="ngClass"&&e.$watch("$index",function(i,r){var o=i&1,f;o!==r&1&&(f=u(e.$eval(s[n])),o===t?l(f):v(f))})}}}]}var a=function(n){return e(n)?n.toLowerCase():n},lf=Object.prototype.hasOwnProperty,kt=function(n){return e(n)?n.toUpperCase():n},es=function(n){return e(n)?n.replace(/[A-Z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)|32)}):n},os=function(n){return e(n)?n.replace(/[a-z]/g,function(n){return String.fromCharCode(n.charCodeAt(0)&-33)}):n},nt,ie,ue,ri,nr,du,ye,pe,ut,be,nf,vt,ff,yt,li,dr,at,it,b,of,sf,wo,bo,go,nu,fr;"i"!=="I".toLowerCase()&&(a=es,kt=os);var p,u,dt,fu=[].slice,ss=[].push,gt=Object.prototype.toString,vi=y("ng"),ny=n.angular,ui=n.angular||(n.angular={}),yi,fi,ot=["0","0","0"];p=k((/msie (\d+)/.exec(a(navigator.userAgent))||[])[1]);isNaN(p)&&(p=k((/trident\/.*; rv:(\d+)/.exec(a(navigator.userAgent))||[])[1]));o.$inject=[];ei.$inject=[];nt=function(){return String.prototype.trim?function(n){return e(n)?n.trim():n}:function(n){return e(n)?n.replace(/^\s\s*/,"").replace(/\s\s*$/,""):n}}();fi=p<9?function(n){return n=n.nodeName?n:n[0],n.scopeName&&n.scopeName!="HTML"?kt(n.scopeName+":"+n.nodeName):n.nodeName}:function(n){return n.nodeName?n.nodeName:n[0].nodeName};ie=/[A-Z]/g;ue={full:"1.2.16",major:1,minor:2,dot:16,codeName:"badger-enumeration"};var di=w.cache={},vr=w.expando="ng-"+(new Date).getTime(),gs=1,fe=n.document.addEventListener?function(n,t,i){n.addEventListener(t,i,!1)}:function(n,t,i){n.attachEvent("on"+t,i)},au=n.document.removeEventListener?function(n,t,i){n.removeEventListener(t,i,!1)}:function(n,t,i){n.detachEvent("on"+t,i)},ty=w._data=function(n){return this.cache[n[this.expando]]||{}};var th=/([\:\-\_]+(.))/g,ih=/^moz([A-Z])/,vu=y("jqLite");var rh=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,uh=/<|&#?\w+;/,fh=/<([\w:]+)/,eh=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rt={option:[1,'<select multiple="multiple">',"<\/select>"],thead:[1,"<table>","<\/table>"],col:[2,"<table><colgroup>","<\/colgroup><\/table>"],tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],_default:[0,"",""]};rt.optgroup=rt.option;rt.tbody=rt.tfoot=rt.colgroup=rt.caption=rt.thead;rt.th=rt.td;ri=w.prototype={ready:function(i){function r(){u||(u=!0,i())}var u=!1;if(t.readyState==="complete")setTimeout(r);else{this.on("DOMContentLoaded",r);w(n).on("load",r)}},toString:function(){var n=[];return r(this,function(t){n.push(""+t)}),"["+n.join(", ")+"]"},eq:function(n){return n>=0?u(this[n]):u(this[this.length+n])},length:0,push:ss,sort:[].sort,splice:[].splice};nr={};r("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(n){nr[a(n)]=n});du={};r("input,select,option,textarea,button,form,details".split(","),function(n){du[kt(n)]=!0});r({data:se,inheritedData:wr,scope:function(n){return u(n).data("$scope")||wr(n.parentNode||n,["$isolateScope","$scope"])},isolateScope:function(n){return u(n).data("$isolateScope")||u(n).data("$isolateScopeNoTemplate")},controller:he,injector:function(n){return wr(n,"$injector")},removeAttr:function(n,t){n.removeAttribute(t)},hasClass:bu,css:function(n,t,r){if(t=gi(t),f(r))n.style[t]=r;else{var u;return p<=8&&(u=n.currentStyle&&n.currentStyle[t],u===""&&(u="auto")),u=u||n.style[t],p<=8&&(u=u===""?i:u),u}},attr:function(n,t,r){var u=a(t),e;if(nr[u])if(f(r))r?(n[t]=!0,n.setAttribute(t,u)):(n[t]=!1,n.removeAttribute(u));else return n[t]||(n.attributes.getNamedItem(t)||o).specified?u:i;else if(f(r))n.setAttribute(t,r);else if(n.getAttribute)return e=n.getAttribute(t,2),e===null?i:e},prop:function(n,t,i){if(f(i))n[t]=i;else return n[t]},text:function(){function t(t,i){var r=n[t.nodeType];if(h(i))return r?t[r]:"";t[r]=i}var n=[];return p<9?(n[1]="innerText",n[3]="nodeValue"):n[1]=n[3]="textContent",t.$dv="",t}(),val:function(n,t){if(h(t)){if(fi(n)==="SELECT"&&n.multiple){var i=[];return r(n.options,function(n){n.selected&&i.push(n.value||n.text)}),i.length===0?null:i}return n.value}n.value=t},html:function(n,t){if(h(t))return n.innerHTML;for(var i=0,r=n.childNodes;i<r.length;i++)si(r[i]);n.innerHTML=t},empty:ce},function(n,t){w.prototype[t]=function(t,r){var u,o,f,h,e,s;if(n!==ce&&(n.length==2&&n!==bu&&n!==he?t:r)===i){if(v(t)){for(u=0;u<this.length;u++)if(n===se)n(this[u],t);else for(o in t)n(this[u],o,t[o]);return this}for(f=n.$dv,h=f===i?Math.min(this.length,1):this.length,e=0;e<h;e++)s=n(this[e],t,r),f=f?f+s:s;return f}for(u=0;u<this.length;u++)n(this[u],t,r);return this}});r({removeData:oe,dealoc:si,on:function ch(n,i,u,e){if(f(e))throw vu("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var o=ht(n,"events"),s=ht(n,"handle");o||ht(n,"events",o={});s||ht(n,"handle",s=hh(n,o));r(i.split(" "),function(i){var r=o[i],f,e;r||(i=="mouseenter"||i=="mouseleave"?(f=t.body.contains||t.body.compareDocumentPosition?function(n,t){var r=n.nodeType===9?n.documentElement:n,i=t&&t.parentNode;return n===i||!!(i&&i.nodeType===1&&(r.contains?r.contains(i):n.compareDocumentPosition&&n.compareDocumentPosition(i)&16))}:function(n,t){if(t)while(t=t.parentNode)if(t===n)return!0;return!1},o[i]=[],e={mouseleave:"mouseout",mouseenter:"mouseover"},ch(n,e[i],function(n){var r=this,t=n.relatedTarget;t&&(t===r||f(r,t))||s(n,i)})):(fe(n,i,s),o[i]=[]),r=o[i]);r.push(u)})},off:ee,one:function(n,t,i){n=u(n);n.on(t,function r(){n.off(t,i);n.off(t,r)});n.on(t,i)},replaceWith:function(n,t){var i,u=n.parentNode;si(n);r(new w(t),function(t){i?u.insertBefore(t,i.nextSibling):u.replaceChild(t,n);i=t})},children:function(n){var t=[];return r(n.childNodes,function(n){n.nodeType===1&&t.push(n)}),t},contents:function(n){return n.contentDocument||n.childNodes||[]},append:function(n,t){r(new w(t),function(t){(n.nodeType===1||n.nodeType===11)&&n.appendChild(t)})},prepend:function(n,t){if(n.nodeType===1){var i=n.firstChild;r(new w(t),function(t){n.insertBefore(t,i)})}},wrap:function(n,t){t=u(t)[0];var i=n.parentNode;i&&i.replaceChild(t,n);t.appendChild(n)},remove:function(n){si(n);var t=n.parentNode;t&&t.removeChild(n)},after:function(n,t){var i=n,u=n.parentNode;r(new w(t),function(n){u.insertBefore(n,i.nextSibling);i=n})},addClass:pr,removeClass:yr,toggleClass:function(n,t,i){t&&r(t.split(" "),function(t){var r=i;h(r)&&(r=!bu(n,t));(r?pr:yr)(n,t)})},parent:function(n){var t=n.parentNode;return t&&t.nodeType!==11?t:null},next:function(n){if(n.nextElementSibling)return n.nextElementSibling;for(var t=n.nextSibling;t!=null&&t.nodeType!==1;)t=t.nextSibling;return t},find:function(n,t){return n.getElementsByTagName?n.getElementsByTagName(t):[]},clone:wu,triggerHandler:function(n,t,i){var f=(ht(n,"events")||{})[t],u;i=i||[];u=[{preventDefault:o,stopPropagation:o}];r(f,function(t){t.apply(n,u.concat(i))})}},function(n,t){w.prototype[t]=function(t,i,r){for(var e,o=0;o<this.length;o++)h(e)?(e=n(this[o],t,i,r),f(e)&&(e=u(e))):ku(e,n(this[o],t,i,r));return f(e)?e:this};w.prototype.bind=w.prototype.on;w.prototype.unbind=w.prototype.off});tr.prototype={put:function(n,t){this[hi(n)]=t},get:function(n){return this[hi(n)]},remove:function(n){var t=this[n=hi(n)];return delete this[n],t}};var lh=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,ah=/,/,vh=/^\s*(_?)(\S+?)\1\s*$/,yh=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,ir=y("$injector");ye=y("$animate");pe=["$provide",function(n){this.$$selectors={};this.register=function(t,i){var r=t+"-animation";if(t&&t.charAt(0)!=".")throw ye("notcsel","Expecting class selector starting with '.' got '{0}'.",t);this.$$selectors[t.substr(1)]=r;n.factory(r,i)};this.classNameFilter=function(n){return arguments.length===1&&(this.$$classNameFilter=n instanceof RegExp?n:null),this.$$classNameFilter};this.$get=["$timeout","$$asyncCallback",function(n,t){function i(n){n&&t(n)}return{enter:function(n,t,r,u){r?r.after(n):(t&&t[0]||(t=r.parent()),t.append(n));i(u)},leave:function(n,t){n.remove();i(t)},move:function(n,t,i,r){this.enter(n,t,i,r)},addClass:function(n,t,u){t=e(t)?t:s(t)?t.join(" "):"";r(n,function(n){pr(n,t)});i(u)},removeClass:function(n,t,u){t=e(t)?t:s(t)?t.join(" "):"";r(n,function(n){yr(n,t)});i(u)},setClass:function(n,t,u,f){r(n,function(n){pr(n,t);yr(n,u)});i(f)},enabled:o}}]}];ut=y("$compile");we.$inject=["$provide","$$sanitizeUriProvider"];be=/^(x[\:\-_]|data[\:\-_])/i;nf=y("$interpolate");var cc=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,lc={http:80,https:443,ftp:21},tf=y("$location");fo.prototype=uf.prototype=uo.prototype={$$html5:!1,$$replace:!1,absUrl:br("$$absUrl"),url:function(n,t){if(h(n))return this.$$url;var i=cc.exec(n);return i[1]&&this.path(decodeURIComponent(i[1])),(i[2]||i[1])&&this.search(i[3]||""),this.hash(i[5]||"",t),this},protocol:br("$$protocol"),host:br("$$host"),port:br("$$port"),path:eo("$$path",function(n){return n.charAt(0)=="/"?n:"/"+n}),search:function(n,t){switch(arguments.length){case 0:return this.$$search;case 1:if(e(n))this.$$search=gf(n);else if(v(n))this.$$search=n;else throw tf("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");break;default:h(t)||t===null?delete this.$$search[n]:this.$$search[n]=t}return this.$$compose(),this},hash:eo("$$hash",ei),replace:function(){return this.$$replace=!0,this}};vt=y("$parse");ff={};var ci={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:o,"+":function(n,t,r,u){return(r=r(n,t),u=u(n,t),f(r))?f(u)?r+u:r:f(u)?u:i},"-":function(n,t,i,r){return i=i(n,t),r=r(n,t),(f(i)?i:0)-(f(r)?r:0)},"*":function(n,t,i,r){return i(n,t)*r(n,t)},"/":function(n,t,i,r){return i(n,t)/r(n,t)},"%":function(n,t,i,r){return i(n,t)%r(n,t)},"^":function(n,t,i,r){return i(n,t)^r(n,t)},"=":o,"===":function(n,t,i,r){return i(n,t)===r(n,t)},"!==":function(n,t,i,r){return i(n,t)!==r(n,t)},"==":function(n,t,i,r){return i(n,t)==r(n,t)},"!=":function(n,t,i,r){return i(n,t)!=r(n,t)},"<":function(n,t,i,r){return i(n,t)<r(n,t)},">":function(n,t,i,r){return i(n,t)>r(n,t)},"<=":function(n,t,i,r){return i(n,t)<=r(n,t)},">=":function(n,t,i,r){return i(n,t)>=r(n,t)},"&&":function(n,t,i,r){return i(n,t)&&r(n,t)},"||":function(n,t,i,r){return i(n,t)||r(n,t)},"&":function(n,t,i,r){return i(n,t)&r(n,t)},"|":function(n,t,i,r){return r(n,t)(n,t,i(n,t))},"!":function(n,t,i){return!i(n,t)}},pc={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v","'":"'",'"':'"'},ef=function(n){this.options=n};ef.prototype={constructor:ef,lex:function(n){var r,t;for(this.text=n,this.index=0,this.ch=i,this.lastCh=":",this.tokens=[],t=[];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("{,")&&t[0]==="{"&&(r=this.tokens[this.tokens.length-1])&&(r.json=r.text.indexOf(".")===-1);else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&t.unshift(this.ch),this.is("}]")&&t.shift(),this.index++;else if(this.isWhitespace(this.ch)){this.index++;continue}else{var u=this.ch+this.peek(),f=u+this.peek(2),e=ci[this.ch],o=ci[u],s=ci[f];s?(this.tokens.push({index:this.index,text:f,fn:s}),this.index+=3):o?(this.tokens.push({index:this.index,text:u,fn:o}),this.index+=2):e?(this.tokens.push({index:this.index,text:this.ch,fn:e,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(n){return n.indexOf(this.ch)!==-1},was:function(n){return n.indexOf(this.lastCh)!==-1},peek:function(n){var t=n||1;return this.index+t<this.text.length?this.text.charAt(this.index+t):!1},isNumber:function(n){return"0"<=n&&n<="9"},isWhitespace:function(n){return n===" "||n==="\r"||n==="\t"||n==="\n"||n==='\v'||n===" "},isIdent:function(n){return"a"<=n&&n<="z"||"A"<=n&&n<="Z"||"_"===n||n==="$"},isExpOperator:function(n){return n==="-"||n==="+"||this.isNumber(n)},throwError:function(n,t,i){i=i||this.index;var r=f(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,i)+"]":" "+i;throw vt("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",n,r,this.text);},readNumber:function(){for(var n="",r=this.index,t,i;this.index<this.text.length;){if(t=a(this.text.charAt(this.index)),t=="."||this.isNumber(t))n+=t;else if(i=this.peek(),t=="e"&&this.isExpOperator(i))n+=t;else if(this.isExpOperator(t)&&i&&this.isNumber(i)&&n.charAt(n.length-1)=="e")n+=t;else if(!this.isExpOperator(t)||i&&this.isNumber(i)||n.charAt(n.length-1)!="e")break;else this.throwError("Invalid exponent");this.index++}n=1*n;this.tokens.push({index:r,text:n,json:!0,fn:function(){return n}})},readIdent:function(){for(var o=this,n="",f=this.index,i,r,e,t,u,s;this.index<this.text.length;){if(t=this.text.charAt(this.index),t==="."||this.isIdent(t)||this.isNumber(t))t==="."&&(i=this.index),n+=t;else break;this.index++}if(i)for(r=this.index;r<this.text.length;){if(t=this.text.charAt(r),t==="("){e=n.substr(i-f+1);n=n.substr(0,i-f);this.index=r;break}if(this.isWhitespace(t))r++;else break}u={index:f,text:n};ci.hasOwnProperty(n)?(u.fn=ci[n],u.json=ci[n]):(s=so(n,this.options,this.text),u.fn=l(function(n,t){return s(n,t)},{assign:function(t,i){return kr(t,n,i,o.text,o.options)}}));this.tokens.push(u);e&&(this.tokens.push({index:i,text:".",json:!1}),this.tokens.push({index:i+1,text:e,json:!1}))},readString:function(n){var e=this.index,t,r,f;this.index++;for(var i="",o=n,u=!1;this.index<this.text.length;){if(t=this.text.charAt(this.index),o+=t,u)t==="u"?(r=this.text.substring(this.index+1,this.index+5),r.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+r+"]"),this.index+=4,i+=String.fromCharCode(parseInt(r,16))):(f=pc[t],i+=f?f:t),u=!1;else if(t==="\\")u=!0;else{if(t===n){this.index++;this.tokens.push({index:e,text:o,string:i,json:!0,fn:function(){return i}});return}i+=t}this.index++}this.throwError("Unterminated quote",e)}};li=function(n,t,i){this.lexer=n;this.$filter=t;this.options=i};li.ZERO=l(function(){return 0},{constant:!0});li.prototype={constructor:li,parse:function(n,t){this.text=n;this.json=t;this.tokens=this.lexer.lex(n);t&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:n,index:0})});var i=t?this.primary():this.statements();return this.tokens.length!==0&&this.throwError("is an unexpected token",this.tokens[0]),i.literal=!!i.literal,i.constant=!!i.constant,i},primary:function(){var n,t,i,r;for(this.expect("(")?(n=this.filterChain(),this.consume(")")):this.expect("[")?n=this.arrayDeclaration():this.expect("{")?n=this.object():(t=this.expect(),n=t.fn,n||this.throwError("not a primary expression",t),t.json&&(n.constant=!0,n.literal=!0));i=this.expect("(","[",".");)i.text==="("?(n=this.functionCall(n,r),r=null):i.text==="["?(r=n,n=this.objectIndex(n)):i.text==="."?(r=n,n=this.fieldAccess(n)):this.throwError("IMPOSSIBLE");return n},throwError:function(n,t){throw vt("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,n,t.index+1,this.text,this.text.substring(t.index));},peekToken:function(){if(this.tokens.length===0)throw vt("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(n,t,i,r){if(this.tokens.length>0){var f=this.tokens[0],u=f.text;if(u===n||u===t||u===i||u===r||!n&&!t&&!i&&!r)return f}return!1},expect:function(n,t,i,r){var u=this.peek(n,t,i,r);return u?(this.json&&!u.json&&this.throwError("is not valid json",u),this.tokens.shift(),u):!1},consume:function(n){this.expect(n)||this.throwError("is unexpected, expecting ["+n+"]",this.peek())},unaryFn:function(n,t){return l(function(i,r){return n(i,r,t)},{constant:t.constant})},ternaryFn:function(n,t,i){return l(function(r,u){return n(r,u)?t(r,u):i(r,u)},{constant:n.constant&&t.constant&&i.constant})},binaryFn:function(n,t,i){return l(function(r,u){return t(r,u,n,i)},{constant:n.constant&&i.constant})},statements:function(){for(var n=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&n.push(this.filterChain()),!this.expect(";"))return n.length===1?n[0]:function(t,i){for(var f,u,r=0;r<n.length;r++)u=n[r],u&&(f=u(t,i));return f}},filterChain:function(){for(var n=this.expression(),t;;)if(t=this.expect("|"))n=this.binaryFn(n,t.fn,this.filter());else return n},filter:function(){for(var t=this.expect(),r=this.$filter(t.text),n=[],i;;)if(t=this.expect(":"))n.push(this.expression());else return i=function(t,i,u){for(var e=[u],f=0;f<n.length;f++)e.push(n[f](t,i));return r.apply(t,e)},function(){return i}},expression:function(){return this.assignment()},assignment:function(){var n=this.ternary(),i,t;return(t=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,t.index)+"] can not be assigned to",t),i=this.ternary(),function(t,r){return n.assign(t,i(t,r),r)}):n},ternary:function(){var t=this.logicalOR(),i,n;if(n=this.expect("?")){if(i=this.ternary(),n=this.expect(":"))return this.ternaryFn(t,i,this.ternary());this.throwError("expected :",n)}else return t},logicalOR:function(){for(var n=this.logicalAND(),t;;)if(t=this.expect("||"))n=this.binaryFn(n,t.fn,this.logicalAND());else return n},logicalAND:function(){var n=this.equality(),t;return(t=this.expect("&&"))&&(n=this.binaryFn(n,t.fn,this.logicalAND())),n},equality:function(){var n=this.relational(),t;return(t=this.expect("==","!=","===","!=="))&&(n=this.binaryFn(n,t.fn,this.equality())),n},relational:function(){var n=this.additive(),t;return(t=this.expect("<",">","<=",">="))&&(n=this.binaryFn(n,t.fn,this.relational())),n},additive:function(){for(var n=this.multiplicative(),t;t=this.expect("+","-");)n=this.binaryFn(n,t.fn,this.multiplicative());return n},multiplicative:function(){for(var n=this.unary(),t;t=this.expect("*","/","%");)n=this.binaryFn(n,t.fn,this.unary());return n},unary:function(){var n;return this.expect("+")?this.primary():(n=this.expect("-"))?this.binaryFn(li.ZERO,n.fn,this.unary()):(n=this.expect("!"))?this.unaryFn(n.fn,this.unary()):this.primary()},fieldAccess:function(n){var t=this,i=this.expect().text,r=so(i,this.options,this.text);return l(function(t,i,u){return r(u||n(t,i))},{assign:function(r,u,f){return kr(n(r,f),i,u,t.text,t.options)}})},objectIndex:function(n){var t=this,r=this.expression();return this.consume("]"),l(function(u,f){var s=n(u,f),h=r(u,f),e,o;return s?(e=ur(s[h],t.text),e&&e.then&&t.options.unwrapPromises&&(o=e,"$$v"in e||(o.$$v=i,o.then(function(n){o.$$v=n})),e=e.$$v),e):i},{assign:function(i,u,f){var e=r(i,f),o=ur(n(i,f),t.text);return o[e]=u}})},functionCall:function(n,t){var r=[],i;if(this.peekToken().text!==")")do r.push(this.expression());while(this.expect(","));return this.consume(")"),i=this,function(u,f){for(var e=[],c=t?t(u,f):u,s,l,h=0;h<r.length;h++)e.push(r[h](u,f));return s=n(u,f,c)||o,ur(c,i.text),ur(s,i.text),l=s.apply?s.apply(c,e):s(e[0],e[1],e[2],e[3],e[4]),ur(l,i.text)}},arrayDeclaration:function(){var n=[],i=!0,t;if(this.peekToken().text!=="]")do{if(this.peek("]"))break;t=this.expression();n.push(t);t.constant||(i=!1)}while(this.expect(","));return this.consume("]"),l(function(t,i){for(var u=[],r=0;r<n.length;r++)u.push(n[r](t,i));return u},{literal:!0,constant:i})},object:function(){var n=[],r=!0,t,u,i;if(this.peekToken().text!=="}")do{if(this.peek("}"))break;t=this.expect();u=t.string||t.text;this.consume(":");i=this.expression();n.push({key:u,value:i});i.constant||(r=!1)}while(this.expect(","));return this.consume("}"),l(function(t,i){for(var f={},u,r=0;r<n.length;r++)u=n[r],f[u.key]=u.value(t,i);return f},{literal:!0,constant:r})}};dr={};at=y("$sce");it={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"};b=t.createElement("a");of=pt(n.location.href,!0);lo.$inject=["$provide"];ao.$inject=["$locale"];vo.$inject=["$locale"];sf=".";var vl={yyyy:d("FullYear",4),yy:d("FullYear",2,0,!0),y:d("FullYear",1),MMMM:gr("Month"),MMM:gr("Month",!0),MM:d("Month",2,1),M:d("Month",1,1),dd:d("Date",2),d:d("Date",1),HH:d("Hours",2),H:d("Hours",1),hh:d("Hours",2,-12),h:d("Hours",1,-12),mm:d("Minutes",2),m:d("Minutes",1),ss:d("Seconds",2),s:d("Seconds",1),sss:d("Milliseconds",3),EEEE:gr("Day"),EEE:gr("Day",!0),a:al,Z:ll},yl=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,pl=/^\-?\d+$/;po.$inject=["$locale"];wo=g(a);bo=g(kt);ko.$inject=["$parse"];go=g({restrict:"E",compile:function(n,i){return p<=8&&(i.href||i.name||i.$set("href",""),n.append(t.createComment("IE fix"))),!i.href&&!i.xlinkHref&&!i.name?function(n,t){var i=gt.call(t.prop("href"))==="[object SVGAnimatedString]"?"xlink:href":"href";t.on("click",function(n){t.attr(i)||n.preventDefault()})}:void 0}});nu={};r(nr,function(n,t){if(n!="multiple"){var i=ct("ng-"+t);nu[i]=function(){return{priority:100,link:function(n,r,u){n.$watch(u[i],function(n){u.$set(t,!!n)})}}}}});r(["src","srcset","href"],function(n){var t=ct("ng-"+n);nu[t]=function(){return{priority:99,link:function(i,r,u){var e=n,f=n;n==="href"&&gt.call(r.prop("href"))==="[object SVGAnimatedString]"&&(f="xlinkHref",u.$attr[f]="xlink:href",e=null);u.$observe(t,function(n){n&&(u.$set(f,n),p&&e&&r.prop(e,u[f]))})}}}});fr={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};ns.$inject=["$element","$attrs","$scope","$animate"];var ts=function(n){return["$timeout",function(t){return{name:"form",restrict:n?"EAC":"E",controller:ns,compile:function(){return{pre:function(n,r,u,f){var o,s,e;if(!u.action){o=function(n){n.preventDefault?n.preventDefault():n.returnValue=!1};fe(r[0],"submit",o);r.on("$destroy",function(){t(function(){au(r[0],"submit",o)},0,!1)})}if(s=r.parent().controller("form"),e=u.name||u.ngForm,e&&kr(n,e,f,e),s)r.on("$destroy",function(){s.$removeControl(f);e&&kr(n,e,i,e);l(f,fr)})}}}}}]},kl=ts(),dl=ts(!0),gl=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,na=/^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i,ta=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,is={text:tu,number:ra,url:ua,email:fa,radio:ea,checkbox:oa,hidden:o,button:o,submit:o,reset:o,file:o};var rs=["$browser","$sniffer",function(n,t){return{restrict:"E",require:"?ngModel",link:function(i,r,u,f){f&&(is[a(u.type)]||is.text)(i,r,u,f,t,n)}}}],iu="ng-valid",ru="ng-invalid",ai="ng-pristine",uu="ng-dirty",sa=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(n,t,i,u,f,e){function c(n,t){t=t?"-"+ar(t,"-"):"";e.removeClass(u,(n?ru:iu)+t);e.addClass(u,(n?iu:ru)+t)}var l,a,s;if(this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=i.name,l=f(i.ngModel),a=l.assign,!a)throw y("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",i.ngModel,et(u));this.$render=o;this.$isEmpty=function(n){return h(n)||n===""||n===null||n!==n};var w=u.inheritedData("$formController")||fr,v=0,p=this.$error={};u.addClass(ai);c(!0);this.$setValidity=function(n,t){p[n]!==!t&&(t?(p[n]&&v--,v||(c(!0),this.$valid=!0,this.$invalid=!1)):(c(!1),this.$invalid=!0,this.$valid=!1,v++),p[n]=!t,c(t,n),w.$setValidity(n,t,this))};this.$setPristine=function(){this.$dirty=!1;this.$pristine=!0;e.removeClass(u,uu);e.addClass(u,ai)};this.$setViewValue=function(i){this.$viewValue=i;this.$pristine&&(this.$dirty=!0,this.$pristine=!1,e.removeClass(u,ai),e.addClass(u,uu),w.$setDirty());r(this.$parsers,function(n){i=n(i)});this.$modelValue!==i&&(this.$modelValue=i,a(n,i),r(this.$viewChangeListeners,function(n){try{n()}catch(i){t(i)}}))};s=this;n.$watch(function(){var t=l(n),i,r;if(s.$modelValue!==t){for(i=s.$formatters,r=i.length,s.$modelValue=t;r--;)t=i[r](t);s.$viewValue!==t&&(s.$viewValue=t,s.$render())}return t})}],ha=function(){return{require:["ngModel","^?form"],controller:sa,link:function(n,t,i,r){var u=r[0],f=r[1]||fr;f.$addControl(u);n.$on("$destroy",function(){f.$removeControl(u)})}}},ca=g({require:"ngModel",link:function(n,t,i,r){r.$viewChangeListeners.push(function(){n.$eval(i.ngChange)})}}),us=function(){return{require:"?ngModel",link:function(n,t,i,r){if(r){i.required=!0;var u=function(n){if(i.required&&r.$isEmpty(n)){r.$setValidity("required",!1);return}return r.$setValidity("required",!0),n};r.$formatters.push(u);r.$parsers.unshift(u);i.$observe("required",function(){u(r.$viewValue)})}}}},la=function(){return{require:"ngModel",link:function(n,t,u,f){var e=/\/(.*)\//.exec(u.ngList),o=e&&new RegExp(e[1])||u.ngList||",",c=function(n){if(!h(n)){var t=[];return n&&r(n.split(o),function(n){n&&t.push(nt(n))}),t}};f.$parsers.push(c);f.$formatters.push(function(n){return s(n)?n.join(", "):i});f.$isEmpty=function(n){return!n||!n.length}}}},aa=/^(true|false|\d+)$/,va=function(){return{priority:100,compile:function(n,t){return aa.test(t.ngValue)?function(n,t,i){i.$set("value",n.$eval(i.ngValue))}:function(n,t,i){n.$watch(i.ngValue,function(n){i.$set("value",n)})}}}},ya=wt(function(n,t,r){t.addClass("ng-binding").data("$binding",r.ngBind);n.$watch(r.ngBind,function(n){t.text(n==i?"":n)})}),pa=["$interpolate",function(n){return function(t,i,r){var u=n(i.attr(r.$attr.ngBindTemplate));i.addClass("ng-binding").data("$binding",u);r.$observe("ngBindTemplate",function(n){i.text(n)})}}],wa=["$sce","$parse",function(n,t){return function(i,r,u){function e(){return(f(i)||"").toString()}r.addClass("ng-binding").data("$binding",u.ngBindHtml);var f=t(u.ngBindHtml);i.$watch(e,function(){r.html(n.getTrustedHtml(f(i))||"")})}}];var ba=cf("",!0),ka=cf("Odd",0),da=cf("Even",1),ga=wt({compile:function(n,t){t.$set("ngCloak",i);n.removeClass("ng-cloak")}}),nv=[function(){return{scope:!0,controller:"@",priority:500}}],fs={};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(n){var t=ct("ng-"+n);fs[t]=["$parse",function(i){return{compile:function(r,u){var f=i(u[t]);return function(t,i){i.on(a(n),function(n){t.$apply(function(){f(t,{$event:n})})})}}}}]});var tv=["$animate",function(n){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(i,r,u,f,e){var h,o,s;i.$watch(u.ngIf,function(f){bi(f)?o||(o=i.$new(),e(o,function(i){i[i.length++]=t.createComment(" end ngIf: "+u.ngIf+" ");h={clone:i};n.enter(i,r.parent(),r)})):(s&&(s.remove(),s=null),o&&(o.$destroy(),o=null),h&&(s=lu(h.clone),n.leave(s,function(){s=null}),h=null))})}}}],iv=["$http","$templateCache","$anchorScroll","$animate","$sce",function(n,t,i,r,u){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:ui.noop,compile:function(e,o){var h=o.ngInclude||o.src,c=o.onload||"",s=o.autoscroll;return function(e,o,l,a,v){var b=0,y,p,w,k=function(){p&&(p.remove(),p=null);y&&(y.$destroy(),y=null);w&&(r.leave(w,function(){p=null}),p=w,w=null)};e.$watch(u.parseAsResourceUrl(h),function(u){var l=function(){f(s)&&(!s||e.$eval(s))&&i()},h=++b;u?(n.get(u,{cache:t}).success(function(n){var t,i;h===b&&(t=e.$new(),a.template=n,i=v(t,function(n){k();r.enter(n,null,o,l)}),y=t,w=i,y.$emit("$includeContentLoaded"),e.$eval(c))}).error(function(){h===b&&k()}),e.$emit("$includeContentRequested")):(k(),a.template=null)})}}}}],rv=["$compile",function(n){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(t,i,r,u){i.html(u.template);n(i.contents())(t)}}}],uv=wt({priority:450,compile:function(){return{pre:function(n,t,i){n.$eval(i.ngInit)}}}}),fv=wt({terminal:!0,priority:1e3}),ev=["$locale","$interpolate",function(n,t){var i=/{}/g;return{restrict:"EA",link:function(u,f,e){var s=e.count,l=e.$attr.when&&f.attr(e.$attr.when),h=e.offset||0,o=u.$eval(l)||{},c={},v=t.startSymbol(),y=t.endSymbol(),p=/^when(Minus)?(.+)$/;r(e,function(n,t){p.test(t)&&(o[a(t.replace("when","").replace("Minus","-"))]=f.attr(e.$attr[t]))});r(o,function(n,r){c[r]=t(n.replace(i,v+s+"-"+h+y))});u.$watch(function(){var t=parseFloat(u.$eval(s));return isNaN(t)?"":(t in o||(t=n.pluralCat(t-h)),c[t](u,f,!0))},function(n){f.text(n)})}}}],ov=["$parse","$animate",function(n,i){function s(n){return n.clone[0]}function o(n){return n.clone[n.clone.length-1]}var e="$$NG_REMOVED",f=y("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(h,c,l,a,v){var b=l.ngRepeat,y=b.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),d,it,g,rt,ut,nt,ft,tt,w,k={$id:hi},p;if(!y)throw f("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",b);if(nt=y[1],ft=y[2],d=y[3],d?(it=n(d),g=function(n,t,i){return w&&(k[w]=n),k[tt]=t,k.$index=i,it(h,k)}):(rt=function(n,t){return hi(t)},ut=function(n){return n}),y=nt.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!y)throw f("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",nt);tt=y[3]||y[1];w=y[2];p={};h.$watchCollection(ft,function(n){var l,st,ft=c[0],et,ot={},at,y,k,ht,nt,ct,d,a,it=[],lt;if(er(n))d=n,ct=g||rt;else{ct=g||ut;d=[];for(k in n)n.hasOwnProperty(k)&&k.charAt(0)!="$"&&d.push(k);d.sort()}for(at=d.length,st=it.length=d.length,l=0;l<st;l++)if(k=n===d?l:d[l],ht=n[k],nt=ct(k,ht,l),ii(nt,"`track by` id"),p.hasOwnProperty(nt))a=p[nt],delete p[nt],ot[nt]=a,it[l]=a;else if(ot.hasOwnProperty(nt)){r(it,function(n){n&&n.scope&&(p[n.id]=n)});throw f("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}",b,nt);}else it[l]={id:nt},ot[nt]=!1;for(k in p)p.hasOwnProperty(k)&&(a=p[k],lt=lu(a.clone),i.leave(lt),r(lt,function(n){n[e]=!0}),a.scope.$destroy());for(l=0,st=d.length;l<st;l++){if(k=n===d?l:d[l],ht=n[k],a=it[l],it[l-1]&&(ft=o(it[l-1])),a.scope){y=a.scope;et=ft;do et=et.nextSibling;while(et&&et[e]);s(a)!=et&&i.move(lu(a.clone),null,u(ft));ft=o(a)}else y=h.$new();y[tt]=ht;w&&(y[w]=k);y.$index=l;y.$first=l===0;y.$last=l===at-1;y.$middle=!(y.$first||y.$last);y.$odd=!(y.$even=(l&1)==0);a.scope||v(y,function(n){n[n.length++]=t.createComment(" end ngRepeat: "+b+" ");i.enter(n,null,u(ft));ft=n;a.scope=y;a.clone=n;ot[a.id]=a})}p=ot})}}}],sv=["$animate",function(n){return function(t,i,r){t.$watch(r.ngShow,function(t){n[bi(t)?"removeClass":"addClass"](i,"ng-hide")})}}],hv=["$animate",function(n){return function(t,i,r){t.$watch(r.ngHide,function(t){n[bi(t)?"addClass":"removeClass"](i,"ng-hide")})}}],cv=wt(function(n,t,i){n.$watch(i.ngStyle,function(n,i){i&&n!==i&&r(i,function(n,i){t.css(i,"")});n&&t.css(n)},!0)}),lv=["$animate",function(n){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(t,i,u,f){var c=u.ngSwitch||u.on,h,s,e,o=[];t.$watch(c,function(i){var c,l=o.length,a;if(l>0){if(e){for(c=0;c<l;c++)e[c].remove();e=null}for(e=[],c=0;c<l;c++)a=s[c],o[c].$destroy(),e[c]=a,n.leave(a,function(){e.splice(c,1);e.length===0&&(e=null)})}s=[];o=[];(h=f.cases["!"+i]||f.cases["?"])&&(t.$eval(u.change),r(h,function(i){var r=t.$new();o.push(r);i.transclude(r,function(t){var r=i.element;s.push(t);n.enter(t,r.parent(),r)})}))})}}}],av=wt({transclude:"element",priority:800,require:"^ngSwitch",link:function(n,t,i,r,u){r.cases["!"+i.ngSwitchWhen]=r.cases["!"+i.ngSwitchWhen]||[];r.cases["!"+i.ngSwitchWhen].push({transclude:u,element:t})}}),vv=wt({transclude:"element",priority:800,require:"^ngSwitch",link:function(n,t,i,r,u){r.cases["?"]=r.cases["?"]||[];r.cases["?"].push({transclude:u,element:t})}}),yv=wt({link:function(n,t,i,r,u){if(!u)throw y("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",et(t));u(function(n){t.empty();t.append(n)})}}),pv=["$templateCache",function(n){return{restrict:"E",terminal:!0,compile:function(t,i){if(i.type=="text/ng-template"){var r=i.id,u=t[0].text;n.put(r,u)}}}}],wv=y("ngOptions"),bv=g({terminal:!0}),kv=["$compile","$parse",function(n,e){var c=/^\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]+?))?$/,l={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(n,t,i){var r=this,f={},e=l,s,u;r.databound=i.ngModel;r.init=function(n,t,i){e=n;s=t;u=i};r.addOption=function(t){ii(t,'"option value"');f[t]=!0;e.$viewValue==t&&(n.val(t),u.parent()&&u.remove())};r.removeOption=function(n){this.hasOption(n)&&(delete f[n],e.$viewValue==n&&this.renderUnknownOption(n))};r.renderUnknownOption=function(t){var i="? "+hi(t)+" ?";u.val(i);n.prepend(u);n.val(i);u.prop("selected",!0)};r.hasOption=function(n){return f.hasOwnProperty(n)};t.$on("$destroy",function(){r.renderUnknownOption=o})}],link:function(o,l,a,v){function ot(n,t,i,r){i.$render=function(){var n=i.$viewValue;r.hasOption(n)?(b.parent()&&b.remove(),t.val(n),n===""&&g.prop("selected",!0)):h(n)&&g?t.val(""):r.renderUnknownOption(n)};t.on("change",function(){n.$apply(function(){b.parent()&&b.remove();i.$setViewValue(t.val())})})}function st(n,t,i){var u;i.$render=function(){var n=new tr(i.$viewValue);r(t.find("option"),function(t){t.selected=f(n.get(t.value))})};n.$watch(function(){ni(u,i.$viewValue)||(u=tt(i.$viewValue),i.$render())});t.on("change",function(){n.$apply(function(){var n=[];r(t.find("option"),function(t){t.selected&&n.push(t.value)});i.$setViewValue(n)})})}function ht(t,r,u){function k(){var ht={"":[]},pt=[""],h,et,n,k,d,c,tt=u.$modelValue,wt=b(t)||[],bt=v?af(wt):wt,ct,dt,yt,ot,i,e={},lt,it=!1,ft,st,at,vt,kt;if(p)if(o&&s(tt))for(it=new tr([]),vt=0;vt<tt.length;vt++)e[a]=tt[vt],it.put(o(t,e),tt[vt]);else it=new tr(tt);for(i=0;yt=bt.length,i<yt;i++){if(ct=i,v){if(ct=bt[i],ct.charAt(0)==="$")continue;e[v]=ct}e[a]=wt[ct];h=nt(t,e)||"";(et=ht[h])||(et=ht[h]=[],pt.push(h));p?lt=f(it.remove(o?o(t,e):w(t,e))):(o?(kt={},kt[a]=tt,lt=o(t,kt)===o(t,e)):lt=tt===w(t,e),it=it||lt);at=g(t,e);at=f(at)?at:"";et.push({id:o?o(t,e):v?bt[i]:i,label:at,selected:lt})}for(p||(y||tt===null?ht[""].unshift({id:"",label:"",selected:!it}):it||ht[""].unshift({id:"?",label:"",selected:!0})),ot=0,dt=pt.length;ot<dt;ot++){for(h=pt[ot],et=ht[h],l.length<=ot?(k={element:ut.clone().attr("label",h),label:et.label},d=[k],l.push(d),r.append(k.element)):(d=l[ot],k=d[0],k.label!=h&&k.element.attr("label",k.label=h)),ft=null,i=0,yt=et.length;i<yt;i++)n=et[i],(c=d[i+1])?(ft=c.element,c.label!==n.label&&ft.text(c.label=n.label),c.id!==n.id&&ft.val(c.id=n.id),c.selected!==n.selected&&ft.prop("selected",c.selected=n.selected)):(n.id===""&&y?st=y:(st=rt.clone()).val(n.id).attr("selected",n.selected).text(n.label),d.push(c={element:st,label:n.label,id:n.id,selected:n.selected}),ft?ft.after(st):k.element.append(st),ft=st);for(i++;d.length>i;)d.pop().element.remove()}while(l.length>ot)l.pop()[0].element.remove()}var h;if(!(h=d.match(c)))throw wv("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",d,et(r));var g=e(h[2]||h[1]),a=h[4]||h[6],v=h[5],nt=e(h[3]||""),w=e(h[2]?h[1]:a),b=e(h[7]),tt=h[8],o=tt?e(h[8]):null,l=[[{element:r,label:""}]];y&&(n(y)(t),y.removeClass("ng-scope"),y.remove());r.empty();r.on("change",function(){t.$apply(function(){var k,h=b(t)||[],n={},f,s,d,c,y,g,nt,e;if(p){for(s=[],y=0,nt=l.length;y<nt;y++)for(k=l[y],c=1,g=k.length;c<g;c++)if((d=k[c].element)[0].selected){if(f=d.val(),v&&(n[v]=f),o){for(e=0;e<h.length;e++)if(n[a]=h[e],o(t,n)==f)break}else n[a]=h[f];s.push(w(t,n))}}else{if(f=r.val(),f=="?")s=i;else if(f==="")s=null;else if(o){for(e=0;e<h.length;e++)if(n[a]=h[e],o(t,n)==f){s=w(t,n);break}}else n[a]=h[f],v&&(n[v]=f),s=w(t,n);l[0].length>1&&l[0][1].id!==f&&(l[0][1].selected=!1)}u.$setViewValue(s)})});u.$render=k;t.$watch(k)}if(v[1]){for(var it=v[0],w=v[1],p=a.multiple,d=a.ngOptions,y=!1,g,rt=u(t.createElement("option")),ut=u(t.createElement("optgroup")),b=rt.clone(),k=0,nt=l.children(),ft=nt.length;k<ft;k++)if(nt[k].value===""){g=y=nt.eq(k);break}it.init(w,y,b);p&&(w.$isEmpty=function(n){return!n||n.length===0});d?ht(o,l,w):p?st(o,l,w):ot(o,l,w,it)}}}}],dv=["$interpolate",function(n){var t={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(i,r){if(h(r.value)){var u=n(i.text(),!0);u||r.$set("value",i.text())}return function(n,i,r){var e="$selectController",o=i.parent(),f=o.data(e)||o.parent().data(e);f&&f.databound?i.prop("selected",!1):f=t;u?n.$watch(u,function(n,t){r.$set("value",n);n!==t&&f.removeOption(t);f.addOption(n)}):f.addOption(r.value);i.on("$destroy",function(){f.removeOption(r.value)})}}}}],gv=g({restrict:"E",terminal:!0});if(n.angular.bootstrap){console.log("WARNING: Tried to load angular more than once.");return}bs();ds(ui);u(t).ready(function(){ws(t,te)})})(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(n,t){"use strict";function s(n,t){return i(new(i(function(){},{prototype:n})),t)}function a(){function t(n,t){var r=t.caseInsensitiveMatch,i={originalPath:n,regexp:n},u=i.keys=[];return n=n.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?|\*])?/g,function(n,t,i,r){var f=r==="?"?r:null,e=r==="*"?r:null;return u.push({name:i,optional:!!f}),t=t||"",""+(f?"":t)+"(?:"+(f?t:"")+(e&&"(.+)?"||"([^/]+)?")+")"+(f||"")}).replace(/([\/$\*])/g,"\\$1"),i.regexp=new RegExp("^"+n+"$",r?"i":""),i}var n={};this.when=function(r,u){if(n[r]=i({reloadOnSearch:!0},u,r&&t(r,u)),r){var f=r[r.length-1]=="/"?r.substr(0,r.length-1):r+"/";n[f]=i({redirectTo:r},t(f,u))}return this};this.otherwise=function(n){return this.when(null,n),this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(t,h,c,a,v,y,p,w){function g(n,t){var s=t.keys,e={},r,i,o,u,f;if(!t.regexp||(r=t.regexp.exec(n),!r))return null;for(i=1,o=r.length;i<o;++i)u=s[i-1],f="string"==typeof r[i]?decodeURIComponent(r[i]):r[i],u&&f&&(e[u.name]=f);return e}function d(){var n=nt(),s=b.current;n&&s&&n.$$route===s.$$route&&l(n.pathParams,s.pathParams)&&!n.reloadOnSearch&&!k?(s.params=n.params,f(s.params,c),t.$broadcast("$routeUpdate",s)):(n||s)&&(k=!1,t.$broadcast("$routeChangeStart",n,s),b.current=n,n&&n.redirectTo&&(o(n.redirectTo)?h.path(tt(n.redirectTo,n.params)).search(n.params).replace():h.url(n.redirectTo(n.pathParams,h.path(),h.search())).replace()),a.when(n).then(function(){if(n){var s=i({},n.resolve),f,t;return u(s,function(n,t){s[t]=o(n)?v.get(n):v.invoke(n)}),r(f=n.template)?e(f)&&(f=f(n.params)):r(t=n.templateUrl)&&(e(t)&&(t=t(n.params)),t=w.getTrustedResourceUrl(t),r(t)&&(n.loadedTemplateUrl=t,f=y.get(t,{cache:p}).then(function(n){return n.data}))),r(f)&&(s.$template=f),a.all(s)}}).then(function(i){n==b.current&&(n&&(n.locals=i,f(n.params,c)),t.$broadcast("$routeChangeSuccess",n,s))},function(i){n==b.current&&t.$broadcast("$routeChangeError",n,s,i)}))}function nt(){var r,t;return u(n,function(n){!t&&(r=g(h.path(),n))&&(t=s(n,{params:i({},h.search(),r),pathParams:r}),t.$$route=n)}),t||n[null]&&s(n[null],{params:{},pathParams:{}})}function tt(n,t){var i=[];return u((n||"").split(":"),function(n,r){if(r===0)i.push(n);else{var u=n.match(/(\w+)(.*)/),f=u[1];i.push(t[f]);i.push(u[2]||"");delete t[f]}}),i.join("")}var k=!1,b={routes:n,reload:function(){k=!0;t.$evalAsync(d)}};return t.$on("$locationChangeSuccess",d),b}]}function v(){this.$get=function(){return{}}}function c(n,t,i,r,u){return{restrict:"ECA",terminal:!0,priority:1e3,transclude:"element",compile:function(f,e,o){return function(f,e,s){function l(){h&&(h.$destroy(),h=null);c&&(u.leave(c),c=null)}function a(){var s=n.current&&n.current.locals,y=s&&s.$template,a;y?(a=f.$new(),o(a,function(f){var w,o,p;l();f.html(y);u.enter(f,null,e);w=i(f.contents());o=n.current;h=o.scope=a;c=f;o.controller&&(s.$scope=h,p=r(o.controller,s),o.controllerAs&&(h[o.controllerAs]=p),f.data("$ngControllerController",p),f.contents().data("$ngControllerController",p));w(h);h.$emit("$viewContentLoaded");h.$eval(v);t()})):l()}var h,c,v=s.onload||"";f.$on("$routeChangeSuccess",a);a()}}}}var f=t.copy,l=t.equals,i=t.extend,u=t.forEach,r=t.isDefined,e=t.isFunction,o=t.isString,y=t.element,p=t.noop,w=t.toJson,h=t.module("ngRoute",["ng"]).provider("$route",a);h.provider("$routeParams",v);h.directive("ngView",c);c.$inject=["$route","$anchorScroll","$compile","$controller","$animate"]}(window,window.angular),function(n,t,i){"use strict";var r=t.module("ngDragDrop",[]).service("ngDragDropService",["$timeout","$parse",function(u,f){this.callEventCallback=function(scope,callbackName,event,ui){var args,match,values;callbackName&&(args=[event,ui],match=callbackName.match(/^(.+)\((.+)\)$/),match!==null&&(callbackName=match[1],values=eval("["+match[0].replace(/^(.+)\(/,"").replace(/\)/,"")+"]"),args.push.apply(args,values)),scope[callbackName].apply(scope,args))};this.invokeDrop=function(n,f,e,o){var w="",l="",h={},s={},b=null,k={},d={},a,v,y=null,c=f.scope(),p=n.scope();w=n.ngattr("ng-model");l=f.ngattr("ng-model");a=p.$eval(w);v=c.$eval(l);y=f.find("[jqyoui-draggable]:last");s=c.$eval(f.attr("jqyoui-droppable"))||[];h=p.$eval(n.attr("jqyoui-draggable"))||[];h.index=this.fixIndex(p,h,a);s.index=this.fixIndex(c,s,v);b=t.isArray(a)?h.index:null;k=t.isArray(a)?a[b]:a;d=t.isArray(v)&&s&&s.index!==i?v[s.index]:t.isArray(v)?{}:v;h.animate===!0?(this.move(n,y.length>0?y:f,null,"fast",s,null),this.move(y.length>0&&!s.multiple?y:[],n.parent("[jqyoui-droppable]"),r.startXY,"fast",s,function(){u(function(){n.css({position:"relative",left:"",top:""});y.css({position:"relative",left:"",top:""});this.mutateDraggable(p,s,h,w,l,d,n);this.mutateDroppable(c,s,h,l,k,b);this.callEventCallback(c,s.onDrop,e,o)}.bind(this))}.bind(this))):u(function(){this.mutateDraggable(p,s,h,w,l,d,n);this.mutateDroppable(c,s,h,l,k,b);this.callEventCallback(c,s.onDrop,e,o)}.bind(this))};this.move=function(t,r,u,f,e,o){if(t.length===0)return o&&n.setTimeout(function(){o()},300),!1;var s=t.offset(),h=r&&r.is(":visible");u===null&&r.length>0&&(r.attr("jqyoui-draggable")!==i&&r.ngattr("ng-model")!==i&&r.is(":visible")&&e&&e.multiple?(u=r.offset(),e.stack===!1?u.left+=r.outerWidth(!0):u.top+=r.outerHeight(!0)):(u=r.css({visibility:"hidden",display:"block"}).offset(),r.css({visibility:"",display:h?"":"none"})));t.css({position:"absolute","z-index":9999}).css(s).animate(u,f,function(){o&&o()})};this.mutateDroppable=function(n,i,r,u,e,o){var s=n.$eval(u);n.__dragItem=e;t.isArray(s)?(i&&i.index>=0?s[i.index]=e:s.push(e),r&&r.placeholder===!0&&(s[s.length-1].jqyoui_pos=o)):(f(u+" = __dragItem")(n),r&&r.placeholder===!0&&(s.jqyoui_pos=o))};this.mutateDraggable=function(n,r,u,e,o,s,h){var l=t.equals(t.copy(s),{}),c=n.$eval(e);n.__dropItem=s;u&&u.placeholder?u.placeholder!="keep"&&(t.isArray(c)&&u.index!==i?c[u.index]=s:f(e+" = __dropItem")(n)):t.isArray(c)?l?u&&u.placeholder!==!0&&u.placeholder!=="keep"&&c.splice(u.index,1):c[u.index]=s:(f(e+" = __dropItem")(n),n.$parent&&f(e+" = __dropItem")(n.$parent));h.css({"z-index":"",left:"",top:""})};this.fixIndex=function(n,r,u){if(r.applyFilter&&t.isArray(u)&&u.length>0){var e=n[r.applyFilter](),o=e[r.index],f=i;return u.forEach(function(n,i){t.equals(n,o)&&(f=i)}),f}return r.index}}]).directive("jqyouiDraggable",["ngDragDropService",function(n){return{require:"?jqyouiDroppable",restrict:"A",link:function(i,u,f){var e,o,s=function(s){s?(e=i.$eval(u.attr("jqyoui-draggable"))||[],u.draggable({disabled:!1}).draggable(i.$eval(f.jqyouiOptions)||{}).draggable({start:function(u,f){o=t.element(this).css("z-index");t.element(this).css("z-index",99999);r.startXY=t.element(this).offset();n.callEventCallback(i,e.onStart,u,f)},stop:function(r,u){t.element(this).css("z-index",o);n.callEventCallback(i,e.onStop,r,u)},drag:function(t,r){n.callEventCallback(i,e.onDrag,t,r)}})):u.draggable({disabled:!0})};i.$watch(function(){return i.$eval(f.drag)},s);s()}}}]).directive("jqyouiDroppable",["ngDragDropService",function(n){return{restrict:"A",priority:1,link:function(i,r,u){var f=function(f){f?r.droppable({disabled:!1}).droppable(i.$eval(u.jqyouiOptions)||{}).droppable({over:function(r,u){var f=i.$eval(t.element(this).attr("jqyoui-droppable"))||[];n.callEventCallback(i,f.onOver,r,u)},out:function(r,u){var f=i.$eval(t.element(this).attr("jqyoui-droppable"))||[];n.callEventCallback(i,f.onOut,r,u)},drop:function(r,f){t.element(f.draggable).ngattr("ng-model")&&u.ngModel?n.invokeDrop(t.element(f.draggable),t.element(this),r,f):n.callEventCallback(i,(i.$eval(t.element(this).attr("jqyoui-droppable"))||[]).onDrop,r,f)}}):r.droppable({disabled:!0})};i.$watch(function(){return i.$eval(u.drop)},f);f()}}}]);$.fn.ngattr=function(n){var i=t.element(this).get(0);return i.getAttribute(n)||i.getAttribute("data-"+n)}}(window,window.angular),function(n,t){"use strict";function i(n){for(var i={},r=n.split(","),t=0;t<r.length;t++)i[r[t]]=!0;return i}function st(n,i){function g(n,f,e,o){if(f=t.lowercase(f),a[f])while(r.last()&&v[r.last()])w("",r.last());l[f]&&r.last()==f&&w("",f);o=s[f]||!!o;o||r.push(f);var h={};e.replace(nt,function(n,t,i,r,f){var e=i||r||f||"";h[t]=u(e)});i.start&&i.start(f,h,o)}function w(n,u){var f=0,e;if(u=t.lowercase(u),u)for(f=r.length-1;f>=0;f--)if(r[f]==u)break;if(f>=0){for(e=r.length-1;e>=f;e--)i.end&&i.end(r[e]);r.length=f}}var h,p,c,r=[],b=n,k;for(r.last=function(){return r[r.length-1]};n;){if(p=!0,r.last()&&y[r.last()]?(n=n.replace(new RegExp("(.*)<\\s*\\/\\s*"+r.last()+"[^>]*>","i"),function(n,t){return t=t.replace(rt,"$1").replace(ut,"$1"),i.chars&&i.chars(u(t)),""}),w("",r.last())):(n.indexOf("<!--")===0?(h=n.indexOf("--",4),h>=0&&n.lastIndexOf("-->",h)===h&&(i.comment&&i.comment(n.substring(4,h)),n=n.substring(h+3),p=!1)):o.test(n)?(c=n.match(o),c&&(n=n.replace(c[0],""),p=!1)):it.test(n)?(c=n.match(e),c&&(n=n.substring(c[0].length),c[0].replace(e,w),p=!1)):tt.test(n)&&(c=n.match(f),c&&(n=n.substring(c[0].length),c[0].replace(f,g),p=!1)),p&&(h=n.indexOf("<"),k=h<0?n:n.substring(0,h),n=h<0?"":n.substring(h),i.chars&&i.chars(u(k)))),n==b)throw d("badparse","The sanitizer was unable to parse the following block of html: {0}",n);b=n}w()}function u(n){return r.innerHTML=n.replace(/</g,"&lt;"),r.innerText||r.textContent||""}function b(n){return n.replace(/&/g,"&amp;").replace(et,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function k(n){var r=!1,i=t.bind(n,n.push);return{start:function(n,u,f){n=t.lowercase(n);!r&&y[n]&&(r=n);r||p[n]!=!0||(i("<"),i(n),t.forEach(u,function(n,r){var u=t.lowercase(r);ot[u]==!0&&(w[u]!==!0||n.match(ft))&&(i(" "),i(r),i('="'),i(b(n)),i('"'))}),i(f?"/>":">"))},end:function(n){n=t.lowercase(n);r||p[n]!=!0||(i("<\/"),i(n),i(">"));n==r&&(r=!1)},chars:function(n){r||i(b(n))}}}var d=t.$$minErr("$sanitize"),g=function(n){var t=[];return st(n,k(t)),t.join("")},f=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,e=/^<\s*\/\s*([\w:-]+)[^>]*>/,nt=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,tt=/^</,it=/^<\s*\//,rt=/<!--(.*?)-->/g,o=/<!DOCTYPE([^>]*?)>/i,ut=/<!\[CDATA\[(.*?)]]>/g,ft=/^((ftp|https?):\/\/|mailto:|tel:|#)/i,et=/([^\#-~| |!])/g,s=i("area,br,col,hr,img,wbr"),h=i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),c=i("rp,rt"),l=t.extend({},c,h),a=t.extend({},h,i("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),v=t.extend({},c,i("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),y=i("script,style"),p=t.extend({},s,a,v,l),w=i("background,cite,href,longdesc,src,usemap"),ot=t.extend({},w,i("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,span,start,summary,target,title,type,valign,value,vspace,width")),r=document.createElement("pre");t.module("ngSanitize",[]).value("$sanitize",g);t.module("ngSanitize").filter("linky",function(){var n=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s\.\;\,\(\)\{\}\<\>]/,i=/^mailto:/;return function(r,u){if(!r)return r;var f,e=r,l=[],o=k(l),s,h,c={};for(t.isDefined(u)&&(c.target=u);f=e.match(n);)s=f[0],f[2]==f[3]&&(s="mailto:"+s),h=f.index,o.chars(e.substr(0,h)),c.href=s,o.start("a",c),o.chars(f[0].replace(i,"")),o.end("a"),e=e.substring(h+f[0].length);return o.chars(e),l.join("")}})}(window,window.angular),function(n,t,i){"use strict";t.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(n,r){function c(){var n,e,o,s;for(n in f)h(u[n])&&r.cookies(n,i);for(n in u)e=u[n],t.isString(e)||(e=""+e,u[n]=e),e!==f[n]&&(r.cookies(n,e),s=!0);if(s){s=!1;o=r.cookies();for(n in u)u[n]!==o[n]&&(h(o[n])?delete u[n]:u[n]=o[n],s=!0)}}var u={},f={},e,o=!1,s=t.copy,h=t.isUndefined;return r.addPollFn(function(){var t=r.cookies();e!=t&&(e=t,s(t,f),s(t,u),o&&n.$apply())})(),o=!0,n.$watch(c),u}]).factory("$cookieStore",["$cookies",function(n){return{get:function(i){var r=n[i];return r?t.fromJson(r):r},put:function(i,r){n[i]=t.toJson(r)},remove:function(t){delete n[t]}}}])}(window,window.angular),function(n){"use strict";n.module("ngLocalize.Config",[]).value("localeConf",{basePath:"languages",defaultLocale:"en-US",sharedDictionary:"common",fileExtension:".lang.json",persistSelection:!0,cookieName:"COOKIE_LOCALE_LANG",observableAttrs:new RegExp("^data-(?!ng-|i18n)"),delimiter:"::"});n.module("ngLocalize.Events",[]).constant("localeEvents",{resourceUpdates:"ngLocalizeResourcesUpdated",localeChanges:"ngLocalizeLocaleChanged"});n.module("ngLocalize",["ngSanitize","ngLocalize.Config","ngLocalize.Events","ngLocalize.InstalledLanguages"]).service("locale",["$injector","$http","$q","$log","$rootScope","$window","localeConf","localeEvents","localeSupported","localeFallbacks",function(t,i,r,u,f,e,o,s,h,c){function p(n){return n&&n.length&&it.test(n)}function w(n){var t=n?n.split("."):"",i="";return t.length>1&&(i=t.slice(0,-1).join(".")),i}function b(n){var t=n?n.split("."):[],i="";return t.length&&(i=t[t.length-1]),i}function k(n){var t=null,r=n?n.split("."):[],i;if(r.length>1)for(t=y,i=0;i<r.length-1;i++)if(t[r[i]])t=t[r[i]];else{t=null;break}return t}function d(n){var e=n?n.split("."):"",t=y,h=o.basePath+"/"+a,r;if(e.length>1){for(r=0;r<e.length-1;r++)t[e[r]]||(t[e[r]]={}),t=t[e[r]],h+="/"+e[r];t._loading||(t._loading=!0,h+=o.fileExtension,i.get(h).success(function(i){var r,u=w(n);for(r in i)i.hasOwnProperty(r)&&(t[r]=i[r]);delete t._loading;f.$broadcast(s.resourceUpdates);l[u]&&l[u].resolve(u)}).error(function(){u.error("[localizationService] Failed to load: "+h);delete t._loading}))}}function g(n){var t,i;return n=n||o.langFile,i=n+"._LOOKUP_",t=k(i),l[n]||(l[n]=r.defer()),t&&!t._loading?l[n].resolve(n):t||d(i),l[n].promise}function rt(t){var i,u,f;if(n.isString(t))i=t.split(",");else if(n.isArray(t))i=t;else throw new Error("locale.ready requires either an Array or comma-separated list.");return i.length>1?(f=[],i.forEach(function(n){f.push(g(n))}),u=r.all(f)):u=g(t),u}function nt(t,i){var r=t,u=-1;return i&&(n.isArray(i)?n.forEach(i,function(n,t){r=r.replace("%"+(t+1),n);r=r.replace("{"+(t+1)+"}",n)}):n.forEach(i,function(n,t){++u;r=r.replace("{"+t+"}",n);r=r.replace("%"+t,n);r=r.replace("%"+u,n);r=r.replace("{"+u+"}",n)})),r=r.replace(/\n/g,"<br>")}function ut(t,i){var f="",r,e,s,h=!1;return n.isString(t)&&!i&&t.indexOf(o.delimiter)!=-1&&(s=t.split(o.delimiter),t=s[0],i=n.fromJson(s[1])),h=p(t),h?(n.isObject(i)||(i=[i]),r=k(t),r&&!r._loading?(e=b(t),r[e]?f=nt(r[e],i):(u.info("[localizationService] Key not found: "+t),f="%%KEY_NOT_FOUND%%")):r||d(t)):f=t,f}function tt(t){var i;n.isString(t)?(t=t.trim(),h.indexOf(t)!=-1?i=t:(i=c[t.split("-")[0]],n.isUndefined(i)&&(i=o.defaultLocale))):i=o.defaultLocale;i!=a&&(y={},l={},a=i,f.$broadcast(s.localeChanges,a),f.$broadcast(s.resourceUpdates),v&&v.put(o.cookieName,i))}function ft(){return a}var it=new RegExp("^[\\w\\.-]+\\.[\\w\\s\\.-]+\\w(:.*)?$"),a,l,y,v;return o.persistSelection&&t.has("$cookieStore")&&(v=t.get("$cookieStore")),tt(v?v.get(o.cookieName):e.navigator.userLanguage||e.navigator.language),{ready:rt,isToken:p,getPath:w,getKey:b,setLocale:tt,getLocale:ft,getString:ut,_applySubstitutions:nt}}]).filter("i18n",["locale",function(n){return function(t,i){return n.getString(t,i)}}]).directive("i18n",["$sce","locale","localeEvents","localeConf",function(t,i,r,u){function e(n,i){i!==n.html()&&n.html(t.getTrustedHtml(i))}function f(n,t,r){i.isToken(t)?i.ready(i.getPath(t)).then(function(){e(n,i.getString(t,r))}):e(n,t)}return function(t,i,e){var o;e.$observe("i18n",function(n,t){n&&n!=t&&f(i,n,o)});n.forEach(e.$attr,function(n,t){u.observableAttrs.test(n)&&e.$observe(t,function(n,r){(!n||n==r)&&o&&o[t]||(o=o||{},o[t]=e[t],f(i,e.i18n,o))})});t.$on(r.resourceUpdates,function(){f(i,e.i18n,o)});t.$on(r.localeChanges,function(){f(i,e.i18n,o)})}}]).directive("i18nAttr",["locale","localeEvents",function(n,t){return function(i,r,u){function f(t,r){var o=i.$eval(r),s=[],f,h;for(h in o)f=o[h],n.isToken(f)&&s.indexOf(n.getPath(f))==-1&&s.push(n.getPath(f));n.ready(s).then(function(){var i="",t;for(t in o)f=o[t],i=n.getString(f),e[t]!==i&&u.$set(t,e[t]=i)})}var e={};u.$observe("i18nAttr",function(n,t){n&&n!=t&&f(r,n)});i.$on(t.resourceUpdates,function(){f(r,u.i18nAttr)});i.$on(t.localeChanges,function(){f(r,u.i18nAttr)})}}]);n.module("ngLocalize.InstalledLanguages",[]).value("localeSupported",["en-US"]).value("localeFallbacks",{en:"en-US"});n.module("ngLocalize.Version",[]).constant("localeVer","1.1.4")}(window.angular,window,document);htmlEncodeContainer=$("<div />");angular.module("oakDirectives",[]).factory("Util",function(){return{SetarElementoAtivoTab:function(n,t){var i=n.find(t);i.length>0&&(angular.forEach(n.children(),function(n){angular.element(n).removeClass("active")}),i.addClass("active"))}}}).directive("oakError",["$compile",function(n){var t=function(t,i,r){var f=r.oakError,h=f.substring(0,f.indexOf(":")),e=f.substring(f.indexOf(":")+1,f.length),o,u,s;e.search(/\$index/i)!=-1&&(e=e.replace("$index",t.$index));o=e.replace("[","_").replace("]","_");u=$(i).clone();u.addClass("text-danger");u.attr("ng-show",h+".ErrorMessage."+o+".length > 0");u.html("{{"+h+".ErrorMessage."+o+"}}");u.removeAttr("oak-error");s="";s=$("<div />").append(u).html();$(i).replaceWith(n(s)(t))};return{restrict:"A",link:t}}]).directive("oakModel",["$compile",function(n){var t=function(t,i,r){var u=r.oakModel,s=u.substring(0,u.indexOf(":")),f=u.substring(u.indexOf(":")+1,u.length),l=f,h,o,e,c;f.search(/\$index/i)!=-1&&(f=f.replace("$index",t.$index));h=f.replace("[","_").replace("]","_");o=s+h.replace(".","")+"ValidationFunc";$(t[o]).length<1&&(t[o]=function(){var n=findPropertyValue(t,s),i;return n!=null&&$(n.ErrorMessage).length>0&&(i=findPropertyValue(n.ErrorMessage,h),i!=null&&i.length>0)?!0:!1});e=$(i).clone();e.attr("ng-class","{'input-validation-error' : "+o+"()}");e.attr("ng-model",s+"."+l);e.removeAttr("oak-model");c="";c=$("<div />").append(e).html();$(i).replaceWith(n(c)(t))};return{restrict:"A",link:t}}]).directive("oakKeyup",function(){return function(n,t,i){t.bind("keyup",function(){n.$eval(i.oakKeyup)})}}).directive("oakKeypress",function(){return function(n,t,i){t.bind("keypress",function(){n.$eval(i.oakKeypress)})}}).directive("oakEnter",function(){return function(n,t,i){t.bind("keypress",function(t){t.which===13&&(n.$apply(function(){n.$eval(i.oakEnter)}),t.preventDefault())})}}).directive("oakMaxlength",function(){return{require:"ngModel",link:function(n,t,i,r){function f(n){if(n.length>u){var t=n.substring(0,u);return r.$setViewValue(t),r.$render(),t}return n}var u=Number(i.myMaxlength);r.$parsers.push(f)}}}).directive("oakNumber",function(){return{require:"ngModel",link:function(n,t,i,r){r.$parsers.push(function(n){var u=i.min,f=i.max,t;return n==undefined?"":(t=n.replace(/[^0-9]/g,""),t.length>0&&(u!==null&&u!==undefined&&Number(t)<Number(u)&&(t=u),f!==null&&f!==undefined&&Number(t)>Number(f)&&(t=f)),t!=n&&(r.$setViewValue(t),r.$render()),t)})}}}).directive("oakMoney",function(){var n=function(n,t){$(t).maskMoney({showSymbol:!1,symbol:"R$",decimal:",",thousands:""}).blur(function(){$(this).trigger("input")})};return{restrict:"A",link:n}}).directive("oakMax",function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){var u,f;if(!r){console.log("ngModel required");return}u=Infinity;n.$watch(i.oakMax,function(n){u=n;r.$isEmpty(r.$viewValue)||r.$setViewValue(r.$viewValue)});f=function(n){return!r.$isEmpty(n)&&n>u?(r.$setValidity("max",!1),undefined):(r.$setValidity("max",!0),n)};r.$parsers.push(f);r.$formatters.unshift(f)}}}).directive("oakClientValidation",function(){return{restrict:"A",require:"?ngModel",link:function(n,t,i,r){var o;if(!r){console.log("ngModel required");return}r.$blurred=!0;var u=i.type?i.type.toLowerCase():"",f=t.first().closest(".form-group"),e=function(n){return r.$isEmpty(n)||o(n)?(r.$setValidity(u,!0),n):(r.$setValidity(u,!1),undefined)};(u.indexOf("cpf")!=-1||u.indexOf("cnpj")!=-1)&&(r.$parsers.push(e),r.$formatters.unshift(e));t.on("focus",function(){r.$blurred=!1;f.removeClass("has-success").removeClass("has-error");n.$$phase||n.$apply()});t.on("blur",function(){r.$blurred=!0;r.$valid?f.removeClass("has-error").addClass("has-success"):r.$invalid&&r.$dirty&&f.removeClass("has-success").addClass("has-error");n.$$phase||n.$apply()});n.$watch(function(){return r.$valid},function(t){t?f.removeClass("has-error").addClass("has-success"):r.$dirty?f.removeClass("has-success").addClass("has-error"):r.$pristine&&!r.$isEmpty(r.$modelValue)?(r.$setViewValue(r.$viewValue),f.removeClass("has-success").addClass("has-error")):f.removeClass("has-success").removeClass("has-error");n.$$phase||n.$apply()});t.on("$destroy",function(){t.off()});o=function(n){var t=!1;return n=n.replace(/[^\d]+/g,""),u.indexOf("cpf")!=-1&&u.indexOf("cnpj")!=-1?n.length==11?t=validarCPF(n):n.length==14&&(t=validarCNPJ(n)):t=u.indexOf("cpf")!=-1?validarCPF(n):u.indexOf("cnpj")!=-1?validarCNPJ(n):!0,t}}}}).directive("oakScroll",["$window","$rootScope",function(n,t){return{restrict:"A",link:function(i,r,u){var e=u.oakScroll,f=angular.element(n);f.on("scroll",function(){var n=r.offset().top+r.height(),u=f.height()+f.scrollTop(),o=n-u;o<=0&&(t.$$phase||i.$apply(e))});f.on("destroy",function(){f.off("scroll")})}}}]).directive("oakBlock",["blockService",function(){return{restrict:"A",link:function(n,t,i){n.$watch(i.oakBlock,function(n){n?t.block({message:null}):t.unblock()})}}}]).directive("oakFocus",["$timeout",function(n){return{restrict:"A",link:function(t,i,r){t.$watch(r.oakFocus,function(t){t&&(i[0].blur(),n(function(){i[0].focus()}))});i.on("$destroy",function(){i.off()})}}}]).directive("oakDatepicker",function(){var n=function(n,t,i){var r=i.oakDatepickerFormat,o,u,f,e;isNullOrEmpty(r)&&(r="dd/mm/yyyy");o=n.$eval(i.oakDatepickerViewmode);u=n.$eval(i.oakDatepickerStartDate);n.$watch(i.oakDatepickerStartDate,function(i,r){i!==r&&(t.datepicker("setStartDate",i),n.$$phase||n.$apply())});f=n.$eval(i.oakDatepickerEndDate);n.$watch(i.oakDatepickerEndDate,function(i,r){i!==r&&(t.datepicker("setEndDate",i),n.$$phase||n.$apply())});t.datepicker({language:"pt-BR",todayHighlight:!0,todayBtn:"linked",format:r,autoclose:!0,minViewMode:o,startDate:u,endDate:f}).on("changeDate",function(){$(this).trigger("input")});n.$watch(i.oakDatepickerViewmode,function(n,i){if(n!==i){t.datepicker("remove");t.datepicker({language:"pt-BR",todayHighlight:!0,todayBtn:"linked",format:r,autoclose:!0,minViewMode:n,startDate:u,endDate:f}).on("changeDate",function(){$(this).trigger("input")})}});e=n.$eval(i.ngModel);isNullOrEmpty(e)||(t.datepicker("update",e),n.$$phase||n.$apply())};return{restrict:"EA",require:"?ngModel",link:n}}).directive("oakTypeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(n,t,i,r,u,f,e){var o=[9,13,27,38,40];return{require:"ngModel",link:function(s,h,c,l){var it=s.$eval(c.typeaheadMinLength)||1,g=s.$eval(c.typeaheadWaitMs)||0,rt=s.$eval(c.typeaheadEditable)!==!1,p=t(c.typeaheadLoading).assign||angular.noop,ut=t(c.typeaheadOnSelect),nt=c.typeaheadInputFormatter?t(c.typeaheadInputFormatter):undefined,ft=t(c.ngModel).assign,v=e.parse(c.oakTypeahead),w=angular.element("<typeahead-popup><\/typeahead-popup>"),a,y,b,k,d,tt;w.attr({matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"});angular.isDefined(c.typeaheadTemplateUrl)&&w.attr("template-url",c.typeaheadTemplateUrl);a=s.$new();s.$on("$destroy",function(){a.$destroy()});y=function(){a.matches=[];a.activeIdx=-1};b=function(n){var t={$viewValue:n};p(s,!0);i.when(v.source(a,t)).then(function(i){if(n===l.$viewValue){if(i.length>0){a.activeIdx=0;a.matches.length=0;for(var r=0;r<i.length;r++)t[v.itemName]=i[r],a.matches.push({label:v.viewMapper(a,t),model:i[r]});a.query=n;a.position=f.position(h);a.position.top=a.position.top+h.prop("offsetHeight")}else y();p(s,!1)}},function(){y();p(s,!1)})};y();a.query=undefined;l.$parsers.unshift(function(n){return y(),n&&n.length>=it&&(g>0?(k&&r.cancel(k),k=r(function(){b(n)},g)):b(n)),rt?n:(l.$setValidity("editable",!1),undefined)});l.$formatters.push(function(n){var i,r,t={};return nt?(t.$model=n,nt(s,t)):(t[v.itemName]=n,i=v.viewMapper(s,t),t[v.itemName]=undefined,r=v.viewMapper(s,t),i!==r?i:n)});a.select=function(n){var t={},i,r;t[v.itemName]=r=a.matches[n].model;i=v.modelMapper(s,t);ft(s,i);l.$setValidity("editable",!0);ut(s,{$item:r,$model:i,$label:v.viewMapper(s,t)});y();h[0].focus()};h.bind("keydown",function(n){a.matches.length!==0&&o.indexOf(n.which)!==-1&&(n.preventDefault(),n.which===40?(a.activeIdx=(a.activeIdx+1)%a.matches.length,a.$digest()):n.which===38?(a.activeIdx=(a.activeIdx?a.activeIdx:a.matches.length)-1,a.$digest()):n.which===13||n.which===9?a.$apply(function(){a.select(a.activeIdx)}):n.which===27&&(n.stopPropagation(),y(),a.$digest()))});d=function(n){h[0]!==n.target&&(y(),a.$digest())};tt=function(n){a.matches.length<1&&n.stopPropagation();l.$setViewValue(" ");a.$digest()};u.bind("click",d);$(h).parent().find(".typeaheadTrigger").bind("click",tt);s.$on("$destroy",function(){u.unbind("click",d)});h.after(n(w)(a))}}}]).directive("bsPopover",["$parse","$compile","$http","$timeout","$q","$templateCache",function(n,t,i,r,u,f){$("body").on("keyup",function(n){n.keyCode===27&&$(".popover.in").each(function(){$(this).popover("hide")})});return{restrict:"A",scope:!0,link:function(e,o,s){var l=n(s.bsPopover),a=l.assign,h=l(e),c={};angular.isObject(h)&&(c=h);u.when(c.content||f.get(h)||i.get(h,{cache:!0})).then(function(n){if(angular.isObject(n)&&(n=n.data),!!s.unique)o.on("show",function(){$(".popover.in").each(function(){var n=$(this),t=n.data("bs.popover");t&&!t.$element.is(o)&&n.popover("hide")})});!s.hide||e.$watch(s.hide,function(n,t){n?i.hide():n!==t&&i.show()});!s.show||e.$watch(s.show,function(n,t){n?r(function(){i.show()}):n!==t&&i.hide()});o.popover(angular.extend({},c,{content:n,html:!0}));var i=o.data("bs.popover");i.hasContent=function(){return this.getTitle()||n};i.getPosition=function(){var n=$.fn.popover.Constructor.prototype.getPosition.apply(this,arguments);return t(this.$tip)(e),e.$digest(),this.$tip.data("bs.popover",this),n};e.$popover=function(n){i(n)};angular.forEach(["show","hide"],function(n){e[n]=function(){i[n]()}});e.dismiss=e.hide;angular.forEach(["show","shown","hide","hidden"],function(n){o.on(n,function(t){e.$emit("popover-"+n,t)})})})}}}]).directive("stopEvent",function(){return{restrict:"A",link:function(n,t,i){t.bind(i.stopEvent,function(n){n.stopPropagation()})}}}).directive("oakBeforeClick",["$location",function(){return{restrict:"A",link:function(n,t,i){return t.bind("click",function(t){try{n.$eval(i.oakBeforeClick);n.$eval(i.oakClick)}catch(r){t.stopPropagation()}})}}}]).directive("oakConfirm",["$document","$parse",function(n){return{restrict:"A",link:function(t,i,r){var u,o,s,h,l,c,e,f;return e=r.placement,f=r.htmldivcontent,u=Math.floor(Math.random()*1e10),r.buttonId=u,e=r.placement||"bottom",s=r.message||"Are you sure?",c=r.yes||"Yes",h=r.no||"No",o=f?function(){return $("#"+f).wrapInner("<div class='button-"+u+"'><\/div>"),$("#"+f).clone(!0)}:'<div class="button-'+u+'">\n  <p>'+s+'<\/p><button class="confirmbutton-yes btn btn-primary">'+c+'<\/button>\n\t<button class="confirmbutton-no btn btn-default">'+h+"<\/button>\n<\/div>",i.popover({content:o,html:!0,trigger:"manual",placement:e,container:"body",title:l}),i.bind("click",function(f){var e,o;e=!0;f.stopPropagation();i.popover("show");o=$(".button-"+u);o.closest(".popover").click(function(n){e&&n.stopPropagation()});o.find(".confirmbutton-yes").click(function(){e=!1;i.popover("hide");t.$apply(function(){t.$eval(r.oakConfirm)})});o.find(".confirmbutton-no").click(function(){e=!1;n.off("click.confirmbutton."+u);i.popover("hide")});n.on("click.confirmbutton."+u,":not(.popover, .popover *)",function(){n.off("click.confirmbutton."+u);i.popover("hide")})})}}}]).directive("embedSrc",function(){return{restrict:"A",link:function(n,t,i){var r=t,u=n.$eval(i.embedSrc);n.$watch(i.embedSrc,function(){var n=t.clone().attr("src",u);r.replaceWith(n);r=n})}}}).directive("oakNofocus",function(){return{restrict:"A",link:function(n,t){$(t).bind("mousedown",function(n){n.preventDefault()})}}}).directive("oakTaggedtext",["htmlService",function(n){return{restrict:"A",scope:{tags:"="},require:"?ngModel",link:function(t,i,r,u){function f(){var t=i.html(),r,n;t="<span>"+t+"<\/span>";r=$(t);_.each(r.find("span"),function(n){var t=$(n).attr("data-tag");$(n).replaceWith(t)});n=r.html();n=n.replace(/\&nbsp;/g," ");n=SubstituiBRPorEnter(n);n=htmlDecode(n);u.$setViewValue($.trim(n))}function e(n,t){for(var i=0;i<n.length;i++)if(n[i].valor===t)return n[i].nome;return null}if(u){u.$render=function(){var r;try{r=u.$viewValue;r=htmlEncode(r);var s=null,f=null,h=r.match(/{\w*}/g),c=[],o=0;if(h!==null)for(o=0;o<h.length;o++)f=h[o],c.indexOf(f)<0&&(c.push(f),s=e(t.tags,f),s!==null&&(r=replaceAll(r,f,n.GetTagHtml(f,s))));r=SubstituiEnterPorBR(r);i.html(r)}catch(l){}};i.on("blur keyup change",function(){var n=f,i=t.$root.$$phase;i=="$apply"||i=="$digest"?n&&typeof n=="function"&&n():t.$apply(n)});f()}}}}]).directive("navTabs",["Util","$location",function(n,t){var i=("#"+t.path()).replace("#/","#");return{restrict:"C",link:function(t,r){i!="#"&&n.SetarElementoAtivoTab(r,'li:has(a[href="'+i+'"])')}}}]).directive("tabContent",["Util","$location",function(n,t){var i=("#"+t.path()).replace("#/","#");return{restrict:"C",link:function(t,r){i!="#"&&n.SetarElementoAtivoTab(r,i)}}}]).directive("menu",["Util","$location",function(n,t){return{restrict:"C",link:function(n){var i=("#"+t.url()).replace("#/","#");i!="#"&&(n.menuSelecionado=i.replace("#",""))}}}]).directive("replacecomma",function(){var n=/^\-?\d+((\.|\,)\d+)?$/;return{require:"ngModel",link:function(t,i,r,u){u.$parsers.unshift(function(t){return n.test(t)?(u.$setValidity("float",!0),typeof t=="number"?t:parseFloat(t.replace(",","."))):(u.$setValidity("float",!1),undefined)})}}}).directive("tzConfirm",["$document","$parse","$http",function(n){return{restrict:"A",link:function(t,i,r){var f,e,o,s,u;return u=t.$parent.GetTimezoneInfo(),f=Math.floor(Math.random()*1e10),o=r.message,r.buttonId=f,e='<div class="button-'+f+'">\n<p>'+o+'<\/p><button style="white-space: inherit;width: 100%;margin: 4px;" class="confirmbutton-tz1 btn btn-warning">'+u.userTzName+'<\/button>\n<button style="white-space: inherit;width: 100%;margin: 4px;" class="confirmbutton-tz2 btn btn-warning">'+u.savedTzName+"<\/button>\n<\/div>",i.popover({content:e,html:!0,trigger:"manual",placement:"bottom",container:"body",title:s}),i.bind("click",function(e){var h=t.$eval(r.needConfirm)&&u.userTzId!=u.savedTzId,o,s;if(h){o=!0;e.stopPropagation();i.popover("show");s=$(".button-"+f);s.closest(".popover").click(function(n){o&&n.stopPropagation()});s.find(".confirmbutton-tz1").click(function(){o=!1;t.inputTimezoneId=u.userTzId;i.popover("hide");t.$apply(function(){t.$eval(r.customClick)})});s.find(".confirmbutton-tz2").click(function(){o=!1;t.inputTimezoneId=u.savedTzId;i.popover("hide");t.$apply(function(){t.$eval(r.customClick)})});n.on("click.confirmbutton."+f,":not(.popover, .popover *)",function(){n.off("click.confirmbutton."+f);i.popover("hide")})}else t.inputTimezoneId=u.userTzId,t.$apply(function(){t.$eval(r.customClick)})})}}}]).filter("oakSkip",function(){return function(n,t){return t>0?n.slice(t-1):n}}).filter("real",function(){return function(n){var t,i;if(n!==undefined&&n!==null){t=n;i=2;t=isFinite(+t)?+t:0;i=isFinite(+i)?Math.abs(i):0;var e=",",r=i>0?t.toFixed(i):Math.round(t).toFixed(i),o=Math.abs(t).toFixed(i),u,f;return o>=1e3?(u=o.split(/\D/),f=u[0].length%3||3,u[0]=r.slice(0,f+(t<0))+u[0].slice(f).replace(/(\d{3})/g,".$1"),r=u.join(e)):r=r.replace(".",e),r}return""}}).filter("booleano",function(){return function(n){return n===!0?"Sim":"Não"}}).filter("bytes",function(){return function(n){return(isNaN(n)&&(n=0),n<1024)?n+" Bytes":(n/=1024,n<1024)?n.toFixed(0)+" KB":(n/=1024,n<1024)?n.toFixed(0)+" MB":(n/=1024,n.toFixed(0)+" GB")}}).filter("virgulaE",function(){return function(n){if(isNullOrEmpty(n))return"";var t=n.join(", "),i=t.lastIndexOf(",");return i>-1&&(t=t.substring(0,i)+" e "+t.substring(i+1)),t}}).filter("sumByKey",function(){return function(n,t){var r,i,u;if(typeof n=="undefined"||typeof t=="undefined")return 0;for(r=0,i=n.length-1;i>=0;i--)u=parseInt(n[i][t]),isNaN(u)||(r+=u);return r}});angular.module("xeditable",[]).value("editableOptions",{theme:"default",buttons:"right",blurElem:"cancel",blurForm:"ignore",activate:"focus"});angular.module("xeditable").directive("editableBsdate",["editableDirectiveFactory",function(n){return n({directiveName:"editableBsdate",inputTpl:'<input type="text">'})}]);angular.module("xeditable").directive("editableBstime",["editableDirectiveFactory",function(n){return n({directiveName:"editableBstime",inputTpl:"<timepicker><\/timepicker>",render:function(){this.parent.render.call(this);var n=angular.element('<div class="well well-small" style="display:inline-block;"><\/div>');n.attr("ng-model",this.inputEl.attr("ng-model"));this.inputEl.removeAttr("ng-model");this.attrs.eNgChange&&(n.attr("ng-change",this.inputEl.attr("ng-change")),this.inputEl.removeAttr("ng-change"));this.inputEl.wrap(n)}})}]);angular.module("xeditable").directive("editableCheckbox",["editableDirectiveFactory",function(n){return n({directiveName:"editableCheckbox",inputTpl:'<input type="checkbox">',render:function(){this.parent.render.call(this);this.attrs.eTitle&&(this.inputEl.wrap("<label><\/label>"),this.inputEl.after(angular.element("<span><\/span>").text(this.attrs.eTitle)))},autosubmit:function(){var n=this;n.inputEl.bind("change",function(){setTimeout(function(){n.scope.$apply(function(){n.scope.$form.$submit()})},500)})}})}]);angular.module("xeditable").directive("editableChecklist",["editableDirectiveFactory","editableNgOptionsParser",function(n,t){return n({directiveName:"editableChecklist",inputTpl:"<span><\/span>",useCopy:!0,render:function(){this.parent.render.call(this);var n=t(this.attrs.eNgOptions),i='<label ng-repeat="'+n.ngRepeat+'"><input type="checkbox" checklist-model="$parent.$data" checklist-value="'+n.locals.valueFn+'"><span ng-bind="'+n.locals.displayFn+'"><\/span><\/label>';this.inputEl.removeAttr("ng-model");this.inputEl.removeAttr("ng-options");this.inputEl.html(i)}})}]),function(){var n="text|email|tel|number|url|search|color|date|datetime|time|month|week".split("|");angular.forEach(n,function(n){var t="editable"+n.charAt(0).toUpperCase()+n.slice(1);angular.module("xeditable").directive(t,["editableDirectiveFactory",function(i){return i({directiveName:t,inputTpl:'<input type="'+n+'">'})}])});angular.module("xeditable").directive("editableRange",["editableDirectiveFactory",function(n){return n({directiveName:"editableRange",inputTpl:'<input type="range" id="range" name="range">',render:function(){this.parent.render.call(this);this.inputEl.after("<output>{{$data}}<\/output>")}})}])}();angular.module("xeditable").directive("editableRadiolist",["editableDirectiveFactory","editableNgOptionsParser",function(n,t){return n({directiveName:"editableRadiolist",inputTpl:"<span><\/span>",render:function(){this.parent.render.call(this);var n=t(this.attrs.eNgOptions),i='<label ng-repeat="'+n.ngRepeat+'"><input type="radio" ng-model="$parent.$data" value="{{'+n.locals.valueFn+'}}"><span ng-bind="'+n.locals.displayFn+'"><\/span><\/label>';this.inputEl.removeAttr("ng-model");this.inputEl.removeAttr("ng-options");this.inputEl.html(i)},autosubmit:function(){var n=this;n.inputEl.bind("change",function(){setTimeout(function(){n.scope.$apply(function(){n.scope.$form.$submit()})},500)})}})}]);angular.module("xeditable").directive("editableSelect",["editableDirectiveFactory",function(n){return n({directiveName:"editableSelect",inputTpl:"<select><\/select>",autosubmit:function(){var n=this;n.inputEl.bind("change",function(){n.scope.$apply(function(){n.scope.$form.$submit()})})}})}]);angular.module("xeditable").directive("editableTextarea",["editableDirectiveFactory",function(n){return n({directiveName:"editableTextarea",inputTpl:"<textarea><\/textarea>",addListeners:function(){var n=this;n.parent.addListeners.call(n);n.single&&n.buttons!=="no"&&n.autosubmit()},autosubmit:function(){var n=this;n.inputEl.bind("keydown",function(t){(t.ctrlKey||t.metaKey)&&t.keyCode===13&&n.scope.$apply(function(){n.scope.$form.$submit()})})}})}]);angular.module("xeditable").factory("editableController",["$q","editableUtils",function(n,t){function i(n,i,r,u,f,e,o,s,h){var l,a,c=this;c.scope=n;c.elem=r;c.attrs=i;c.inputEl=null;c.editorEl=null;c.single=!0;c.error="";c.theme=f[e.theme]||f["default"];c.parent={};c.inputTpl="";c.directiveName="";c.useCopy=!1;c.single=null;c.buttons="right";c.init=function(t){if(c.single=t,c.name=i.eName||i[c.directiveName],i[c.directiveName])l=u(i[c.directiveName]);else throw"You should provide value for `"+c.directiveName+"` in editable element!";c.buttons=c.single?c.attrs.buttons||e.buttons:"no";i.eName&&c.scope.$watch("$data",function(n){c.scope.$form.$data[i.eName]=n});i.onshow&&(c.onshow=function(){return c.catchError(u(i.onshow)(n))});i.onhide&&(c.onhide=function(){return u(i.onhide)(n)});i.oncancel&&(c.oncancel=function(){return u(i.oncancel)(n)});i.onbeforesave&&(c.onbeforesave=function(){return c.catchError(u(i.onbeforesave)(n))});i.onaftersave&&(c.onaftersave=function(){return c.catchError(u(i.onaftersave)(n))});n.$parent.$watch(i[c.directiveName],function(){c.handleEmpty()})};c.render=function(){var n=c.theme,u,r,f,o;c.inputEl=angular.element(c.inputTpl);c.controlsEl=angular.element(n.controlsTpl);c.controlsEl.append(c.inputEl);c.buttons!=="no"&&(c.buttonsEl=angular.element(n.buttonsTpl),c.submitEl=angular.element(n.submitTpl),c.cancelEl=angular.element(n.cancelTpl),c.buttonsEl.append(c.submitEl).append(c.cancelEl),c.controlsEl.append(c.buttonsEl),c.inputEl.addClass("editable-has-buttons"));c.errorEl=angular.element(n.errorTpl);c.controlsEl.append(c.errorEl);c.editorEl=angular.element(c.single?n.formTpl:n.noformTpl);c.editorEl.append(c.controlsEl);for(u in i.$attr)if(!(u.length<=1)){if(r=!1,f=u.substring(1,2),u.substring(0,1)==="e"&&f===f.toUpperCase())r=u.substring(1);else continue;r!=="Form"&&r!=="NgSubmit"&&(r=r.substring(0,1).toLowerCase()+t.camelToDash(r.substring(1)),o=i[u]===""?r:i[u],c.inputEl.attr(r,o))}c.inputEl.addClass("editable-input");c.inputEl.attr("ng-model","$data");c.editorEl.addClass(t.camelToDash(c.directiveName));c.single&&(c.editorEl.attr("editable-form","$form"),c.editorEl.attr("blur",c.attrs.blur||(c.buttons==="no"?"cancel":e.blurElem)));angular.isFunction(n.postrender)&&n.postrender.call(c)};c.setLocalValue=function(){c.scope.$data=c.useCopy?angular.copy(l(n.$parent)):l(n.$parent)};c.show=function(){return c.setLocalValue(),c.render(),r.after(c.editorEl),s(c.editorEl)(n),c.addListeners(),r.addClass("editable-hide"),c.onshow()};c.hide=function(){return c.editorEl.remove(),r.removeClass("editable-hide"),c.onhide()};c.cancel=function(){c.oncancel()};c.addListeners=function(){c.inputEl.bind("keyup",function(n){if(c.single)switch(n.keyCode){case 27:c.scope.$apply(function(){c.scope.$form.$cancel()})}});c.single&&c.buttons==="no"&&c.autosubmit();c.editorEl.bind("click",function(n){n.which===1&&c.scope.$form.$visible&&(c.scope.$form._clicked=!0)})};c.setWaiting=function(n){n?(a=!c.inputEl.attr("disabled")&&!c.inputEl.attr("ng-disabled")&&!c.inputEl.attr("ng-enabled"),a&&(c.inputEl.attr("disabled","disabled"),c.buttonsEl&&c.buttonsEl.find("button").attr("disabled","disabled"))):a&&(c.inputEl.removeAttr("disabled"),c.buttonsEl&&c.buttonsEl.find("button").removeAttr("disabled"))};c.activate=function(){setTimeout(function(){var n=c.inputEl[0];e.activate==="focus"&&n.focus&&n.focus();e.activate==="select"&&n.select&&n.select()},0)};c.setError=function(t){angular.isObject(t)||(n.$error=t,c.error=t)};c.catchError=function(n,t){return angular.isObject(n)&&t!==!0?h.when(n).then(angular.bind(this,function(n){this.catchError(n,!0)}),angular.bind(this,function(n){this.catchError(n,!0)})):t&&angular.isObject(n)&&n.status&&n.status!==200&&n.data&&angular.isString(n.data)?(this.setError(n.data),n=n.data):angular.isString(n)&&this.setError(n),n};c.save=function(){l.assign(n.$parent,angular.copy(c.scope.$data))};c.handleEmpty=function(){var t=l(n.$parent),i=t===null||t===undefined||t===""||angular.isArray(t)&&t.length===0;r.toggleClass("editable-empty",i)};c.autosubmit=angular.noop;c.onshow=angular.noop;c.onhide=angular.noop;c.oncancel=angular.noop;c.onbeforesave=angular.noop;c.onaftersave=angular.noop}return i.$inject=["$scope","$attrs","$element","$parse","editableThemes","editableOptions","$rootScope","$compile","$q"],i}]);angular.module("xeditable").factory("editableDirectiveFactory",["$parse","$compile","editableThemes","$rootScope","$document","editableController","editableFormController",function(n,t,i,r,u,f,e){return function(t){return{restrict:"A",scope:!0,require:[t.directiveName,"?^form"],controller:f,link:function(i,f,o,s){var h=s[0],c,l=!1,v,a;if(s[1])c=s[1],l=!0;else if(o.eForm)if(v=n(o.eForm)(i),v)c=v,l=!0;else for(a=0;a<u[0].forms.length;a++)if(u[0].forms[a].name===o.eForm){c=null;l=!0;break}if(angular.forEach(t,function(n,t){h[t]!==undefined&&(h.parent[t]=h[t])}),angular.extend(h,t),h.init(!l),i.$editable=h,f.addClass("editable"),l)if(c){if(i.$form=c,!i.$form.$addEditable)throw"Form with editable elements should have `editable-form` attribute.";i.$form.$addEditable(h)}else r.$$editableBuffer=r.$$editableBuffer||{},r.$$editableBuffer[o.eForm]=r.$$editableBuffer[o.eForm]||[],r.$$editableBuffer[o.eForm].push(h),i.$form=null;else i.$form=e(),i.$form.$addEditable(h),o.eForm&&(i.$parent[o.eForm]=i.$form),o.eForm||(f.addClass("editable-click"),f.bind("click",function(n){n.preventDefault();n.editable=h;i.$apply(function(){i.$form.$show()})}))}}}}]);angular.module("xeditable").factory("editableFormController",["$parse","$document","$rootScope","editablePromiseCollection","editableUtils",function(n,t,i,r,u){var f=[],e;return t.bind("click",function(n){var r,u,t;if(n.which===1){for(r=[],u=[],t=0;t<f.length;t++){if(f[t]._clicked){f[t]._clicked=!1;continue}f[t].$waiting||(f[t]._blur==="cancel"&&r.push(f[t]),f[t]._blur==="submit"&&u.push(f[t]))}(r.length||u.length)&&i.$apply(function(){angular.forEach(r,function(n){n.$cancel()});angular.forEach(u,function(n){n.$submit()})})}}),e={$addEditable:function(n){this.$editables.push(n);n.elem.bind("$destroy",angular.bind(this,this.$removeEditable,n));n.scope.$form||(n.scope.$form=this);this.$visible&&n.catchError(n.show())},$removeEditable:function(n){for(var t=0;t<this.$editables.length;t++)if(this.$editables[t]===n){this.$editables.splice(t,1);return}},$show:function(){if(!this.$visible){this.$visible=!0;var n=r();n.when(this.$onshow());this.$setError(null,"");angular.forEach(this.$editables,function(t){n.when(t.show())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$activate),onFalse:angular.bind(this,this.$activate),onString:angular.bind(this,this.$activate)});setTimeout(angular.bind(this,function(){this._clicked=!1;u.indexOf(f,this)===-1&&f.push(this)}),0)}},$activate:function(n){var t;if(this.$editables.length){if(angular.isString(n))for(t=0;t<this.$editables.length;t++)if(this.$editables[t].name===n){this.$editables[t].activate();return}for(t=0;t<this.$editables.length;t++)if(this.$editables[t].error){this.$editables[t].activate();return}this.$editables[0].activate()}},$hide:function(){this.$visible&&(this.$visible=!1,this.$onhide(),angular.forEach(this.$editables,function(n){n.hide()}),u.arrayRemove(f,this))},$cancel:function(){this.$visible&&(this.$oncancel(),angular.forEach(this.$editables,function(n){n.cancel()}),this.$hide())},$setWaiting:function(n){this.$waiting=!!n;angular.forEach(this.$editables,function(t){t.setWaiting(!!n)})},$setError:function(n,t){angular.forEach(this.$editables,function(i){n&&i.name!==n||i.setError(t)})},$submit:function(){function t(n){var t=r();t.when(this.$onbeforesave());t.then({onWait:angular.bind(this,this.$setWaiting),onTrue:n?angular.bind(this,this.$save):angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})}if(!this.$waiting){this.$setError(null,"");var n=r();angular.forEach(this.$editables,function(t){n.when(t.onbeforesave())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,t,!0),onFalse:angular.bind(this,t,!1),onString:angular.bind(this,this.$activate)})}},$save:function(){angular.forEach(this.$editables,function(n){n.save()});var n=r();n.when(this.$onaftersave());angular.forEach(this.$editables,function(t){n.when(t.onaftersave())});n.then({onWait:angular.bind(this,this.$setWaiting),onTrue:angular.bind(this,this.$hide),onFalse:angular.bind(this,this.$hide),onString:angular.bind(this,this.$activate)})},$onshow:angular.noop,$oncancel:angular.noop,$onhide:angular.noop,$onbeforesave:angular.noop,$onaftersave:angular.noop},function(){return angular.extend({$editables:[],$visible:!1,$waiting:!1,$data:{},_clicked:!1,_blur:null},e)}}]);angular.module("xeditable").directive("editableForm",["$rootScope","$parse","editableFormController","editableOptions",function(n,t,i,r){return{restrict:"A",require:["form"],compile:function(){return{pre:function(t,r,u,f){var h=f[0],e,o,s;u.editableForm?t[u.editableForm]&&t[u.editableForm].$show?(e=t[u.editableForm],angular.extend(h,e)):(e=i(),t[u.editableForm]=e,angular.extend(e,h)):(e=i(),angular.extend(h,e));o=n.$$editableBuffer;s=h.$name;s&&o&&o[s]&&(angular.forEach(o[s],function(n){e.$addEditable(n)}),delete o[s])},post:function(n,i,u,f){var e;e=u.editableForm&&n[u.editableForm]&&n[u.editableForm].$show?n[u.editableForm]:f[0];u.onshow&&(e.$onshow=angular.bind(e,t(u.onshow),n));u.onhide&&(e.$onhide=angular.bind(e,t(u.onhide),n));u.oncancel&&(e.$oncancel=angular.bind(e,t(u.oncancel),n));u.shown&&t(u.shown)(n)&&e.$show();e._blur=u.blur||r.blurForm;u.ngSubmit||u.submit||(u.onbeforesave&&(e.$onbeforesave=function(){return t(u.onbeforesave)(n,{$data:e.$data})}),u.onaftersave&&(e.$onaftersave=function(){return t(u.onaftersave)(n,{$data:e.$data})}),i.bind("submit",function(t){t.preventDefault();n.$apply(function(){e.$submit()})}));i.bind("click",function(n){n.which===1&&e.$visible&&(e._clicked=!0)})}}}}}]);angular.module("xeditable").factory("editablePromiseCollection",["$q",function(n){function t(){return{promises:[],hasFalse:!1,hasString:!1,when:function(t,i){if(t===!1)this.hasFalse=!0;else if(!i&&angular.isObject(t))this.promises.push(n.when(t));else if(angular.isString(t))this.hasString=!0;else return},then:function(t){function f(){i.hasString||i.hasFalse?!i.hasString&&i.hasFalse?o():u():e()}t=t||{};var e=t.onTrue||angular.noop,o=t.onFalse||angular.noop,u=t.onString||angular.noop,r=t.onWait||angular.noop,i=this;this.promises.length?(r(!0),n.all(this.promises).then(function(n){r(!1);angular.forEach(n,function(n){i.when(n,!0)});f()},function(){r(!1);u()})):f()}}}return t}]);angular.module("xeditable").factory("editableUtils",[function(){return{indexOf:function(n,t){if(n.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(t===n[i])return i;return-1},arrayRemove:function(n,t){var i=this.indexOf(n,t);return i>=0&&n.splice(i,1),t},camelToDash:function(n){return n.replace(/[A-Z]/g,function(n,t){return(t?"-":"")+n.toLowerCase()})},dashToCamel:function(n){return n.replace(/([\:\-\_]+(.))/g,function(n,t,i,r){return r?i.toUpperCase():i}).replace(/^moz([A-Z])/,"Moz$1")}}}]);angular.module("xeditable").factory("editableNgOptionsParser",[function(){function t(t){var i;if(!(i=t.match(n)))throw"ng-options parse error";var s=i[2]||i[1],r=i[4]||i[6],f=i[5],l=i[3]||"",h=i[2]?i[1]:r,e=i[7],o=i[8],c=o?i[8]:null,u;return f===undefined?(u=r+" in "+e,o!==undefined&&(u+=" track by "+c)):u="("+f+", "+r+") in "+e,{ngRepeat:u,locals:{valueName:r,keyName:f,valueFn:h,displayFn:s}}}var n=/^\s*(.*?)(?:\s+as\s+(.*?))?(?:\s+group\s+by\s+(.*))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(.*?)(?:\s+track\s+by\s+(.*?))?$/;return t}]);angular.module("xeditable").factory("editableThemes",function(){return{"default":{formTpl:'<form class="editable-wrap"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<span class="editable-controls"><\/span>',inputTpl:"",errorTpl:'<div class="editable-error" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit">save<\/button>',cancelTpl:'<button type="button" ng-click="$form.$cancel()">cancel<\/button>'},bs2:{formTpl:'<form class="form-inline editable-wrap" role="form"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<div class="editable-controls controls control-group" ng-class="{\'error\': $error}"><\/div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit" class="btn btn-primary"><span class="icon-ok icon-white"><\/span><\/button>',cancelTpl:'<button type="button" class="btn" ng-click="$form.$cancel()"><span class="icon-remove"><\/span><\/button>'},bs3:{formTpl:'<form class="form-inline editable-wrap" role="form"><\/form>',noformTpl:'<span class="editable-wrap"><\/span>',controlsTpl:'<div class="editable-controls form-group" ng-class="{\'has-error\': $error}"><\/div>',inputTpl:"",errorTpl:'<div class="editable-error help-block" ng-show="$error" ng-bind="$error"><\/div>',buttonsTpl:'<span class="editable-buttons"><\/span>',submitTpl:'<button type="submit" class="btn btn-primary"><span class="glyphicon glyphicon-ok"><\/span><\/button>',cancelTpl:'<button type="button" class="btn btn-default" ng-click="$form.$cancel()"><span class="glyphicon glyphicon-remove"><\/span><\/button>',buttonsClass:"",inputClass:"",postrender:function(){switch(this.directiveName){case"editableText":case"editableSelect":case"editableTextarea":case"editableEmail":case"editableTel":case"editableNumber":case"editableUrl":case"editableSearch":case"editableDate":case"editableDatetime":case"editableTime":case"editableMonth":case"editableWeek":if(this.inputEl.addClass("form-control"),this.theme.inputClass){if(this.inputEl.attr("multiple")&&(this.theme.inputClass==="input-sm"||this.theme.inputClass==="input-lg"))break;this.inputEl.addClass(this.theme.inputClass)}}this.buttonsEl&&this.theme.buttonsClass&&this.buttonsEl.find("button").addClass(this.theme.buttonsClass)}}}});jsonLocale={};angular.module("angular-img-cropper",[]).directive("imageCropper",["$document","$window","imageCropperDataShare",function(n,t,i){return{scope:{image:"=",croppedImage:"=",cropWidth:"=",cropHeight:"=",keepAspect:"=",touchRadius:"=",cropAreaBounds:"=",minWidth:"=",minHeight:"="},restrict:"A",link:function(n,t,r){function o(i,r){if(!f||i!==r){var u=t[0],e=n.cropWidth,o=n.cropHeight,h=n.keepAspect,c=n.touchRadius,s=f&&f.srcImage;f=new w(u,u.width/2-e/2,u.height/2-o/2,e,o,h,c);$(u).data("crop.angular-img-cropper",f);s?f.setImage(s):l(n.image)}}function l(t){if(t){var i=new Image;void 0!==r.cors&&"no"!==r.cors&&(i.crossOrigin="Anonymous");i.addEventListener("load",function(){f.setImage(i);n.$apply()},!1);i.src=t}}var f,c=c||function(n,t){function r(){this.constructor=n}for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);r.prototype=t.prototype;n.prototype=new r},a=function(){function n(n,t,i){this.over=!1;this.drag=!1;this.position=new s(n,t);this.offset=new s(0,0);this.radius=i}return n.prototype.setDrag=function(n){this.drag=n;this.setOver(n)},n.prototype.draw=function(){},n.prototype.setOver=function(n){this.over=n},n.prototype.touchInBounds=function(n,t){return n>this.position.x-this.radius&&this.position.x+this.radius>n&&t>this.position.y-this.radius&&this.position.y+this.radius>t},n.prototype.getPosition=function(){return this.position},n.prototype.setPosition=function(n,t){this.position.x=n;this.position.y=t},n}(),u=function(){function n(t){var i,r,u;for(this.borrowed=0,n.instance=this,i=null,r=0;t>r;r++)0===r?(this.firstAvailable=new s,i=this.firstAvailable):(u=new s,i.setNext(u),i=u)}return n.prototype.borrow=function(n,t){if(null==this.firstAvailable)throw"Pool exhausted";this.borrowed++;var i=this.firstAvailable;return this.firstAvailable=i.getNext(),i.x=n,i.y=t,i},n.prototype.returnPoint=function(n){this.borrowed--;n.x=0;n.y=0;n.setNext(this.firstAvailable);this.firstAvailable=n},n}(),p=function(){function n(){}return n.init=function(n){this.canvas=n;this.ctx=this.canvas.getContext("2d")},n.DEG2RAD=.0174532925,n}(),v=function(n){function t(t,i,r){n.call(this,t,i,r);this.iconPoints=[];this.scaledIconPoints=[];this.getDragIconPoints(this.iconPoints,1);this.getDragIconPoints(this.scaledIconPoints,1.2)}return c(t,n),t.prototype.draw=function(n){this.over||this.drag?this.drawIcon(n,this.scaledIconPoints):this.drawIcon(n,this.iconPoints)},t.prototype.getDragIconPoints=function(n,t){var i=17*t,e=14*t,r=8*t,f=4*t;n.push(u.instance.borrow(-f/2,i-r));n.push(u.instance.borrow(-e/2,i-r));n.push(u.instance.borrow(0,i));n.push(u.instance.borrow(e/2,i-r));n.push(u.instance.borrow(f/2,i-r));n.push(u.instance.borrow(f/2,f/2));n.push(u.instance.borrow(i-r,f/2));n.push(u.instance.borrow(i-r,e/2));n.push(u.instance.borrow(i,0));n.push(u.instance.borrow(i-r,-e/2));n.push(u.instance.borrow(i-r,-f/2));n.push(u.instance.borrow(f/2,-f/2));n.push(u.instance.borrow(f/2,-i+r));n.push(u.instance.borrow(e/2,-i+r));n.push(u.instance.borrow(0,-i));n.push(u.instance.borrow(-e/2,-i+r));n.push(u.instance.borrow(-f/2,-i+r));n.push(u.instance.borrow(-f/2,-f/2));n.push(u.instance.borrow(-i+r,-f/2));n.push(u.instance.borrow(-i+r,-e/2));n.push(u.instance.borrow(-i,0));n.push(u.instance.borrow(-i+r,e/2));n.push(u.instance.borrow(-i+r,f/2));n.push(u.instance.borrow(-f/2,f/2))},t.prototype.drawIcon=function(n,t){var i,r;for(n.beginPath(),n.moveTo(t[0].x+this.position.x,t[0].y+this.position.y),i=0;t.length>i;i++)r=t[i],n.lineTo(r.x+this.position.x,r.y+this.position.y);n.closePath();n.fillStyle="rgba(255,228,0,1)";n.fill()},t.prototype.recalculatePosition=function(n){var t=n.getCentre();this.setPosition(t.x,t.y);u.instance.returnPoint(t)},t}(a),e=function(n){function t(t,i,r){n.call(this,t,i,r)}return c(t,n),t.prototype.drawCornerBorder=function(n){var t=10,i,r;(this.over||this.drag)&&(t=12);i=1;r=1;this.horizontalNeighbour.position.x<this.position.x&&(i=-1);this.verticalNeighbour.position.y<this.position.y&&(r=-1);n.beginPath();n.lineJoin="miter";n.moveTo(this.position.x,this.position.y);n.lineTo(this.position.x+t*i,this.position.y);n.lineTo(this.position.x+t*i,this.position.y+t*r);n.lineTo(this.position.x,this.position.y+t*r);n.lineTo(this.position.x,this.position.y);n.closePath();n.lineWidth=2;n.strokeStyle="rgba(255,228,0,1)";n.stroke()},t.prototype.drawCornerFill=function(n){var t=10,i,r;(this.over||this.drag)&&(t=12);i=1;r=1;this.horizontalNeighbour.position.x<this.position.x&&(i=-1);this.verticalNeighbour.position.y<this.position.y&&(r=-1);n.beginPath();n.moveTo(this.position.x,this.position.y);n.lineTo(this.position.x+t*i,this.position.y);n.lineTo(this.position.x+t*i,this.position.y+t*r);n.lineTo(this.position.x,this.position.y+t*r);n.lineTo(this.position.x,this.position.y);n.closePath();n.fillStyle="rgba(0,0,0,1)";n.fill()},t.prototype.moveX=function(n){this.setPosition(n,this.position.y)},t.prototype.moveY=function(n){this.setPosition(this.position.x,n)},t.prototype.move=function(n,t){this.setPosition(n,t);this.verticalNeighbour.moveX(n);this.horizontalNeighbour.moveY(t)},t.prototype.addHorizontalNeighbour=function(n){this.horizontalNeighbour=n},t.prototype.addVerticalNeighbour=function(n){this.verticalNeighbour=n},t.prototype.getHorizontalNeighbour=function(){return this.horizontalNeighbour},t.prototype.getVerticalNeighbour=function(){return this.verticalNeighbour},t.prototype.draw=function(n){this.drawCornerFill(n);this.drawCornerBorder(n)},t}(a),y=function(){function n(n,t,i,r){void 0===n&&(n=0);void 0===t&&(t=0);void 0===i&&(i=0);void 0===r&&(r=0);this.left=n;this.right=n+i;this.top=t;this.bottom=t+r}return n.prototype.getWidth=function(){return this.right-this.left},n.prototype.getHeight=function(){return this.bottom-this.top},n.prototype.getCentre=function(){var n=this.getWidth(),t=this.getHeight();return u.instance.borrow(this.left+n/2,this.top+t/2)},n}(),s=function(){function n(n,t){void 0===n&&(n=0);void 0===t&&(t=0);this.x=n;this.y=t}return n.prototype.setNext=function(n){this.next=n},n.prototype.getNext=function(){return this.next},n}(),h=function(){function n(n,t,i){void 0===n&&(n=0);void 0===t&&(t=0);void 0===i&&(i=0);this.id=0;this.x=n;this.y=t;this.id=i}return n}(),w=function(){function t(n,t,i,r,f,o,s){void 0===t&&(t=0);void 0===i&&(i=0);void 0===r&&(r=100);void 0===f&&(f=50);void 0===o&&(o=!0);void 0===s&&(s=20);this.keepAspect=!1;this.aspectRatio=0;this.currentDragTouches=[];this.isMouseDown=!1;this.ratioW=1;this.ratioH=1;this.fileType="png";this.imageSet=!1;this.pointPool=new u(200);p.init(n);this.buffer=document.createElement("canvas");this.cropCanvas=document.createElement("canvas");this.buffer.width=n.width;this.buffer.height=n.height;this.tl=new e(t,i,s);this.tr=new e(t+r,i,s);this.bl=new e(t,i+f,s);this.br=new e(t+r,i+f,s);this.tl.addHorizontalNeighbour(this.tr);this.tl.addVerticalNeighbour(this.bl);this.tr.addHorizontalNeighbour(this.tl);this.tr.addVerticalNeighbour(this.br);this.bl.addHorizontalNeighbour(this.br);this.bl.addVerticalNeighbour(this.tl);this.br.addHorizontalNeighbour(this.bl);this.br.addVerticalNeighbour(this.tr);this.markers=[this.tl,this.tr,this.bl,this.br];this.center=new v(t+r/2,i+f/2,s);this.canvas=n;this.ctx=this.canvas.getContext("2d");this.keepAspect=o;this.aspectRatio=f/r;this.draw(this.ctx);this.croppedImage=new Image;this.currentlyInteracting=!1;angular.element(window).off("mousemove.angular-img-cropper mouseup.angular-img-cropper touchmove.angular-img-cropper touchend.angular-img-cropper").on("mousemove.angular-img-cropper",this.onMouseMove.bind(this)).on("mouseup.angular-img-cropper",this.onMouseUp.bind(this)).on("touchmove.angular-img-cropper",this.onTouchMove.bind(this)).on("touchend.angular-img-cropper",this.onTouchEnd.bind(this));angular.element(n).off("mousedown.angular-img-cropper touchstart.angular-img-cropper").on("mousedown.angular-img-cropper",this.onMouseDown.bind(this)).on("touchstart.angular-img-cropper",this.onTouchStart.bind(this))}return t.prototype.resizeCanvas=function(n,t){this.canvas.width=n;this.canvas.height=t;this.buffer.width=n;this.buffer.height=t;this.draw(this.ctx)},t.prototype.draw=function(n){var t=this.getBounds(),o,f;if(this.srcImage){n.clearRect(0,0,this.canvasWidth,this.canvasHeight);var u=this.srcImage.height/this.srcImage.width,e=this.canvasHeight/this.canvasWidth,i=this.canvasWidth,r=this.canvasHeight;for(e>u?(i=this.canvasWidth,r=this.canvasWidth*u):(r=this.canvasHeight,i=this.canvasHeight/u),this.ratioW=i/this.srcImage.width,this.ratioH=r/this.srcImage.height,u>e?this.drawImageIOSFix(n,this.srcImage,0,0,this.srcImage.width,this.srcImage.height,this.buffer.width/2-i/2,0,i,r):this.drawImageIOSFix(n,this.srcImage,0,0,this.srcImage.width,this.srcImage.height,0,this.buffer.height/2-r/2,i,r),this.buffer.getContext("2d").drawImage(this.canvas,0,0,this.canvasWidth,this.canvasHeight),n.fillStyle="rgba(0, 0, 0, 0.7)",n.fillRect(0,0,this.canvasWidth,this.canvasHeight),n.drawImage(this.buffer,t.left,t.top,Math.max(t.getWidth(),1),Math.max(t.getHeight(),1),t.left,t.top,t.getWidth(),t.getHeight()),f=0;this.markers.length>f;f++)o=this.markers[f],o.draw(n);this.center.draw(n);n.lineWidth=2;n.strokeStyle="rgba(255,228,0,1)";n.strokeRect(t.left,t.top,t.getWidth(),t.getHeight())}else n.fillStyle="rgba(192,192,192,1)",n.fillRect(0,0,this.canvas.width,this.canvas.height)},t.prototype.dragCrop=function(t,i,r){var u=this.getBounds(),f=t-u.getWidth()/2,e=t+u.getWidth()/2,o=i-u.getHeight()/2,s=i+u.getHeight()/2;e>=this.maxXClamp&&(t=this.maxXClamp-u.getWidth()/2);this.minXClamp>=f&&(t=u.getWidth()/2+this.minXClamp);this.minYClamp>o&&(i=u.getHeight()/2+this.minYClamp);s>=this.maxYClamp&&(i=this.maxYClamp-u.getHeight()/2);this.tl.moveX(t-u.getWidth()/2);this.tl.moveY(i-u.getHeight()/2);this.tr.moveX(t+u.getWidth()/2);this.tr.moveY(i-u.getHeight()/2);this.bl.moveX(t-u.getWidth()/2);this.bl.moveY(i+u.getHeight()/2);this.br.moveX(t+u.getWidth()/2);this.br.moveY(i+u.getHeight()/2);r.setPosition(t,i);n.cropAreaBounds&&this.imageSet&&(n.cropAreaBounds=this.getCropBounds(),n.$apply())},t.prototype.enforceMinSize=function(t,i,r){var o=t-r.getHorizontalNeighbour().getPosition().x,s=i-r.getVerticalNeighbour().getPosition().y,f=n.minWidth-Math.abs(o),e=n.minHeight-Math.abs(s);return 0==o||0==s?(t=r.getPosition().x,i=r.getPosition().y,u.instance.borrow(t,i)):(n.keepAspect?f>0&&e/this.aspectRatio>0?f>e/this.aspectRatio?0>o?(t-=f,0>s?i-=f*this.aspectRatio:i+=f*this.aspectRatio):(t+=f,0>s?i-=f*this.aspectRatio:i+=f*this.aspectRatio):0>s?(i-=e,0>o?t-=e/this.aspectRatio:t+=e/this.aspectRatio):(i+=e,0>o?t-=e/this.aspectRatio:t+=e/this.aspectRatio):f>0?0>o?(t-=f,0>s?i-=f*this.aspectRatio:i+=f*this.aspectRatio):(t+=f,0>s?i-=f*this.aspectRatio:i+=f*this.aspectRatio):e>0&&(0>s?(i-=e,0>o?t-=e/this.aspectRatio:t+=e/this.aspectRatio):(i+=e,0>o?t-=e/this.aspectRatio:t+=e/this.aspectRatio)):(f>0&&(0>o?t-=f:t+=f),e>0&&(0>s?i-=e:i+=e)),(this.minXClamp>t||t>this.maxXClamp||this.minYClamp>i||i>this.maxYClamp)&&(t=r.getPosition().x,i=r.getPosition().y),u.instance.borrow(t,i))},t.prototype.dragCorner=function(t,i,r){var e,a=0,v=0,y=0,p=0,o=0,s=0,h=0,c=0,l=0,f;n.keepAspect?(e=r.getHorizontalNeighbour().getVerticalNeighbour(),y=e.getPosition().x,p=e.getPosition().y,e.getPosition().x>=t)?e.getPosition().y>=i?(a=y-100/this.aspectRatio,v=p-100/this.aspectRatio*this.aspectRatio,l=this.getSide(u.instance.borrow(a,v),e.getPosition(),u.instance.borrow(t,i)),l>0)?(o=Math.abs(e.getPosition().y-i),s=o/this.aspectRatio,h=e.getPosition().y-o,c=e.getPosition().x-s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):0>l&&(s=Math.abs(e.getPosition().x-t),o=s*this.aspectRatio,h=e.getPosition().y-o,c=e.getPosition().x-s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):(a=y-100/this.aspectRatio,v=p+100/this.aspectRatio*this.aspectRatio,l=this.getSide(u.instance.borrow(a,v),e.getPosition(),u.instance.borrow(t,i)),l>0)?(s=Math.abs(e.getPosition().x-t),o=s*this.aspectRatio,h=e.getPosition().y+o,c=e.getPosition().x-s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):0>l&&(o=Math.abs(e.getPosition().y-i),s=o/this.aspectRatio,h=e.getPosition().y+o,c=e.getPosition().x-s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):e.getPosition().y>=i?(a=y+100/this.aspectRatio,v=p-100/this.aspectRatio*this.aspectRatio,l=this.getSide(u.instance.borrow(a,v),e.getPosition(),u.instance.borrow(t,i)),0>l)?(o=Math.abs(e.getPosition().y-i),s=o/this.aspectRatio,h=e.getPosition().y-o,c=e.getPosition().x+s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):l>0&&(s=Math.abs(e.getPosition().x-t),o=s*this.aspectRatio,h=e.getPosition().y-o,c=e.getPosition().x+s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):(a=y+100/this.aspectRatio,v=p+100/this.aspectRatio*this.aspectRatio,l=this.getSide(u.instance.borrow(a,v),e.getPosition(),u.instance.borrow(t,i)),0>l)?(s=Math.abs(e.getPosition().x-t),o=s*this.aspectRatio,h=e.getPosition().y+o,c=e.getPosition().x+s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):l>0&&(o=Math.abs(e.getPosition().y-i),s=o/this.aspectRatio,h=e.getPosition().y+o,c=e.getPosition().x+s,f=this.enforceMinSize(c,h,r),r.move(f.x,f.y),u.instance.returnPoint(f)):(f=this.enforceMinSize(t,i,r),r.move(f.x,f.y),u.instance.returnPoint(f));this.center.recalculatePosition(this.getBounds());n.cropAreaBounds&&this.imageSet&&(n.cropAreaBounds=this.getCropBounds(),n.$apply())},t.prototype.getSide=function(n,t,i){var r=this.sign((t.x-n.x)*(i.y-n.y)-(t.y-n.y)*(i.x-n.x));return u.instance.returnPoint(n),u.instance.returnPoint(i),r},t.prototype.sign=function(n){return+n===n?0===n?n:n>0?1:-1:NaN},t.prototype.handleRelease=function(n){if(null!=n){for(var i=0,t=0;this.currentDragTouches.length>t;t++)n.id==this.currentDragTouches[t].id&&(this.currentDragTouches[t].dragHandle.setDrag(!1),n.dragHandle=null,i=t);this.currentDragTouches.splice(i,1);this.draw(this.ctx)}},t.prototype.handleMove=function(n){for(var r,f,o,s,h=!1,t=0;this.currentDragTouches.length>t;t++)if(n.id==this.currentDragTouches[t].id&&null!=this.currentDragTouches[t].dragHandle){r=this.currentDragTouches[t];f=this.clampPosition(n.x-r.dragHandle.offset.x,n.y-r.dragHandle.offset.y);n.x=f.x;n.y=f.y;u.instance.returnPoint(f);r.dragHandle instanceof e?this.dragCorner(n.x,n.y,r.dragHandle):this.dragCrop(n.x,n.y,r.dragHandle);this.currentlyInteracting=!0;h=!0;i.setPressed(this.canvas);break}if(!h){for(o=0;this.markers.length>o;o++)if(s=this.markers[o],s.touchInBounds(n.x,n.y)){n.dragHandle=s;this.currentDragTouches.push(n);s.setDrag(!0);n.dragHandle.offset.x=n.x-n.dragHandle.getPosition().x;n.dragHandle.offset.y=n.y-n.dragHandle.getPosition().y;this.dragCorner(n.x-n.dragHandle.offset.x,n.y-n.dragHandle.offset.y,n.dragHandle);break}null==n.dragHandle&&this.center.touchInBounds(n.x,n.y)&&(n.dragHandle=this.center,this.currentDragTouches.push(n),n.dragHandle.setDrag(!0),n.dragHandle.offset.x=n.x-n.dragHandle.getPosition().x,n.dragHandle.offset.y=n.y-n.dragHandle.getPosition().y,this.dragCrop(n.x-n.dragHandle.offset.x,n.y-n.dragHandle.offset.y,n.dragHandle))}},t.prototype.updateClampBounds=function(){var i=this.srcImage.height/this.srcImage.width,r=this.canvas.height/this.canvas.width,n=this.canvas.width,t=this.canvas.height;r>i?(n=this.canvas.width,t=this.canvas.width*i):(t=this.canvas.height,n=this.canvas.height/i);this.minXClamp=this.canvas.width/2-n/2;this.minYClamp=this.canvas.height/2-t/2;this.maxXClamp=this.canvas.width/2+n/2;this.maxYClamp=this.canvas.height/2+t/2},t.prototype.getCropBounds=function(){var t=this.canvas.height-2*this.minYClamp,n=this.getBounds();return n.top=Math.round((t-n.top+this.minYClamp)/this.ratioH),n.bottom=Math.round((t-n.bottom+this.minYClamp)/this.ratioH),n.left=Math.round((n.left-this.minXClamp)/this.ratioW),n.right=Math.round((n.right-this.minXClamp)/this.ratioW),n},t.prototype.clampPosition=function(n,t){return this.minXClamp>n&&(n=this.minXClamp),n>this.maxXClamp&&(n=this.maxXClamp),this.minYClamp>t&&(t=this.minYClamp),t>this.maxYClamp&&(t=this.maxYClamp),u.instance.borrow(n,t)},t.prototype.isImageSet=function(){return this.imageSet},t.prototype.setImage=function(t){var tt,it,nt,k,g,o,s,rt,e,ut;if(!t)throw"Image is null";this.imageSet=!0;this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);tt=this.buffer.getContext("2d");tt.clearRect(0,0,this.buffer.width,this.buffer.height);it=t.src.split(".");nt=it[1];("png"==nt||"jpg"==nt)&&(this.fileType=nt);this.srcImage=t;this.updateClampBounds();var w=this.srcImage.height/this.srcImage.width,h=this.getBounds(),d=h.getHeight()/h.getWidth(),b=this.canvas.width,c=this.canvas.height;this.canvasWidth=b;this.canvasHeight=c;var i=this.canvas.width/2,f=this.canvas.height/2,l=u.instance.borrow(i-h.getWidth()/2,f+h.getHeight()/2),a=u.instance.borrow(i+h.getWidth()/2,f+h.getHeight()/2),v=u.instance.borrow(i-h.getWidth()/2,f-h.getHeight()/2),p=u.instance.borrow(i+h.getWidth()/2,f-h.getHeight()/2);(this.tl.setPosition(l.x,l.y),this.tr.setPosition(a.x,a.y),this.bl.setPosition(v.x,v.y),this.br.setPosition(p.x,p.y),u.instance.returnPoint(l),u.instance.returnPoint(a),u.instance.returnPoint(v),u.instance.returnPoint(p),this.center.setPosition(i,f),d>w)?(k=Math.min(b*w,c),g=k/d,l=u.instance.borrow(i-g/2,f+k/2),a=u.instance.borrow(i+g/2,f+k/2),v=u.instance.borrow(i-g/2,f-k/2),p=u.instance.borrow(i+g/2,f-k/2)):w>d?(o=Math.min(c/w,b),s=o*d,l=u.instance.borrow(i-o/2,f+s/2),a=u.instance.borrow(i+o/2,f+s/2),v=u.instance.borrow(i-o/2,f-s/2),p=u.instance.borrow(i+o/2,f-s/2)):(o=Math.min(c,b),s=o*d,l=u.instance.borrow(i-o/2,f+s/2),a=u.instance.borrow(i+o/2,f+s/2),v=u.instance.borrow(i-o/2,f-s/2),p=u.instance.borrow(i+o/2,f-s/2));(this.tl.setPosition(l.x,l.y),this.tr.setPosition(a.x,a.y),this.bl.setPosition(v.x,v.y),this.br.setPosition(p.x,p.y),u.instance.returnPoint(l),u.instance.returnPoint(a),u.instance.returnPoint(v),u.instance.returnPoint(p),n.cropAreaBounds&&void 0!==n.cropAreaBounds.left&&void 0!==n.cropAreaBounds.top&&void 0!==n.cropAreaBounds.right&&void 0!==n.cropAreaBounds.bottom)&&(rt=this.canvasHeight/this.canvasWidth,rt>w?(b=this.canvasWidth,c=this.canvasWidth*w):(c=this.canvasHeight,b=this.canvasHeight/w),this.ratioW=b/this.srcImage.width,this.ratioH=c/this.srcImage.height,e=new y,e.top=Math.round(c+this.minYClamp-this.ratioH*n.cropAreaBounds.top),e.bottom=Math.round(c+this.minYClamp-this.ratioH*n.cropAreaBounds.bottom),e.left=Math.round(this.ratioW*n.cropAreaBounds.left+this.minXClamp),e.right=Math.round(this.ratioW*n.cropAreaBounds.right+this.minXClamp),this.tl.setPosition(e.left,e.top),this.tr.setPosition(e.right,e.top),this.bl.setPosition(e.left,e.bottom),this.br.setPosition(e.right,e.bottom),this.center.setPosition(e.left+e.getWidth()/2,e.top+e.getHeight()/2));this.vertSquashRatio=this.detectVerticalSquash(this.srcImage);this.draw(this.ctx);ut=this.getCroppedImage(n.cropWidth,n.cropHeight);void 0!==r.croppedImage&&(n.croppedImage=ut.src);n.cropAreaBounds&&this.imageSet&&(n.cropAreaBounds=this.getCropBounds())},t.prototype.getCroppedImage=function(n,t){var i=this.getBounds(),o,s;if(!this.srcImage)throw"Source image not set.";if(n&&t){var f=this.srcImage.height/this.srcImage.width,e=this.canvas.height/this.canvas.width,r=this.canvas.width,u=this.canvas.height;e>f?(r=this.canvas.width,u=this.canvas.width*f):f>e?(u=this.canvas.height,r=this.canvas.height/f):(u=this.canvas.height,r=this.canvas.width);this.ratioW=r/this.srcImage.width;this.ratioH=u/this.srcImage.height;this.cropCanvas.width=n;this.cropCanvas.height=t;o=(this.buffer.height-u)/2/this.ratioH;s=(this.buffer.width-r)/2/this.ratioW;this.drawImageIOSFix(this.cropCanvas.getContext("2d"),this.srcImage,Math.max(Math.round(i.left/this.ratioW-s),0),Math.max(Math.round(i.top/this.ratioH-o),0),Math.max(Math.round(i.getWidth()/this.ratioW),1),Math.max(Math.round(i.getHeight()/this.ratioH),1),0,0,n,t);this.croppedImage.width=n;this.croppedImage.height=t}else this.cropCanvas.width=Math.max(i.getWidth(),1),this.cropCanvas.height=Math.max(i.getHeight(),1),this.cropCanvas.getContext("2d").drawImage(this.buffer,i.left,i.top,Math.max(i.getWidth(),1),Math.max(i.getHeight(),1),0,0,i.getWidth(),i.getHeight()),this.croppedImage.width=this.cropCanvas.width,this.croppedImage.height=this.cropCanvas.height;return this.croppedImage.src=this.cropCanvas.toDataURL("image/"+this.fileType),this.croppedImage},t.prototype.getBounds=function(){for(var n,t,i=Number.MAX_VALUE,r=Number.MAX_VALUE,u=-Number.MAX_VALUE,f=-Number.MAX_VALUE,e=0;this.markers.length>e;e++)n=this.markers[e],i>n.getPosition().x&&(i=n.getPosition().x),n.getPosition().x>u&&(u=n.getPosition().x),r>n.getPosition().y&&(r=n.getPosition().y),n.getPosition().y>f&&(f=n.getPosition().y);return t=new y,t.left=i,t.right=u,t.top=r,t.bottom=f,t},t.prototype.setBounds=function(n){for(var u,f,e,o,t,i=this.getBounds(),r=0;this.markers.length>r;r++)t=this.markers[r],t.getPosition().x==i.left?t.getPosition().y==i.top?u=t:e=t:t.getPosition().y==i.top?f=t:o=t;u.setPosition(n.left,n.top);f.setPosition(n.right,n.top);e.setPosition(n.left,n.bottom);o.setPosition(n.right,n.bottom);this.center.recalculatePosition(n);this.center.draw(this.ctx)},t.prototype.getMousePos=function(n,t){var i=n.getBoundingClientRect();return u.instance.borrow(t.clientX-i.left,t.clientY-i.top)},t.prototype.getTouchPos=function(n,t){var i=n.getBoundingClientRect();return u.instance.borrow(t.clientX-i.left,t.clientY-i.top)},t.prototype.onTouchMove=function(n){var t;if(f.isImageSet()){if(n.preventDefault(),n.touches.length>=1)for(t=0;n.touches.length>t;t++){var r=n.touches[t],i=this.getTouchPos(this.canvas,r),e=new h(i.x,i.y,r.identifier);u.instance.returnPoint(i);this.move(e,n)}this.draw(this.ctx)}},t.prototype.onMouseMove=function(n){var t,i;f.isImageSet()&&(t=this.getMousePos(this.canvas,n),this.move(new h(t.x,t.y,0),n),i=this.getDragTouchForID(0),i?(i.x=t.x,i.y=t.y):i=new h(t.x,t.y,0),u.instance.returnPoint(t),this.drawCursors(i,n),this.draw(this.ctx))},t.prototype.move=function(n){this.isMouseDown&&this.handleMove(n)},t.prototype.getDragTouchForID=function(n){for(var t=0;this.currentDragTouches.length>t;t++)if(n==this.currentDragTouches[t].id)return this.currentDragTouches[t]},t.prototype.drawCursors=function(n,t){var u=!1,r,f;if(null!=n&&(n.dragHandle==this.center&&(i.setStyle(this.canvas,"move"),u=!0),null!=n.dragHandle&&n.dragHandle instanceof e&&(this.drawCornerCursor(n.dragHandle,n.dragHandle.getPosition().x,n.dragHandle.getPosition().y,t),u=!0)),r=!1,!u){for(f=0;this.markers.length>f;f++)r=r||this.drawCornerCursor(this.markers[f],n.x,n.y,t);r||i.setStyle(this.canvas,"initial")}r||u||!this.center.touchInBounds(n.x,n.y)?this.center.setOver(!1):(this.center.setOver(!0),i.setOver(this.canvas),i.setStyle(this.canvas,"move"))},t.prototype.drawCornerCursor=function(n,t,r){return n.touchInBounds(t,r)?(n.setOver(!0),n.getHorizontalNeighbour().getPosition().x>n.getPosition().x?n.getVerticalNeighbour().getPosition().y>n.getPosition().y?(i.setOver(this.canvas),i.setStyle(this.canvas,"nwse-resize")):(i.setOver(this.canvas),i.setStyle(this.canvas,"nesw-resize")):n.getVerticalNeighbour().getPosition().y>n.getPosition().y?(i.setOver(this.canvas),i.setStyle(this.canvas,"nesw-resize")):(i.setOver(this.canvas),i.setStyle(this.canvas,"nwse-resize")),!0):(n.setOver(!1),!1)},t.prototype.onTouchStart=function(){f.isImageSet()&&(this.isMouseDown=!0)},t.prototype.onTouchEnd=function(t){var u,o,i,s;if(f.isImageSet()){for(u=0;t.changedTouches.length>u;u++)o=t.changedTouches[u],i=this.getDragTouchForID(o.identifier),null!=i&&((i.dragHandle instanceof e||i.dragHandle instanceof v)&&i.dragHandle.setOver(!1),this.handleRelease(i));f.isImageSet()&&this.currentlyInteracting&&(s=this.getCroppedImage(n.cropWidth,n.cropHeight),void 0!==r.croppedImage&&(n.croppedImage=s.src),n.$apply());0==this.currentDragTouches.length&&(this.isMouseDown=!1,this.currentlyInteracting=!1)}},t.prototype.drawImageIOSFix=function(n,t,i,r,u,f,e,o,s,h){n.drawImage(t,i*this.vertSquashRatio,r*this.vertSquashRatio,u*this.vertSquashRatio,f*this.vertSquashRatio,e,o,s,h)},t.prototype.detectVerticalSquash=function(n){var i=(n.naturalWidth,n.naturalHeight),r=document.createElement("canvas"),u,s,e;r.width=1;r.height=i;u=r.getContext("2d");u.drawImage(n,0,0);for(var h=u.getImageData(0,0,1,i).data,f=0,o=i,t=i;t>f;)s=h[4*(t-1)+3],0===s?o=t:f=t,t=o+f>>1;return e=t/i,0===e?1:e},t.prototype.onMouseDown=function(){f.isImageSet()&&(this.isMouseDown=!0)},t.prototype.onMouseUp=function(){if(f.isImageSet()){if(i.setReleased(this.canvas),this.isMouseDown=!1,this.handleRelease(new h(0,0,0)),1==this.currentlyInteracting){var t=this.getCroppedImage(n.cropWidth,n.cropHeight);void 0!==r.croppedImage&&(n.croppedImage=t.src);n.$apply()}this.currentlyInteracting=!1}},t}();n.$watch("cropWidth",o);n.$watch("cropHeight",o);n.$watch("keepAspect",o);n.$watch("touchRadius",o);n.$watch("image",l)}}}]);angular.module("angular-img-cropper").directive("imgCropperFileread",["$timeout",function(n){return{scope:{image:"="},link:function(t,i){i.bind("change",function(i){var r=new FileReader;r.onload=function(i){n(function(){t.image=i.target.result},0)};i.target.files[0]&&r.readAsDataURL(i.target.files[0])})}}}]);angular.module("angular-img-cropper").directive("imgCropperFilereadCall",function(){return{scope:{control:"="},link:function(n){n.internalControl=n.control||{};n.internalControl.load=function(n){var i=angular.element(document.querySelector(n)),t=document.createEvent("MouseEvent");t.initEvent("click",!0,!1);i[0].dispatchEvent(t)}}}});angular.module("angular-img-cropper").factory("imageCropperDataShare",function(){var n,i,t={};return t.setPressed=function(t){n=t},t.setReleased=function(t){t===n&&(n=void 0)},t.setOver=function(n){i=n},t.setStyle=function(t,r){void 0!==n?n===t&&angular.element(document.documentElement).css("cursor",r):t===i&&angular.element(document.documentElement).css("cursor",r)},t})