angular.module("angular-growl",[]);angular.module("angular-growl").directive("growl",["$rootScope",function(n){"use strict";return{restrict:"A",template:'<div class="growl">\t<div class="growl-item alert" ng-repeat="message in messages" ng-class="computeClasses(message)">\t\t<button type="button" class="close" ng-click="deleteMessage(message)">&times;<\/button>       <div ng-switch="message.enableHtml">           <div ng-switch-when="true" ng-bind-html="message.text"><\/div>           <div ng-switch-default ng-bind="message.text"><\/div>       <\/div>\t<\/div><\/div>',replace:!1,scope:!0,controller:["$scope","$timeout","growl",function(t,i,r){function u(n){t.messages.push(n);n.ttl&&n.ttl!==-1&&i(function(){t.deleteMessage(n)},n.ttl)}var f=r.onlyUnique();t.messages=[];n.$on("growlMessage",function(n,i){var r;f?(_.forEach(t.messages,function(n){i.text===n.text&&i.severity===n.severity&&(r=!0)}),r||u(i)):u(i)});t.deleteMessage=function(n){var i=t.messages.indexOf(n);i>-1&&t.messages.splice(i,1)};t.computeClasses=function(n){return{"alert-success":n.severity==="success","alert-error":n.severity==="error","alert-danger":n.severity==="error","alert-info":n.severity==="info","alert-warning":n.severity==="warn"}}}]}}]);angular.module("angular-growl").provider("growl",function(){"use strict";var r=null,u=!1,n="messages",t="text",i="severity",f=!0;this.globalTimeToLive=function(n){r=n};this.globalEnableHtml=function(n){u=n};this.messagesKey=function(t){n=t};this.messageTextKey=function(n){t=n};this.messageSeverityKey=function(n){i=n};this.onlyUniqueMessages=function(n){f=n};this.serverMessagesInterceptor=["$q","growl",function(t,i){function r(t){t.data[n]&&t.data[n].length>0&&i.addServerMessages(t.data[n])}function u(n){return r(n),n}function f(n){return r(n),t.reject(n)}return function(n){return n.then(u,f)}}];this.$get=["$rootScope","$filter",function(n,e){function h(t){s&&(t.text=s(t.text));n.$broadcast("growlMessage",t)}function o(n,t,i){var f=t||{},e;e={text:n,severity:i,ttl:f.ttl||r,enableHtml:f.enableHtml||u};h(e)}function c(n,t){o(n,t,"warn")}function l(n,t){o(n,t,"error")}function a(n,t){o(n,t,"info")}function v(n,t){o(n,t,"success")}function y(n){for(var r,u,e=n.length,f=0;f<e;f++)if(r=n[f],r[t]&&r[i]){switch(r[i]){case"warn":u="warn";break;case"success":u="success";break;case"info":u="info";break;case"error":u="error"}o(r[t],undefined,u)}}function p(){return f}var s;try{s=e("translate")}catch(w){}return{addWarnMessage:c,addErrorMessage:l,addInfoMessage:a,addSuccessMessage:v,addServerMessages:y,onlyUnique:p}}]}),function(){"use strict";var n=angular.module("pasvaz.bindonce",[]);n.directive("bindonce",function(){var t=function(n){if(n&&n.length!==0){var t=angular.lowercase(""+n);n=!(t==="f"||t==="0"||t==="false"||t==="no"||t==="n"||t==="[]")}else n=!1;return n},n=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);return isNaN(n)&&(n=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10)),{restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(i,r,u,f){var o=function(n,i,r){var u=i==="show"?"":"none",f=i==="hide"?"":"none";n.css("display",t(r)?u:f)},s=function(n,t){if(angular.isObject(t)&&!angular.isArray(t)){var i=[];angular.forEach(t,function(n,t){n&&i.push(t)});t=i}t&&n.addClass(angular.isArray(t)?t.join(" "):t)},e=function(n,t){n.transclude(t,function(t){var r=n.element.parent(),i=n.element&&n.element[n.element.length-1],u=r&&r[0]||i&&i.parentNode,f=i&&i.nextSibling||null;angular.forEach(t,function(n){u.insertBefore(n,f)})})};return{watcherRemover:undefined,binders:[],group:u.boName,element:r,ran:!1,addBinder:function(n){this.binders.push(n);this.ran&&this.runBinders()},setupWatcher:function(n){var t=this;this.watcherRemover=i.$watch(n,function(n){n!==undefined&&(t.removeWatcher(),t.checkBindonce(n))},!0)},checkBindonce:function(n){var t=this,i=n.$promise?n.$promise.then:n.then;typeof i=="function"?i(function(){t.runBinders()}):t.runBinders()},removeWatcher:function(){this.watcherRemover!==undefined&&(this.watcherRemover(),this.watcherRemover=undefined)},runBinders:function(){for(var i,r,c,h,u;this.binders.length>0;)if(i=this.binders.shift(),!this.group||this.group==i.group){r=i.scope.$eval(i.interpolate?f(i.value):i.value);switch(i.attr){case"boIf":t(r)&&e(i,i.scope.$new());break;case"boSwitch":h=i.controller[0];(c=h.cases["!"+r]||h.cases["?"])&&(i.scope.$eval(i.attrs.change),angular.forEach(c,function(n){e(n,i.scope.$new())}));break;case"boSwitchWhen":u=i.controller[0];u.cases["!"+i.attrs.boSwitchWhen]=u.cases["!"+i.attrs.boSwitchWhen]||[];u.cases["!"+i.attrs.boSwitchWhen].push({transclude:i.transclude,element:i.element});break;case"boSwitchDefault":u=i.controller[0];u.cases["?"]=u.cases["?"]||[];u.cases["?"].push({transclude:i.transclude,element:i.element});break;case"hide":case"show":o(i.element,i.attr,r);break;case"class":s(i.element,r);break;case"text":i.element.text(r);break;case"html":i.element.html(r);break;case"style":i.element.css(r);break;case"src":i.element.attr(i.attr,r);n&&i.element.prop("src",r);break;case"attr":angular.forEach(i.attrs,function(n,t){var r,u;t.match(/^boAttr./)&&i.attrs[t]&&(r=t.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),u=i.scope.$eval(i.attrs[t]),i.element.attr(r,u))});break;case"href":case"alt":case"title":case"id":case"value":i.element.attr(i.attr,r)}}this.ran=!0}}}],link:function(n,t,i,r){var u=i.bindonce&&n.$eval(i.bindonce);u!==undefined?r.checkBindonce(u):(r.setupWatcher(i.bindonce),t.bind("$destroy",r.removeWatcher))}}});angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boBind",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"},{directiveName:"boIf",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boSwitch",require:"boSwitch",controller:function(){this.cases={}}},{directiveName:"boSwitchWhen",transclude:"element",priority:800,require:"^boSwitch"},{directiveName:"boSwitchDefault",transclude:"element",priority:800,require:"^boSwitch"}],function(t){var i=200;return n.directive(t.directiveName,function(){return{priority:t.priority||i,transclude:t.transclude||!1,terminal:t.terminal||!1,require:["^bindonce"].concat(t.require||[]),controller:t.controller,compile:function(n,i,r){return function(n,i,u,f){var e=f[0],s=u.boParent,o,h;if(s&&e.group!==s){for(o=e.element.parent(),e=undefined;o[0].nodeType!==9&&o.length;){if((h=o.data("$bindonceController"))&&h.group===s){e=h;break}o=o.parent()}if(!e)throw new Error("No bindonce controller: "+s);}e.addBinder({element:i,attr:t.attribute||t.directiveName,attrs:u,value:u[t.directiveName],interpolate:t.interpolate,group:s,transclude:r,controller:f.slice(1),scope:n})}}}})})}(),function(n,t){"use strict";var r=t.module("ngDialog",[]),i=t.element,o=t.isDefined,s=(document.body||document.documentElement).style,e=!1,u="animationend webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend",f=!1;r.provider("ngDialog",function(){var c=this.defaults={className:"ngdialog-theme-default",plain:!1,showClose:!0,closeByDocument:!0,closeByEscape:!0,appendTo:"body",preCloseCallback:!1,cache:!0};this.setForceBodyReload=function(n){f=n||!1};this.setDefaults=function(n){t.extend(c,n)};var o=0,r=0,s,h={};this.$get=["$document","$templateCache","$compile","$q","$http","$rootScope","$timeout","$window","$controller",function(l,a,v,y,p,w,b,k,d){var g=l.find("body"),nt,tt;return f&&w.$on("$locationChangeSuccess",function(){g=l.find("body")}),nt={onDocumentKeydown:function(n){n.keyCode===27&&tt.close("$escape")},setBodyPadding:function(n){var t=parseInt(g.css("padding-right")||0,10);g.css("padding-right",t+n+"px");g.data("ng-dialog-original-padding",t)},resetBodyPadding:function(){var n=g.data("ng-dialog-original-padding");n?g.css("padding-right",n+"px"):g.css("padding-right","")},performCloseDialog:function(t,i){var f=t.attr("id");typeof n.Hammer!="undefined"?n.Hammer(t[0]).off("tap",s):t.unbind("click");r===1&&g.unbind("keydown");t.hasClass("ngdialog-closing")||(r-=1);e?t.unbind(u).bind(u,function(){t.scope().$destroy();t.remove();r===0&&(g.removeClass("ngdialog-open"),nt.resetBodyPadding());w.$broadcast("ngDialog.closed",t)}).addClass("ngdialog-closing"):(t.scope().$destroy(),t.remove(),r===0&&(g.removeClass("ngdialog-open"),nt.resetBodyPadding()),w.$broadcast("ngDialog.closed",t));h[f]&&(h[f].resolve({id:f,value:i,$dialog:t,remainingDialogs:r}),delete h[f])},closeDialog:function(n,i){var u=n.data("$ngDialogPreCloseCallback"),r;u&&t.isFunction(u)?(r=u.call(n,i),t.isObject(r)?r.closePromise?r.closePromise.then(function(){nt.performCloseDialog(n,i)}):r.then(function(){nt.performCloseDialog(n,i)},function(){return}):r!==!1&&nt.performCloseDialog(n,i)):nt.performCloseDialog(n,i)}},tt={open:function(u){function ft(n,i){return p.get(n,t.extend({cache:!1},i||{})).then(function(n){return n.data||""})}function et(n){return n?t.isString(n)&&f.plain?n:typeof f.cache=="boolean"&&!f.cache?ft(n,{cache:!1}):a.get(n)||ft(n,{cache:!1}):"Empty template"}var it=this,f=t.copy(c),ut,l,e,rt;return u=u||{},t.extend(f,u),o+=1,it.latestID="ngdialog"+o,h[it.latestID]=ut=y.defer(),l=t.isObject(f.scope)?f.scope.$new():w.$new(),y.when(et(f.template||f.templateUrl)).then(function(u){var c,y,h;if(a.put(f.template||f.templateUrl,u),f.showClose&&(u+='<div class="ngdialog-close"><\/div>'),it.$result=e=i('<div id="ngdialog'+o+'" class="ngdialog"><\/div>'),e.html('<div class="ngdialog-overlay"><\/div><div class="ngdialog-content">'+u+"<\/div>"),f.data&&t.isString(f.data)?(c=f.data.replace(/^\s*/,"")[0],l.ngDialogData=c==="{"||c==="["?t.fromJson(f.data):f.data):f.data&&t.isObject(f.data)&&(l.ngDialogData=t.fromJson(t.toJson(f.data))),f.controller&&(t.isString(f.controller)||t.isArray(f.controller)||t.isFunction(f.controller))&&(y=d(f.controller,{$scope:l,$element:e}),e.data("$ngDialogControllerController",y)),f.className&&e.addClass(f.className),rt=f.appendTo&&t.isString(f.appendTo)?t.element(document.querySelector(f.appendTo)):g,f.preCloseCallback&&(t.isFunction(f.preCloseCallback)?h=f.preCloseCallback:t.isString(f.preCloseCallback)&&l&&(t.isFunction(l[f.preCloseCallback])?h=l[f.preCloseCallback]:l.$parent&&t.isFunction(l.$parent[f.preCloseCallback])?h=l.$parent[f.preCloseCallback]:w&&t.isFunction(w[f.preCloseCallback])&&(h=w[f.preCloseCallback])),h&&e.data("$ngDialogPreCloseCallback",h)),l.closeThisDialog=function(n){nt.closeDialog(e,n)},b(function(){var t,n;v(e)(l);t=k.innerWidth-g.prop("clientWidth");g.addClass("ngdialog-open");n=t-(k.innerWidth-g.prop("clientWidth"));n>0&&nt.setBodyPadding(n);rt.append(e);f.name?w.$broadcast("ngDialog.opened",{dialog:e,name:f.name}):w.$broadcast("ngDialog.opened",e)}),f.closeByEscape&&g.bind("keydown",nt.onDocumentKeydown),s=function(n){var r=f.closeByDocument?i(n.target).hasClass("ngdialog-overlay"):!1,t=i(n.target).hasClass("ngdialog-close");(r||t)&&tt.close(e.attr("id"),t?"$closeButton":"$document")},typeof n.Hammer!="undefined")n.Hammer(e[0]).on("tap",s);else e.bind("click",s);return r+=1,tt}),{id:"ngdialog"+o,closePromise:ut.promise,close:function(n){nt.closeDialog(e,n)}}},openConfirm:function(n){var u=y.defer(),r={closeByEscape:!1,closeByDocument:!1},f;return t.extend(r,n),r.scope=t.isObject(r.scope)?r.scope.$new():w.$new(),r.scope.confirm=function(n){u.resolve(n);var t=i(document.getElementById(f.id));nt.performCloseDialog(t,n)},f=tt.open(r),f.closePromise.then(function(n){return n?u.reject(n.value):u.reject()}),u.promise},close:function(n,t){var r=i(document.getElementById(n));return r.length?nt.closeDialog(r,t):tt.closeAll(t),tt},closeAll:function(n){var r=document.querySelectorAll(".ngdialog");t.forEach(r,function(t){nt.closeDialog(i(t),n)})},getDefaults:function(){return c}},tt}]});r.directive("ngDialog",["ngDialog",function(n){return{restrict:"A",scope:{ngDialogScope:"="},link:function(i,r,u){r.on("click",function(r){var e,f;r.preventDefault();e=t.isDefined(i.ngDialogScope)?i.ngDialogScope:"noScope";t.isDefined(u.ngDialogClosePrevious)&&n.close(u.ngDialogClosePrevious);f=n.getDefaults();n.open({template:u.ngDialog,className:u.ngDialogClass||f.className,controller:u.ngDialogController,scope:e,data:u.ngDialogData,showClose:u.ngDialogShowClose==="false"?!1:u.ngDialogShowClose==="true"?!0:f.showClose,closeByDocument:u.ngDialogCloseByDocument==="false"?!1:u.ngDialogCloseByDocument==="true"?!0:f.closeByDocument,closeByEscape:u.ngDialogCloseByEscape==="false"?!1:u.ngDialogCloseByEscape==="true"?!0:f.closeByEscape,preCloseCallback:u.ngDialogPreCloseCallback||f.preCloseCallback})})}}}])}(window,window.angular);angular.module("app-shared",["ngResource","ngRoute"]);angular.module("app-filters",[]).filter("trusted",function(n){return function(t){return n.trustAsHtml(t)}}).filter("decodedHref",["$sce",function(n){return function(t){var i=t.replace(/\&lt;a/g,"<a").replace(/\&gt;/g,">").replace(/&lt;\/a/g,"<\/a");return n.trustAsHtml(i)}}]).filter("utc",[function(){return function(n){return angular.isNumber(n)&&(n=new Date(n)),new Date(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds())}}]).filter("isempty",function(){return function(n,t){return n?n:t}}).filter("ceil",function(){return function(n){return Math.ceil(n)}}).filter("reverse",function(){return function(n){return n?n.slice().reverse():n}}).filter("unique",function(){return function(n,t){var i=[],r=[];return angular.forEach(n,function(n){var u=n[t.split("|")[0]]+n[t.split("|")[1]];r.indexOf(u)===-1&&(r.push(u),i.push(n))}),i}}).filter("makePositive",function(){return function(n){return Math.abs(n)}}).filter("titleCase",function(){return function(n){return n=n||"",n.replace(/\w\S*/g,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}}).filter("noFractionCurrency",["$filter","$locale",function(n,t){var r=n("currency"),i=t.NUMBER_FORMATS;return function(n,t){t===0&&(t=-1);var u=r(n,i.CURRENCY_SYM),f=u.indexOf(i.DECIMAL_SEP)+1,e="";return f<u.indexOf("€")&&(e=i.CURRENCY_SYM+" "),e+u.substring(0,f+t)}}]).filter("decimalSep",["$filter","$locale",function(n,t){var r=n("currency"),i=t.NUMBER_FORMATS;return function(n,t){t===0&&(t=-1);var u=r(n,i.CURRENCY_SYM),f=u.indexOf(i.DECIMAL_SEP)+1;return u.substring(0,f+t)}}]).filter("capitalize",function(){return function(n){return n?(n=n.toString().toLowerCase(),n.substring(0,1).toUpperCase()+n.substring(1)):n}}).filter("capitalizeFirst",function(){return function(n){return n=n===undefined||n===null?"":n,n.toString().toLowerCase().replace(/\b([a-z])/g,function(n){return n.toUpperCase()})}}).filter("capitalizeAll",function(){return function(n){function u(n){var t=n.split(/(?=[.',:\/ -])/g);return t.length>1?r(t[0])+t[1].substring(0,1)+" "+r(t[1].substring(1)):r(t[0])}function r(n){return n.substring(0,1).toUpperCase()+n.substring(1)}if(n===undefined||n===null)return n;if(n.indexOf(" ")!==-1){var t,i;for(n=n.toLowerCase(),t=n.split(" "),i=0;i<t.length;i++)t[i]=u(t[i]);return t.toString().replace(/,/g," ")}return n=n.toLowerCase(),u(n)}}).filter("split",function(){return function(n,t,i){return n.split(t)[i]}}).filter("kebab",function(){return function(n){if(n)return n.replace(/[A-Z\ \u00C0-\u00D6\u00D8-\u00DE]/g,function(n){return"-"+(n===" "?"":n.toLowerCase())});return n}}).filter("onlyCharsAndNumbers",function(){return function(n){return n&&(n=n.toString().replace(/[^\w\s]/gi,"")),n}}).filter("truncate",function(){return function(n,t,i){return isNaN(t)&&(t=10),i===undefined&&(i="..."),n.length<=t||n.length-i.length<=t?n:String(n).substring(0,t-i.length)+i}}).filter("normalizeDate",function(){return function(n){return normalizeDate(n)}}).filter("money",function(){return function(n){return n!=undefined&&!_.isNull(n)?"€ "+n.toMoney(0,"","."):""}}).filter("moneyDifference",function(){return function(n){if(n==null&&typeof n!="number")return n;var t;return t=n===0?"":n>0?"+ ":"- ",t+Math.abs(n).toMoney(0,"",".").replace(/^-/,"")+" €"}}).filter("floor",function(){return function(n){return Math.floor(n)}}).filter("integer",function(){return function(n){var t=n.toString().replace(",",".");return t.indexOf(".")<0?t:t.split(".")[0]}}).filter("decimals",function(){return function(n){var t=n.toString().replace(",",".");return t.indexOf(".")<0?undefined:t.split(".")[1]}}).filter("occupancy",function(){return function(n){if(n.adults==0)return"";var t=n.adults;return n.childrenAges.length>0&&(t+="+"+n.childrenAges.length),t}}).filter("hotelOccupancy",function(n){return function(t){var i=n(t.room1_Occupancy),r=n(t.room2_Occupancy);return r==""?i:i+"|"+r}}).filter("roomOccupancy",function(){return function(n){return n.adultsNumber+(n.childrenNumber>0?"+"+n.childrenNumber:"")}}).filter("roomsOccupancy",function(n){return function(t){var i=_.map(t,function(t){return n(t)});return i.join(";")}}).filter("locations",function(){return function(n){var t=n[n.length-1].split("/")[1],i=n[n.length-2].split("/")[1];return(i+" - "+t).toLowerCase()}}).filter("people",function(){return function(n){return n>1||n==0?n+" persone":n+" persona"}}).filter("brandName",function(){return function(n){switch(n.toLowerCase()){case"ka":return"karambola";case"br":return"bravo club";case"fr":return"francorosso";case"al":return"alpitour";case"vi":return"viaggidea";case"st":return"swantour";case"pt":return"presstour";case"tu":return"turisanda"}}}).filter("htmlToPlaintext",function(){return function(n){return n?String(n).replace(/<[^>]+>/gm,""):""}}).filter("safeHtml",["$sce",function(n){return function(t){return n.trustAsHtml(t)}}]).filter("brandImage",function(){return function(n){switch(n.toLowerCase()){case"ka":return"/~/media/Images/Loghi/Brand/KA/logo_ka.png";case"br":return"/~/media/Images/Loghi/Brand/BR/logo_br.png";case"fr":return"/~/media/Images/Loghi/Brand/FR/logo_fr.png";case"al":return"/~/media/Images/Loghi/Brand/AL/logo_al.png";case"vi":return"/~/media/Images/Loghi/LargeBrandLogo/logo_viaggidea_big.png";case"st":return"/~/media/Images/Loghi/Brand/ST/logo_st.png";case"pt":return"/~/media/Images/Loghi/Brand/PT/logo_pt.png"}}}).filter("range",function(){return function(n,t){t=parseInt(t);for(var i=0;i<t;i++)n.push(i);return n}});jQuery.ajax=function(n){function e(n){return!r.test(n)&&/:\/\//.test(n)}var t=location.protocol,i=location.hostname,r=RegExp(t+"//"+i),u="http"+(/^https/.test(t)?"s":"")+"://query.yahooapis.com/v1/public/yql?callback=?",f='select * from html where url="{URL}" and xpath="*"';return function(t){var i=t.url;return/get/i.test(t.type)&&!/json/i.test(t.dataType)&&e(i)&&(t.url=u,t.dataType="json",t.data={q:f.replace("{URL}",i+(t.data?(/\?/.test(i)?"&":"?")+jQuery.param(t.data):"")),format:"xml"},!t.success&&t.complete&&(t.success=t.complete,delete t.complete),t.success=function(n){return function(t){n&&n.call(this,{responseText:_.isUndefined(t.results[0])?"spiacenti":t.results[0].replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi,"")},"success")}}(t.success)),n.apply(this,arguments)}}(jQuery.ajax),function(){"use strict";var l=this,nt=l.Chart,t=function(t){this.canvas=t.canvas;this.ctx=t;var i=function(n,t){return n["offset"+t]?n["offset"+t]:document.defaultView.getComputedStyle(n).getPropertyValue(t)},r=this.width=i(t.canvas,"Width")||t.canvas.width,u=this.height=i(t.canvas,"Height")||t.canvas.height;return r=this.width=t.canvas.width,u=this.height=t.canvas.height,this.aspectRatio=this.width/this.height,n.retinaScale(this),this};t.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:"#fff",segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}};t.types={};var n=t.helpers={},i=n.each=function(n,t,i){var f=Array.prototype.slice.call(arguments,3),r,u;if(n)if(n.length===+n.length)for(r=0;r<n.length;r++)t.apply(i,[n[r],r].concat(f));else for(u in n)t.apply(i,[n[u],u].concat(f))},a=n.clone=function(n){var t={};return i(n,function(i,r){n.hasOwnProperty(r)&&(t[r]=i)}),t},r=n.extend=function(n){return i(Array.prototype.slice.call(arguments,1),function(t){i(t,function(i,r){t.hasOwnProperty(r)&&(n[r]=i)})}),n},tt=n.merge=function(){var n=Array.prototype.slice.call(arguments,0);return n.unshift({}),r.apply(null,n)},it=n.indexOf=function(n,t){if(Array.prototype.indexOf)return n.indexOf(t);for(var i=0;i<n.length;i++)if(n[i]===t)return i;return-1},w=(n.where=function(t,i){var r=[];return n.each(t,function(n){i(n)&&r.push(n)}),r},n.findNextWhere=function(n,t,i){var r,u;for(i||(i=-1),r=i+1;r<n.length;r++)if(u=n[r],t(u))return u},n.findPreviousWhere=function(n,t,i){var r,u;for(i||(i=n.length),r=i-1;r>=0;r--)if(u=n[r],t(u))return u},n.inherits=function(n){var i=this,t=n&&n.hasOwnProperty("constructor")?n.constructor:function(){return i.apply(this,arguments)},u=function(){this.constructor=t};return u.prototype=i.prototype,t.prototype=new u,t.extend=w,n&&r(t.prototype,n),t.__super__=i.prototype,t}),v=n.noop=function(){},rt=n.uid=function(){var n=0;return function(){return"chart-"+n++}}(),ut=n.warn=function(n){window.console&&"function"==typeof window.console.warn&&console.warn(n)},ft=n.amd="function"==typeof define&&define.amd,f=n.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)},h=n.max=function(n){return Math.max.apply(Math,n)},o=n.min=function(n){return Math.min.apply(Math,n)},b=(n.cap=function(n,t,i){if(f(t)){if(n>t)return t}else if(f(i)&&i>n)return i;return n},n.getDecimalPlaces=function(n){var t,i;return n%1!=0&&f(n)?(t=n.toString(),t.indexOf("e-")<0)?t.split(".")[1].length:t.indexOf(".")<0?parseInt(t.split("e-")[1]):(i=t.split(".")[1].split("e-"),i[0].length+parseInt(i[1])):0}),y=n.radians=function(n){return n*(Math.PI/180)},k=(n.getAngleFromPoint=function(n,t){var i=t.x-n.x,r=t.y-n.y,f=Math.sqrt(i*i+r*r),u=2*Math.PI+Math.atan2(r,i);return 0>i&&0>r&&(u+=2*Math.PI),{angle:u,distance:f}},n.aliasPixel=function(n){return n%2==0?0:.5}),et=(n.splineCurve=function(n,t,i,r){var u=Math.sqrt(Math.pow(t.x-n.x,2)+Math.pow(t.y-n.y,2)),f=Math.sqrt(Math.pow(i.x-t.x,2)+Math.pow(i.y-t.y,2)),e=r*u/(u+f),o=r*f/(u+f);return{inner:{x:t.x-e*(i.x-n.x),y:t.y-e*(i.y-n.y)},outer:{x:t.x+o*(i.x-n.x),y:t.y+o*(i.y-n.y)}}},n.calculateOrderOfMagnitude=function(n){return Math.floor(Math.log(n)/Math.LN10)}),u=(n.calculateScaleRange=function(n,t,i,r,u){var w=2,v=Math.floor(t/(1.5*i)),y=w>=v,c=h(n),l=o(n);c===l&&(c+=.5,l>=.5&&!r?l-=.5:c+=.5);for(var b=Math.abs(c-l),s=et(b),k=Math.ceil(c/(1*Math.pow(10,s)))*Math.pow(10,s),p=r?0:Math.floor(l/(1*Math.pow(10,s)))*Math.pow(10,s),a=k-p,f=Math.pow(10,s),e=Math.round(a/f);(e>v||v>2*e)&&!y;)if(e>v)f*=2,e=Math.round(a/f),e%1!=0&&(y=!0);else if(u&&s>=0){if(f/2%1!=0)break;f/=2;e=Math.round(a/f)}else f/=2,e=Math.round(a/f);return y&&(e=w,f=a/e),{steps:e,stepValue:f,min:p,max:p+e*f}},n.template=function(n,t){function r(n,t){var r=/\W/.test(n)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+n.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):i[n]=i[n];return t?r(t):r}if(n instanceof Function)return n(t);var i={};return r(n,t)}),s=(n.generateLabels=function(n,t,r,f){var e=new Array(t);return n&&i(e,function(t,i){e[i]=u(n,{value:r+f*(i+1)})}),e},n.easingEffects={linear:function(n){return n},easeInQuad:function(n){return n*n},easeOutQuad:function(n){return-1*n*(n-2)},easeInOutQuad:function(n){return(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1)},easeInCubic:function(n){return n*n*n},easeOutCubic:function(n){return 1*((n=n/1-1)*n*n+1)},easeInOutCubic:function(n){return(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2)},easeInQuart:function(n){return n*n*n*n},easeOutQuart:function(n){return-1*((n=n/1-1)*n*n*n-1)},easeInOutQuart:function(n){return(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2)},easeInQuint:function(n){return 1*(n/=1)*n*n*n*n},easeOutQuint:function(n){return 1*((n=n/1-1)*n*n*n*n+1)},easeInOutQuint:function(n){return(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2)},easeInSine:function(n){return-1*Math.cos(n/1*(Math.PI/2))+1},easeOutSine:function(n){return 1*Math.sin(n/1*(Math.PI/2))},easeInOutSine:function(n){return-.5*(Math.cos(Math.PI*n/1)-1)},easeInExpo:function(n){return 0===n?1:1*Math.pow(2,10*(n/1-1))},easeOutExpo:function(n){return 1===n?1:1*(-Math.pow(2,-10*n)+1)},easeInOutExpo:function(n){return 0===n?0:1===n?1:(n/=.5)<1?.5*Math.pow(2,10*(n-1)):.5*(-Math.pow(2,-10*--n)+2)},easeInCirc:function(n){return n>=1?n:-1*(Math.sqrt(1-(n/=1)*n)-1)},easeOutCirc:function(n){return 1*Math.sqrt(1-(n=n/1-1)*n)},easeInOutCirc:function(n){return(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1)},easeInElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:1==(n/=1)?1:(t||(t=.3),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),-(i*Math.pow(2,10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t)))},easeOutElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:1==(n/=1)?1:(t||(t=.3),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*n)*Math.sin((1*n-r)*2*Math.PI/t)+1)},easeInOutElastic:function(n){var r=1.70158,t=0,i=1;return 0===n?0:2==(n/=.5)?1:(t||(t=1*.3*1.5),i<Math.abs(1)?(i=1,r=t/4):r=t/(2*Math.PI)*Math.asin(1/i),1>n?-.5*i*Math.pow(2,10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t):i*Math.pow(2,-10*(n-=1))*Math.sin((1*n-r)*2*Math.PI/t)*.5+1)},easeInBack:function(n){var t=1.70158;return 1*(n/=1)*n*((t+1)*n-t)},easeOutBack:function(n){var t=1.70158;return 1*((n=n/1-1)*n*((t+1)*n+t)+1)},easeInOutBack:function(n){var t=1.70158;return(n/=.5)<1?.5*n*n*(((t*=1.525)+1)*n-t):.5*((n-=2)*n*(((t*=1.525)+1)*n+t)+2)},easeInBounce:function(n){return 1-s.easeOutBounce(1-n)},easeOutBounce:function(n){return(n/=1)<1/2.75?1*7.5625*n*n:2/2.75>n?1*(7.5625*(n-=1.5/2.75)*n+.75):2.5/2.75>n?1*(7.5625*(n-=2.25/2.75)*n+.9375):1*(7.5625*(n-=2.625/2.75)*n+.984375)},easeInOutBounce:function(n){return.5>n?.5*s.easeInBounce(2*n):.5*s.easeOutBounce(2*n-1)+.5}}),d=n.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return window.setTimeout(n,1e3/60)}}(),ot=(n.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(n){return window.clearTimeout(n,1e3/60)}}(),n.animationLoop=function(n,t,i,r,u,f){var e=0,h=s[i]||s.linear,o=function(){e++;var i=e/t,s=h(i);n.call(f,s,i,e);r.call(f,s,i);t>e?f.animationFrame=d(o):u.apply(f)};d(o)},n.getRelativePosition=function(n){var r,u,t=n.originalEvent||n,f=n.currentTarget||n.srcElement,i=f.getBoundingClientRect();return t.touches?(r=t.touches[0].clientX-i.left,u=t.touches[0].clientY-i.top):(r=t.clientX-i.left,u=t.clientY-i.top),{x:r,y:u}},n.addEvent=function(n,t,i){n.addEventListener?n.addEventListener(t,i):n.attachEvent?n.attachEvent("on"+t,i):n["on"+t]=i}),st=n.removeEvent=function(n,t,i){n.removeEventListener?n.removeEventListener(t,i,!1):n.detachEvent?n.detachEvent("on"+t,i):n["on"+t]=v},ht=(n.bindEvents=function(n,t,r){n.events||(n.events={});i(t,function(t){n.events[t]=function(){r.apply(n,arguments)};ot(n.chart.canvas,t,n.events[t])})},n.unbindEvents=function(n,t){i(t,function(t,i){st(n.chart.canvas,i,t)})}),ct=n.getMaximumWidth=function(n){var t=n.parentNode,i=parseInt(c(t,"padding-left"))+parseInt(c(t,"padding-right"));return t.clientWidth-i},lt=n.getMaximumHeight=function(n){var t=n.parentNode,i=parseInt(c(t,"padding-bottom"))+parseInt(c(t,"padding-top"));return t.clientHeight-i},c=n.getStyle=function(n,t){return n.currentStyle?n.currentStyle[t]:document.defaultView.getComputedStyle(n,null).getPropertyValue(t)},at=(n.getMaximumSize=n.getMaximumWidth,n.retinaScale=function(n){var t=n.ctx,i=n.canvas.width,r=n.canvas.height;window.devicePixelRatio&&(t.canvas.style.width=i+"px",t.canvas.style.height=r+"px",t.canvas.height=r*window.devicePixelRatio,t.canvas.width=i*window.devicePixelRatio,t.scale(window.devicePixelRatio,window.devicePixelRatio))}),vt=n.clear=function(n){n.ctx.clearRect(0,0,n.width,n.height)},e=n.fontString=function(n,t,i){return t+" "+n+"px "+i},p=n.longestText=function(n,t,r){n.font=t;var u=0;return i(r,function(t){var i=n.measureText(t).width;u=i>u?i:u}),u},g=n.drawRoundedRectangle=function(n,t,i,r,u,f){n.beginPath();n.moveTo(t+f,i);n.lineTo(t+r-f,i);n.quadraticCurveTo(t+r,i,t+r,i+f);n.lineTo(t+r,i+u-f);n.quadraticCurveTo(t+r,i+u,t+r-f,i+u);n.lineTo(t+f,i+u);n.quadraticCurveTo(t,i+u,t,i+u-f);n.lineTo(t,i+f);n.quadraticCurveTo(t,i,t+f,i);n.closePath()};t.instances={};t.Type=function(n,i,r){this.options=i;this.chart=r;this.id=rt();t.instances[this.id]=this;i.responsive&&this.resize();this.initialize.call(this,n)};r(t.Type.prototype,{initialize:function(){return this},clear:function(){return vt(this.chart),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(n){this.stop();var t=this.chart.canvas,i=ct(this.chart.canvas),r=this.options.maintainAspectRatio?i/this.chart.aspectRatio:lt(this.chart.canvas);return t.width=this.chart.width=i,t.height=this.chart.height=r,at(this.chart),"function"==typeof n&&n.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:v,render:function(i){if(i&&this.reflow(),this.options.animation&&!i){var r=new t.Animation;r.numSteps=this.options.animationSteps;r.easing=this.options.animationEasing;r.render=function(t,i){var u=n.easingEffects[i.easing],r=i.currentStep/i.numSteps,f=u(r);t.draw(f,r,i.currentStep)};r.onAnimationProgress=this.options.onAnimationProgress;r.onAnimationComplete=this.options.onAnimationComplete;t.animationService.addAnimation(this,r)}else this.draw(),this.options.onAnimationComplete.call(this);return this},generateLegend:function(){return u(this.options.legendTemplate,this)},destroy:function(){this.clear();ht(this,this.events);var n=this.chart.canvas;n.width=this.chart.width;n.height=this.chart.height;n.style.removeProperty?(n.style.removeProperty("width"),n.style.removeProperty("height")):(n.style.removeAttribute("width"),n.style.removeAttribute("height"));delete t.instances[this.id]},showTooltip:function(r,f){var c,l,e,s;if("undefined"==typeof this.activeElements&&(this.activeElements=[]),c=function(n){var t=!1;return n.length!==this.activeElements.length?t=!0:(i(n,function(n,i){n!==this.activeElements[i]&&(t=!0)},this),t)}.call(this,r),c||f){if(this.activeElements=r,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),r.length>0)if(this.datasets&&this.datasets.length>1){for(s=this.datasets.length-1;s>=0&&(l=this.datasets[s].points||this.datasets[s].bars||this.datasets[s].segments,e=it(l,r[0]),-1===e);s--);var a=[],v=[],y=function(){var t,f,s,i,c,l=[],r=[],u=[];return n.each(this.datasets,function(n){t=n.points||n.bars||n.segments;t[e]&&t[e].hasValue()&&l.push(t[e])}),n.each(l,function(t){r.push(t.x);u.push(t.y);a.push(n.template(this.options.multiTooltipTemplate,t));v.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),c=o(u),s=h(u),i=o(r),f=h(r),{x:i>this.chart.width/2?i:f,y:(c+s)/2}}.call(this,e);new t.MultiTooltip({x:y.x,y:y.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:a,legendColors:v,legendColorBackground:this.options.multiTooltipKeyBackground,title:u(this.options.tooltipTitleTemplate,r[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(r,function(n){var i=n.tooltipPosition();new t.Tooltip({x:Math.round(i.x),y:Math.round(i.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:u(this.options.tooltipTemplate,n),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}});t.Type.extend=function(n){var i=this,u=function(){return i.apply(this,arguments)},f,e;return(u.prototype=a(i.prototype),r(u.prototype,n),u.extend=t.Type.extend,n.name||i.prototype.name)?(f=n.name||i.prototype.name,e=t.defaults[i.prototype.name]?a(t.defaults[i.prototype.name]):{},t.defaults[f]=r(e,n.defaults),t.types[f]=u,t.prototype[f]=function(n,i){var r=tt(t.defaults.global,t.defaults[f],i||{});return new u(n,r,this)}):ut("Name not provided for this chart, so it hasn't been registered"),i};t.Element=function(n){r(this,n);this.initialize.apply(this,arguments);this.save()};r(t.Element.prototype,{initialize:function(){},restore:function(n){return n?i(n,function(n){this[n]=this._saved[n]},this):r(this,this._saved),this},save:function(){return this._saved=a(this),delete this._saved._saved,this},update:function(n){return i(n,function(n,t){this._saved[t]=this[t];this[t]=n},this),this},transition:function(n,t){return i(n,function(n,i){this[i]=(n-this._saved[i])*t+this._saved[i]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return f(this.value)}});t.Element.extend=w;t.Point=t.Element.extend({display:!0,inRange:function(n,t){var i=this.hitDetectionRadius+this.radius;return Math.pow(n-this.x,2)+Math.pow(t-this.y,2)<Math.pow(i,2)},draw:function(){if(this.display){var n=this.ctx;n.beginPath();n.arc(this.x,this.y,this.radius,0,2*Math.PI);n.closePath();n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.fillStyle=this.fillColor;n.fill();n.stroke()}}});t.Arc=t.Element.extend({inRange:function(t,i){var u=n.getAngleFromPoint(this,{x:t,y:i}),r=u.angle%(2*Math.PI),f=(2*Math.PI+this.startAngle)%(2*Math.PI),e=(2*Math.PI+this.endAngle)%(2*Math.PI)||360,o=f>e?e>=r||r>=f:r>=f&&e>=r,s=u.distance>=this.innerRadius&&u.distance<=this.outerRadius;return o&&s},tooltipPosition:function(){var n=this.startAngle+(this.endAngle-this.startAngle)/2,t=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(n)*t,y:this.y+Math.sin(n)*t}},draw:function(){var n=this.ctx;n.beginPath();n.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle);n.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,!0);n.closePath();n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.fillStyle=this.fillColor;n.fill();n.lineJoin="bevel";this.showStroke&&n.stroke()}});t.Rectangle=t.Element.extend({draw:function(){var n=this.ctx,f=this.width/2,t=this.x-f,i=this.x+f,r=this.base-(this.base-this.y),u=this.strokeWidth/2;this.showStroke&&(t+=u,i-=u,r+=u);n.beginPath();n.fillStyle=this.fillColor;n.strokeStyle=this.strokeColor;n.lineWidth=this.strokeWidth;n.moveTo(t,this.base);n.lineTo(t,r);n.lineTo(i,r);n.lineTo(i,this.base);n.fill();this.showStroke&&n.stroke()},height:function(){return this.base-this.y},inRange:function(n,t){return n>=this.x-this.width/2&&n<=this.x+this.width/2&&t>=this.y&&t<=this.base}});t.Animation=t.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null});t.Tooltip=t.Element.extend({draw:function(){var n=this.chart.ctx,r,u;n.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.xAlign="center";this.yAlign="above";var t=this.caretPadding=2,i=n.measureText(this.text).width+2*this.xPadding,f=this.fontSize+2*this.yPadding,o=f+this.caretHeight+t;if(this.x+i/2>this.chart.width?this.xAlign="left":this.x-i/2<0&&(this.xAlign="right"),this.y-o<0&&(this.yAlign="below"),r=this.x-i/2,u=this.y-o,n.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":n.beginPath();n.moveTo(this.x,this.y-t);n.lineTo(this.x+this.caretHeight,this.y-(t+this.caretHeight));n.lineTo(this.x-this.caretHeight,this.y-(t+this.caretHeight));n.closePath();n.fill();break;case"below":u=this.y+t+this.caretHeight;n.beginPath();n.moveTo(this.x,this.y+t);n.lineTo(this.x+this.caretHeight,this.y+t+this.caretHeight);n.lineTo(this.x-this.caretHeight,this.y+t+this.caretHeight);n.closePath();n.fill()}switch(this.xAlign){case"left":r=this.x-i+(this.cornerRadius+this.caretHeight);break;case"right":r=this.x-(this.cornerRadius+this.caretHeight)}g(n,r,u,i,f,this.cornerRadius);n.fill();n.fillStyle=this.textColor;n.textAlign="center";n.textBaseline="middle";n.fillText(this.text,r+i/2,u+f/2)}}});t.MultiTooltip=t.Element.extend({initialize:function(){var n;this.font=e(this.fontSize,this.fontStyle,this.fontFamily);this.titleFont=e(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);this.titleHeight=this.title?1.5*this.titleFontSize:0;this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+this.titleHeight;this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,i=p(this.ctx,this.font,this.labels)+this.fontSize+3,r=h([i,t]);this.width=r+2*this.xPadding;n=this.height/2;this.y-n<0?this.y=n:this.y+n>this.chart.height&&(this.y=this.chart.height-n);this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(n){var t=this.y-this.height/2+this.yPadding,i=n-1;return 0===n?t+this.titleHeight/3:t+(1.5*this.fontSize*i+this.fontSize/2)+this.titleHeight},draw:function(){if(this.custom)this.custom(this);else{g(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor;t.fill();t.closePath();t.textAlign="left";t.textBaseline="middle";t.fillStyle=this.titleTextColor;t.font=this.titleFont;t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0));t.font=this.font;n.each(this.labels,function(n,i){t.fillStyle=this.textColor;t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(i+1));t.fillStyle=this.legendColorBackground;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize);t.fillStyle=this.legendColors[i].fill;t.fillRect(this.x+this.xPadding,this.getLineHeight(i+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}});t.Scale=t.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=b(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(u(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?p(this.ctx,this.font,this.yLabels)+10:0},addXLabel:function(n){this.xLabels.push(n);this.valuesCount++;this.fit()},removeXLabel:function(){this.xLabels.shift();this.valuesCount--;this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0;this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height;this.startPoint+=this.padding;this.endPoint-=this.padding;var t,i=this.endPoint,n=this.endPoint-this.startPoint;for(this.calculateYRange(n),this.buildYLabels(),this.calculateXLabelRotation();n>this.endPoint-this.startPoint;)n=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(n),this.buildYLabels(),t<this.yLabelWidth&&(this.endPoint=i,this.calculateXLabelRotation())},calculateXLabelRotation:function(){var r,e,n,u,t,i,f;if(this.ctx.font=this.font,n=this.ctx.measureText(this.xLabels[0]).width,u=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width,this.xScalePaddingRight=u/2+3,this.xScalePaddingLeft=n/2>this.yLabelWidth?n/2:this.yLabelWidth,this.xLabelRotation=0,this.display){for(i=p(this.ctx,this.font,this.xLabels),this.xLabelWidth=i,f=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>f&&0===this.xLabelRotation||this.xLabelWidth>f&&this.xLabelRotation<=90&&this.xLabelRotation>0;)t=Math.cos(y(this.xLabelRotation)),r=t*n,e=t*u,r+this.fontSize/2>this.yLabelWidth&&(this.xScalePaddingLeft=r+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=t*i;this.xLabelRotation>0&&(this.endPoint-=Math.sin(y(this.xLabelRotation))*i+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:v,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(n){var t=this.drawingArea()/(this.min-this.max);return this.endPoint-t*(n-this.min)},calculateX:function(n){var r=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),t=r/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),i=t*n+this.xScalePaddingLeft;return this.offsetGridLines&&(i+=t/2),Math.round(i)},update:function(t){n.extend(this,t);this.fit()},draw:function(){var t=this.ctx,u=(this.endPoint-this.startPoint)/this.steps,r=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,f){var s=this.endPoint-u*f,e=Math.round(s),o=this.showHorizontalLines;t.textAlign="right";t.textBaseline="middle";this.showLabels&&t.fillText(i,r-10,s);0!==f||o||(o=!0);o&&t.beginPath();f>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);e+=n.aliasPixel(t.lineWidth);o&&(t.moveTo(r,e),t.lineTo(this.width,e),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r-5,e);t.lineTo(r,e);t.stroke();t.closePath()},this),i(this.xLabels,function(n,i){var e=this.calculateX(i)+k(this.lineWidth),r=this.calculateX(i-(this.offsetGridLines?.5:0))+k(this.lineWidth),f=this.xLabelRotation>0,u=this.showVerticalLines;0!==i||u||(u=!0);u&&t.beginPath();i>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor);u&&(t.moveTo(r,this.endPoint),t.lineTo(r,this.startPoint-3),t.stroke(),t.closePath());t.lineWidth=this.lineWidth;t.strokeStyle=this.lineColor;t.beginPath();t.moveTo(r,this.endPoint);t.lineTo(r,this.endPoint+5);t.stroke();t.closePath();t.save();t.translate(e,f?this.endPoint+12:this.endPoint+8);t.rotate(-1*y(this.xLabelRotation));t.font=this.font;t.textAlign=f?"right":"center";t.textBaseline=f?"middle":"top";t.fillText(n,0,0);t.restore()},this))}});t.RadialScale=t.Element.extend({initialize:function(){this.size=o([this.height,this.width]);this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(n){var t=this.drawingArea/(this.max-this.min);return(n-this.min)*t},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize();this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=b(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(u(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,n,i,h,a,y,v,p,w,b,r,s,k=o([this.height/2-this.pointLabelFontSize-5,this.width/2]),c=this.width,l=0;for(this.ctx.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;n<this.valuesCount;n++)t=this.getPointPosition(n,k),i=this.ctx.measureText(u(this.templateString,{value:this.labels[n]})).width+5,0===n||n===this.valuesCount/2?(h=i/2,t.x+h>c&&(c=t.x+h,a=n),t.x-h<l&&(l=t.x-h,v=n)):n<this.valuesCount/2?t.x+i>c&&(c=t.x+i,a=n):n>this.valuesCount/2&&t.x-i<l&&(l=t.x-i,v=n);w=l;b=Math.ceil(c-this.width);y=this.getIndexAngle(a);p=this.getIndexAngle(v);r=b/Math.sin(y+Math.PI/2);s=w/Math.sin(p+Math.PI/2);r=f(r)?r:0;s=f(s)?s:0;this.drawingArea=k-(s+r)/2;this.setCenterPoint(s,r)},setCenterPoint:function(n,t){var i=this.width-t-this.drawingArea,r=n+this.drawingArea;this.xCenter=(r+i)/2;this.yCenter=this.height/2},getIndexAngle:function(n){var t=2*Math.PI/this.valuesCount;return n*t-Math.PI/2},getPointPosition:function(n,t){var i=this.getIndexAngle(n);return{x:Math.cos(i)*t+this.xCenter,y:Math.sin(i)*t+this.yCenter}},draw:function(){var n,t,u,r,o;if(this.display&&(n=this.ctx,i(this.yLabels,function(t,i){var r,f,o,u,s;if(i>0){if(f=i*(this.drawingArea/this.steps),o=this.yCenter-f,this.lineWidth>0)if(n.strokeStyle=this.lineColor,n.lineWidth=this.lineWidth,this.lineArc)n.beginPath(),n.arc(this.xCenter,this.yCenter,f,0,2*Math.PI),n.closePath(),n.stroke();else{for(n.beginPath(),u=0;u<this.valuesCount;u++)r=this.getPointPosition(u,this.calculateCenterOffset(this.min+i*this.stepValue)),0===u?n.moveTo(r.x,r.y):n.lineTo(r.x,r.y);n.closePath();n.stroke()}this.showLabels&&((n.font=e(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop)&&(s=n.measureText(t).width,n.fillStyle=this.backdropColor,n.fillRect(this.xCenter-s/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,s+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)),n.textAlign="center",n.textBaseline="middle",n.fillStyle=this.fontColor,n.fillText(t,this.xCenter,o))}},this),!this.lineArc))for(n.lineWidth=this.angleLineWidth,n.strokeStyle=this.angleLineColor,t=this.valuesCount-1;t>=0;t--){if(u=null,r=null,this.angleLineWidth>0&&(u=this.calculateCenterOffset(this.max),r=this.getPointPosition(t,u),n.beginPath(),n.moveTo(this.xCenter,this.yCenter),n.lineTo(r.x,r.y),n.stroke(),n.closePath()),this.backgroundColors&&this.backgroundColors.length==this.valuesCount){null==u&&(u=this.calculateCenterOffset(this.max));null==r&&(r=this.getPointPosition(t,u));var h=this.getPointPosition(0===t?this.valuesCount-1:t-1,u),c=this.getPointPosition(t===this.valuesCount-1?0:t+1,u),l={x:(h.x+r.x)/2,y:(h.y+r.y)/2},a={x:(r.x+c.x)/2,y:(r.y+c.y)/2};n.beginPath();n.moveTo(this.xCenter,this.yCenter);n.lineTo(l.x,l.y);n.lineTo(r.x,r.y);n.lineTo(a.x,a.y);n.fillStyle=this.backgroundColors[t];n.fill();n.closePath()}o=this.getPointPosition(t,this.calculateCenterOffset(this.max)+5);n.font=e(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);n.fillStyle=this.pointLabelFontColor;var v=this.labels.length,s=this.labels.length/2,f=s/2,y=f>t||t>v-f,p=t===f||t===v-f;n.textAlign=0===t?"center":t===s?"center":s>t?"left":"right";n.textBaseline=p?"middle":y?"bottom":"top";n.fillText(this.labels[t],o.x,o.y)}}});t.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:function(t,i){for(var r=0;r<this.animations.length;++r)if(this.animations[r].chartInstance===t)return void(this.animations[r].animationObject=i);this.animations.push({chartInstance:t,animationObject:i});1==this.animations.length&&n.requestAnimFrame.call(window,this.digestWrapper)},cancelAnimation:function(t){var i=n.findNextWhere(this.animations,function(n){return n.chartInstance===t});i&&this.animations.splice(i,1)},digestWrapper:function(){t.animationService.startDigest.call(t.animationService)},startDigest:function(){var u=Date.now(),i=0,t;for(this.dropFrames>1&&(i=Math.floor(this.dropFrames),this.dropFrames-=i),t=0;t<this.animations.length;t++)null===this.animations[t].animationObject.currentStep&&(this.animations[t].animationObject.currentStep=0),this.animations[t].animationObject.currentStep+=1+i,this.animations[t].animationObject.currentStep>this.animations[t].animationObject.numSteps&&(this.animations[t].animationObject.currentStep=this.animations[t].animationObject.numSteps),this.animations[t].animationObject.render(this.animations[t].chartInstance,this.animations[t].animationObject),this.animations[t].animationObject.currentStep==this.animations[t].animationObject.numSteps&&(this.animations[t].animationObject.onAnimationComplete.call(this.animations[t].chartInstance),this.animations.splice(t,1),t--);var f=Date.now(),e=f-u-this.frameDuration,r=e/this.frameDuration;r>1&&(this.dropFrames+=r);this.animations.length>0&&n.requestAnimFrame.call(window,this.digestWrapper)}};n.addEvent(window,"resize",function(){var n;return function(){clearTimeout(n);n=setTimeout(function(){i(t.instances,function(n){n.options.responsive&&n.resize(n.render,!0)})},50)}}());ft?define(function(){return t}):"object"==typeof module&&module.exports&&(module.exports=t);l.Chart=t;t.noConflict=function(){return l.Chart=nt,t}}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Bar",defaults:{scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].fillColor%>"><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/span><\/li><%}%><\/ul>'},initialize:function(i){var r=this.options;this.ScaleClass=t.Scale.extend({offsetGridLines:!0,calculateBarX:function(n,t,i){var f=this.calculateBaseWidth(),e=this.calculateX(i)-f/2,u=this.calculateBarWidth(n);return e+u*t+t*r.barDatasetSpacing+u/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(n){var t=this.calculateBaseWidth()-(n-1)*r.barDatasetSpacing;return t/n}});this.datasets=[];this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});this.BarClass=t.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,bars:[]};this.datasets.push(r);n.each(t.data,function(n,u){r.bars.push(new this.BarClass({value:n,label:i.labels[u],datasetLabel:t.label,strokeColor:t.strokeColor,fillColor:t.fillColor,highlightFill:t.highlightFill||t.fillColor,highlightStroke:t.highlightStroke||t.strokeColor}))},this)},this);this.buildScale(i.labels);this.BarClass.prototype.base=this.scale.endPoint;this.eachBars(function(t,i,r){n.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,i),y:this.scale.endPoint});t.save()},this);this.render()},update:function(){this.scale.update();n.each(this.activeElements,function(n){n.restore(["fillColor","strokeColor"])});this.eachBars(function(n){n.save()});this.render()},eachBars:function(t){n.each(this.datasets,function(i,r){n.each(i.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var i,u=[],f=n.getRelativePosition(t),e=function(n){u.push(n.bars[i])},r=0;r<this.datasets.length;r++)for(i=0;i<this.datasets[r].bars.length;i++)if(this.datasets[r].bars[i].inRange(f.x,f.y))return n.each(this.datasets,e),u;return u},buildScale:function(t){var r=this,u=function(){var n=[];return r.eachBars(function(t){n.push(t.value)}),n},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var i=n.calculateScaleRange(u(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,i)},xLabels:t,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(i,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth});this.scale=new this.ScaleClass(i)},addData:function(t,i){n.each(t,function(n,t){this.datasets[t].bars.push(new this.BarClass({value:n,label:i,datasetLabel:this.datasets[t].label,x:this.scale.calculateBarX(this.datasets.length,t,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[t].strokeColor,fillColor:this.datasets[t].fillColor}))},this);this.scale.addXLabel(i);this.update()},removeData:function(){this.scale.removeXLabel();n.each(this.datasets,function(n){n.bars.shift()},this);this.update()},reflow:function(){n.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var i=t||1;this.clear();this.chart.ctx;this.scale.draw(i);n.each(this.datasets,function(t,r){n.each(t.bars,function(n,t){n.hasValue()&&(n.base=this.scale.endPoint,n.transition({x:this.scale.calculateBarX(this.datasets.length,r,t),y:this.scale.calculateY(n.value),width:this.scale.calculateBarWidth(this.datasets.length)},i).draw())},this)},this)}})}.call(this),function(){"use strict";var r=this,t=r.Chart,n=t.helpers,i={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"><%if(segments[i].label){%><%=segments[i].label%><%}%><\/span><\/li><%}%><\/ul>'};t.Type.extend({name:"Doughnut",defaults:i,initialize:function(i){this.segments=[];this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;this.SegmentArc=t.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2});this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.calculateTotal(i);n.each(i,function(n,t){n.color||(n.color="hsl("+360*t/i.length+", 100%, 50%)");this.addData(n,t,!0)},this);this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,i,r){var u=void 0!==i?i:this.segments.length;"undefined"==typeof n.color&&(n.color=t.defaults.global.segmentColorDefault[u%t.defaults.global.segmentColorDefault.length],n.highlight=t.defaults.global.segmentHighlightColorDefaults[u%t.defaults.global.segmentHighlightColorDefaults.length]);this.segments.splice(u,0,new this.SegmentArc({value:n.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:n.color,highlightColor:n.highlight||n.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(n.value),label:n.label}));r||(this.reflow(),this.update())},calculateCircumference:function(n){return this.total>0?2*Math.PI*(n/this.total):0},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=Math.abs(n.value)},this)},update:function(){this.calculateTotal(this.segments);n.each(this.activeElements,function(n){n.restore(["fillColor"])});n.each(this.segments,function(n){n.save()});this.render()},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.outerRadius=(n.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;n.each(this.segments,function(n){n.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var i=t?t:1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.calculateCircumference(n.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},i);n.endAngle=n.startAngle+n.circumference;n.draw();0===t&&(n.startAngle=1.5*Math.PI);t<this.segments.length-1&&(this.segments[t+1].startAngle=n.endAngle)},this)}});t.types.Doughnut.extend({name:"Pie",defaults:n.merge(i,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Line",defaults:{scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/span><\/li><%}%><\/ul>',offsetGridLines:!1},initialize:function(i){this.PointClass=t.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(n){return Math.pow(n-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}});this.datasets=[];this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,pointColor:t.pointColor,pointStrokeColor:t.pointStrokeColor,points:[]};this.datasets.push(r);n.each(t.data,function(n,u){r.points.push(new this.PointClass({value:n,label:i.labels[u],datasetLabel:t.label,strokeColor:t.pointStrokeColor,fillColor:t.pointColor,highlightFill:t.pointHighlightFill||t.pointColor,highlightStroke:t.pointHighlightStroke||t.pointStrokeColor}))},this);this.buildScale(i.labels);this.eachPoints(function(t,i){n.extend(t,{x:this.scale.calculateX(i),y:this.scale.endPoint});t.save()},this)},this);this.render()},update:function(){this.scale.update();n.each(this.activeElements,function(n){n.restore(["fillColor","strokeColor"])});this.eachPoints(function(n){n.save()});this.render()},eachPoints:function(t){n.each(this.datasets,function(i){n.each(i.points,t,this)},this)},getPointsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.datasets,function(t){n.each(t.points,function(n){n.inRange(r.x,r.y)&&i.push(n)})},this),i},buildScale:function(i){var u=this,f=function(){var n=[];return u.eachPoints(function(t){n.push(t.value)}),n},r={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,offsetGridLines:this.options.offsetGridLines,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:i.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var i=n.calculateScaleRange(f(),t,this.fontSize,this.beginAtZero,this.integersOnly);n.extend(this,i)},xLabels:i,font:n.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&n.extend(r,{calculateYRange:n.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth});this.scale=new t.Scale(r)},addData:function(t,i){n.each(t,function(n,t){this.datasets[t].points.push(new this.PointClass({value:n,label:i,datasetLabel:this.datasets[t].label,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[t].pointStrokeColor,fillColor:this.datasets[t].pointColor}))},this);this.scale.addXLabel(i);this.update()},removeData:function(){this.scale.removeXLabel();n.each(this.datasets,function(n){n.points.shift()},this);this.update()},reflow:function(){var t=n.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var u=t||1;this.clear();var i=this.chart.ctx,r=function(n){return null!==n.value},e=function(t,i,u){return n.findNextWhere(i,r,u)||t},f=function(t,i,u){return n.findPreviousWhere(i,r,u)||t};this.scale&&(this.scale.draw(u),n.each(this.datasets,function(t){var o=n.where(t.points,r);n.each(t.points,function(n,t){n.hasValue()&&n.transition({y:this.scale.calculateY(n.value),x:this.scale.calculateX(t)},u)},this);this.options.bezierCurve&&n.each(o,function(t,i){var r=i>0&&i<o.length-1?this.options.bezierCurveTension:0;t.controlPoints=n.splineCurve(f(t,o,i),t,e(t,o,i),r);t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint);t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this);i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=t.strokeColor;i.beginPath();n.each(o,function(n,t){if(0===t)i.moveTo(n.x,n.y);else if(this.options.bezierCurve){var r=f(n,o,t);i.bezierCurveTo(r.controlPoints.outer.x,r.controlPoints.outer.y,n.controlPoints.inner.x,n.controlPoints.inner.y,n.x,n.y)}else i.lineTo(n.x,n.y)},this);this.options.datasetStroke&&i.stroke();this.options.datasetFill&&o.length>0&&(i.lineTo(o[o.length-1].x,this.scale.endPoint),i.lineTo(o[0].x,this.scale.endPoint),i.fillStyle=t.fillColor,i.closePath(),i.fill());n.each(o,function(n){n.draw()})},this))}})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"PolarArea",defaults:{scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span style="background-color:<%=segments[i].fillColor%>"><%if(segments[i].label){%><%=segments[i].label%><%}%><\/span><\/li><%}%><\/ul>'},initialize:function(i){this.segments=[];this.SegmentArc=t.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2});this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:i.length});this.updateScaleRange(i);this.scale.update();n.each(i,function(n,t){this.addData(n,t,!0)},this);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];n.each(this.segments,function(n){n.restore(["fillColor"])});n.each(i,function(n){n.fillColor=n.highlightColor});this.showTooltip(i)});this.render()},getSegmentsAtEvent:function(t){var i=[],r=n.getRelativePosition(t);return n.each(this.segments,function(n){n.inRange(r.x,r.y)&&i.push(n)},this),i},addData:function(n,t,i){var r=t||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:n.color,highlightColor:n.highlight||n.color,label:n.label,value:n.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(n.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI}));i||(this.reflow(),this.update())},removeData:function(t){var i=n.isNumber(t)?t:this.segments.length-1;this.segments.splice(i,1);this.reflow();this.update()},calculateTotal:function(t){this.total=0;n.each(t,function(n){this.total+=n.value},this);this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var i=[],r;n.each(t,function(n){i.push(n.value)});r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r,{size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments);n.each(this.segments,function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.updateScaleRange(this.segments);this.scale.update();n.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2});n.each(this.segments,function(n){n.update({outerRadius:this.scale.calculateCenterOffset(n.value)})},this)},draw:function(t){var i=t||1;this.clear();n.each(this.segments,function(n,t){n.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(n.value)},i);n.endAngle=n.startAngle+n.circumference;0===t&&(n.startAngle=1.5*Math.PI);t<this.segments.length-1&&(this.segments[t+1].startAngle=n.endAngle);n.draw()},this);this.scale.draw()}})}.call(this),function(){"use strict";var i=this,t=i.Chart,n=t.helpers;t.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span style="background-color:<%=datasets[i].strokeColor%>"><%if(datasets[i].label){%><%=datasets[i].label%><%}%><\/span><\/li><%}%><\/ul>'},initialize:function(i){this.PointClass=t.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx});this.datasets=[];this.buildScale(i);this.options.showTooltips&&n.bindEvents(this,this.options.tooltipEvents,function(t){var i="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(n){n.restore(["fillColor","strokeColor"])});n.each(i,function(n){n.fillColor=n.highlightFill;n.strokeColor=n.highlightStroke});this.showTooltip(i)});n.each(i.datasets,function(t){var r={label:t.label||null,fillColor:t.fillColor,strokeColor:t.strokeColor,pointColor:t.pointColor,pointStrokeColor:t.pointStrokeColor,points:[]};this.datasets.push(r);n.each(t.data,function(n,u){var f;this.scale.animation||(f=this.scale.getPointPosition(u,this.scale.calculateCenterOffset(n)));r.points.push(new this.PointClass({value:n,label:i.labels[u],datasetLabel:t.label,x:this.options.animation?this.scale.xCenter:f.x,y:this.options.animation?this.scale.yCenter:f.y,strokeColor:t.pointStrokeColor,fillColor:t.pointColor,highlightFill:t.pointHighlightFill||t.pointColor,highlightStroke:t.pointHighlightStroke||t.pointStrokeColor}))},this)},this);this.render()},eachPoints:function(t){n.each(this.datasets,function(i){n.each(i.points,t,this)},this)},getPointsAtEvent:function(t){var f=n.getRelativePosition(t),r=n.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},f),e=2*Math.PI/this.scale.valuesCount,i=Math.round((r.angle-1.5*Math.PI)/e),u=[];return(i>=this.scale.valuesCount||0>i)&&(i=0),r.distance<=this.scale.drawingArea&&n.each(this.datasets,function(n){u.push(n.points[i])}),u},buildScale:function(n){this.scale=new t.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:n.labels,valuesCount:n.datasets[0].data.length});this.scale.setScaleSize();this.updateScaleRange(n.datasets);this.scale.buildYLabels()},updateScaleRange:function(t){var i=function(){var i=[];return n.each(t,function(t){t.data?i=i.concat(t.data):n.each(t.points,function(n){i.push(n.value)})}),i}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:n.calculateScaleRange(i,n.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);n.extend(this.scale,r)},addData:function(t,i){this.scale.valuesCount++;n.each(t,function(n,t){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(n));this.datasets[t].points.push(new this.PointClass({value:n,label:i,datasetLabel:this.datasets[t].label,x:r.x,y:r.y,strokeColor:this.datasets[t].pointStrokeColor,fillColor:this.datasets[t].pointColor}))},this);this.scale.labels.push(i);this.reflow();this.update()},removeData:function(){this.scale.valuesCount--;this.scale.labels.shift();n.each(this.datasets,function(n){n.points.shift()},this);this.reflow();this.update()},update:function(){this.eachPoints(function(n){n.save()});this.reflow();this.render()},reflow:function(){n.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:n.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2});this.updateScaleRange(this.datasets);this.scale.setScaleSize();this.scale.buildYLabels()},draw:function(t){var r=t||1,i=this.chart.ctx;this.clear();this.scale.draw();n.each(this.datasets,function(t){n.each(t.points,function(n,t){n.hasValue()&&n.transition(this.scale.getPointPosition(t,this.scale.calculateCenterOffset(n.value)),r)},this);i.lineWidth=this.options.datasetStrokeWidth;i.strokeStyle=t.strokeColor;i.beginPath();n.each(t.points,function(n,t){0===t?i.moveTo(n.x,n.y):i.lineTo(n.x,n.y)},this);i.closePath();i.stroke();i.fillStyle=t.fillColor;this.options.datasetFill&&i.fill();n.each(t.points,function(n){n.hasValue()&&n.draw()})},this)}})}.call(this),function(n){"use strict";typeof exports=="object"?module.exports=n(typeof angular!="undefined"?angular:require("angular"),typeof Chart!="undefined"?Chart:require("chart.js")):typeof define=="function"&&define.amd?define(["angular","chart"],n):n(angular,Chart)}(function(n,t){"use strict";function r(){var i={},r={Chart:t,getOptions:function(t){var r=t&&i[t]||{};return n.extend({},i,r)}};this.setOptions=function(t,r){if(!r){r=t;i=n.extend(i,r);return}i[t]=n.extend(i[t]||{},r)};this.$get=function(){return r}}function u(r,u){function a(n,t){return n&&t&&n.length&&t.length?Array.isArray(n[0])?n.length===t.length&&n.every(function(n,i){return n.length===t[i].length}):t.reduce(v,0)>0?n.length===t.length:!1:!1}function v(n,t){return n+t}function o(t,i,r,u){var f=null;return function(e){var s=i.getPointsAtEvent||i.getBarsAtEvent||i.getSegmentsAtEvent,o;s&&(o=s.call(i,e),(u===!1||n.equals(f,o)===!1)&&(f=o,t[r](o,e),t.$apply()))}}function y(i,u){for(var f=n.copy(u.colours||r.getOptions(i).colours||t.defaults.global.colours);f.length<u.data.length;)f.push(u.getColour());return f.map(p)}function p(n){return typeof n=="object"&&n!==null?n:typeof n=="string"&&n[0]==="#"?h(w(n.substr(1))):s()}function s(){var n=[e(0,255),e(0,255),e(0,255)];return h(n)}function h(n){return{fillColor:f(n,.2),strokeColor:f(n,1),pointColor:f(n,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:f(n,.8)}}function e(n,t){return Math.floor(Math.random()*(t-n+1))+n}function f(n,t){return i?"rgb("+n.join(",")+")":"rgba("+n.concat(t).join(",")+")"}function w(n){var t=parseInt(n,16),i=t>>16&255,r=t>>8&255,u=t&255;return[i,r,u]}function b(t,i,r,u){return{labels:t,datasets:i.map(function(t,i){return n.extend({},u[i],{label:r[i],data:t})})}}function k(t,i,r){return t.map(function(t,u){return n.extend({},r[u],{label:t,value:i[u],color:r[u].strokeColor,highlight:r[u].pointHighlightStroke})})}function c(n,t){var i=n.parent(),r=i.find("chart-legend"),u="<chart-legend>"+t.generateLegend()+"<\/chart-legend>";r.length?r.replaceWith(u):i.append(u)}function d(n,t,i,r){Array.isArray(i.data[0])?n.datasets.forEach(function(n,i){(n.points||n.bars).forEach(function(n,r){n.value=t[i][r]})}):n.segments.forEach(function(n,i){n.value=t[i]});n.update();i.$emit("update",n);i.legend&&i.legend!=="false"&&c(r,n)}function l(n){return!n||Array.isArray(n)&&!n.length||typeof n=="object"&&!Object.keys(n).length}function g(i,u){var f=n.extend({},t.defaults.global,r.getOptions(i),u.options);return f.responsive}return function(t){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(f,e){function v(n,t){f.$watch(n,function(n){typeof n!="undefined"&&(f[t]=n)})}function w(i,r){if(!l(i)&&!n.equals(i,r)){var u=t||f.chartType;u&&(h&&h.destroy(),nt(u))}}function nt(t){if(g(t,f)&&e[0].clientHeight===0&&p.clientHeight===0)return u(function(){nt(t)},50,!1);if(f.data&&f.data.length){f.getColour=typeof f.getColour=="function"?f.getColour:s;f.colours=y(t,f);var i=e[0],l=i.getContext("2d"),a=Array.isArray(f.data[0])?b(f.labels,f.data,f.series||[],f.colours):k(f.labels,f.data,f.colours),v=n.extend({},r.getOptions(t),f.options);h=new r.Chart(l)[t](a,v);f.$emit("create",h);i.onclick=f.click?o(f,h,"click",!1):n.noop;i.onmousemove=f.hover?o(f,h,"hover",!0):n.noop;f.legend&&f.legend!=="false"&&c(e,h)}}function tt(n){if(typeof console!="undefined"&&r.getOptions().env!=="test"){var t=typeof console.warn=="function"?console.warn:console.log;!f[n]||t.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',n,n)}}var h,p=document.createElement("div");p.className="chart-container";e.replaceWith(p);p.appendChild(e[0]);i&&window.G_vmlCanvasManager.initElement(e[0]);["data","labels","options","series","colours","legend","click","hover"].forEach(tt);v("chartData","data");v("chartLabels","labels");v("chartOptions","options");v("chartSeries","series");v("chartColours","colours");v("chartLegend","legend");v("chartClick","click");v("chartHover","hover");f.$watch("data",function(n,i){if(n&&n.length&&(!Array.isArray(n[0])||n[0].length)){var r=t||f.chartType;if(r){if(h){if(a(n,i))return d(h,n,f,e);h.destroy()}nt(r)}}},!0);f.$watch("series",w,!0);f.$watch("labels",w,!0);f.$watch("options",w,!0);f.$watch("colours",w,!0);f.$watch("chartType",function(t,i){l(t)||n.equals(t,i)||(h&&h.destroy(),nt(t))});f.$on("$destroy",function(){h&&h.destroy()})}}}}t.defaults.global.responsive=!0;t.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>";t.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var i=typeof G_vmlCanvasManager=="object"&&window.G_vmlCanvasManager!==null&&typeof window.G_vmlCanvasManager.initElement=="function";return i&&(t.defaults.global.animation=!1),n.module("chart.js",[]).provider("ChartJs",r).factory("ChartJsFactory",["ChartJs","$timeout",u]).directive("chartBase",["ChartJsFactory",function(n){return new n}]).directive("chartLine",["ChartJsFactory",function(n){return new n("Line")}]).directive("chartBar",["ChartJsFactory",function(n){return new n("Bar")}]).directive("chartRadar",["ChartJsFactory",function(n){return new n("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(n){return new n("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(n){return new n("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(n){return new n("PolarArea")}])}),function(n,t){"use strict";if(typeof define=="function"&&define.amd)define(["angular"],t);else if(typeof module=="object"&&module.exports){var i=angular||require("angular");i&&i.module||typeof angular=="undefined"||(i=angular);module.exports=t(i)}else t(n.angular)}(this,function(n){"use strict";var t=n.module("rzModule",[]).factory("RzSliderOptions",function(){var r={floor:0,ceil:null,step:1,precision:0,minRange:null,maxRange:null,pushRange:!1,minLimit:null,maxLimit:null,id:null,translate:null,getLegend:null,stepsArray:null,bindIndexForStepsArray:!1,draggableRange:!1,draggableRangeOnly:!1,showSelectionBar:!1,showSelectionBarEnd:!1,showSelectionBarFromValue:null,hidePointerLabels:!1,hideLimitLabels:!1,autoHideLimitLabels:!0,readOnly:!1,disabled:!1,interval:350,showTicks:!1,showTicksValues:!1,ticksArray:null,ticksTooltip:null,ticksValuesTooltip:null,vertical:!1,getSelectionBarColor:null,getTickColor:null,getPointerColor:null,keyboardSupport:!0,scale:1,enforceStep:!0,enforceRange:!1,noSwitching:!1,onlyBindHandles:!1,onStart:null,onChange:null,onEnd:null,rightToLeft:!1,boundPointerLabels:!0,mergeRangeLabelsIfSame:!1,customTemplateScope:null,logScale:!1,customValueToPosition:null,customPositionToValue:null,selectionBarGradient:null},i={},t={};return t.options=function(t){n.extend(i,t)},t.getOptions=function(t){return n.extend({},r,i,t)},t}).factory("rzThrottle",["$timeout",function(n){return function(t,i,r){var h=Date.now||function(){return(new Date).getTime()},u,f,o,e=null,s=0,c;return r=r||{},c=function(){s=h();e=null;o=t.apply(u,f);u=f=null},function(){var l=h(),a=i-(l-s);return u=this,f=arguments,a<=0?(n.cancel(e),e=null,s=l,o=t.apply(u,f),u=f=null):e||r.trailing===!1||(e=n(c,a)),o}}}]).factory("RzSlider",["$timeout","$document","$window","$compile","RzSliderOptions","rzThrottle",function(t,i,r,u,f,e){var o=function(n,t){this.scope=n;this.lowValue=0;this.highValue=0;this.sliderElem=t;this.range=this.scope.rzSliderModel!==undefined&&this.scope.rzSliderHigh!==undefined;this.dragging={active:!1,value:0,difference:0,position:0,lowLimit:0,highLimit:0};this.positionProperty="left";this.dimensionProperty="width";this.handleHalfDim=0;this.maxPos=0;this.precision=0;this.step=1;this.tracking="";this.minValue=0;this.maxValue=0;this.valueRange=0;this.intermediateTicks=!1;this.initHasRun=!1;this.firstKeyDown=!1;this.internalChange=!1;this.cmbLabelShown=!1;this.currentFocusElement=null;this.fullBar=null;this.selBar=null;this.minH=null;this.maxH=null;this.flrLab=null;this.ceilLab=null;this.minLab=null;this.maxLab=null;this.cmbLab=null;this.ticks=null;this.init()};return o.prototype={init:function(){var i,u,t=this,f=function(){t.calcViewDimensions()};this.applyOptions();this.syncLowValue();this.range&&this.syncHighValue();this.initElemHandles();this.manageElementsStyle();this.setDisabledState();this.calcViewDimensions();this.setMinAndMax();this.addAccessibility();this.updateCeilLab();this.updateFloorLab();this.initHandles();this.manageEventsBindings();this.scope.$on("reCalcViewDimensions",f);n.element(r).on("resize",f);this.initHasRun=!0;i=e(function(){t.onLowHandleChange()},t.options.interval);u=e(function(){t.onHighHandleChange()},t.options.interval);this.scope.$on("rzSliderForceRender",function(){t.resetLabelsValue();i();t.range&&u();t.resetSlider()});this.scope.$watch("rzSliderOptions()",function(n,i){n!==i&&(t.applyOptions(),t.syncLowValue(),t.range&&t.syncHighValue(),t.resetSlider())},!0);this.scope.$watch("rzSliderModel",function(n,r){t.internalChange||n!==r&&i()});this.scope.$watch("rzSliderHigh",function(n,i){t.internalChange||n!==i&&(n!=null&&u(),(t.range&&n==null||!t.range&&n!=null)&&(t.applyOptions(),t.resetSlider()))});this.scope.$on("$destroy",function(){t.unbindEvents();n.element(r).off("resize",f);t.currentFocusElement=null})},findStepIndex:function(t){for(var i,u=0,r=0;r<this.options.stepsArray.length;r++)if(i=this.options.stepsArray[r],i===t){u=r;break}else if(n.isDate(i)){if(i.getTime()===t.getTime()){u=r;break}}else if(n.isObject(i)&&(n.isDate(i.value)&&i.value.getTime()===t.getTime()||i.value===t)){u=r;break}return u},syncLowValue:function(){this.lowValue=this.options.stepsArray?this.options.bindIndexForStepsArray?this.scope.rzSliderModel:this.findStepIndex(this.scope.rzSliderModel):this.scope.rzSliderModel},syncHighValue:function(){this.highValue=this.options.stepsArray?this.options.bindIndexForStepsArray?this.scope.rzSliderHigh:this.findStepIndex(this.scope.rzSliderHigh):this.scope.rzSliderHigh},getStepValue:function(t){var i=this.options.stepsArray[t];return n.isDate(i)?i:n.isObject(i)?i.value:i},applyLowValue:function(){this.scope.rzSliderModel=this.options.stepsArray?this.options.bindIndexForStepsArray?this.lowValue:this.getStepValue(this.lowValue):this.lowValue},applyHighValue:function(){this.scope.rzSliderHigh=this.options.stepsArray?this.options.bindIndexForStepsArray?this.highValue:this.getStepValue(this.highValue):this.highValue},onLowHandleChange:function(){this.syncLowValue();this.range&&this.syncHighValue();this.setMinAndMax();this.updateLowHandle(this.valueToPosition(this.lowValue));this.updateSelectionBar();this.updateTicksScale();this.updateAriaAttributes();this.range&&this.updateCmbLabel()},onHighHandleChange:function(){this.syncLowValue();this.syncHighValue();this.setMinAndMax();this.updateHighHandle(this.valueToPosition(this.highValue));this.updateSelectionBar();this.updateTicksScale();this.updateCmbLabel();this.updateAriaAttributes()},applyOptions:function(){var t;t=this.scope.rzSliderOptions?this.scope.rzSliderOptions():{};this.options=f.getOptions(t);this.options.step<=0&&(this.options.step=1);this.range=this.scope.rzSliderModel!==undefined&&this.scope.rzSliderHigh!==undefined;this.options.draggableRange=this.range&&this.options.draggableRange;this.options.draggableRangeOnly=this.range&&this.options.draggableRangeOnly;this.options.draggableRangeOnly&&(this.options.draggableRange=!0);this.options.showTicks=this.options.showTicks||this.options.showTicksValues||!!this.options.ticksArray;this.scope.showTicks=this.options.showTicks;(n.isNumber(this.options.showTicks)||this.options.ticksArray)&&(this.intermediateTicks=!0);this.options.showSelectionBar=this.options.showSelectionBar||this.options.showSelectionBarEnd||this.options.showSelectionBarFromValue!==null;this.options.stepsArray?this.parseStepsArray():(this.customTrFn=this.options.translate?this.options.translate:function(n){return String(n)},this.getLegend=this.options.getLegend);this.options.vertical&&(this.positionProperty="bottom",this.dimensionProperty="height");this.options.customTemplateScope&&(this.scope.custom=this.options.customTemplateScope)},parseStepsArray:function(){this.options.floor=0;this.options.ceil=this.options.stepsArray.length-1;this.options.step=1;this.customTrFn=this.options.translate?this.options.translate:function(n){return this.options.bindIndexForStepsArray?this.getStepValue(n):n};this.getLegend=function(t){var i=this.options.stepsArray[t];return n.isObject(i)?i.legend:null}},resetSlider:function(){this.manageElementsStyle();this.addAccessibility();this.setMinAndMax();this.updateCeilLab();this.updateFloorLab();this.unbindEvents();this.manageEventsBindings();this.setDisabledState();this.calcViewDimensions();this.refocusPointerIfNeeded()},refocusPointerIfNeeded:function(){if(this.currentFocusElement){this.onPointerFocus(this.currentFocusElement.pointer,this.currentFocusElement.ref);this.focusElement(this.currentFocusElement.pointer)}},initElemHandles:function(){n.forEach(this.sliderElem.children(),function(t,i){var r=n.element(t);switch(i){case 0:this.fullBar=r;break;case 1:this.selBar=r;break;case 2:this.minH=r;break;case 3:this.maxH=r;break;case 4:this.flrLab=r;break;case 5:this.ceilLab=r;break;case 6:this.minLab=r;break;case 7:this.maxLab=r;break;case 8:this.cmbLab=r;break;case 9:this.ticks=r}},this);this.selBar.rzsp=0;this.minH.rzsp=0;this.maxH.rzsp=0;this.flrLab.rzsp=0;this.ceilLab.rzsp=0;this.minLab.rzsp=0;this.maxLab.rzsp=0;this.cmbLab.rzsp=0},manageElementsStyle:function(){this.range?this.maxH.css("display",""):this.maxH.css("display","none");this.alwaysHide(this.flrLab,this.options.showTicksValues||this.options.hideLimitLabels);this.alwaysHide(this.ceilLab,this.options.showTicksValues||this.options.hideLimitLabels);var n=this.options.showTicksValues&&!this.intermediateTicks;this.alwaysHide(this.minLab,n||this.options.hidePointerLabels);this.alwaysHide(this.maxLab,n||!this.range||this.options.hidePointerLabels);this.alwaysHide(this.cmbLab,n||!this.range||this.options.hidePointerLabels);this.alwaysHide(this.selBar,!this.range&&!this.options.showSelectionBar);this.options.vertical&&this.sliderElem.addClass("rz-vertical");this.options.draggableRange?this.selBar.addClass("rz-draggable"):this.selBar.removeClass("rz-draggable");this.intermediateTicks&&this.options.showTicksValues&&this.ticks.addClass("rz-ticks-values-under")},alwaysHide:function(n,t){n.rzAlwaysHide=t;t?this.hideEl(n):this.showEl(n)},manageEventsBindings:function(){this.options.disabled||this.options.readOnly?this.unbindEvents():this.bindEvents()},setDisabledState:function(){this.options.disabled?this.sliderElem.attr("disabled","disabled"):this.sliderElem.attr("disabled",null)},resetLabelsValue:function(){this.minLab.rzsv=undefined;this.maxLab.rzsv=undefined},initHandles:function(){this.updateLowHandle(this.valueToPosition(this.lowValue));this.range&&this.updateHighHandle(this.valueToPosition(this.highValue));this.updateSelectionBar();this.range&&this.updateCmbLabel();this.updateTicksScale()},translateFn:function(n,t,i,r){r=r===undefined?!0:r;var u="",f=!1,e=t.hasClass("no-label-injection");r?(this.options.stepsArray&&!this.options.bindIndexForStepsArray&&(n=this.getStepValue(n)),u=String(this.customTrFn(n,this.options.id,i))):u=String(n);(t.rzsv===undefined||t.rzsv.length!==u.length||t.rzsv.length>0&&t.rzsd===0)&&(f=!0,t.rzsv=u);e||t.html(u);this.scope[i+"Label"]=u;f&&this.getDimension(t)},setMinAndMax:function(){if(this.step=+this.options.step,this.precision=+this.options.precision,this.minValue=this.options.floor,this.options.logScale&&this.minValue===0)throw Error("Can't use floor=0 with logarithmic scale");this.options.enforceStep&&(this.lowValue=this.roundStep(this.lowValue),this.range&&(this.highValue=this.roundStep(this.highValue)));this.maxValue=this.options.ceil!=null?this.options.ceil:this.options.ceil=this.range?this.highValue:this.lowValue;this.options.enforceRange&&(this.lowValue=this.sanitizeValue(this.lowValue),this.range&&(this.highValue=this.sanitizeValue(this.highValue)));this.applyLowValue();this.range&&this.applyHighValue();this.valueRange=this.maxValue-this.minValue},addAccessibility:function(){this.minH.attr("role","slider");this.updateAriaAttributes();!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.minH.attr("tabindex",""):this.minH.attr("tabindex","0");this.options.vertical&&this.minH.attr("aria-orientation","vertical");this.range&&(this.maxH.attr("role","slider"),!this.options.keyboardSupport||this.options.readOnly||this.options.disabled?this.maxH.attr("tabindex",""):this.maxH.attr("tabindex","0"),this.options.vertical&&this.maxH.attr("aria-orientation","vertical"))},updateAriaAttributes:function(){this.minH.attr({"aria-valuenow":this.scope.rzSliderModel,"aria-valuetext":this.customTrFn(this.scope.rzSliderModel,this.options.id,"model"),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue});this.range&&this.maxH.attr({"aria-valuenow":this.scope.rzSliderHigh,"aria-valuetext":this.customTrFn(this.scope.rzSliderHigh,this.options.id,"high"),"aria-valuemin":this.minValue,"aria-valuemax":this.maxValue})},calcViewDimensions:function(){var n=this.getDimension(this.minH),i;this.handleHalfDim=n/2;this.barDimension=this.getDimension(this.fullBar);this.maxPos=this.barDimension-n;this.getDimension(this.sliderElem);this.sliderElem.rzsp=this.sliderElem[0].getBoundingClientRect()[this.positionProperty];this.initHasRun&&(this.updateFloorLab(),this.updateCeilLab(),this.initHandles(),i=this,t(function(){i.updateTicksScale()}))},updateTicksScale:function(){if(this.options.showTicks){var t=this.options.ticksArray||this.getTicksArray(),i=this.options.vertical?"translateY":"translateX",n=this;this.options.rightToLeft&&t.reverse();this.scope.ticks=t.map(function(t){var u=n.valueToPosition(t),r,f;return n.options.vertical&&(u=n.maxPos-u),r={selected:n.isTickSelected(t),style:{transform:i+"("+Math.round(u)+"px)"}},r.selected&&n.options.getSelectionBarColor&&(r.style["background-color"]=n.getSelectionBarColor()),!r.selected&&n.options.getTickColor&&(r.style["background-color"]=n.getTickColor(t)),n.options.ticksTooltip&&(r.tooltip=n.options.ticksTooltip(t),r.tooltipPlacement=n.options.vertical?"right":"top"),n.options.showTicksValues&&(r.value=n.getDisplayValue(t,"tick-value"),n.options.ticksValuesTooltip&&(r.valueTooltip=n.options.ticksValuesTooltip(t),r.valueTooltipPlacement=n.options.vertical?"right":"top")),n.getLegend&&(f=n.getLegend(t,n.options.id),f&&(r.legend=f)),r})}},getTicksArray:function(){var t=this.step,i=[],n;for(this.intermediateTicks&&(t=this.options.showTicks),n=this.minValue;n<=this.maxValue;n+=t)i.push(n);return i},isTickSelected:function(n){if(!this.range)if(this.options.showSelectionBarFromValue!==null){var t=this.options.showSelectionBarFromValue;if(this.lowValue>t&&n>=t&&n<=this.lowValue||this.lowValue<t&&n<=t&&n>=this.lowValue)return!0}else if(this.options.showSelectionBarEnd){if(n>=this.lowValue)return!0}else if(this.options.showSelectionBar&&n<=this.lowValue)return!0;return this.range&&n>=this.lowValue&&n<=this.highValue?!0:!1},updateFloorLab:function(){this.translateFn(this.minValue,this.flrLab,"floor");this.getDimension(this.flrLab);var n=this.options.rightToLeft?this.barDimension-this.flrLab.rzsd:0;this.setPosition(this.flrLab,n)},updateCeilLab:function(){this.translateFn(this.maxValue,this.ceilLab,"ceil");this.getDimension(this.ceilLab);var n=this.options.rightToLeft?0:this.barDimension-this.ceilLab.rzsd;this.setPosition(this.ceilLab,n)},updateHandles:function(n,t){n==="lowValue"?this.updateLowHandle(t):this.updateHighHandle(t);this.updateSelectionBar();this.updateTicksScale();this.range&&this.updateCmbLabel()},getHandleLabelPos:function(n,t){var r=this[n].rzsd,i=t-r/2+this.handleHalfDim,u=this.barDimension-r;return this.options.boundPointerLabels?this.options.rightToLeft&&n==="minLab"||!this.options.rightToLeft&&n==="maxLab"?Math.min(i,u):Math.min(Math.max(i,0),u):i},updateLowHandle:function(n){if(this.setPosition(this.minH,n),this.translateFn(this.lowValue,this.minLab,"model"),this.setPosition(this.minLab,this.getHandleLabelPos("minLab",n)),this.options.getPointerColor){var t=this.getPointerColor("min");this.scope.minPointerStyle={backgroundColor:t}}this.options.autoHideLimitLabels&&this.shFloorCeil()},updateHighHandle:function(n){if(this.setPosition(this.maxH,n),this.translateFn(this.highValue,this.maxLab,"high"),this.setPosition(this.maxLab,this.getHandleLabelPos("maxLab",n)),this.options.getPointerColor){var t=this.getPointerColor("max");this.scope.maxPointerStyle={backgroundColor:t}}this.options.autoHideLimitLabels&&this.shFloorCeil()},shFloorCeil:function(){var r,u;if(!this.options.hidePointerLabels){var n=!1,t=!1,i=this.isLabelBelowFloorLab(this.minLab),f=this.isLabelAboveCeilLab(this.minLab),e=this.isLabelAboveCeilLab(this.maxLab),o=this.isLabelBelowFloorLab(this.cmbLab),s=this.isLabelAboveCeilLab(this.cmbLab);i?(n=!0,this.hideEl(this.flrLab)):(n=!1,this.showEl(this.flrLab));f?(t=!0,this.hideEl(this.ceilLab)):(t=!1,this.showEl(this.ceilLab));this.range&&(r=this.cmbLabelShown?s:e,u=this.cmbLabelShown?o:i,r?this.hideEl(this.ceilLab):t||this.showEl(this.ceilLab),u?this.hideEl(this.flrLab):n||this.showEl(this.flrLab))}},isLabelBelowFloorLab:function(n){var r=this.options.rightToLeft,t=n.rzsp,u=n.rzsd,i=this.flrLab.rzsp,f=this.flrLab.rzsd;return r?t+u>=i-2:t<=i+f+2},isLabelAboveCeilLab:function(n){var r=this.options.rightToLeft,t=n.rzsp,u=n.rzsd,i=this.ceilLab.rzsp,f=this.ceilLab.rzsd;return r?t<=i+f+2:t+u>=i-2},updateSelectionBar:function(){var n=0,t=0,e=this.options.rightToLeft?!this.options.showSelectionBarEnd:this.options.showSelectionBarEnd,s=this.options.rightToLeft?this.maxH.rzsp+this.handleHalfDim:this.minH.rzsp+this.handleHalfDim,o;if(this.range)t=Math.abs(this.maxH.rzsp-this.minH.rzsp),n=s;else if(this.options.showSelectionBarFromValue!==null){var r=this.options.showSelectionBarFromValue,u=this.valueToPosition(r),h=this.options.rightToLeft?this.lowValue<=r:this.lowValue>r;h?(t=this.minH.rzsp-u,n=u+this.handleHalfDim):(t=u-this.minH.rzsp,n=this.minH.rzsp+this.handleHalfDim)}else e?(t=Math.abs(this.maxPos-this.minH.rzsp)+this.handleHalfDim,n=this.minH.rzsp+this.handleHalfDim):(t=Math.abs(this.maxH.rzsp-this.minH.rzsp)+this.handleHalfDim,n=0);if(this.setDimension(this.selBar,t),this.setPosition(this.selBar,n),this.options.getSelectionBarColor)o=this.getSelectionBarColor(),this.scope.barStyle={backgroundColor:o};else if(this.options.selectionBarGradient){var f=this.options.showSelectionBarFromValue!==null?this.valueToPosition(this.options.showSelectionBarFromValue):0,i=f-n>0^e,c=this.options.vertical?i?"bottom":"top":i?"left":"right";this.scope.barStyle={backgroundImage:"linear-gradient(to "+c+", "+this.options.selectionBarGradient.from+" 0%,"+this.options.selectionBarGradient.to+" 100%)"};this.options.vertical?(this.scope.barStyle.backgroundPosition="center "+(f+t+n+(i?-this.handleHalfDim:0))+"px",this.scope.barStyle.backgroundSize="100% "+(this.barDimension-this.handleHalfDim)+"px"):(this.scope.barStyle.backgroundPosition=f-n+(i?this.handleHalfDim:0)+"px center",this.scope.barStyle.backgroundSize=this.barDimension-this.handleHalfDim+"px 100%")}},getSelectionBarColor:function(){return this.range?this.options.getSelectionBarColor(this.scope.rzSliderModel,this.scope.rzSliderHigh):this.options.getSelectionBarColor(this.scope.rzSliderModel)},getPointerColor:function(n){return n==="max"?this.options.getPointerColor(this.scope.rzSliderHigh,n):this.options.getPointerColor(this.scope.rzSliderModel,n)},getTickColor:function(n){return this.options.getTickColor(n)},updateCmbLabel:function(){var i=null,u;if(i=this.options.rightToLeft?this.minLab.rzsp-this.minLab.rzsd-10<=this.maxLab.rzsp:this.minLab.rzsp+this.minLab.rzsd+10>=this.maxLab.rzsp,i){var n=this.getDisplayValue(this.lowValue,"model"),t=this.getDisplayValue(this.highValue,"high"),r="";r=this.options.mergeRangeLabelsIfSame&&n===t?n:this.options.rightToLeft?t+" - "+n:n+" - "+t;this.translateFn(r,this.cmbLab,"cmb",!1);u=this.options.boundPointerLabels?Math.min(Math.max(this.selBar.rzsp+this.selBar.rzsd/2-this.cmbLab.rzsd/2,0),this.barDimension-this.cmbLab.rzsd):this.selBar.rzsp+this.selBar.rzsd/2-this.cmbLab.rzsd/2;this.setPosition(this.cmbLab,u);this.cmbLabelShown=!0;this.hideEl(this.minLab);this.hideEl(this.maxLab);this.showEl(this.cmbLab)}else this.cmbLabelShown=!1,this.showEl(this.maxLab),this.showEl(this.minLab),this.hideEl(this.cmbLab);this.options.autoHideLimitLabels&&this.shFloorCeil()},getDisplayValue:function(n,t){return this.options.stepsArray&&!this.options.bindIndexForStepsArray&&(n=this.getStepValue(n)),this.customTrFn(n,this.options.id,t)},roundStep:function(n,t){var r=t?t:this.step,i=parseFloat((n-this.minValue)/r).toPrecision(12),u;return i=Math.round(+i)*r,u=(this.minValue+i).toFixed(this.precision),+u},hideEl:function(n){return n.css({visibility:"hidden"})},showEl:function(n){return!n.rzAlwaysHide?n.css({visibility:"visible"}):n},setPosition:function(n,t){n.rzsp=t;var i={};return i[this.positionProperty]=Math.round(t)+"px",n.css(i),t},getDimension:function(n){var t=n[0].getBoundingClientRect();return n.rzsd=this.options.vertical?(t.bottom-t.top)*this.options.scale:(t.right-t.left)*this.options.scale,n.rzsd},setDimension:function(n,t){n.rzsd=t;var i={};return i[this.dimensionProperty]=Math.round(t)+"px",n.css(i),t},sanitizeValue:function(n){return Math.min(Math.max(n,this.minValue),this.maxValue)},valueToPosition:function(n){var i=this.linearValueToPosition,t;return this.options.customValueToPosition?i=this.options.customValueToPosition:this.options.logScale&&(i=this.logValueToPosition),n=this.sanitizeValue(n),t=i(n,this.minValue,this.maxValue)||0,this.options.rightToLeft&&(t=1-t),t*this.maxPos},linearValueToPosition:function(n,t,i){var r=i-t;return(n-t)/r},logValueToPosition:function(n,t,i){n=Math.log(n);t=Math.log(t);i=Math.log(i);var r=i-t;return(n-t)/r},positionToValue:function(n){var i=n/this.maxPos,t;return this.options.rightToLeft&&(i=1-i),t=this.linearPositionToValue,this.options.customPositionToValue?t=this.options.customPositionToValue:this.options.logScale&&(t=this.logPositionToValue),t(i,this.minValue,this.maxValue)||0},linearPositionToValue:function(n,t,i){return n*(i-t)+t},logPositionToValue:function(n,t,i){t=Math.log(t);i=Math.log(i);var r=n*(i-t)+t;return Math.exp(r)},getEventXY:function(n){var t=this.options.vertical?"clientY":"clientX";return n[t]!==undefined?n[t]:n.originalEvent===undefined?n.touches[0][t]:n.originalEvent.touches[0][t]},getEventPosition:function(n){var t=this.sliderElem.rzsp,i=0;return i=this.options.vertical?-this.getEventXY(n)+t:this.getEventXY(n)-t,i*this.options.scale-this.handleHalfDim},getEventNames:function(n){var t={moveEvent:"",endEvent:""};return n.touches||n.originalEvent!==undefined&&n.originalEvent.touches?(t.moveEvent="touchmove",t.endEvent="touchend"):(t.moveEvent="mousemove",t.endEvent="mouseup"),t},getNearestHandle:function(n){if(!this.range)return this.minH;var t=this.getEventPosition(n),i=Math.abs(t-this.minH.rzsp),r=Math.abs(t-this.maxH.rzsp);return i<r?this.minH:i>r?this.maxH:this.options.rightToLeft?t>this.minH.rzsp?this.minH:this.maxH:t<this.minH.rzsp?this.minH:this.maxH},focusElement:function(n){n[0].focus()},bindEvents:function(){var t,i,r;if(this.options.draggableRange?(t="rzSliderDrag",i=this.onDragStart,r=this.onDragMove):(t="lowValue",i=this.onStart,r=this.onMove),!this.options.onlyBindHandles){this.selBar.on("mousedown",n.bind(this,i,null,t));this.selBar.on("mousedown",n.bind(this,r,this.selBar))}if(this.options.draggableRangeOnly){this.minH.on("mousedown",n.bind(this,i,null,t));this.maxH.on("mousedown",n.bind(this,i,null,t))}else{this.minH.on("mousedown",n.bind(this,this.onStart,this.minH,"lowValue"));if(this.range)this.maxH.on("mousedown",n.bind(this,this.onStart,this.maxH,"highValue"));if(!this.options.onlyBindHandles){this.fullBar.on("mousedown",n.bind(this,this.onStart,null,null));this.fullBar.on("mousedown",n.bind(this,this.onMove,this.fullBar));this.ticks.on("mousedown",n.bind(this,this.onStart,null,null));this.ticks.on("mousedown",n.bind(this,this.onTickClick,this.ticks))}}if(!this.options.onlyBindHandles){this.selBar.on("touchstart",n.bind(this,i,null,t));this.selBar.on("touchstart",n.bind(this,r,this.selBar))}if(this.options.draggableRangeOnly){this.minH.on("touchstart",n.bind(this,i,null,t));this.maxH.on("touchstart",n.bind(this,i,null,t))}else{this.minH.on("touchstart",n.bind(this,this.onStart,this.minH,"lowValue"));if(this.range)this.maxH.on("touchstart",n.bind(this,this.onStart,this.maxH,"highValue"));if(!this.options.onlyBindHandles){this.fullBar.on("touchstart",n.bind(this,this.onStart,null,null));this.fullBar.on("touchstart",n.bind(this,this.onMove,this.fullBar));this.ticks.on("touchstart",n.bind(this,this.onStart,null,null));this.ticks.on("touchstart",n.bind(this,this.onTickClick,this.ticks))}}if(this.options.keyboardSupport){this.minH.on("focus",n.bind(this,this.onPointerFocus,this.minH,"lowValue"));if(this.range)this.maxH.on("focus",n.bind(this,this.onPointerFocus,this.maxH,"highValue"))}},unbindEvents:function(){this.minH.off();this.maxH.off();this.fullBar.off();this.selBar.off();this.ticks.off()},onStart:function(t,r,u){var f,e,o=this.getEventNames(u);u.stopPropagation();u.preventDefault();this.calcViewDimensions();t?this.tracking=r:(t=this.getNearestHandle(u),this.tracking=t===this.minH?"lowValue":"highValue");t.addClass("rz-active");this.options.keyboardSupport&&this.focusElement(t);f=n.bind(this,this.dragging.active?this.onDragMove:this.onMove,t);e=n.bind(this,this.onEnd,f);i.on(o.moveEvent,f);i.one(o.endEvent,e);this.callOnStart()},onMove:function(t,i,r){var f=this.getEventPosition(i),u,e=this.options.rightToLeft?this.minValue:this.maxValue,o=this.options.rightToLeft?this.maxValue:this.minValue;f<=0?u=o:f>=this.maxPos?u=e:(u=this.positionToValue(f),u=r&&n.isNumber(this.options.showTicks)?this.roundStep(u,this.options.showTicks):this.roundStep(u));this.positionTrackingHandle(u)},onEnd:function(n,t){var r=this.getEventNames(t).moveEvent;this.options.keyboardSupport||(this.minH.removeClass("rz-active"),this.maxH.removeClass("rz-active"),this.tracking="");this.dragging.active=!1;i.off(r,n);this.callOnEnd()},onTickClick:function(n,t){this.onMove(n,t,!0)},onPointerFocus:function(t,i){this.tracking=i;t.one("blur",n.bind(this,this.onPointerBlur,t));t.on("keydown",n.bind(this,this.onKeyboardEvent));t.on("keyup",n.bind(this,this.onKeyUp));this.firstKeyDown=!0;t.addClass("rz-active");this.currentFocusElement={pointer:t,ref:i}},onKeyUp:function(){this.firstKeyDown=!0;this.callOnEnd()},onPointerBlur:function(n){n.off("keydown");n.off("keyup");this.tracking="";n.removeClass("rz-active");this.currentFocusElement=null},getKeyActions:function(n){var i=n+this.step,r=n-this.step,u=n+this.valueRange/10,f=n-this.valueRange/10,t={UP:i,DOWN:r,LEFT:r,RIGHT:i,PAGEUP:u,PAGEDOWN:f,HOME:this.minValue,END:this.maxValue};return this.options.rightToLeft&&(t.LEFT=i,t.RIGHT=r,this.options.vertical&&(t.UP=r,t.DOWN=i)),t},onKeyboardEvent:function(n){var u=this[this.tracking],f=n.keyCode||n.which,e=this.getKeyActions(u),o={38:"UP",40:"DOWN",37:"LEFT",39:"RIGHT",33:"PAGEUP",34:"PAGEDOWN",36:"HOME",35:"END"}[f],r=e[o],i;r!=null&&this.tracking!==""&&(n.preventDefault(),this.firstKeyDown&&(this.firstKeyDown=!1,this.callOnStart()),i=this,t(function(){var u=i.roundStep(i.sanitizeValue(r)),f,n,t;i.options.draggableRangeOnly?(f=i.highValue-i.lowValue,i.tracking==="lowValue"?(n=u,t=u+f,t>i.maxValue&&(t=i.maxValue,n=t-f)):(t=u,n=u-f,n<i.minValue&&(n=i.minValue,t=n+f)),i.positionTrackingBar(n,t)):i.positionTrackingHandle(u)}))},onDragStart:function(n,t,i){var r=this.getEventPosition(i);this.dragging={active:!0,value:this.positionToValue(r),difference:this.highValue-this.lowValue,lowLimit:this.options.rightToLeft?this.minH.rzsp-r:r-this.minH.rzsp,highLimit:this.options.rightToLeft?r-this.maxH.rzsp:this.maxH.rzsp-r};this.onStart(n,t,i)},getValue:function(n,t,i,r){var u=this.options.rightToLeft,f=null;return f=n==="min"?i?r?u?this.minValue:this.maxValue-this.dragging.difference:u?this.maxValue-this.dragging.difference:this.minValue:u?this.positionToValue(t+this.dragging.lowLimit):this.positionToValue(t-this.dragging.lowLimit):i?r?u?this.minValue+this.dragging.difference:this.maxValue:u?this.maxValue:this.minValue+this.dragging.difference:u?this.positionToValue(t+this.dragging.lowLimit)+this.dragging.difference:this.positionToValue(t-this.dragging.lowLimit)+this.dragging.difference,this.roundStep(f)},onDragMove:function(n,t){var i=this.getEventPosition(t),r,u,f,e,h,c,o,s;if(this.options.rightToLeft?(f=this.dragging.lowLimit,e=this.dragging.highLimit,o=this.maxH,s=this.minH):(f=this.dragging.highLimit,e=this.dragging.lowLimit,o=this.minH,s=this.maxH),h=i<=e,c=i>=this.maxPos-f,h){if(o.rzsp===0)return;r=this.getValue("min",i,!0,!1);u=this.getValue("max",i,!0,!1)}else if(c){if(s.rzsp===this.maxPos)return;u=this.getValue("max",i,!0,!0);r=this.getValue("min",i,!0,!0)}else r=this.getValue("min",i,!1),u=this.getValue("max",i,!1);this.positionTrackingBar(r,u)},positionTrackingBar:function(n,t){this.options.minLimit!=null&&n<this.options.minLimit&&(n=this.options.minLimit,t=n+this.dragging.difference);this.options.maxLimit!=null&&t>this.options.maxLimit&&(t=this.options.maxLimit,n=t-this.dragging.difference);this.lowValue=n;this.highValue=t;this.applyLowValue();this.range&&this.applyHighValue();this.applyModel(!0);this.updateHandles("lowValue",this.valueToPosition(n));this.updateHandles("highValue",this.valueToPosition(t))},positionTrackingHandle:function(n){var t=!1;n=this.applyMinMaxLimit(n);this.range&&(this.options.pushRange?(n=this.applyPushRange(n),t=!0):(this.options.noSwitching&&(this.tracking==="lowValue"&&n>this.highValue?n=this.applyMinMaxRange(this.highValue):this.tracking==="highValue"&&n<this.lowValue&&(n=this.applyMinMaxRange(this.lowValue))),n=this.applyMinMaxRange(n),this.tracking==="lowValue"&&n>this.highValue?(this.lowValue=this.highValue,this.applyLowValue(),this.applyModel(),this.updateHandles(this.tracking,this.maxH.rzsp),this.updateAriaAttributes(),this.tracking="highValue",this.minH.removeClass("rz-active"),this.maxH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.maxH),t=!0):this.tracking==="highValue"&&n<this.lowValue&&(this.highValue=this.lowValue,this.applyHighValue(),this.applyModel(),this.updateHandles(this.tracking,this.minH.rzsp),this.updateAriaAttributes(),this.tracking="lowValue",this.maxH.removeClass("rz-active"),this.minH.addClass("rz-active"),this.options.keyboardSupport&&this.focusElement(this.minH),t=!0)));this[this.tracking]!==n&&(this[this.tracking]=n,this.tracking==="lowValue"?this.applyLowValue():this.applyHighValue(),this.applyModel(),this.updateHandles(this.tracking,this.valueToPosition(n)),this.updateAriaAttributes(),t=!0);t&&this.applyModel(!0)},applyMinMaxLimit:function(n){return this.options.minLimit!=null&&n<this.options.minLimit?this.options.minLimit:this.options.maxLimit!=null&&n>this.options.maxLimit?this.options.maxLimit:n},applyMinMaxRange:function(n){var i=this.tracking==="lowValue"?this.highValue:this.lowValue,t=Math.abs(n-i);return this.options.minRange!=null&&t<this.options.minRange?this.tracking==="lowValue"?this.highValue-this.options.minRange:this.lowValue+this.options.minRange:this.options.maxRange!=null&&t>this.options.maxRange?this.tracking==="lowValue"?this.highValue-this.options.maxRange:this.lowValue+this.options.maxRange:n},applyPushRange:function(n){var r=this.tracking==="lowValue"?this.highValue-n:n-this.lowValue,t=this.options.minRange!==null?this.options.minRange:this.options.step,i=this.options.maxRange;return r<t?(this.tracking==="lowValue"?(this.highValue=Math.min(n+t,this.maxValue),n=this.highValue-t,this.applyHighValue(),this.updateHandles("highValue",this.valueToPosition(this.highValue))):(this.lowValue=Math.max(n-t,this.minValue),n=this.lowValue+t,this.applyLowValue(),this.updateHandles("lowValue",this.valueToPosition(this.lowValue))),this.updateAriaAttributes()):i!==null&&r>i&&(this.tracking==="lowValue"?(this.highValue=n+i,this.applyHighValue(),this.updateHandles("highValue",this.valueToPosition(this.highValue))):(this.lowValue=n-i,this.applyLowValue(),this.updateHandles("lowValue",this.valueToPosition(this.lowValue))),this.updateAriaAttributes()),n},applyModel:function(n){this.internalChange=!0;this.scope.$apply();n&&this.callOnChange();this.internalChange=!1},callOnStart:function(){if(this.options.onStart){var n=this,t=this.tracking==="lowValue"?"min":"max";this.scope.$evalAsync(function(){n.options.onStart(n.options.id,n.scope.rzSliderModel,n.scope.rzSliderHigh,t)})}},callOnChange:function(){if(this.options.onChange){var n=this,t=this.tracking==="lowValue"?"min":"max";this.scope.$evalAsync(function(){n.options.onChange(n.options.id,n.scope.rzSliderModel,n.scope.rzSliderHigh,t)})}},callOnEnd:function(){if(this.options.onEnd){var n=this,t=this.tracking==="lowValue"?"min":"max";this.scope.$evalAsync(function(){n.options.onEnd(n.options.id,n.scope.rzSliderModel,n.scope.rzSliderHigh,t)})}this.scope.$emit("slideEnded")}},o}]).directive("rzslider",["RzSlider",function(n){return{restrict:"AE",replace:!0,scope:{rzSliderModel:"=?",rzSliderHigh:"=?",rzSliderOptions:"&?",rzSliderTplUrl:"@"},templateUrl:function(n,t){return t.rzSliderTplUrl||"rzSliderTpl.html"},link:function(t,i){t.slider=new n(t,i)}}}]);return t.run(["$templateCache",function(n){n.put("rzSliderTpl.html",'<div class=rzslider><span class=rz-bar-wrapper><span class=rz-bar><\/span><\/span> <span class=rz-bar-wrapper><span class="rz-bar rz-selection" ng-style=barStyle><\/span><\/span> <span class="rz-pointer rz-pointer-min" ng-style=minPointerStyle><\/span> <span class="rz-pointer rz-pointer-max" ng-style=maxPointerStyle><\/span> <span class="rz-bubble rz-limit rz-floor"><\/span> <span class="rz-bubble rz-limit rz-ceil"><\/span> <span class=rz-bubble><\/span> <span class=rz-bubble><\/span> <span class=rz-bubble><\/span><ul ng-show=showTicks class=rz-ticks><li ng-repeat="t in ticks track by $index" class=rz-tick ng-class="{\'rz-selected\': t.selected}" ng-style=t.style ng-attr-uib-tooltip="{{ t.tooltip }}" ng-attr-tooltip-placement={{t.tooltipPlacement}} ng-attr-tooltip-append-to-body="{{ t.tooltip ? true : undefined}}"><span ng-if="t.value != null" class=rz-tick-value ng-attr-uib-tooltip="{{ t.valueTooltip }}" ng-attr-tooltip-placement={{t.valueTooltipPlacement}}>{{ t.value }}<\/span> <span ng-if="t.legend != null" class=rz-tick-legend>{{ t.legend }}<\/span><\/li><\/ul><\/div>')}]),t.name});angular.module("google-maps",[]);angular.module("app",["ngResource","ngSanitize","ngRoute","ngCookies","ngAnimate","app-shared","app-filters","angular-growl","pasvaz.bindonce","angular-scroll-animate","ngDialog","google-maps","blockUI","mgcrea.ngStrap","chart.js","infinite-scroll","ngIntlTelInput","rzModule"]);angular.module("app").value("model","");angular.module("app").constant("appConfig",{timestamp:(new Date).getTime()});angular.module("app").config(["$httpProvider","appConfig","blockUIConfig","ngIntlTelInputProvider",function(n,t,i,r){i.message="Stiamo cercando le migliori offerte per il tuo soggiorno";i.autoBlock=!1;i.template='<div class="main" style="margin-top: 10%!important; margin-left: auto; margin-right: auto; display: block; float: none;"><section class="searching"><img src="/-/media/Alpitour/Images/Loghi/Loghi%20Brand/logo-alpitour.png" alt="loading" /><p><strong data-ng-bind="state.message"><\/strong><\/p> <div class="loading"><\/div><p class="small"><\/p><\/section><\/div>';n.interceptors.push(["$q",function(n){return{request:function(i){if(i.method==="GET"&&i.url.indexOf(".html")>-1&&i.url.indexOf("Content")>-1){var r=i.url.indexOf("?")===-1?"?":"&";i.url=i.url+r+"cacheSlayer="+t.timestamp}return i.headers.WebSiteName=websiteName,i||n.when(i)}}}]);r.set({defaultCountry:"it",preferredCountries:["it"],onlyCountries:["it"],autoHideDialCode:!1,nationalMode:!1,autoFormat:!1,allowDropdown:!1})}]);typeof currentSiteSettings!="undefined"&&angular.module("app").value("siteSettings",currentSiteSettings);angular.module("app-shared").directive("offersSlider",[function(){return{restrict:"A",link:function(n,t){var i=t.bxSlider({minSlides:3,maxSlides:3,slideWidth:228,slideMargin:17,pager:$("li",t).length>3?!0:!1})}}}]);angular.module("app-shared").directive("promotionStyle",[function(){return function(n,t){t.css("right",t.width()-40+"px")}}]).directive("bxSlider",[function(){return{restrict:"A",link:function(n,t,i){n.$on("repeatFinished",function(){var r,u,f;console.log("ngRepeat has finished");n.mySlider?n.mySlider.reloadSlider():n.mySlider=t.bxSlider(n.$eval("{"+i.bxSlider+"}"));r=i.startPageId;r&&(u=_.find(t[0].children,function(n){return n.attributes["data-page-id"].value===r}),f=u?u.attributes["data-page-index"].value:undefined,f&&n.mySlider.goToSlide(f))})}}}]).directive("notifyWhenRepeatFinished",["$timeout","$rootScope",function(n){return{restrict:"A",link:function(t,i,r){t.$last===!0&&(r.notifyDelay||(r.notifyDelay=0),n(function(){t.$emit("repeatFinished")},r.notifyDelay))}}}]);angular.module("app").constant("uiDateConfig",{}).directive("uiDate",["uiDateConfig","$timeout",function(n){"use strict";var t;return t={},angular.extend(t,n),{require:"?ngModel",link:function(t,i,r,u){var f=function(){return angular.extend({},n,t.$eval(r.uiDate))},e=function(){var r=!1,n=f(),e;if(u){e=n.onSelect||angular.noop;n.onSelect=function(n,f){t.$apply(function(){r=!0;u.$setViewValue(i.datepicker("getDate"));e(n,f)});i.blur()};n.beforeShow=function(){r=!0};n.onClose=function(){r=!1};i.on("blur",function(){r||t.$apply(function(){i.datepicker("setDate",i.datepicker("getDate"));u.$setViewValue(i.datepicker("getDate"))})});u.$render=function(){var n=moment(u.$viewValue).toDate();if(angular.isDefined(n)&&n!==null&&!angular.isDate(n))throw new Error("ng-Model value must be a Date object - currently it is a "+typeof n+" - use ui-date-format to convert it from a string");i.datepicker("setDate",n)}}i.datepicker("destroy");i.datepicker(n);u&&u.$render()};t.$watch(f,function(n){i.hasClass("hasDatepicker")?(i.datepicker("option",n),u&&u.$render()):e()},!0)}}}]).constant("uiDateFormatConfig","").directive("uiDateFormat",["uiDateFormatConfig",function(n){return{require:"ngModel",link:function(t,i,r,u){var f=r.uiDateFormat||n;f?(u.$formatters.push(function(n){if(angular.isString(n)){var t;try{t=jQuery.datepicker.parseDate(f,n)}catch(i){t=null}return t}return null}),u.$parsers.push(function(n){if(n&&!$(i).is(":focus")){var t;try{t=jQuery.datepicker.formatDate(f,n)}catch(r){t=null}return t}return null})):(u.$formatters.push(function(n){return angular.isString(n)?new Date(n):null}),u.$parsers.push(function(n){return n?n.toISOString():null}))}}}]);angular.module("app").directive("datepick",function(){return{link:function(n,t,i){var r={IsInit:!0,DefaultDate:""};r.Init=function(){var u=n[""+i.datepick+""];_.isUndefined(u)||(r.DefaultDate=u.defaultDate,t.datepicker(u))};r.Init()}}});angular.module("app").directive("avanadeLoader",[function(){return{restrict:"A",replace:!0,template:'<div id="loadMaskWhenPanel" data-ng-style="{display : dispProp}" ><div><span data-ng-bind="message"><\/span><div class="loading"><\/div><\/div><\/div>',require:"ngModel",link:function(n,t,i){n.dispProp="none";n.message=i.message;n.$watch(i.ngModel,function(){n.dispProp=n[i.ngModel]?"inherit":"none"})}}}]),function(){angular.module("app").directive("paxLabel",[function(){return{restrict:"A",replace:!1,link:function(n,t,i){function r(n,t,i,r,u,f,e,o){var s=n+" ";return(_.isUndefined(u)&&(u="Adulto"),_.isUndefined(f)&&(f="Adulti"),_.isUndefined(e)&&(e="Bambino"),_.isUndefined(o)&&(o="Bambini"),s+=(n+"").trim()=="1"?u:f,t>0&&(s+=" "+i+" "+t+" ",s+=(t+"").trim()=="1"?e:o),r==="u")?s.toUpperCase():r==="l"?s.toLowerCase():s}t.text(r(i.adult,i.children,i.separator,i.style,i.adultLabel,i.adultsLabel,i.childLabel,i.childrenLabel))}}}])}(),function(){angular.module("app").directive("checkoutDate",[function(){return{restrict:"A",replace:!1,link:function(n,t,i){function r(n,t,i){return i?moment(n,"DD/MM/YYYY").add("days",t).format(i):moment(n,"DD/MM/YYYY").add("days",t).format("DD/MM/YYYY")}t.text(r(i.checkin,i.duration,i.format))}}}])}(),function(){angular.module("app").service("flightClassService",["$http",function(n){function i(i,r,u,f,e){var o=e+"?siglaVolo="+i+"&classeVolo="+r+"&itemID="+u+"&pesoBagaglio="+f;return t.filter(function(n){return n.url===o}).length==0&&t.push({url:o,data:n({url:o,method:"GET"}).then(function(n){return n.data})}),t.filter(function(n){return n.url===o})[0].data}this.GetInfoFlightVP=function(n,t,r,u){return i(n,t,r,u,"/webapi/FlightClassWebApi/GetInfoFlightVP")};this.GetInfoFlightVPAncillary=function(n,t,r,u){return i(n,t,r,u,"/webapi/FlightClassWebApi/GetInfoFlightVPAncillary")};var t=[]}])}();angular.module("app").factory("orderService",["$http",function(n){var t={};return t.saveItinerary=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/saveItinerary",{agencyCode:t}),method:"POST"})},t.validateCustomerData=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/validateCustomerData",t),method:"POST"})},t.addAdditionalServices=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addAdditionalServices",{serviceId:t}),method:"POST"})},t.addAdditionalCardServices=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addAdditionalCardServices",{serviceId:t}),method:"POST"})},t.removeAdditionalServices=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/removeAdditionalServices",{serviceId:t}),method:"POST"})},t.addPromoCode=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addPromoCode",{code:t}),method:"POST"})},t.addPromptedPromoCode=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addPromptedPromoCode",{code:t}),method:"POST"})},t.addBigUserCode=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addBigUserCode",{code:t}),method:"POST"})},t.addBigUserEmail=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addBigUserEmail",{email:t}),method:"POST"})},t.addPromoCode=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/addPromoCode",{code:t}),method:"POST"})},t.addUserDiscountCode=function(t,i){return n({url:formatUrl("/webapi/purchaseWebApi/addUserDiscountCode",{discountId:t,discountType:i}),method:"POST"})},t.removeUserDiscountCode=function(t){return n({url:formatUrl("/webapi/purchaseWebApi/removeUserDiscountCode",{discountId:t}),method:"POST"})},t}]);angular.module("app").factory("agencyService",["$http",function(n){var t={};return t.textSearch=function(t,i){return n({url:formatUrl("/webapi/agenciesLocatorApi/textSearch",{text:t,totResults:i}),method:"GET"})},t.textSearchAgencies=function(t,i){return n({url:formatUrl("/webapi/agenciesLocatorApi/textSearchAgencies",{text:t,totResults:i}),method:"GET"})},t.searchMapAgencies=function(t){return n({url:formatUrl("/webapi/agenciesLocatorApi/searchMapAgencies",{minLatitude:t.minLatitude,maxLatitude:t.maxLatitude,minLongitude:t.minLongitude,maxLongitude:t.maxLongitude}),method:"GET"})},t}]),function(){angular.module("app").service("cookieService",[function(){var n={};this.savePurchaseCookie=function(n){var t={productId:n.ProductId,roomKey:n.RoomKey,price:n.Price,classFlight:n.FlightsContainer[0].classeVolo,numFlight:n.FlightsContainer[0].numVolo,departureDate:n.DepartureDate,startHour:n.FlightsContainer[0].orarioPart,duration:n.Duration,departureFrom:n.DepartureFrom,index:n.index};$.cookie("SelectedSolutionNew",JSON.stringify(t),{expires:30,path:"/"})};this.getPurchaseCookie=function(){return JSON.parse($.cookie("SelectedSolutionNew")||null)};this.removePurchaseCookie=function(){$.removeCookie("SelectedSolutionNew",{path:"/"})};this.clearBasketCookie=function(t){$.removeCookie(n.getBasketCookieId(t),{path:"/"})};this.getBasketPromoData=function(t){return n.getBasketCookieValue(t).promoData};this.getBasketServiceSelectionData=function(t){return n.getBasketCookieValue(t).serviceSelections};this.setBasketServiceSelectionData=function(t,i){const r=n.getBasketCookieValue(t);r.serviceSelections=i;n.saveBasketCookie(t,r)};this.setBasketPromoData=function(t,i){const r=n.getBasketCookieValue(t);r.promoData=i;n.saveBasketCookie(t,r)};n.getBasketCookieValue=function(t){const i=$.cookie(n.getBasketCookieId(t));return i?JSON.parse(i):{}};n.saveBasketCookie=function(t,i){$.cookie(n.getBasketCookieId(t),JSON.stringify(i),{expires:30,path:"/"})};n.getBasketCookieId=function(n){return"PurchaseBasket_"+n}}])}();angular.module("app").factory("debounce",["$timeout","$q",function(n,t){return function(i,r,u){var f,e=t.defer();return function(){var o=this,s=arguments,h=function(){f=null;u||(e.resolve(i.apply(o,s)),e=t.defer())},c=u&&!f;return f&&n.cancel(f),f=n(h,r),c&&(e.resolve(i.apply(o,s)),e=t.defer()),e.promise}}}]);angular.module("app").factory("searchWidgetDataService",["$http",function(n){var t={};return t.getHotelDestinations=function(){return n({url:formatUrl("/webapi/HotelDestination/GetItems",{type:"hotel"}),method:"GET"})},t.getVacationPackagesPanel=function(t){return n({url:formatUrl("/webapi/solrSearchWidgetApi/getVacationPackagesPanel",{searchType:t}),method:"GET"})},t.getVillagesPanel=function(t){return n({url:formatUrl("/webapi/solrSearchWidgetApi/getVillagesPanel",{website:t}),method:"GET"})},t}]);angular.module("app").service("notificationsService",["$rootScope","ngDialog",function(n,t){var i={};return i.openPopup=function(i,r){var u=n.$new();u.title=i;u.body=r;t.open({template:"notificationDialogId",className:"ngdialog-theme-default ngdialog-form-manager",scope:u})},i}]);angular.module("app").directive("agencyLocatorAutocomplete",["agencyService","$timeout","$rootScope",function(n,t,i){return{restrict:"A",link:function(t,r,u){var f={};f._lastRequestId=null;f._getInstanceValue=function(n,t){var i=n.split("."),r=i[0],u=n.substring(n.indexOf(".")+1);return i.length>1?f._getInstanceValue(u,t[r]):t[r]};f.getScopeProperty=function(n){return f._getInstanceValue(n,t)};f._setInstanceValue=function(n,t,i){if(n){var r=n.split("."),u=r[0],e=n.substring(n.indexOf(".")+1);r.length>1?f._setInstanceValue(e,t,i[u]):i[u]=t}};f.setScopeProperty=function(n,i){f._setInstanceValue(n,i,t)};f.clearScopeProperty=function(n){f.setScopeProperty(n,null)};f.setModel=function(n){f.setScopeProperty(f.propertyToBind,n);t.$apply()};f.clearModel=function(n){f.setModel(n)};f.selectElement=function(n){f.setModel(n.displayName);f.input.val(n.displayName);f.clearElements();f.nextFocus!=null&&f.nextFocus.focus();i.$broadcast("agencySelected",n)};f.filterDescription=function(n,t){return f.highlight(n,t)};f.isTabKey=function(n){return n.keyCode==9};f.isEnterKey=function(n){return n.keyCode==13};f.setElements=function(n){f.setScopeProperty(f.resultsModelProperty,n.data);f.searchSnippet.show()};f.clearElements=function(){f.searchSnippet.hide();f.setScopeProperty(f.resultsModelProperty,null);t.$apply()};f.getElements=function(){return f.getScopeProperty(f.resultsModelProperty)};f.selectFirstValue=function(){var n=f.getElements();!isUndefined(n)&&n.length>0&&f.selectElement(n[0])};f.autocomplete=function(t){var r,i;if(t.keyCode==40||t.keyCode==38||t.keyCode==13)return!1;if(f.isTabKey(t))return f.selectFirstValue(),!1;if(r=guid(),f._lastRequestId=r,i=f.input.val(),f.clearModel(i),i.length<2){f.clearElements();f._hideLoader();return}f._showLoader();n.textSearch(i,f.totResults).then(function(n){f._lastRequestId==r&&(f.setElements(n,i),f._hideLoader())},function(n){console.error("ERROR PERFORMING AUTOCOMPLETE FOR: "+i);console.log(n);f.clearElements();f._hideLoader()})};f._showLoader=function(){f.input.addClass("autocomplete-in-loading")};f._hideLoader=function(){f.input.removeClass("autocomplete-in-loading")};f.Init=function(){f.inputId=u.inputId;f.input=$("#"+f.inputId,r);f.nextFocus=u.nextFocus?$("#"+u.nextFocus):null;f.propertyToBind=u.ngModel;f.totResults=u.totResults?u.totResults:5;f.resultsModelProperty=u.resultsModel;f.resultsPanelSelector=u.resultsPanelSelector;f.input.bind("keyup",f.autocomplete);f.searchSnippet=$(f.resultsPanelSelector,r);$(f.searchSnippet).on("click","ul > li",function(){var n=angular.element(this).scope().item;f.selectElement(n)})};f.Init()}}}]),function(){angular.module("app").directive("flightClass",["flightClassService",function(n){return{restrict:"A",replace:!1,link:function(t,i,r){function f(t,r,f,e,o,s,h){var l,c,a;f&&(l=JSON.parse(f),l.length>0&&(c=l.filter(function(n){return n.siglaVolo!="N*"&&n.siglavolo!="F*"&&n.siglavolo!="T*"}),c.length>0&&(r=c[0].classeVolo,t=c[0].siglaVolo,s=c[0].pesoBagaglio)));a=h?n.GetInfoFlightVPAncillary:n.GetInfoFlightVP;a(t,r,e,s).then(function(n){u=n.data.FlightClassName;var t=n.data.FlightDetails;window.websiteName=="ALPITOURFRANCE"?u!=null&&(u=u.toLowerCase()==="altra classe"?"economy":u,o=="true"?i.html(" <i>i<\/i> "+u+'<div id="myPopoverTitle" class="hide">'+u+'<\/div><div id="myPopover" class="hide">'+t+"<\/div>"):i.html(u)):(t==""&&o=="true"&&i.length>0&&(i[0].className="flight-fare not-class"),u!=null&&o=="false"?(t==""&&i.length>0&&(i[0].className="flight-fare not-class"),i.html("<span>"+u+"<\/span>"+(t!=""?'<div class="flight-fare-details">'+t+"<\/div>":""))):o=="true"?i.html("<span>"+u+"<\/span>"):i.html(""))},function(){i.html("")})}var u="",e=r.isancillary==="true";i.text(f(r.siglavolo,r.classevolo,r.volo,r.itemid,r.description,r.pesobagaglio,e))}}}])}();angular.module("app").directive("uniteGallery",function(){return{restrict:"A",replace:!1,link:function(n,t,i){var r={};r.element=t;r.uniteGalleryOptions=JSON.parse(i.uniteGallery);r.init=function(){r.element.unitegallery(r.uniteGalleryOptions)};r.init()}}}).directive("mediumUniteGallery",function(){return{restrict:"A",replace:!1,link:function(n,t){var i={};i.element=t;i.init=function(){function n(){$(".service-menu").is(":visible")?$(".tab-gallery").closest(".ui-tabs-panel").find("~ .ui-tabs-panel").first().css("margin-top",0):$(".tab-gallery").closest(".ui-tabs-panel").find("~ .ui-tabs-panel").first().css("margin-top",$(".tab-gallery .ug-item-wrapper").outerHeight()-$(".tab-gallery").outerHeight())}window.mainGallery=i.element.unitegallery({theme_auto_open:null,theme_enable_fullscreen_button:!1,theme_enable_play_button:!1,theme_enable_hidepanel_button:!1,theme_enable_text_panel:!0,slider_textpanel_css_title:{"text-shadow":"1px 1px 1px black"},carousel_autoplay:!0,gallery_images_preload_type:"minimal",gallery_width:"100%",gallery_height:"500px",slider_enable_fullscreen_button:!1,slider_fullscreen_button_align_hor:"right",slider_fullscreen_button_align_vert:"top",slider_fullscreen_button_offset_vert:75,slider_enable_text_panel:!0,slider_enable_zoom_panel:!1,slider_textpanel_always_on:!0,slider_textpanel_enable_title:!0,slider_textpanel_enable_description:!1,slider_textpanel_enable_bg:!1,slider_textpanel_bg_color:"#000000",slider_textpanel_bg_opacity:.1,slider_enable_play_button:!1,slider_play_button_skin:"",slider_play_button_align_hor:"right",slider_play_button_align_vert:"bottom",slider_play_button_offset_hor:40,slider_play_button_offset_vert:75,slider_bullets_offset_vert:75,strippanel_background_color:"#fff",slider_control_zoom:!1,slider_enable_bullets:!1,slider_control_swipe:!1});mainGallery.on("resize",n);$(n)};i.init()}}}),function(){"use strict";function t(n){return $(n).hasClass("SliderContainer")?{slidesToShow:1,slidesToScroll:1,autoplay:!0,autoplaySpeed:5e3,infinite:!0,useCSS:!1,prevArrow:"<div class='slick-prev-container slick-prev'><i class='fa fa-angle-left fa-3x' aria-hidden='true'><\/i><\/div>",nextArrow:"<div class='slick-next-container slick-next'><i class='fa fa-angle-right fa-3x' aria-hidden='true'><\/i><\/div>"}:$(n).hasClass("WideSlider")?{autoplay:!0,autoplaySpeed:5e3,infinite:!0,useCSS:!1,prevArrow:"<div class='slick-prev-container slick-prev'><i class='fa fa-angle-left fa-3x' aria-hidden='true'><\/i><\/div>",nextArrow:"<div class='slick-next-container slick-next'><i class='fa fa-angle-right fa-3x' aria-hidden='true'><\/i><\/div>"}:$(n).hasClass("SlickCardsCompactContainer")?{adaptiveHeight:!1,slidesToShow:4,slidesToScroll:4,arrows:!1,dots:!0,infinite:!1,prevArrow:'<div class="slider-prev prev"><i class="fa fa-lg fa-arrow-left"><\/i><\/div>',nextArrow:'<div class="slider-next next"><i class="fa fa-lg fa-arrow-right"><\/i><\/div>',customPaging:function(){return'<a class="pager">   <\/a>'},responsive:[{breakpoint:768,settings:{slidesToShow:1,slidesToScroll:1,centerPadding:"7%",centerMode:!0,infinite:!0}}]}:$(n).hasClass("SlickCardsContainer")?{slidesToShow:4,slidesToScroll:4,arrows:!1,dots:!0,infinite:!1,prevArrow:'<div class="slider-prev prev"><i class="fa fa-lg fa-arrow-left"><\/i><\/div>',nextArrow:'<div class="slider-next next"><i class="fa fa-lg fa-arrow-right"><\/i><\/div>',responsive:[{breakpoint:768,settings:{slidesToShow:1,slidesToScroll:1,centerMode:!0,infinite:!0}}]}:{autoplay:!0,autoplaySpeed:5e3,infinite:!0,useCSS:!1,prevArrow:"<div class='slick-prev-container slick-prev'><i class='fa fa-angle-left fa-3x' aria-hidden='true'><\/i><\/div>",nextArrow:"<div class='slick-next-container slick-next'><i class='fa fa-angle-right fa-3x' aria-hidden='true'><\/i><\/div>"}}function i(t){Object.keys(t).forEach(function(i){switch(i){case"autoplay":case"infinite":case"useCSS":case"arrows":case"dots":case"fade":case"centerMode":t[i]=n(t[i]);break;case"autoplaySpeed":case"slidesToShow":case"slidesToScroll":t[i]=r(t[i])}})}function n(n){switch(n){case!0:case"true":case 1:case"1":return!0;case!1:case"false":case 0:case"0":return!1;default:return n}}function r(n){var t=n;return n!==null&&n.length>0&&(isNaN(n)||(t=parseInt(n))),t}angular.module("app").directive("slickSlider",["$timeout",function(r){return{restrict:"A",replace:!1,link:function(u,f,e){r(function(){var r=JSON.parse(e.slickSlider),u;r&&i(r);u=$.extend({},t(f),r);Object.keys(r).forEach(function(n){switch(n){case"singleCard":u.responsive[0].settings.centerMode=!1}});($(f).hasClass("SlickCardsContainer")||$(f).hasClass("SlickCardsCompactContainer"))&&Object.keys(r).forEach(function(n){switch(n){case"slidesToShow":u.slidesToScroll=u.slidesToShow}});$(f).not(".slick-initialized").slick(u);r&&Object.keys(r).forEach(function(t){if(t=="infinite"&&n(r[t])==!1)$(f).on("afterChange",function(n,t,i){i===t.$slides.length-1&&t.pause()});t=="arrows"&&n(r[t])==!1&&$(f).find(".slick-arrow").hide()})})}}}])}();angular.module("app").directive("gtmData",[function(){return{restrict:"E",replace:!0,template:'<div style="display: none;"><\/div>',link:function(n,t,i){n.data=JSON.parse(i.data);n.init=function(){dataLayer.push(n.data)};n.init()}}}]);angular.module("app").directive("gtmResultsData",[function(){return{restrict:"E",replace:!0,template:'<div style="display: none;"><\/div>',link:function(n,t,i){n.lastTotResults;n.totResults=parseInt(i.totResults);n.setResultsData=function(t){n.lastTotResults!==t&&(n.lastTotResults=t,dataLayer.push({results:{totalNumberOfResults:t}}))};n.$watch(function(n){n.totResults&&n.setResultsData(n.totResults)})}}}]);angular.module("app").directive("gtmEvent",[function(){return{restrict:"E",replace:!0,template:'<div style="display: none;><\/div>',link:function(n,t,i){n.eventName=i.name;n.init=function(){dataLayer.push({event:n.eventName})};n.init()}}}]),function(){angular.module("app").directive("bindUnsafeHtml",["$compile",function(n){return function(t,i,r){t.$watch(function(n){return n.$eval(r.bindUnsafeHtml)},function(r){i.html(r);n(i.contents())(t)})}}])}(),function(){angular.module("app").directive("parseInt",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$parsers.push(function(n){return parseInt(n,0)});r.$formatters.push(function(n){return n.toString()})}}})}(),function(){angular.module("app").directive("countdown",["Util","$interval",function(n,t){return{restrict:"A",scope:{date:"@",datetime:"@"},link:function(i,r){var u;if(i.date?u=moment(i.date,"DD/MM/YYYY"):i.datetime&&(u=moment(i.datetime)),!u)return undefined;t(function(){var t;return t=u.diff(moment()),r.html(n.dhms(t))},1e3)}}}]).factory("Util",[function(){return{dhms:function(n){var t=moment.duration(n),i=Math.max(0,t.days()),r=Math.max(0,t.hours()),u=Math.max(0,t.minutes()),f=Math.max(0,t.seconds());return[i>0?"<div>"+(i<10?"0"+i:i)+" <span>giorni<\/span><\/div>":"","<div>"+(r<10?"0"+r:r)+" <span>ore<\/span><\/div>","<div>"+(u<10?"0"+u:u)+" <span>minuti<\/span><\/div>","<div>"+(f<10?"0"+f:f)+" <span>secondi<\/span><\/div>"].join(" ")}}}])}();angular.module("app").controller("searchWidgetDataController",["searchWidgetDataService","$filter",function(n,t){var r=this,i={};r.data=undefined;r.isLoading=!0;r.getLastSearchTitle=function(n){var r=t("date")(n.SearchParameters.when,"dd/MM/yyyy"),u=i.formatDuration(n.SearchParameters.durationFrom,n.SearchParameters.durationTo),f=i.formatOccupancy(n.SearchParameters.occupancy),e=i.formatAirports(n.SearchParameters.departureFrom),o=[n.SearchParameters.where,r,u,f,e];return i.InitTooltip(),o.join("<br/>")};i.formatDuration=function(n,t){return n==t?n+" Notti":"Da "+n+" a "+t+" Notti"};i.formatAirports=function(n){var t=_.pluck(n,"name");return t.length==1?"Da: "+_.first(t):"Da:<br/>"+t.join("<br/>")};i.formatOccupancy=function(n){if(n==null||n.adults==0)return"";var i=n.adults+" adulti",t=n.childrenAges.length;return t>0&&(i+=" + "+t+(t==1?" bambino":" bambini")),i};r.loadVacationPackageData=function(n,t){switch(n.toLowerCase()){case"villages":i.loadVillagesPanel(t);break;default:i.loadVacationPackagesPanel(n)}};i.loadVacationPackagesPanel=function(t){i.loadData(n.getVacationPackagesPanel(t))};i.loadVillagesPanel=function(t){i.loadData(n.getVillagesPanel(t))};i.loadData=function(n){n.then(function(n){r.data=n.data.data;r.isLoading=!1})};i.InitTooltip=function(){$('[rel="tooltip"]').tooltip({template:'<div style="z-index: 100000;" class="tooltip colored-tooltip"><div class="tooltip-arrow"><\/div><div class="tooltip-inner"><\/div><\/div>'})}}]);angular.module("app").controller("SolrOfferBoxController",["$scope","$element","$window",function(n,t,i){var r={};r.multiPromoImage="";r.defaultMaxPromoItems=2;n.promotionsToDisplay=[];n.OpenPromoModal=function(t,i){n.currentPromo=t;n.multiPromo=i;n.ShowPromoModalView=!0;n.OpenModal()};n.ClosePromoModal=function(){n.ShowPromoModalView=!1;n.CloseModal()};n.OpenModal=function(){$(".block-ui").addClass("modal-open");$(".content-canvas").css({top:"0px"});$(".content-canvas").css({height:"100%"})};n.CloseModal=function(){$(".block-ui").removeClass("modal-open");$(".content-canvas").css({top:"64px"});$(".content-canvas").css({height:"calc(100% - 75px"})};n.ShowPromoBadge=function(t){return t&&t.PromoBoxBadge!=""&&!n.isChildPromo(t)};n.isChildPromo=function(n){return n?n.PromoItemId==="{FAA42708-8A7D-493F-A058-EC9E0831BADC}"||n.PromoItemId==="{8F86F1B5-717D-49D3-85A6-77E579C57F7F}":!1};n.getPromotionTooltipData=function(){return n.promoTooltipData};n.getActivePromoCount=function(){return n.activePromoCount};n.setPromoData=function(n,t,i,u,f){n||(n=[]);r.setOfferData(n,t,i,u,f)};n.goToDetailsPage=function(n,t){setPriceKeyCookie(t);i.open(n)};r.setOfferData=function(n,t,i,u,f){r.multiPromoImage=u;r.setSinglePromoTooltipLabel(t);r.setMultiPromoTooltipLabel(i);r.setOfferModel(n,f)};r.setSinglePromoTooltipLabel=function(t){n.singlePromoTooltipLabel=t};r.setMultiPromoTooltipLabel=function(t){n.multiPromoTooltipLabel=t};r.setOfferModel=function(t,i){n.promoContainer=t;n.promoTooltipData=r.getPromoTooltipContent(t);r.selectTopPromotions(t,i);n.promoTooltipData&&r.activatePromotionsTooltip();r.activateDiscountsTooltip()};r.selectTopPromotions=function(t,i){var e,u,f;t.length!==0&&((e=i&&i.maxPromotions?i.maxPromotions:r.defaultMaxPromoItems,u=_(t.filter(function(n){return n.IsHighVisibilityPromo}).sort(firstBy(function(n){return n.PromoWeight},-1).thenBy(function(n){return n.PromoDetailTitle},-1))).head(),u&&(n.promotionsToDisplay.push(u),e===1))||(f=u?_.filter(t,function(n){return n.PromoItemId!==u.PromoItemId}):t,f.length!==0)&&(f.length===1?n.promotionsToDisplay.push(f[0]):n.promotionsToDisplay.push(r.getMultipromoItem(f))))};r.getMultipromoItem=function(n){var t=r.formatMultipromoTooltip(n);return{promoItemId:"",promoBoxBadge:r.multiPromoImage,promoTooltipContent:t}};r.getPromoTooltipContent=function(t){if(t){var i=_.filter(t,function(n){return n.IsTopPromotion&&(n.PromoTooltipContent||n.PromoTooltipDescription)});return(n.activePromoCount=i.length,i.length===1)?r.formatSinglePromoTooltip(i[0]):i.length>1?r.formatMultipromoTooltip(i):undefined}};r.formatSinglePromoTooltip=function(t){var i=t.PromoTooltipContent?t.PromoTooltipContent:t.PromoTooltipDescription,r=n.singlePromoTooltipLabel?n.singlePromoTooltipLabel:"";return r+'<div class="single-promo">'+i+"<\/div>"};r.formatMultipromoTooltip=function(t){var i=t.map(function(n){return"<li>"+n.promoTooltipContent+"<\/li>"}).join(""),r=n.multiPromoTooltipLabel?n.multiPromoTooltipLabel:"";return r+'<ul class="multiple-promo">'+i+"<\/ul>"};r.activatePromotionsTooltip=function(){t.tooltip()};r.activateDiscountsTooltip=function(){$('.discount-disclaimer[rel="tooltip"]',t).tooltip({template:'<div class="tooltip colored-tooltip"><div class="tooltip-arrow" style="border-top-color: transparent !important; border-bottom-color: transparent !important; border-right-color: #007dc2 !important;"><\/div><div class="tooltip-inner" style="background-color: #007dc2 !important"><\/div><\/div>'})};r.initialize=function(){typeof schedulePriceExpiredModal!="undefined"&&schedulePriceExpiredModal();try{n.isViaggidea=window.websiteCode==="VI"}catch(t){console.error("websiteCode not defined")}};r.initialize()}]);angular.module("app").controller("PromoBannerController",["$scope","$interval",function(n,t){n.isValid=!1;n.initializeBanner=function(i,r,u){n.bannerStartTime=moment(i).toDate();n.bannerEndTime=moment(r).toDate();n.serverTime=moment(u).toDate();t(self.checkIsValid,1e3)};self.checkIsValid=function(){var t=new Date;n.isValid=n.bannerStartTime<=n.serverTime&&n.serverTime<=n.bannerEndTime}}]);angular.module("app").controller("FlightOffersController",["$scope","FlightAvailabilityService",function(n,t){var i={};n.sortByFilters=[{name:"Data Partenza",value:"departureDate"},{name:"Prezzo",value:"adultPrice"},];n.flightOffersSettings=flightOffersSettings;n.isLoading=!0;n.totResults=0;n.totPages=0;n.currentPageIndex=0;n.pageSize=10;n.results=[];n.totFiltered=0;n.sortBy=defaultSortBy;n.filterByCode="";n.sortOrder="asc";n.currentRequestId="";n.getSearchUrl=function(t){if(n.flightOffersSettings.roundTrip){var i=t.departureFlight,r=t.returnFlight,u=moment(r.solrData.departureDay,"YYYY-MM-DD").diff(moment(i.solrData.departureDay,"YYYY-MM-DD"),"day"),f=i.extraData.linkToDetails.replace("TipoVolo=A","TipoVolo=A/R&duration="+u);return contextualizeUrl(f)}return contextualizeUrl(t.extraData.linkToDetails)};n.hasResults=function(){return n.results.length>0};n.search=function(){n.currentPageIndex=0;n.results=[];i.search()};n.loadMoreResults=function(){!n.isLoading&&n.hasMoreResults()&&(n.currentPageIndex++,i.search())};n.hasMoreResults=function(){return n.currentPageIndex<n.totPages-1};i.search=function(){var r,u;i.loadingStarted();r=guid();n.currentRequestId=r;u=i.getCurrentSearchRequest();n.flightOffersSettings.roundTrip?(u.MinDaysFromDeparture=n.flightOffersSettings.duration?n.flightOffersSettings.duration:"",t.getSovoRoundTripFlights(u).success(function(t){n.currentRequestId==r&&(i.appendResults(t.data.data),n.totPages=t.data.totPages,n.totResults==0&&(n.totResults=t.data.data.length),n.totFiltered=t.data.totFound,i.loadingCompleted())}).error(function(n){console.error("ERROR SEARCHING FLIGHTS AVAILABILITY");console.error(n);i.loadingCompleted()})):t.getOneWayAvailability(u).success(function(t){n.currentRequestId==r&&(i.appendResults(t.data.data),n.totPages=t.data.totPages,n.totResults==0&&(n.totResults=t.data.totFound),n.totFiltered=t.data.totFound,i.loadingCompleted())}).error(function(n){console.error("ERROR SEARCHING FLIGHTS AVAILABILITY");console.error(n);i.loadingCompleted()})};n.getAirports=function(){i.loadingStarted();var n=i.getCurrentSearchRequest();t.GetAirportsFromFlights(n).success(function(n){console.log(n);i.populateAirports(n.data.data);i.loadingCompleted()}).error(function(n){console.error("ERROR SEARCHING AIRPORTS");console.error(n);i.loadingCompleted()})};i.loadingStarted=function(){showCustomLoader();n.isLoading=!0};i.loadingCompleted=function(){hideCustomLoader();n.isLoading=!1};i.populateAirports=function(t){_(t).each(function(t){n.filterByDepartureAirport.push({name:t.name,value:t.airportCode})});console.log(n.filterByDepartureAirport)};i.appendResults=function(t){_(t).each(function(t){n.results.push(t)})};i.getCurrentSearchRequest=function(){var t={adults:n.flightOffersSettings.passengersNumber,departureAirportCode:i.getDepartureAirportCodes(),arrivalAirportCode:i.getArrivalAirportCodes(),pageIndex:n.currentPageIndex,pageSize:n.pageSize,sortBy:n.sortBy,sortOrder:n.sortOrder,includeJsonDto:!1};return n.flightOffersSettings.directFlightsOnly&&(t.maxNumberOfStops=1),n.flightOffersSettings.departureDateFrom&&(t.departureFrom=n.flightOffersSettings.departureDateFrom),n.flightOffersSettings.departureDateTo&&(t.departureTo=n.flightOffersSettings.departureDateTo),t};i.getDepartureAirportCodes=function(){var t=[];return n.filterByCode!=""?t.push(n.filterByCode):n.flightOffersSettings.departureAirports&&(t=_.map(n.flightOffersSettings.departureAirports,"airportCode")),t};i.getArrivalAirportCodes=function(){return n.flightOffersSettings.arrivalAirports?_.map(n.flightOffersSettings.arrivalAirports,"airportCode"):[]};n.sumPrice=function(n,t){return(parseFloat(n)+parseFloat(t)).toFixed(2)};i.initialize=function(){n.search();n.getAirports()};i.initialize()}]);angular.module("app").factory("FlightAvailabilityService",["$http",function(n){var t={};return t.getOneWayAvailability=function(t){var i=formatUrl("/webapi/FlightsWebApi/GetOneWayAvailability",t);return n.get(i)},t.GetAirportsFromFlights=function(t){var i=formatUrl("/webapi/FlightsWebApi/GetAirportsFromFlights",t);return n.get(i)},t.getRoundTripAvailability=function(t){var i=formatUrl("/webapi/FlightsWebApi/GetRoundTripAvailability",t);return n.get(i)},t.getSovoRoundTripFlights=function(t){var i=formatUrl("/webapi/FlightsWebApi/GetSovoRoundTripFlights",t);return n.get(i)},t}]),function(){"use strict";function n(){var n=this;n.toggleBoxes={};n.setCarouselVisibility=function(t){n.toggleBoxes[t]=!n.toggleBoxes[t]};n.isCarouselVisible=function(t){return n.toggleBoxes[t]};n.init=function(){window.lazyLoadMainScriptInitialization()}}angular.module("app").controller("EditorialContentController",n);n.$inject=["$scope"]}();angular.module("app").directive("airplaneLoader",function(){return{restrict:"E",template:'<div id="airplane-loader"><div id="plane"><i class="fa fa-plane"><\/i><\/div><\/div>'}}).directive("threeBounceLoader",function(){return{restrict:"E",template:'<div class="spinner"><div class="bounce1"><\/div><div class="bounce2"><\/div><div class="bounce3"><\/div><\/div>'}});angular.module("app").directive("vacationPackageAvailability",["vacationPackageAvailabilityService",function(n){return{restrict:"A",link:function(t,i,r){var u={};u.isLoading=!0;u.isAvailable=undefined;u.element=i;u.elementLoadingClass="loading-product-availability";u.elementProductAvailableClass="product-available";u.elementProductUnavailableClass="product-unavailable";u.animationIn=r.animationIn;u.loadAvailability=function(){var t={adults:r.adults?r.adults:2,hotelCode:r.hotelCode,listino:r.listino?r.listino:"",durationFrom:r.durationFrom?r.durationFrom:6,durationTo:r.durationTo?r.durationTo:8,departureDateFrom:r.departureDateFrom,departureDateTo:r.departureDateTo,refreshIfNotFound:r.refresh?!0:!1};u.element.addClass(u.elementLoadingClass);n.getCachedPackageAvailability(t).then(function(n){u.isLoading=!1;u.isAvailable=n.data.availability.length>0;u.element.removeClass(u.elementLoadingClass);u.element.addClass(u.isAvailable?u.elementProductAvailableClass:u.elementProductUnavailableClass);u.isAvailable&&(u.element.removeClass("al-hide"),u.animationIn&&u.element.addClass("animated "+u.animationIn))})};u.loadAvailability()}}}]).factory("vacationPackageAvailabilityService",["$http",function(n){var t={};return t.getCachedPackageAvailability=function(t){return n({url:formatUrl("/webapi/customPriceListWebApi/getCachedPackageAvailability",{adults:t.adults,azie:t.hotelCode.substring(0,2),brand:t.hotelCode.substring(2,4),hotelCode:t.hotelCode.substring(4),listino:t.listino,durationFrom:t.durationFrom,durationTo:t.durationTo,departureDateFrom:t.departureDateFrom,departureDateTo:t.departureDateTo,refreshIfNotFound:t.refreshIfNotFound}),method:"GET"})},t}]),function(){"use strict";var n=angular.module("rorymadden.date-dropdowns",[]);n.value("rsmdateresources",{"it-it":{placeholders:{day:"GG",month:"MM",year:"AAAA"},months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"]},"en-us":{placeholders:{day:"DD",month:"MM",year:"YYYY"},months:["January","February","March","April","May","June","July","August","September","October","November","December"]}});n.factory("rsmdateutils",["rsmdateresources",function(n){function r(n){return n.day>28?(n.day--,n):n.month>11?(n.day=31,n.month--,n):void 0}var u=this,t="en-us",i=[1,31];return{checkDate:function(n){var t;return!n.day||n.month===null||n.month===undefined||!n.year?!1:(t=new Date(Date.UTC(n.year,n.month,n.day)),t&&t.getMonth()===n.month&&t.getDate()===Number(n.day))?t:this.checkDate(r(n))},days:function(){for(var n=[];i[0]<=i[1];)n.push(i[0]++);return n}(),getMonths:function(){for(var r=n[t].months,u=[],f=r.length,i=0;i<f;i++)u.push({value:i,name:r[i]});return u},getPlaceholders:function(){return n[t].placeholders},setCulture:function(n){t=n}}}]);n.directive("rsmdatedropdowns",["rsmdateutils",function(n){return{restrict:"A",replace:!0,require:"ngModel",scope:{model:"=ngModel"},controller:["$scope","rsmdateutils",function(t,i){t.days=i.days;t.months=i.getMonths();t.placeholders=i.getPlaceholders();t.dateFields={};t.dateFields.day=new Date(t.model).getUTCDate();t.dateFields.month=new Date(t.model).getUTCMonth();t.dateFields.year=new Date(t.model).getUTCFullYear();t.$watch("model",function(n){n&&(t.dateFields.day=new Date(n).getUTCDate(),t.dateFields.month=new Date(n).getUTCMonth(),t.dateFields.year=new Date(n).getUTCFullYear())});t.checkDate=function(){var n=i.checkDate(t.dateFields);n&&(t.model=n)};t.setCulture=function(r){n.setCulture(r);t.months=i.getMonths();t.placeholders=i.getPlaceholders()}}],template:'<div class="row">  <div class="form-group col-xs-3">     <select name="dateFields.day" data-ng-model="dateFields.day" class="form-control" ng-options="day for day in days" ng-change="checkDate()" ng-disabled="disableFields">         <option value="" disabled selected data-ng-bind="placeholders.day"><\/option>     <\/select>  <\/div>  <div class="form-group col-xs-5">    <select name="dateFields.month" data-ng-model="dateFields.month" class="form-control" ng-options="month.value as month.name for month in months" value="{{ dateField.month }}" ng-change="checkDate()" ng-disabled="disableFields">         <option value="" disabled selected data-ng-bind="placeholders.month"><\/option>    <\/select>  <\/div>  <div class="form-group col-xs-4">    <select ng-show="!yearText" name="dateFields.year" data-ng-model="dateFields.year" class="form-control" ng-options="year for year in years" ng-change="checkDate()" ng-disabled="disableFields">         <option value="" disabled selected data-ng-bind="placeholders.year"><\/option>    <\/select>    <input ng-show="yearText" type="text" name="dateFields.year" data-ng-model="dateFields.year" placeholder="Year" class="form-control" ng-disabled="disableFields">  <\/div><\/div>',link:function(n,t,i,r){var f=parseInt(i.startingYear,10)||(new Date).getFullYear(),s=parseInt(i.numYears,10)||100,h=f-s,e=["dayDivClass","dayClass","monthDivClass","monthClass","yearDivClass","yearClass"],o,u;for(i.culture&&n.setCulture(i.culture),n.years=[],n.yearText=i.yearText?!0:!1,i.ngDisabled&&n.$parent.$watch(i.ngDisabled,function(t){n.disableFields=t}),i.required&&(o=i.required.split(" "),r.$parsers.push(function(){angular.forEach(o,function(n){angular.isNumber(n)||r.$setValidity("required",!1)});r.$setValidity("required",!0)})),u=f;u>=h;u--)n.years.push(u);(function(){for(var n=e.length,u,r;n--;)u=e[n],r=t[0].children[Math.floor(n/2)],n%2&&n!=2&&(r=r.children[0]),i[u]&&angular.element(r).attr("class",i[u])})()}}}])}();angular.module("app").directive("childrenDiscountIcon",function(){return{restrict:"E",scope:{discountPercent:"=discountPercent",size:"=size"},template:'<div class="{{size}}">                            <p class="child-promo-label"><strong class="lbl">PROMO<\/strong><\/p>                            <p class="child-discount-label"><strong class="lbl">BIMBO<\/strong><\/p>                            <p class="discount-percent-label"><strong class="lbl" data-ng-if="discountPercent == 100">FREE<\/strong><\/p>                            <p class="discount-percent-label"><strong class="lbl" data-ng-if="discountPercent < 100">-{{discountPercent}}%<\/strong><\/p>                       <\/div>'}}).directive("childrenDiscount",function(){return{restrict:"E",scope:{discountPercent:"=discountPercent",size:"=size"},template:'<span class="{{size}}">                          <span data-ng-if="discountPercent == 100">                             <p><strong class="child-discount-label short-label">BIMBO <\/strong><\/p>                             <p><strong class="discount-percent-label free-child">FREE<\/strong><\/p>                          <\/span>                          <span data-ng-if="discountPercent < 100">                             <p><strong class="child-discount-label">SCONTO <\/strong><\/p>                             <p><strong class="discount-percent-label discount-percent">-{{ discountPercent }}%<\/strong><\/p>                          <\/span>                          <p class="child"><\/p><\/span>                       <\/span>'}});angular.module("app").directive("initializeCollapse",function(){return{restrict:"A",replace:!1,link:function(n,t){var i={};i.element=t;i.init=function(){$(t).on("show.bs.collapse",function(){var n=t.children(".box-item");angular.forEach(n,function(n){$(n).hasClass("collapsed")||n.click()})})};i.init()}}}).directive("initializeCarousel",function(){return{restrict:"A",replace:!1,link:function(n,t,i){var r={};r.dotsContainerSelector=i.carouselDotsContainer;r.sliderOptions=JSON.parse(i.slickSlider);r.setupSlick=function(){$(t).removeClass("al-hide");try{$(t).slick("unslick");$(r.dotsContainerSelector).empty()}catch(i){console.log("unslick failed")}r.sliderOptions&&r.ParseSliderOptions(r.sliderOptions);var n=$.extend({},{slidesToShow:3,slidesToScroll:3,arrows:!1,dots:!0,responsive:[{breakpoint:992,settings:{slidesToShow:1,slidesToScroll:1}}],autoplay:!0,autoplaySpeed:5e3,appendDots:r.dotsContainerSelector?$(r.dotsContainerSelector):undefined},r.sliderOptions);$(t).not(".slick-initialized").slick(n)};r.ParseSliderOptions=function(n){Object.keys(n).forEach(function(t){switch(t){case"autoplay":case"infinite":case"useCSS":case"arrows":case"dots":case"fade":case"centerMode":n[t]=r.TryGetBoolean(n[t]);break;case"autoplaySpeed":case"slidesToShow":case"slidesToScroll":n[t]=r.TryParseInt(n[t])}})};r.TryGetBoolean=function(n){switch(n){case!0:case"true":case 1:case"1":return!0;case!1:case"false":case 0:case"0":return!1;default:return n}};r.TryParseInt=function(n){var t=n;return n!==null&&n.length>0&&(isNaN(n)||(t=parseInt(n))),t};r.init=function(){var n=$(t).closest(".collapse");if(n.length>0)$(n[0]).on("shown.bs.collapse",function(){r.setupSlick()});else r.setupSlick()};r.init()}}});angular.module("app").directive("tooltipInitialize",function(){return{restrict:"A",replace:!1,link:function(n,t){var i={};i.element=t;i.defaultTemplate='<div class="tooltip" role="tooltip"><div class="arrow"><\/div><div class="tooltip-inner"><\/div><\/div>';i.init=function(){t.attr("template")||t.attr("template",i.defaultTemplate);setTimeout(function(){var n=$(t);n.tooltip()},200)};i.init()}}}).directive("customTooltip",["$sce",function(){return{restrict:"A",replace:!1,link:function(n,t,i){var r='<div class="custom-tooltip-content">'+i.customTooltip+"<\/div>";t.html(r)}}}]).directive("accordionInit",function(){return{restrict:"A",replace:!1,link:function(n,t){$(t).accordion({active:!1,collapsible:!0,heightStyle:"content"})}}});angular.module("app").directive("travelServiceIcon",function(){return{restrict:"E",scope:{iconType:"=iconType"},template:'                <div class="travel-type" data-ng-class="{\'tooltip-info\': isDefaultIcon(), \'tooltip-info-no-transfer\': isNoTransferIcon()}">                    <p class="icon-flight"><\/p>                    <p class="icon-transfer" data-ng-if="!isNoTransferIcon()"><\/p>                    <p class="icon-hotel"><\/p>                <\/div>                ',link:function(n){n.isNoTransferIcon=function(){return n.iconType&&n.iconType.toLowerCase()==="no-transfer"};n.isDefaultIcon=function(){return!n.isNoTransferIcon()}}}}),function(){angular.module("app").controller("cookiePolicyController",["$scope",function(n){var t=n;$("#CookieDialogBodyWrapper")&&(t.cookiePreferences=preferences);$(document).ready(function(){$("#CookieDialogBodyLevelButtonsSelectPane [rel = tooltip]").tooltip()});t.CheckCookiePreferences=function(){var i,n,r;if($.cookie("cookiePreferences"))for(i=JSON.parse($.cookie("cookiePreferences")),n=0;n<i.length;n++)i[n].Checked||$.cookie(i[n].CookieName,null,{expires:-1,path:"/"}),r=_.find(t.cookiePreferences,function(t){return t.CookieName==i[n].CookieName}),r&&(r.Checked=i[n].Checked)};t.AcceptCookies=function(){$.cookie("cookiePreferences",JSON.stringify(t.cookiePreferences),{expires:36500,path:"/"})};t.CheckCookiePreferences()}])}(),function(n,t,i){"use strict";function r(n,i,r,u,f,e){function h(n,i){return angular.element((i||t).querySelectorAll(n))}function s(n){return o[n]?o[n]:o[n]=i.get(n,{cache:e}).then(function(n){return n.data})}this.compile=function(t){t.template&&/\.html$/.test(t.template)&&(console.warn("Deprecated use of `template` option to pass a file. Please use the `templateUrl` option instead."),t.templateUrl=t.template,t.template="");var e=t.templateUrl,l=t.template||"",o=t.controller,c=t.controllerAs,i=angular.copy(t.resolve||{}),a=angular.copy(t.locals||{}),v=t.transformTemplate||angular.identity,y=t.bindToController;return angular.forEach(i,function(n,t){i[t]=angular.isString(n)?r.get(n):r.invoke(n)}),angular.extend(i,a),i.$template=e?s(e):n.when(l),t.contentTemplate&&(i.$template=n.all([i.$template,s(t.contentTemplate)]).then(function(n){var i=angular.element(n[0]),r=h('[ng-bind="content"]',i[0]).removeAttr("ng-bind").html(n[1]);return t.templateUrl||r.next().remove(),i[0].outerHTML})),n.all(i).then(function(n){var r=v(n.$template),i,e;return t.html&&(r=r.replace(/ng-bind="/gi,'ng-bind-html="')),i=angular.element("<div>").html(r.trim()).contents(),e=u(i),{locals:n,element:i,link:function(t){var r,u;return n.$scope=t,o&&(r=f(o,n,!0),y&&angular.extend(r.instance,n),u=angular.isObject(r)?r:r(),i.data("$ngControllerController",u),i.children().data("$ngControllerController",u),c&&(t[c]=u)),e.apply(null,arguments)}}})};var o={}}angular.module("mgcrea.ngStrap.typeahead",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$typeahead",function(){var n=this.defaults={animation:"am-fade",prefixClass:"typeahead",prefixEvent:"$typeahead",placement:"bottom-left",templateUrl:"typeahead/typeahead.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,minLength:1,filter:"bsAsyncFilter",limit:6,autoSelect:!1,comparator:"",trimValue:!0};this.$get=["$window","$rootScope","$tooltip","$$rAF","$timeout",function(t,i,r,u,f){function e(t,i,e){var h={},c=angular.extend({},n,e),l,s,a,v;return h=r(t,c),l=e.scope,s=h.$scope,s.$resetMatches=function(){s.$matches=[];s.$activeIndex=c.autoSelect?0:-1},s.$resetMatches(),s.$activate=function(n){s.$$postDigest(function(){h.activate(n)})},s.$select=function(n){s.$$postDigest(function(){h.select(n)})},s.$isVisible=function(){return h.$isVisible()},h.update=function(n){s.$matches=n;s.$activeIndex>=n.length&&(s.$activeIndex=c.autoSelect?0:-1);o(s);u(h.$applyPlacement)},h.activate=function(n){s.$activeIndex=n},h.select=function(n){if(n!==-1){var t=s.$matches[n].value;i.$setViewValue(t);i.$render();s.$resetMatches();l&&l.$digest();s.$emit(c.prefixEvent+".select",t,n,h)}},h.$isVisible=function(){return!c.minLength||!i?!!s.$matches.length:s.$matches.length&&angular.isString(i.$viewValue)&&i.$viewValue.length>=c.minLength},h.$getIndex=function(n){var i=s.$matches.length,t=i;if(i){for(t=i;t--;)if(s.$matches[t].value===n)break;if(!(t<0))return t}},h.$onMouseDown=function(n){n.preventDefault();n.stopPropagation()},h.$onKeyDown=function(n){/(38|40|13)/.test(n.keyCode)&&(!h.$isVisible()||n.keyCode===13&&s.$activeIndex===-1||(n.preventDefault(),n.stopPropagation()),n.keyCode===13&&s.$matches.length?h.select(s.$activeIndex):n.keyCode===38&&s.$activeIndex>0?s.$activeIndex--:n.keyCode===40&&s.$activeIndex<s.$matches.length-1?s.$activeIndex++:angular.isUndefined(s.$activeIndex)&&(s.$activeIndex=0),s.$digest())},a=h.show,h.show=function(){a();f(function(){h.$element&&h.$element.on("mousedown",h.$onMouseDown);c.keyboard&&t&&t.on("keydown",h.$onKeyDown)},0,!1)},v=h.hide,h.hide=function(){h.$element&&h.$element.off("mousedown",h.$onMouseDown);c.keyboard&&t&&t.off("keydown",h.$onKeyDown);c.autoSelect||h.activate(-1);v()},h}function o(n){n.$$phase||n.$root&&n.$root.$$phase||n.$digest()}var s=angular.element(t.document.body);return e.defaults=n,e}]}).filter("bsAsyncFilter",["$filter",function(n){return function(t,i,r){return t&&angular.isFunction(t.then)?t.then(function(t){return n("filter")(t,i,r)}):n("filter")(t,i,r)}}]).directive("bsTypeahead",["$window","$parse","$q","$typeahead","$parseOptions",function(n,t,i,r,u){var f=r.defaults;return{restrict:"EAC",require:"ngModel",link:function(n,t,i,e){var o={scope:n},a,h,s,p;angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","filter","limit","minLength","watchOptions","selectMode","autoSelect","comparator","id","prefixEvent","prefixClass"],function(n){angular.isDefined(i[n])&&(o[n]=i[n])});a=/^(false|0|)$/i;angular.forEach(["html","container","trimValue"],function(n){angular.isDefined(i[n])&&a.test(i[n])&&(o[n]=!1)});t.attr("autocomplete")||t.attr("autocomplete","off");var v=o.filter||f.filter,c=o.limit||f.limit,y=o.comparator||f.comparator,l=i.bsOptions;v&&(l+=" | "+v+":$viewValue");y&&(l+=":"+y);c&&(l+=" | limitTo:"+c);h=u(l);s=r(t,e,o);o.watchOptions&&(p=h.$match[7].replace(/\|.+/,"").replace(/\(.*\)/g,"").trim(),n.$watchCollection(p,function(){h.valuesFn(n,e).then(function(n){s.update(n);e.$render()})}));n.$watch(i.ngModel,function(t){n.$modelValue=t;h.valuesFn(n,e).then(function(n){if(o.selectMode&&!n.length&&t.length>0){e.$setViewValue(e.$viewValue.substring(0,e.$viewValue.length-1));return}n.length>c&&(n=n.slice(0,c));var i=s.$isVisible();(i&&s.update(n),n.length!==1||n[0].value!==t)&&(i||s.update(n),e.$render())})});e.$formatters.push(function(n){var t=h.displayValue(n);return t?t:n&&typeof n!="object"?n:""});e.$render=function(){var i,n,r;if(e.$isEmpty(e.$viewValue))return t.val("");i=s.$getIndex(e.$modelValue);n=angular.isDefined(i)?s.$scope.$matches[i].label:e.$viewValue;n=angular.isObject(n)?h.displayValue(n):n;r=n?n.toString().replace(/<(?:.|\n)*?>/gm,""):"";t.val(o.trimValue===!1?r:r.trim())};n.$on("$destroy",function(){s&&s.destroy();o=null;s=null})}}}]);angular.module("mgcrea.ngStrap.tooltip",["mgcrea.ngStrap.core","mgcrea.ngStrap.helpers.dimensions"]).provider("$tooltip",function(){var n=this.defaults={animation:"am-fade",customClass:"",prefixClass:"tooltip",prefixEvent:"tooltip",container:!1,target:!1,placement:"top",templateUrl:"tooltip/tooltip.tpl.html",template:"",contentTemplate:!1,trigger:"hover focus",keyboard:!1,html:!1,show:!1,title:"",type:"",delay:0,autoClose:!1,bsEnabled:!0,viewport:{selector:"body",padding:0}};this.$get=["$window","$rootScope","$bsCompiler","$q","$templateCache","$http","$animate","$sce","dimensions","$$rAF","$timeout",function(i,r,u,f,e,o,s,h,c,l,a){function k(f,e){function ht(){d.$emit(p.prefixEvent+".show",o)}function at(){if(d.$emit(p.prefixEvent+".hide",o),k===lt){if(ct&&p.trigger==="focus")return f[0].blur();et()}}function bt(){var n=p.trigger.split(" ");angular.forEach(n,function(n){if(n==="click")f.on("click",o.toggle);else if(n!=="manual"){f.on(n==="hover"?"mouseenter":"focus",o.enter);f.on(n==="hover"?"mouseleave":"blur",o.leave);ot==="button"&&n!=="hover"&&f.on(w?"touchstart":"mousedown",o.$onFocusElementMouseDown)}})}function kt(){for(var n,t=p.trigger.split(" "),i=t.length;i--;)n=t[i],n==="click"?f.off("click",o.toggle):n!=="manual"&&(f.off(n==="hover"?"mouseenter":"focus",o.enter),f.off(n==="hover"?"mouseleave":"blur",o.leave),ot==="button"&&n!=="hover"&&f.off(w?"touchstart":"mousedown",o.$onFocusElementMouseDown))}function dt(){if(p.trigger!=="focus")k.on("keyup",o.$onKeyUp);else f.on("keyup",o.$onFocusKeyUp)}function vt(){p.trigger!=="focus"?k.off("keyup",o.$onKeyUp):f.off("keyup",o.$onFocusKeyUp)}function gt(){a(function(){k.on("click",pt);b.on("click",o.hide);ut=!0},0,!1)}function yt(){ut&&(k.off("click",pt),b.off("click",o.hide),ut=!1)}function pt(n){n.stopPropagation()}function ft(n){var s;n=n||p.target||f;var e=n[0],o=e.tagName==="BODY",r=e.getBoundingClientRect(),u={};for(s in r)u[s]=r[s];u.width===null&&(u=angular.extend({},u,{width:r.right-r.left,height:r.bottom-r.top}));var h=o?{top:0,left:0}:c.offset(e),l={scroll:o?t.documentElement.scrollTop||t.body.scrollTop:n.prop("scrollTop")||0},a=o?{width:t.documentElement.clientWidth,height:i.innerHeight}:null;return angular.extend({},u,l,a,h)}function ni(n,t,i,r){var u,f=n.split("-");switch(f[0]){case"right":u={top:t.top+t.height/2-r/2,left:t.left+t.width};break;case"bottom":u={top:t.top+t.height,left:t.left+t.width/2-i/2};break;case"left":u={top:t.top+t.height/2-r/2,left:t.left-i};break;default:u={top:t.top-r,left:t.left+t.width/2-i/2}}if(!f[1])return u;if(f[0]==="top"||f[0]==="bottom")switch(f[1]){case"left":u.left=t.left;break;case"right":u.left=t.left+t.width-i}else if(f[0]==="left"||f[0]==="right")switch(f[1]){case"top":u.top=t.top-r;break;case"bottom":u.top=t.top+t.height}return u}function ti(n,t){var i=k[0],l=i.offsetWidth,f=i.offsetHeight,e=parseInt(c.css(i,"margin-top"),10),o=parseInt(c.css(i,"margin-left"),10),s,u,r;if((isNaN(e)&&(e=0),isNaN(o)&&(o=0),n.top=n.top+e,n.left=n.left+o,c.setOffset(i,angular.extend({using:function(n){k.css({top:Math.round(n.top)+"px",left:Math.round(n.left)+"px",right:""})}},n),0),s=i.offsetWidth,u=i.offsetHeight,t==="top"&&u!==f&&(n.top=n.top+f-u),!/top-left|top-right|bottom-left|bottom-right/.test(t))&&(r=ii(t,n,s,u),r.left?n.left+=r.left:n.top+=r.top,c.setOffset(i,n),/top|right|bottom|left/.test(t))){var h=/top|bottom/.test(t),a=h?r.left*2-l+s:r.top*2-f+u,v=h?"offsetWidth":"offsetHeight";ri(a,i[v],h)}}function ii(n,t,i,r){var f={top:0,left:0},e,u,s,h,c,l;return o.$viewport?(e=p.viewport&&p.viewport.padding||0,u=ft(o.$viewport),/right|left/.test(n)?(s=t.top-e-u.scroll,h=t.top+e-u.scroll+r,s<u.top?f.top=u.top-s:h>u.top+u.height&&(f.top=u.top+u.height-h)):(c=t.left-e,l=t.left+e+i,c<u.left?f.left=u.left-c:l>u.right&&(f.left=u.left+u.width-l)),f):f}function ri(n,t,i){var r=v(".tooltip-arrow, .arrow",k[0]);r.css(i?"left":"top",50*(1-n/t)+"%").css(i?"top":"left","")}function et(){clearTimeout(tt);o.$isShown&&k!==null&&(p.autoClose&&yt(),p.keyboard&&vt());it&&(it.$destroy(),it=null);k&&(k.remove(),k=o.$element=null)}var o={},p=o.$options=angular.extend({},n,e),wt=o.$promise=u.compile(p),d=o.$scope=p.scope&&p.scope.$new()||r.$new(),ot=f[0].nodeName.toLowerCase(),nt,tt,rt,st,k,g,it,ct,lt,ut;return p.delay&&angular.isString(p.delay)&&(nt=p.delay.split(",").map(parseFloat),p.delay=nt.length>1?{show:nt[0],hide:nt[1]}:nt[0]),o.$id=p.id||f.attr("id")||"",p.title&&(d.title=h.trustAsHtml(p.title)),d.$setEnabled=function(n){d.$$postDigest(function(){o.setEnabled(n)})},d.$hide=function(){d.$$postDigest(function(){o.hide()})},d.$show=function(){d.$$postDigest(function(){o.show()})},d.$toggle=function(){d.$$postDigest(function(){o.toggle()})},o.$isShown=d.$isShown=!1,wt.then(function(n){st=n;o.init()}),o.init=function(){p.delay&&angular.isNumber(p.delay)&&(p.delay={show:p.delay,hide:p.delay});p.container==="self"?g=f:angular.isElement(p.container)?g=p.container:p.container&&(g=v(p.container));bt();p.target&&(p.target=angular.isElement(p.target)?p.target:v(p.target));p.show&&d.$$postDigest(function(){p.trigger==="focus"?f[0].focus():o.show()})},o.destroy=function(){kt();et();d.$destroy()},o.enter=function(){if(clearTimeout(tt),rt="in",!p.delay||!p.delay.show)return o.show();tt=setTimeout(function(){rt==="in"&&o.show()},p.delay.show)},o.show=function(){if(p.bsEnabled&&!o.$isShown){d.$emit(p.prefixEvent+".show.before",o);var t,n;p.container?(t=g,n=g[0].lastChild?angular.element(g[0].lastChild):null):(t=null,n=f);k&&et();it=o.$scope.$new();k=o.$element=st.link(it,function(){});k.css({top:"-9999px",left:"-9999px",right:"auto",display:"block",visibility:"hidden"});p.animation&&k.addClass(p.animation);p.type&&k.addClass(p.prefixClass+"-"+p.type);p.customClass&&k.addClass(p.customClass);n?n.after(k):t.prepend(k);o.$isShown=d.$isShown=!0;y(d);o.$applyPlacement();angular.version.minor<=2?s.enter(k,t,n,ht):s.enter(k,t,n).then(ht);y(d);l(function(){k&&k.css({visibility:"visible"})});p.keyboard&&(p.trigger!=="focus"&&o.focus(),dt());p.autoClose&&gt()}},o.leave=function(){if(clearTimeout(tt),rt="out",!p.delay||!p.delay.hide)return o.hide();tt=setTimeout(function(){rt==="out"&&o.hide()},p.delay.hide)},o.hide=function(n){o.$isShown&&(d.$emit(p.prefixEvent+".hide.before",o),ct=n,lt=k,angular.version.minor<=2?s.leave(k,at):s.leave(k).then(at),o.$isShown=d.$isShown=!1,y(d),p.keyboard&&k!==null&&vt(),p.autoClose&&k!==null&&yt())},o.toggle=function(){o.$isShown?o.leave():o.enter()},o.focus=function(){k[0].focus()},o.setEnabled=function(n){p.bsEnabled=n},o.setViewport=function(n){p.viewport=n},o.$applyPlacement=function(){var t,u,c;if(k){var i=p.placement,s=/\s?auto?\s?/i,h=s.test(i);h&&(i=i.replace(s,"")||n.placement);k.addClass(p.placement);var r=ft(),f=k.prop("offsetWidth"),e=k.prop("offsetHeight");o.$viewport=p.viewport&&v(p.viewport.selector||p.viewport);h&&(t=i,u=ft(o.$viewport),t.indexOf("bottom")>=0&&r.bottom+e>u.bottom?i=t.replace("bottom","top"):t.indexOf("top")>=0&&r.top-e<u.top&&(i=t.replace("top","bottom")),(t==="right"||t==="bottom-left"||t==="top-left")&&r.right+f>u.width?i=t==="right"?"left":i.replace("left","right"):(t==="left"||t==="bottom-right"||t==="top-right")&&r.left-f<u.left&&(i=t==="left"?"right":i.replace("right","left")),k.removeClass(t).addClass(i));c=ni(i,r,f,e);ti(c,i)}},o.$onKeyUp=function(n){n.which===27&&o.$isShown&&(o.hide(),n.stopPropagation())},o.$onFocusKeyUp=function(n){n.which===27&&(f[0].blur(),n.stopPropagation())},o.$onFocusElementMouseDown=function(n){n.preventDefault();n.stopPropagation();o.$isShown?f[0].blur():f[0].focus()},ut=!1,o}function y(n){n.$$phase||n.$root&&n.$root.$$phase||n.$digest()}function v(n,i){return angular.element((i||t).querySelectorAll(n))}var d=String.prototype.trim,w="createTouch"in i.document,b=angular.element(i.document),p={};return k}]}).directive("bsTooltip",["$window","$location","$sce","$tooltip","$$rAF",function(n,t,i,r,u){return{restrict:"EAC",scope:!0,link:function(n,t,f){var o={scope:n},h,s,e;angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","container","delay","trigger","html","animation","backdropAnimation","type","customClass","id"],function(n){angular.isDefined(f[n])&&(o[n]=f[n])});h=/^(false|0|)$/i;angular.forEach(["html","container"],function(n){angular.isDefined(f[n])&&h.test(f[n])&&(o[n]=!1)});s=t.attr("data-target");angular.isDefined(s)&&(o.target=h.test(s)?!1:s);n.hasOwnProperty("title")||(n.title="");f.$observe("title",function(t){if(angular.isDefined(t)||!n.hasOwnProperty("title")){var r=n.title;n.title=i.trustAsHtml(t);angular.isDefined(r)&&u(function(){e&&e.$applyPlacement()})}});f.bsTooltip&&n.$watch(f.bsTooltip,function(t,i){angular.isObject(t)?angular.extend(n,t):n.title=t;angular.isDefined(i)&&u(function(){e&&e.$applyPlacement()})},!0);f.bsShow&&n.$watch(f.bsShow,function(n){e&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|,?(tooltip),?/i)),n===!0?e.show():e.hide())});f.bsEnabled&&n.$watch(f.bsEnabled,function(n){e&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|1|,?(tooltip),?/i)),n===!1?e.setEnabled(!1):e.setEnabled(!0))});f.viewport&&n.$watch(f.viewport,function(n){e&&angular.isDefined(n)&&e.setViewport(n)});e=r(t,o);n.$on("$destroy",function(){e&&e.destroy();o=null;e=null})}}}]);angular.module("mgcrea.ngStrap.timepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.helpers.dateFormatter","mgcrea.ngStrap.tooltip"]).provider("$timepicker",function(){var n=this.defaults={animation:"am-fade",prefixClass:"timepicker",placement:"bottom-left",templateUrl:"timepicker/timepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!0,timeType:"date",timeFormat:"shortTime",timezone:null,modelTimeFormat:null,autoclose:!1,minTime:-Infinity,maxTime:+Infinity,length:5,hourStep:1,minuteStep:5,secondStep:5,roundDisplay:!1,iconUp:"glyphicon glyphicon-chevron-up",iconDown:"glyphicon glyphicon-chevron-down",arrowBehavior:"pager"};this.$get=["$window","$document","$rootScope","$sce","$dateFormatter","$tooltip","$timeout",function(t,i,r,u,f,e,o){function c(t,i,r){function st(n){var t=6e4*c.minuteStep;return new Date(Math.floor(n.getTime()/t)*t)}function lt(n,i){var u=n+i,r;t[0].createTextRange?(r=t[0].createTextRange(),r.collapse(!0),r.moveStart("character",n),r.moveEnd("character",u),r.select()):t[0].setSelectionRange?t[0].setSelectionRange(n,u):angular.isUndefined(t[0].selectionStart)&&(t[0].selectionStart=n,t[0].selectionEnd=u)}function it(){t[0].focus()}var u=e(t,angular.extend({},n,r)),ot=r.scope,c=u.$options,a=u.$scope,nt=c.lang,y=function(n,t,i){return f.formatDate(n,t,nt,i)},v=0,ht=c.roundDisplay?st(new Date):new Date,w=i.$dateValue||ht,l={hour:w.getHours(),meridian:w.getHours()<12,minute:w.getMinutes(),second:w.getSeconds(),millisecond:w.getMilliseconds()},b=f.getDatetimeFormat(c.timeFormat,nt),k=f.hoursFormat(b),ct=f.timeSeparator(b),d=f.minutesFormat(b),g=f.secondsFormat(b),p=f.showSeconds(b),tt=f.showAM(b),rt,ut,ft,et;return a.$iconUp=c.iconUp,a.$iconDown=c.iconDown,a.$select=function(n,t){u.select(n,t)},a.$moveIndex=function(n,t){u.$moveIndex(n,t)},a.$switchMeridian=function(n){u.switchMeridian(n)},u.update=function(n){angular.isDate(n)&&!isNaN(n.getTime())?(u.$date=n,angular.extend(l,{hour:n.getHours(),minute:n.getMinutes(),second:n.getSeconds(),millisecond:n.getMilliseconds()}),u.$build()):u.$isBuilt||u.$build()},u.select=function(n,t,r){(!i.$dateValue||isNaN(i.$dateValue.getTime()))&&(i.$dateValue=new Date(1970,0,1));angular.isDate(n)||(n=new Date(n));t===0?i.$dateValue.setHours(n.getHours()):t===1?i.$dateValue.setMinutes(n.getMinutes()):t===2&&i.$dateValue.setSeconds(n.getSeconds());i.$setViewValue(angular.copy(i.$dateValue));i.$render();c.autoclose&&!r&&o(function(){u.hide(!0)})},u.switchMeridian=function(n){if(i.$dateValue&&!isNaN(i.$dateValue.getTime())){var t=(n||i.$dateValue).getHours();i.$dateValue.setHours(t<12?t+12:t-12);i.$setViewValue(angular.copy(i.$dateValue));i.$render()}},u.$build=function(){for(var f=a.midIndex=parseInt(c.length/2,10),e=[],t,o,i,h,r,s,n=0;n<c.length;n++)t=new Date(1970,0,1,l.hour-(f-n)*c.hourStep),e.push({date:t,label:y(t,k),selected:u.$date&&u.$isSelected(t,0),disabled:u.$isDisabled(t,0)});for(o=[],n=0;n<c.length;n++)i=new Date(1970,0,1,0,l.minute-(f-n)*c.minuteStep),o.push({date:i,label:y(i,d),selected:u.$date&&u.$isSelected(i,1),disabled:u.$isDisabled(i,1)});for(h=[],n=0;n<c.length;n++)r=new Date(1970,0,1,0,0,l.second-(f-n)*c.secondStep),h.push({date:r,label:y(r,g),selected:u.$date&&u.$isSelected(r,2),disabled:u.$isDisabled(r,2)});for(s=[],n=0;n<c.length;n++)p?s.push([e[n],o[n],h[n]]):s.push([e[n],o[n]]);a.rows=s;a.showSeconds=p;a.showAM=tt;a.isAM=(u.$date||e[f].date).getHours()<12;a.timeSeparator=ct;u.$isBuilt=!0},u.$isSelected=function(n,t){if(u.$date){if(t===0)return n.getHours()===u.$date.getHours();if(t===1)return n.getMinutes()===u.$date.getMinutes();if(t===2)return n.getSeconds()===u.$date.getSeconds()}else return!1},u.$isDisabled=function(n,t){var i;return t===0?i=n.getTime()+l.minute*6e4+l.second*1e3:t===1?i=n.getTime()+l.hour*36e5+l.second*1e3:t===2&&(i=n.getTime()+l.hour*36e5+l.minute*6e4),i<c.minTime*1||i>c.maxTime*1},a.$arrowAction=function(n,t){c.arrowBehavior==="picker"?u.$setTimeByStep(n,t):u.$moveIndex(n,t)},u.$setTimeByStep=function(n,t){var i=new Date(u.$date||w),r=i.getHours(),f=i.getMinutes(),e=i.getSeconds();t===0?i.setHours(r-parseInt(c.hourStep,10)*n):t===1?i.setMinutes(f-parseInt(c.minuteStep,10)*n):t===2&&i.setSeconds(e-parseInt(c.secondStep,10)*n);u.select(i,t,!0)},u.$moveIndex=function(n,t){var i;t===0?(i=new Date(1970,0,1,l.hour+n*c.length,l.minute,l.second),angular.extend(l,{hour:i.getHours()})):t===1?(i=new Date(1970,0,1,l.hour,l.minute+n*c.length*c.minuteStep,l.second),angular.extend(l,{minute:i.getMinutes()})):t===2&&(i=new Date(1970,0,1,l.hour,l.minute,l.second+n*c.length*c.secondStep),angular.extend(l,{second:i.getSeconds()}));u.$build()},u.$onMouseDown=function(n){if(n.target.nodeName.toLowerCase()!=="input"&&n.preventDefault(),n.stopPropagation(),s){var t=angular.element(n.target);t[0].nodeName.toLowerCase()!=="button"&&(t=t.parent());t.triggerHandler("click")}},u.$onKeyDown=function(n){var i,e,a,w;if(/(38|37|39|40|13)/.test(n.keyCode)&&!n.shiftKey&&!n.altKey){if(n.preventDefault(),n.stopPropagation(),n.keyCode===13){u.hide(!0);return}var t=new Date(u.$date),b=t.getHours(),r=y(t,k).length,nt=t.getMinutes(),o=y(t,d).length,it=t.getSeconds(),s=y(t,g).length,f=1,h=/(37|39)/.test(n.keyCode),l=2+p*1+tt*1;h&&(n.keyCode===37?v=v<1?l-1:v-1:n.keyCode===39&&(v=v<l-1?v+1:0));i=[0,r];e=0;n.keyCode===38&&(e=-1);n.keyCode===40&&(e=1);a=v===2&&p;w=v===2&&!p||v===3&&p;v===0?(t.setHours(b+e*parseInt(c.hourStep,10)),r=y(t,k).length,i=[0,r]):v===1?(t.setMinutes(nt+e*parseInt(c.minuteStep,10)),o=y(t,d).length,i=[r+f,o]):a?(t.setSeconds(it+e*parseInt(c.secondStep,10)),s=y(t,g).length,i=[r+f+o+f,s]):w&&(h||u.switchMeridian(),i=[r+f+o+f+(s+f)*p,2]);u.select(t,v,!0);lt(i[0],i[1]);ot.$digest()}},rt=u.init,u.init=function(){if(h&&c.useNative){t.prop("type","time");t.css("-webkit-appearance","textfield");return}if(s){t.prop("type","text");t.attr("readonly","true");t.on("click",it)}rt()},ut=u.destroy,u.destroy=function(){h&&c.useNative&&t.off("click",it);ut()},ft=u.show,u.show=function(){!s&&t.attr("readonly")||t.attr("disabled")||(ft(),o(function(){u.$element&&u.$element.on(s?"touchstart":"mousedown",u.$onMouseDown);c.keyboard&&t&&t.on("keydown",u.$onKeyDown)},0,!1))},et=u.hide,u.hide=function(n){u.$isShown&&(u.$element&&u.$element.off(s?"touchstart":"mousedown",u.$onMouseDown),c.keyboard&&t&&t.off("keydown",u.$onKeyDown),et(n))},u}var h=/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent),s="createTouch"in t.document&&h;return n.lang||(n.lang=f.getDefaultLocale()),c.defaults=n,c}]}).directive("bsTimepicker",["$window","$parse","$q","$dateFormatter","$dateParser","$timepicker",function(n,t,r,u,f,e){var o=e.defaults,s=/(ip(a|o)d|iphone|android)/gi.test(n.navigator.userAgent);return{restrict:"EAC",require:"ngModel",link:function(n,t,r,h){function w(n){if(angular.isDate(n)){var t=isNaN(c.minTime)||new Date(n.getTime()).setFullYear(1970,0,1)>=c.minTime,i=isNaN(c.maxTime)||new Date(n.getTime()).setFullYear(1970,0,1)<=c.maxTime,r=t&&i;(h.$setValidity("date",r),h.$setValidity("min",t),h.$setValidity("max",i),r)&&(h.$dateValue=n)}}function b(){return!h.$dateValue||isNaN(h.$dateValue.getTime())?"":p(h.$dateValue,c.timeFormat)}var c={scope:n},v,l;angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","autoclose","timeType","timeFormat","timezone","modelTimeFormat","useNative","hourStep","minuteStep","secondStep","length","arrowBehavior","iconUp","iconDown","roundDisplay","id","prefixClass","prefixEvent"],function(n){angular.isDefined(r[n])&&(c[n]=r[n])});v=/^(false|0|)$/i;angular.forEach(["html","container","autoclose","useNative","roundDisplay"],function(n){angular.isDefined(r[n])&&v.test(r[n])&&(c[n]=!1)});r.bsShow&&n.$watch(r.bsShow,function(n){l&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|,?(timepicker),?/i)),n===!0?l.show():l.hide())});s&&(c.useNative||o.useNative)&&(c.timeFormat="HH:mm");l=e(t,h,c);c=l.$options;var y=c.lang,p=function(n,t,i){return u.formatDate(n,t,y,i)},a=f({format:c.timeFormat,lang:y});angular.forEach(["minTime","maxTime"],function(n){angular.isDefined(r[n])&&r.$observe(n,function(t){l.$options[n]=a.getTimeForAttribute(n,t);isNaN(l.$options[n])||l.$build();w(h.$dateValue)})});n.$watch(r.ngModel,function(){l.update(h.$dateValue)},!0);h.$parsers.unshift(function(n){var t,r;return n?(r=angular.isDate(n)?n:a.parse(n,h.$dateValue),!r||isNaN(r.getTime()))?(h.$setValidity("date",!1),i):(w(r),c.timeType==="string")?(t=a.timezoneOffsetAdjust(r,c.timezone,!0),p(t,c.modelTimeFormat||c.timeFormat)):(t=a.timezoneOffsetAdjust(h.$dateValue,c.timezone,!0),c.timeType==="number"?t.getTime():c.timeType==="unix"?t.getTime()/1e3:c.timeType==="iso"?t.toISOString():new Date(t)):(h.$setValidity("date",!0),null)});h.$formatters.push(function(n){var t;return t=angular.isUndefined(n)||n===null?NaN:angular.isDate(n)?n:c.timeType==="string"?a.parse(n,null,c.modelTimeFormat):c.timeType==="unix"?new Date(n*1e3):new Date(n),h.$dateValue=a.timezoneOffsetAdjust(t,c.timezone),b()});h.$render=function(){t.val(b())};n.$on("$destroy",function(){l&&l.destroy();c=null;l=null})}}}]);angular.module("mgcrea.ngStrap.tab",[]).provider("$tab",function(){var n=this.defaults={animation:"am-fade",template:"tab/tab.tpl.html",navClass:"nav-tabs",activeClass:"active"},t=this.controller=function(t,i,r){var u=this;u.$options=angular.copy(n);angular.forEach(["animation","navClass","activeClass"],function(n){angular.isDefined(r[n])&&(u.$options[n]=r[n])});t.$navClass=u.$options.navClass;t.$activeClass=u.$options.activeClass;u.$panes=t.$panes=[];u.$activePaneChangeListeners=u.$viewChangeListeners=[];u.$push=function(n){angular.isUndefined(u.$panes.$active)&&t.$setActive(n.name||0);u.$panes.push(n)};u.$remove=function(n){var i=u.$panes.indexOf(n),r=u.$panes.$active,t;t=angular.isString(r)?u.$panes.map(function(n){return n.name}).indexOf(r):u.$panes.$active;u.$panes.splice(i,1);i<t?t--:i===t&&t===u.$panes.length&&t--;t>=0&&t<u.$panes.length?u.$setActive(u.$panes[t].name||t):u.$setActive()};u.$setActive=t.$setActive=function(n){u.$panes.$active=n;u.$activePaneChangeListeners.forEach(function(n){n()})};u.$isActive=t.$isActive=function(n,t){return u.$panes.$active===n.name||u.$panes.$active===t}};this.$get=function(){var i={};return i.defaults=n,i.controller=t,i}}).directive("bsTabs",["$window","$animate","$tab","$parse",function(n,t,i,r){var u=i.defaults;return{require:["?ngModel","bsTabs"],transclude:!0,scope:!0,controller:["$scope","$element","$attrs",i.controller],templateUrl:function(n,t){return t.template||u.template},link:function(n,t,i,u){var e=u[0],f=u[1],o;e&&(f.$activePaneChangeListeners.push(function(){e.$setViewValue(f.$panes.$active)}),e.$formatters.push(function(n){return f.$setActive(n),n}));i.bsActivePane&&(o=r(i.bsActivePane),f.$activePaneChangeListeners.push(function(){o.assign(n,f.$panes.$active)}),n.$watch(i.bsActivePane,function(n){f.$setActive(n)},!0))}}}]).directive("bsPane",["$window","$animate","$sce",function(n,t,i){return{require:["^?ngModel","^bsTabs"],scope:!0,link:function(n,r,u,f){function o(){var i=e.$panes.indexOf(n);t[e.$isActive(n,i)?"addClass":"removeClass"](r,e.$options.activeClass)}var s=f[0],e=f[1];r.addClass("tab-pane");u.$observe("title",function(t){n.title=i.trustAsHtml(t)});n.name=u.name;e.$options.animation&&r.addClass(e.$options.animation);u.$observe("disabled",function(t){n.disabled=n.$eval(t)});e.$push(n);n.$on("$destroy",function(){e.$remove(n)});e.$activePaneChangeListeners.push(function(){o()});o()}}}]);angular.module("mgcrea.ngStrap.select",["mgcrea.ngStrap.tooltip","mgcrea.ngStrap.helpers.parseOptions"]).provider("$select",function(){var n=this.defaults={animation:"am-fade",prefixClass:"select",prefixEvent:"$select",placement:"bottom-left",templateUrl:"select/select.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,multiple:!1,allNoneButtons:!1,sort:!0,caretHtml:'&nbsp;<span class="caret"><\/span>',placeholder:"Choose among the following...",allText:"All",noneText:"None",maxLength:3,maxLengthHtml:"selected",iconCheckmark:"glyphicon glyphicon-ok"};this.$get=["$window","$document","$rootScope","$tooltip","$timeout",function(t,i,r,u,f){function o(r,o,s){var c={},l=angular.extend({},n,s),h,a,v;return c=u(r,l),h=c.$scope,h.$matches=[],h.$activeIndex=l.multiple?[]:-1,h.$isMultiple=l.multiple,h.$showAllNoneButtons=l.allNoneButtons&&l.multiple,h.$iconCheckmark=l.iconCheckmark,h.$allText=l.allText,h.$noneText=l.noneText,h.$activate=function(n){h.$$postDigest(function(){c.activate(n)})},h.$select=function(n){h.$$postDigest(function(){c.select(n)})},h.$isVisible=function(){return c.$isVisible()},h.$isActive=function(n){return c.$isActive(n)},h.$selectAll=function(){for(var n=0;n<h.$matches.length;n++)h.$isActive(n)||h.$select(n)},h.$selectNone=function(){for(var n=0;n<h.$matches.length;n++)h.$isActive(n)&&h.$select(n)},c.update=function(n){h.$matches=n;c.$updateActiveIndex()},c.activate=function(n){return l.multiple?(c.$isActive(n)?h.$activeIndex.splice(h.$activeIndex.indexOf(n),1):h.$activeIndex.push(n),l.sort&&h.$activeIndex.sort(function(n,t){return n-t})):h.$activeIndex=n,h.$activeIndex},c.select=function(n){var t=h.$matches[n].value;h.$apply(function(){c.activate(n);l.multiple?o.$setViewValue(h.$activeIndex.map(function(n){return angular.isUndefined(h.$matches[n])?null:h.$matches[n].value})):(o.$setViewValue(t),c.hide())});h.$emit(l.prefixEvent+".select",t,n,c)},c.$updateActiveIndex=function(){o.$modelValue&&h.$matches.length?h.$activeIndex=l.multiple&&angular.isArray(o.$modelValue)?o.$modelValue.map(function(n){return c.$getIndex(n)}):c.$getIndex(o.$modelValue):h.$activeIndex>=h.$matches.length?h.$activeIndex=l.multiple?[]:0:o.$modelValue||l.multiple||(h.$activeIndex=-1)},c.$isVisible=function(){return!l.minLength||!o?h.$matches.length:h.$matches.length&&o.$viewValue.length>=l.minLength},c.$isActive=function(n){return l.multiple?h.$activeIndex.indexOf(n)!==-1:h.$activeIndex===n},c.$getIndex=function(n){var i=h.$matches.length,t=i;if(i){for(t=i;t--;)if(h.$matches[t].value===n)break;if(!(t<0))return t}},c.$onMouseDown=function(n){if(n.preventDefault(),n.stopPropagation(),e){var t=angular.element(n.target);t.triggerHandler("click")}},c.$onKeyDown=function(n){if(/(9|13|38|40)/.test(n.keyCode)){if(n.keyCode!==9&&(n.preventDefault(),n.stopPropagation()),l.multiple&&n.keyCode===9)return c.hide();if(!l.multiple&&(n.keyCode===13||n.keyCode===9))return c.select(h.$activeIndex);l.multiple||(n.keyCode===38&&h.$activeIndex>0?h.$activeIndex--:n.keyCode===38&&h.$activeIndex<0?h.$activeIndex=h.$matches.length-1:n.keyCode===40&&h.$activeIndex<h.$matches.length-1?h.$activeIndex++:angular.isUndefined(h.$activeIndex)&&(h.$activeIndex=0),h.$digest())}},c.$isIE=function(){var n=t.navigator.userAgent;return n.indexOf("MSIE ")>0||n.indexOf("Trident/")>0||n.indexOf("Edge/")>0},c.$selectScrollFix=function(n){i[0].activeElement.tagName==="UL"&&(n.preventDefault(),n.stopImmediatePropagation(),n.target.focus())},a=c.show,c.show=function(){a();l.multiple&&c.$element.addClass("select-multiple");f(function(){c.$element.on(e?"touchstart":"mousedown",c.$onMouseDown);if(l.keyboard)r.on("keydown",c.$onKeyDown)},0,!1)},v=c.hide,c.hide=function(){l.multiple||o.$modelValue||(h.$activeIndex=-1);c.$element.off(e?"touchstart":"mousedown",c.$onMouseDown);l.keyboard&&r.off("keydown",c.$onKeyDown);v(!0)},c}var h=angular.element(t.document.body),s=/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent),e="createTouch"in t.document&&s;return o.defaults=n,o}]}).directive("bsSelect",["$window","$parse","$q","$select","$parseOptions",function(n,t,i,r,u){var f=r.defaults;return{restrict:"EAC",require:"ngModel",link:function(n,t,i,e){var o={scope:n,placeholder:f.placeholder},c,h,l,a,s,v;angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","placeholder","allNoneButtons","maxLength","maxLengthHtml","allText","noneText","iconCheckmark","autoClose","id","sort","caretHtml","prefixClass","prefixEvent"],function(n){angular.isDefined(i[n])&&(o[n]=i[n])});c=/^(false|0|)$/i;angular.forEach(["html","container","allNoneButtons","sort"],function(n){angular.isDefined(i[n])&&c.test(i[n])&&(o[n]=!1)});h=t.attr("data-multiple");angular.isDefined(h)&&(o.multiple=c.test(h)?!1:h);t[0].nodeName.toLowerCase()==="select"&&(l=t,l.css("display","none"),t=angular.element('<button type="button" class="btn btn-default"><\/button>'),l.after(t));a=u(i.bsOptions);s=r(t,e,o);s.$isIE()&&t[0].addEventListener("blur",s.$selectScrollFix);v=a.$match[7].replace(/\|.+/,"").trim();n.$watchCollection(v,function(){a.valuesFn(n,e).then(function(n){s.update(n);e.$render()})});n.$watch(i.ngModel,function(){s.$updateActiveIndex();e.$render()},!0);e.$render=function(){var n,i;o.multiple&&angular.isArray(e.$modelValue)?(n=e.$modelValue.map(function(n){return i=s.$getIndex(n),angular.isDefined(i)?s.$scope.$matches[i].label:!1}).filter(angular.isDefined),n=n.length>(o.maxLength||f.maxLength)?n.length+" "+(o.maxLengthHtml||f.maxLengthHtml):n.join(", ")):(i=s.$getIndex(e.$modelValue),n=angular.isDefined(i)?s.$scope.$matches[i].label:!1);t.html((n?n:o.placeholder)+(o.caretHtml?o.caretHtml:f.caretHtml))};o.multiple&&(e.$isEmpty=function(n){return!n||n.length===0});n.$on("$destroy",function(){s&&s.destroy();o=null;s=null})}}}]);angular.module("mgcrea.ngStrap.scrollspy",["mgcrea.ngStrap.helpers.debounce","mgcrea.ngStrap.helpers.dimensions"]).provider("$scrollspy",function(){var n=this.$$spies={},i=this.defaults={debounce:150,throttle:100,offset:100};this.$get=["$window","$document","$rootScope","dimensions","debounce","throttle",function(r,u,f,e,o,s){function h(n,t){return n[0].nodeName&&n[0].nodeName.toLowerCase()===t.toLowerCase()}function v(u){var p=angular.extend({},i,u);p.element||(p.element=a);var it=h(p.element,"body"),k=it?c:p.element,b=it?"window":p.id;if(n[b])return n[b].$$count++,n[b];var v={},ut,ft,w=v.$trackedElements=[],y=[],d,g,rt,nt,et,tt;return v.init=function(){this.$$count=1;g=o(this.checkPosition,p.debounce);rt=s(this.checkPosition,p.throttle);k.on("click",this.checkPositionWithEventLoop);c.on("resize",g);k.on("scroll",rt);nt=o(this.checkOffsets,p.debounce);ut=f.$on("$viewContentLoaded",nt);ft=f.$on("$includeContentLoaded",nt);nt();b&&(n[b]=v)},v.destroy=function(){(this.$$count--,this.$$count>0)||(k.off("click",this.checkPositionWithEventLoop),c.off("resize",g),k.off("scroll",rt),ut(),ft(),b&&delete n[b])},v.checkPosition=function(){if(y.length){if(tt=(it?r.pageYOffset:k.prop("scrollTop"))||0,et=Math.max(r.innerHeight,l.prop("clientHeight")),tt<y[0].offsetTop&&d!==y[0].target)return v.$activateElement(y[0]);for(var n=y.length;n--;)if(!angular.isUndefined(y[n].offsetTop)&&y[n].offsetTop!==null&&d!==y[n].target&&!(tt<y[n].offsetTop)&&(!y[n+1]||!(tt>y[n+1].offsetTop)))return v.$activateElement(y[n])}},v.checkPositionWithEventLoop=function(){setTimeout(v.checkPosition,1)},v.$activateElement=function(n){if(d){var t=v.$getTrackedElement(d);t&&(t.source.removeClass("active"),h(t.source,"li")&&h(t.source.parent().parent(),"li")&&t.source.parent().parent().removeClass("active"))}d=n.target;n.source.addClass("active");h(n.source,"li")&&h(n.source.parent().parent(),"li")&&n.source.parent().parent().addClass("active")},v.$getTrackedElement=function(n){return w.filter(function(t){return t.target===n})[0]},v.checkOffsets=function(){angular.forEach(w,function(n){var i=t.querySelector(n.target);n.offsetTop=i?e.offset(i).top:null;p.offset&&n.offsetTop!==null&&(n.offsetTop-=p.offset*1)});y=w.filter(function(n){return n.offsetTop!==null}).sort(function(n,t){return n.offsetTop-t.offsetTop});g()},v.trackElement=function(n,t){w.push({target:n,source:t})},v.untrackElement=function(n,t){for(var r,i=w.length;i--;)if(w[i].target===n&&w[i].source===t){r=i;break}w=w.splice(r,1)},v.activate=function(n){w[n].addClass("active")},v.init(),v}var c=angular.element(r),l=angular.element(u.prop("documentElement")),a=angular.element(r.document.body);return v}]}).directive("bsScrollspy",["$rootScope","debounce","dimensions","$scrollspy",function(n,t,i,r){return{restrict:"EAC",link:function(n,t,i){var f={scope:n},u;angular.forEach(["offset","target"],function(n){angular.isDefined(i[n])&&(f[n]=i[n])});u=r(f);u.trackElement(f.target,t);n.$on("$destroy",function(){u&&(u.untrackElement(f.target,t),u.destroy());f=null;u=null})}}}]).directive("bsScrollspyList",["$rootScope","debounce","dimensions","$scrollspy",function(){return{restrict:"A",compile:function(n){var t=n[0].querySelectorAll("li > a[href]");angular.forEach(t,function(n){var t=angular.element(n);t.parent().attr("bs-scrollspy","").attr("data-target",t.attr("href"))})}}}]);angular.module("mgcrea.ngStrap.popover",["mgcrea.ngStrap.tooltip"]).provider("$popover",function(){var n=this.defaults={animation:"am-fade",customClass:"",container:!1,target:!1,placement:"right",templateUrl:"popover/popover.tpl.html",contentTemplate:!1,trigger:"click",keyboard:!0,html:!1,title:"",content:"",delay:0,autoClose:!1};this.$get=["$tooltip",function(t){function i(i,r){var u=angular.extend({},n,r),f=t(i,u);return u.content&&(f.$scope.content=u.content),f}return i}]}).directive("bsPopover",["$window","$sce","$popover",function(n,t,i){var r=n.requestAnimationFrame||n.setTimeout;return{restrict:"EAC",scope:!0,link:function(n,u,f){var o={scope:n},h,s,e;angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","container","delay","trigger","html","animation","customClass","autoClose","id","prefixClass","prefixEvent"],function(n){angular.isDefined(f[n])&&(o[n]=f[n])});h=/^(false|0|)$/i;angular.forEach(["html","container","autoClose"],function(n){angular.isDefined(f[n])&&h.test(f[n])&&(o[n]=!1)});s=u.attr("data-target");angular.isDefined(s)&&(o.target=h.test(s)?!1:s);angular.forEach(["title","content"],function(i){f[i]&&f.$observe(i,function(u,f){n[i]=t.trustAsHtml(u);angular.isDefined(f)&&r(function(){e&&e.$applyPlacement()})})});f.bsPopover&&n.$watch(f.bsPopover,function(t,i){angular.isObject(t)?angular.extend(n,t):n.content=t;angular.isDefined(i)&&r(function(){e&&e.$applyPlacement()})},!0);f.bsShow&&n.$watch(f.bsShow,function(n){e&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|,?(popover),?/i)),n===!0?e.show():e.hide())});f.viewport&&n.$watch(f.viewport,function(n){e&&angular.isDefined(n)&&e.setViewport(n)});e=i(u,o);n.$on("$destroy",function(){e&&e.destroy();o=null;e=null})}}}]);angular.module("mgcrea.ngStrap.navbar",[]).provider("$navbar",function(){var n=this.defaults={activeClass:"active",routeAttr:"data-match-route",strict:!1};this.$get=function(){return{defaults:n}}}).directive("bsNavbar",["$window","$location","$navbar",function(n,t,i){var r=i.defaults;return{restrict:"A",link:function(n,i,u){var f=angular.copy(r);angular.forEach(Object.keys(r),function(n){angular.isDefined(u[n])&&(f[n]=u[n])});n.$watch(function(){return t.path()},function(n){var t=i[0].querySelectorAll("li["+f.routeAttr+"]");angular.forEach(t,function(t){var i=angular.element(t),r=i.attr(f.routeAttr).replace("/","\\/"),u;f.strict&&(r="^"+r+"$");u=new RegExp(r,"i");u.test(n)?i.addClass(f.activeClass):i.removeClass(f.activeClass)})})}}}]);angular.module("mgcrea.ngStrap.modal",["mgcrea.ngStrap.core","mgcrea.ngStrap.helpers.dimensions"]).provider("$modal",function(){var n=this.defaults={animation:"am-fade",backdropAnimation:"am-fade",prefixClass:"modal",prefixEvent:"modal",placement:"top",templateUrl:"modal/modal.tpl.html",template:"",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$window","$rootScope","$bsCompiler","$animate","$timeout","$sce","dimensions",function(i,r,u,f,e,o){function a(t){function d(){a.$emit(i.prefixEvent+".show",e)}function g(){a.$emit(i.prefixEvent+".hide",e);s.removeClass(i.prefixClass+"-open");i.animation&&s.removeClass(i.prefixClass+"-with-"+i.animation)}function ft(){if(i.backdrop){y.on("click",b);p.on("click",b);p.on("wheel",it)}}function nt(){i.backdrop&&(y.off("click",b),p.off("click",b),p.off("wheel",it))}function et(){if(i.keyboard)y.on("keyup",e.$onKeyUp)}function tt(){i.keyboard&&y.off("keyup",e.$onKeyUp)}function b(n){n.target===n.currentTarget&&(i.backdrop==="static"?e.focus():e.hide())}function it(n){n.preventDefault()}function rt(){e.$isShown&&y!==null&&(nt(),tt());w&&(w.$destroy(),w=null);y&&(y.remove(),y=e.$element=null)}var e={},i=e.$options=angular.extend({},n,t),ut=e.$promise=u.compile(i),a=e.$scope=i.scope&&i.scope.$new()||r.$new(),k,y,w,p;return i.element||i.container||(i.container="body"),e.$id=i.id||i.element&&i.element.attr("id")||"",c(["title","content"],function(n){i[n]&&(a[n]=o.trustAsHtml(i[n]))}),a.$hide=function(){a.$$postDigest(function(){e.hide()})},a.$show=function(){a.$$postDigest(function(){e.show()})},a.$toggle=function(){a.$$postDigest(function(){e.toggle()})},e.$isShown=a.$isShown=!1,p=angular.element('<div class="'+i.prefixClass+'-backdrop"/>'),p.css({position:"fixed",top:"0px",left:"0px",bottom:"0px",right:"0px","z-index":1038}),ut.then(function(n){k=n;e.init()}),e.init=function(){i.show&&a.$$postDigest(function(){e.show()})},e.destroy=function(){rt();p&&(p.remove(),p=null);a.$destroy()},e.show=function(){var n,t,r;e.$isShown||(angular.isElement(i.container)?(n=i.container,t=i.container[0].lastChild?angular.element(i.container[0].lastChild):null):i.container?(n=v(i.container),t=n[0]&&n[0].lastChild?angular.element(n[0].lastChild):null):(n=null,t=i.element),y&&rt(),w=e.$scope.$new(),y=e.$element=k.link(w,function(){}),a.$emit(i.prefixEvent+".show.before",e).defaultPrevented)||(y.css({display:"block"}).addClass(i.placement),i.animation&&(i.backdrop&&p.addClass(i.backdropAnimation),y.addClass(i.animation)),i.backdrop&&f.enter(p,s,null),angular.version.minor<=2?f.enter(y,n,t,d):f.enter(y,n,t).then(d),e.$isShown=a.$isShown=!0,h(a),r=y[0],l(function(){r.focus()}),s.addClass(i.prefixClass+"-open"),i.animation&&s.addClass(i.prefixClass+"-with-"+i.animation),ft(),et())},e.hide=function(){e.$isShown&&(a.$emit(i.prefixEvent+".hide.before",e).defaultPrevented||(angular.version.minor<=2?f.leave(y,g):f.leave(y).then(g),i.backdrop&&f.leave(p),e.$isShown=a.$isShown=!1,h(a),nt(),tt()))},e.toggle=function(){e.$isShown?e.hide():e.show()},e.focus=function(){y[0].focus()},e.$onKeyUp=function(n){n.which===27&&e.$isShown&&(e.hide(),n.stopPropagation())},e}function h(n){n.$$phase||n.$root&&n.$root.$$phase||n.$digest()}function v(n,i){return angular.element((i||t).querySelectorAll(n))}var c=angular.forEach,y=String.prototype.trim,l=i.requestAnimationFrame||i.setTimeout,s=angular.element(i.document.body);return a}]}).directive("bsModal",["$window","$sce","$modal",function(n,t,i){return{restrict:"EAC",scope:!0,link:function(n,r,u){var e={scope:n,element:r,show:!1},o,f;angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","backdrop","keyboard","html","container","animation","backdropAnimation","id","prefixEvent","prefixClass"],function(n){angular.isDefined(u[n])&&(e[n]=u[n])});o=/^(false|0|)$/i;angular.forEach(["backdrop","keyboard","html","container"],function(n){angular.isDefined(u[n])&&o.test(u[n])&&(e[n]=!1)});angular.forEach(["title","content"],function(i){u[i]&&u.$observe(i,function(r){n[i]=t.trustAsHtml(r)})});u.bsModal&&n.$watch(u.bsModal,function(t){angular.isObject(t)?angular.extend(n,t):n.content=t},!0);f=i(e);r.on(u.trigger||"click",f.toggle);n.$on("$destroy",function(){f&&f.destroy();e=null;f=null})}}}]);angular.version.minor<3&&angular.version.dot<14&&angular.module("ng").factory("$$rAF",["$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}]);angular.module("mgcrea.ngStrap.helpers.parseOptions",[]).provider("$parseOptions",function(){var n=this.defaults={regexp:/^\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+(.*?))?$/};this.$get=["$parse","$q",function(t,i){function r(r,u){function y(n,t){return n.map(function(n,i){var r={},u,f;return r[o]=n,u=s(t,r),f=h(t,r),{label:u,value:f,index:i}})}var e={},l=angular.extend({},n,u),f,s,o,a,v,h,c;return e.$values=[],e.init=function(){e.$match=f=r.match(l.regexp);s=t(f[2]||f[1]);o=f[4]||f[6];a=f[5];v=t(f[3]||"");h=t(f[2]?f[1]:o);c=t(f[7])},e.valuesFn=function(n,t){return i.when(c(n,t)).then(function(t){return angular.isArray(t)||(t=[]),e.$values=t.length?y(t,n):[],e.$values})},e.displayValue=function(n){var t={};return t[o]=n,s(t)},e.init(),e}return r}]});angular.module("mgcrea.ngStrap.helpers.dimensions",[]).factory("dimensions",["$document","$window",function(){var u=angular.element,t={},i=t.nodeName=function(n,t){return n.nodeName&&n.nodeName.toLowerCase()===t.toLowerCase()},r;return t.css=function(t,i,r){var u;return u=t.currentStyle?t.currentStyle[i]:n.getComputedStyle?n.getComputedStyle(t)[i]:t.style[i],r===!0?parseFloat(u)||0:u},t.offset=function(t){var i=t.getBoundingClientRect(),r=t.ownerDocument;return{width:i.width||t.offsetWidth,height:i.height||t.offsetHeight,top:i.top+(n.pageYOffset||r.documentElement.scrollTop)-(r.documentElement.clientTop||0),left:i.left+(n.pageXOffset||r.documentElement.scrollLeft)-(r.documentElement.clientLeft||0)}},t.setOffset=function(n,i,r){var e,o,s,h,f,c,a,l=t.css(n,"position"),v=angular.element(n),u={};l==="static"&&(n.style.position="relative");f=t.offset(n);s=t.css(n,"top");c=t.css(n,"left");a=(l==="absolute"||l==="fixed")&&(s+c).indexOf("auto")>-1;a?(e=t.position(n),h=e.top,o=e.left):(h=parseFloat(s)||0,o=parseFloat(c)||0);angular.isFunction(i)&&(i=i.call(n,r,f));i.top!==null&&(u.top=i.top-f.top+h);i.left!==null&&(u.left=i.left-f.left+o);"using"in i?i.using.call(v,u):v.css({top:u.top+"px",left:u.left+"px"})},t.position=function(n){var u={top:0,left:0},f,e;return t.css(n,"position")==="fixed"?e=n.getBoundingClientRect():(f=r(n),e=t.offset(n),i(f,"html")||(u=t.offset(f)),u.top+=t.css(f,"borderTopWidth",!0),u.left+=t.css(f,"borderLeftWidth",!0)),{width:n.offsetWidth,height:n.offsetHeight,top:e.top-u.top-t.css(n,"marginTop",!0),left:e.left-u.left-t.css(n,"marginLeft",!0)}},r=function(n){var u=n.ownerDocument,r=n.offsetParent||u;if(i(r,"#document"))return u.documentElement;while(r&&!i(r,"html")&&t.css(r,"position")==="static")r=r.offsetParent;return r||u.documentElement},t.height=function(n,i){var r=n.offsetHeight;return i?r+=t.css(n,"marginTop",!0)+t.css(n,"marginBottom",!0):r-=t.css(n,"paddingTop",!0)+t.css(n,"paddingBottom",!0)+t.css(n,"borderTopWidth",!0)+t.css(n,"borderBottomWidth",!0),r},t.width=function(n,i){var r=n.offsetWidth;return i?r+=t.css(n,"marginLeft",!0)+t.css(n,"marginRight",!0):r-=t.css(n,"paddingLeft",!0)+t.css(n,"paddingRight",!0)+t.css(n,"borderLeftWidth",!0)+t.css(n,"borderRightWidth",!0),r},t}]);angular.module("mgcrea.ngStrap.helpers.debounce",[]).factory("debounce",["$timeout",function(n){return function(t,i,r){var u=null;return function(){var f=this,e=arguments,o=r&&!u;return u&&n.cancel(u),u=n(function(){u=null;r||t.apply(f,e)},i,!1),o&&t.apply(f,e),u}}}]).factory("throttle",["$timeout",function(n){return function(t,i,r){var u=null;return r||(r={}),function(){var f=this,e=arguments;u||(r.leading!==!1&&t.apply(f,e),u=n(function(){u=null;r.trailing!==!1&&t.apply(f,e)},i,!1))}}}]);angular.module("mgcrea.ngStrap.helpers.dateParser",[]).provider("$dateParser",["$localeProvider",function(){function n(){this.year=1970;this.month=0;this.day=1;this.hours=0;this.minutes=0;this.seconds=0;this.milliseconds=0}function i(){}function r(n){return!isNaN(parseFloat(n))&&isFinite(n)}function u(n,t){for(var r=n.length,u=t.toString().toLowerCase(),i=0;i<r;i++)if(n[i].toLowerCase()===u)return i;return-1}var t,f;n.prototype.setMilliseconds=function(n){this.milliseconds=n};n.prototype.setSeconds=function(n){this.seconds=n};n.prototype.setMinutes=function(n){this.minutes=n};n.prototype.setHours=function(n){this.hours=n};n.prototype.getHours=function(){return this.hours};n.prototype.setDate=function(n){this.day=n};n.prototype.setMonth=function(n){this.month=n};n.prototype.setFullYear=function(n){this.year=n};n.prototype.fromDate=function(n){return this.year=n.getFullYear(),this.month=n.getMonth(),this.day=n.getDate(),this.hours=n.getHours(),this.minutes=n.getMinutes(),this.seconds=n.getSeconds(),this.milliseconds=n.getMilliseconds(),this};n.prototype.toDate=function(){return new Date(this.year,this.month,this.day,this.hours,this.minutes,this.seconds,this.milliseconds)};t=n.prototype;f=this.defaults={format:"shortDate",strict:!1};this.$get=["$locale","dateFilter",function(e,o){return function(s){function p(n){for(var i=Object.keys(l),r=[],u=[],e=n,f,t=0;t<i.length;t++)n.split(i[t]).length>1&&(f=e.search(i[t]),n=n.split(i[t]).join(""),l[i[t]]&&(r[f]=l[i[t]]));return angular.forEach(r,function(n){n&&u.push(n)}),u}function b(n){return n.replace(/\//g,"[\\/]").replace("/-/g","[-]").replace(/\./g,"[.]").replace(/\\s/g,"[\\s]")}function w(n){for(var r=Object.keys(v),i=n,t=0;t<r.length;t++)i=i.split(r[t]).join("${"+t+"}");for(t=0;t<r.length;t++)i=i.split("${"+t+"}").join("("+v[r[t]]+")");return n=b(n),new RegExp("^"+i+"$",["i"])}var c=angular.extend({},f,s),h={},v={sss:"[0-9]{3}",ss:"[0-5][0-9]",s:c.strict?"[1-5]?[0-9]":"[0-9]|[0-5][0-9]",mm:"[0-5][0-9]",m:c.strict?"[1-5]?[0-9]":"[0-9]|[0-5][0-9]",HH:"[01][0-9]|2[0-3]",H:c.strict?"1?[0-9]|2[0-3]":"[01]?[0-9]|2[0-3]",hh:"[0][1-9]|[1][012]",h:c.strict?"[1-9]|1[012]":"0?[1-9]|1[012]",a:"AM|PM",EEEE:e.DATETIME_FORMATS.DAY.join("|"),EEE:e.DATETIME_FORMATS.SHORTDAY.join("|"),dd:"0[1-9]|[12][0-9]|3[01]",d:c.strict?"[1-9]|[1-2][0-9]|3[01]":"0?[1-9]|[1-2][0-9]|3[01]",MMMM:e.DATETIME_FORMATS.MONTH.join("|"),MMM:e.DATETIME_FORMATS.SHORTMONTH.join("|"),MM:"0[1-9]|1[012]",M:c.strict?"[1-9]|1[012]":"0?[1-9]|1[012]",yyyy:"[1]{1}[0-9]{3}|[2]{1}[0-9]{3}",yy:"[0-9]{2}",y:c.strict?"-?(0|[1-9][0-9]{0,3})":"-?0*[0-9]{1,4}"},l={sss:t.setMilliseconds,ss:t.setSeconds,s:t.setSeconds,mm:t.setMinutes,m:t.setMinutes,HH:t.setHours,H:t.setHours,hh:t.setHours,h:t.setHours,EEEE:i,EEE:i,dd:t.setDate,d:t.setDate,a:function(n){var t=this.getHours()%12;return this.setHours(n.match(/pm/i)?t+12:t)},MMMM:function(n){return this.setMonth(u(e.DATETIME_FORMATS.MONTH,n))},MMM:function(n){return this.setMonth(u(e.DATETIME_FORMATS.SHORTMONTH,n))},MM:function(n){return this.setMonth(1*n-1)},M:function(n){return this.setMonth(1*n-1)},yyyy:t.setFullYear,yy:function(n){return this.setFullYear(2e3+1*n)},y:function(n){return 1*n<=50&&n.length===2?this.setFullYear(2e3+1*n):this.setFullYear(1*n)}},a,y;return h.init=function(){h.$format=e.DATETIME_FORMATS[c.format]||c.format;a=w(h.$format);y=p(h.$format)},h.isValid=function(n){return angular.isDate(n)?!isNaN(n.getTime()):a.test(n)},h.parse=function(t,i,r,u){var s,f,l;r&&(r=e.DATETIME_FORMATS[r]||r);angular.isDate(t)&&(t=o(t,r||h.$format,u));var b=r?w(r):a,v=r?p(r):y,c=b.exec(t);if(!c)return!1;for(s=i&&!isNaN(i.getTime())?(new n).fromDate(i):(new n).fromDate(new Date(1970,0,1,0)),f=0;f<c.length-1;f++)v[f]&&v[f].call(s,c[f+1]);return(l=s.toDate(),parseInt(s.day,10)!==l.getDate())?!1:l},h.getDateForAttribute=function(n,t){var u,i;return t==="today"?(i=new Date,u=new Date(i.getFullYear(),i.getMonth(),i.getDate()+(n==="maxDate"?1:0),0,0,0,n==="minDate"?0:-1)):u=angular.isString(t)&&t.match(/^".+"$/)?new Date(t.substr(1,t.length-2)):r(t)?new Date(parseInt(t,10)):angular.isString(t)&&0===t.length?n==="minDate"?-Infinity:+Infinity:new Date(t),u},h.getTimeForAttribute=function(n,t){return t==="now"?(new Date).setFullYear(1970,0,1):angular.isString(t)&&t.match(/^".+"$/)?new Date(t.substr(1,t.length-2)).setFullYear(1970,0,1):r(t)?new Date(parseInt(t,10)).setFullYear(1970,0,1):angular.isString(t)&&0===t.length?n==="minTime"?-Infinity:+Infinity:h.parse(t,new Date(1970,0,1,0))},h.daylightSavingAdjust=function(n){return n?(n.setHours(n.getHours()>12?n.getHours()+2:0),n):null},h.timezoneOffsetAdjust=function(n,t,i){return n?(t&&t==="UTC"&&(n=new Date(n.getTime()),n.setMinutes(n.getMinutes()+(i?-1:1)*n.getTimezoneOffset())),n):null},h.init(),h}}]}]);angular.module("mgcrea.ngStrap.helpers.dateFormatter",[]).service("$dateFormatter",["$locale","dateFilter",function(n,t){function i(n){return/(h+)([:\.])?(m+)([:\.])?(s*)[ ]?(a?)/i.exec(n).slice(1)}this.getDefaultLocale=function(){return n.id};this.getDatetimeFormat=function(t){return n.DATETIME_FORMATS[t]||t};this.weekdaysShort=function(){return n.DATETIME_FORMATS.SHORTDAY};this.hoursFormat=function(n){return i(n)[0]};this.minutesFormat=function(n){return i(n)[2]};this.secondsFormat=function(n){return i(n)[4]};this.timeSeparator=function(n){return i(n)[1]};this.showSeconds=function(n){return!!i(n)[4]};this.showAM=function(n){return!!i(n)[5]};this.formatDate=function(n,i,r,u){return t(n,i,u)}}]);angular.module("mgcrea.ngStrap.core",[]).service("$bsCompiler",r);r.$inject=["$q","$http","$injector","$compile","$controller","$templateCache"];angular.module("mgcrea.ngStrap.dropdown",["mgcrea.ngStrap.tooltip"]).provider("$dropdown",function(){var n=this.defaults={animation:"am-fade",prefixClass:"dropdown",prefixEvent:"dropdown",placement:"bottom-left",templateUrl:"dropdown/dropdown.tpl.html",trigger:"click",container:!1,keyboard:!0,html:!1,delay:0};this.$get=["$window","$rootScope","$tooltip","$timeout",function(t,i,r,u){function o(t,o){function l(n){if(n.target!==t[0])return n.target!==t[0]&&s.hide()}var s={},h=angular.extend({},n,o),p=s.$scope=h.scope&&h.scope.$new()||i.$new(),c,a,v,y;return s=r(t,h),c=t.parent(),s.$onKeyDown=function(n){var i,t;/(38|40)/.test(n.keyCode)&&(n.preventDefault(),n.stopPropagation(),i=angular.element(s.$element[0].querySelectorAll("li:not(.divider) a")),i.length)&&(angular.forEach(i,function(n,i){e&&e.call(n,":focus")&&(t=i)}),n.keyCode===38&&t>0?t--:n.keyCode===40&&t<i.length-1?t++:angular.isUndefined(t)&&(t=0),i.eq(t)[0].focus())},a=s.show,s.show=function(){a();u(function(){h.keyboard&&s.$element&&s.$element.on("keydown",s.$onKeyDown);f.on("click",l)},0,!1);c.hasClass("dropdown")&&c.addClass("open")},v=s.hide,s.hide=function(){s.$isShown&&(h.keyboard&&s.$element&&s.$element.off("keydown",s.$onKeyDown),f.off("click",l),c.hasClass("dropdown")&&c.removeClass("open"),v())},y=s.destroy,s.destroy=function(){f.off("click",l);y()},s}var f=angular.element(t.document.body),e=Element.prototype.matchesSelector||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector;return o}]}).directive("bsDropdown",["$window","$sce","$dropdown",function(n,t,i){return{restrict:"EAC",scope:!0,link:function(n,t,r){var f={scope:n},e,u;angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","keyboard","html","animation","id"],function(n){angular.isDefined(r[n])&&(f[n]=r[n])});e=/^(false|0|)$/i;angular.forEach(["html","container"],function(n){angular.isDefined(r[n])&&e.test(r[n])&&(f[n]=!1)});r.bsDropdown&&n.$watch(r.bsDropdown,function(t){n.content=t},!0);r.bsShow&&n.$watch(r.bsShow,function(n){u&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|,?(dropdown),?/i)),n===!0?u.show():u.hide())});u=i(t,f);n.$on("$destroy",function(){u&&u.destroy();f=null;u=null})}}}]);angular.module("mgcrea.ngStrap.datepicker",["mgcrea.ngStrap.helpers.dateParser","mgcrea.ngStrap.helpers.dateFormatter","mgcrea.ngStrap.tooltip"]).provider("$datepicker",function(){var n=this.defaults={animation:"am-fade",prefixClass:"datepicker",placement:"bottom-left",templateUrl:"datepicker/datepicker.tpl.html",trigger:"focus",container:!1,keyboard:!0,html:!1,delay:0,useNative:!1,dateType:"date",dateFormat:"shortDate",timezone:null,modelDateFormat:null,dayFormat:"dd",monthFormat:"MMM",yearFormat:"yyyy",monthTitleFormat:"MMMM yyyy",yearTitleFormat:"yyyy",strictFormat:!1,autoclose:!1,minDate:-Infinity,maxDate:+Infinity,startView:0,minView:0,startWeek:0,daysOfWeekDisabled:"",iconLeft:"glyphicon glyphicon-chevron-left",iconRight:"glyphicon glyphicon-chevron-right"};this.$get=["$window","$document","$rootScope","$sce","$dateFormatter","datepickerViews","$tooltip","$timeout",function(t,i,r,u,f,e,o,s){function l(t,i,r){function nt(n){n.selected=u.$isSelected(n.date)}function p(){t[0].focus()}var u=o(t,angular.extend({},n,r)),g=r.scope,l=u.$options,f=u.$scope,y,v,a,w,b,k,d;return l.startView&&(l.startView-=l.minView),y=e(u),u.$views=y.views,v=y.viewDate,f.$mode=l.startView,f.$iconLeft=l.iconLeft,f.$iconRight=l.iconRight,a=u.$views[f.$mode],f.$select=function(n){u.select(n)},f.$selectPane=function(n){u.$selectPane(n)},f.$toggleMode=function(){u.setMode((f.$mode+1)%u.$views.length)},u.update=function(n){angular.isDate(n)&&!isNaN(n.getTime())&&(u.$date=n,a.update.call(a,n));u.$build(!0)},u.updateDisabledDates=function(n){l.disabledDateRanges=n;for(var t=0,i=f.rows.length;t<i;t++)angular.forEach(f.rows[t],u.$setDisabledEl)},u.select=function(n,t){angular.isDate(i.$dateValue)||(i.$dateValue=new Date(n));!f.$mode||t?(i.$setViewValue(angular.copy(n)),i.$render(),l.autoclose&&!t&&s(function(){u.hide(!0)})):(angular.extend(v,{year:n.getFullYear(),month:n.getMonth(),date:n.getDate()}),u.setMode(f.$mode-1),u.$build())},u.setMode=function(n){f.$mode=n;a=u.$views[f.$mode];u.$build()},u.$build=function(n){n===!0&&a.built||(n!==!1||a.built)&&a.build.call(a)},u.$updateSelected=function(){for(var n=0,t=f.rows.length;n<t;n++)angular.forEach(f.rows[n],nt)},u.$isSelected=function(n){return a.isSelected(n)},u.$setDisabledEl=function(n){n.disabled=a.isDisabled(n.date)},u.$selectPane=function(n){var i=a.steps,t=new Date(Date.UTC(v.year+(i.year||0)*n,v.month+(i.month||0)*n,1));angular.extend(v,{year:t.getUTCFullYear(),month:t.getUTCMonth(),date:t.getUTCDate()});u.$build()},u.$onMouseDown=function(n){if(n.preventDefault(),n.stopPropagation(),h){var t=angular.element(n.target);t[0].nodeName.toLowerCase()!=="button"&&(t=t.parent());t.triggerHandler("click")}},u.$onKeyDown=function(n){if(/(38|37|39|40|13)/.test(n.keyCode)&&!n.shiftKey&&!n.altKey){if(n.preventDefault(),n.stopPropagation(),n.keyCode===13)return f.$mode?f.$apply(function(){u.setMode(f.$mode-1)}):u.hide(!0);a.onKeyDown(n);g.$digest()}},w=u.init,u.init=function(){if(c&&l.useNative){t.prop("type","date");t.css("-webkit-appearance","textfield");return}if(h){t.prop("type","text");t.attr("readonly","true");t.on("click",p)}w()},b=u.destroy,u.destroy=function(){c&&l.useNative&&t.off("click",p);b()},k=u.show,u.show=function(){!h&&t.attr("readonly")||t.attr("disabled")||(k(),s(function(){if(u.$isShown){u.$element.on(h?"touchstart":"mousedown",u.$onMouseDown);if(l.keyboard)t.on("keydown",u.$onKeyDown)}},0,!1))},d=u.hide,u.hide=function(n){u.$isShown&&(u.$element.off(h?"touchstart":"mousedown",u.$onMouseDown),l.keyboard&&t.off("keydown",u.$onKeyDown),d(n))},u}var a=angular.element(t.document.body),c=/(ip(a|o)d|iphone|android)/gi.test(t.navigator.userAgent),h="createTouch"in t.document&&c;return n.lang||(n.lang=f.getDefaultLocale()),l.defaults=n,l}]}).directive("bsDatepicker",["$window","$parse","$q","$dateFormatter","$dateParser","$datepicker",function(n,t,i,r,u,f){var o=f.defaults,e=/(ip(a|o)d|iphone|android)/gi.test(n.navigator.userAgent);return{restrict:"EAC",require:"ngModel",link:function(n,t,i,o){function y(n){return!n||!n.length?null:n}function p(n){if(angular.isDate(n)){var t=isNaN(h.$options.minDate)||n.getTime()>=h.$options.minDate,i=isNaN(h.$options.maxDate)||n.getTime()<=h.$options.maxDate,r=t&&i;o.$setValidity("date",r);o.$setValidity("min",t);o.$setValidity("max",i);r&&(o.$dateValue=n)}}function w(){return!o.$dateValue||isNaN(o.$dateValue.getTime())?"":v(o.$dateValue,s.dateFormat)}var s={scope:n},l,h;angular.forEach(["template","templateUrl","controller","controllerAs","placement","container","delay","trigger","html","animation","autoclose","dateType","dateFormat","timezone","modelDateFormat","dayFormat","strictFormat","startWeek","startDate","useNative","lang","startView","minView","iconLeft","iconRight","daysOfWeekDisabled","id","prefixClass","prefixEvent"],function(n){angular.isDefined(i[n])&&(s[n]=i[n])});l=/^(false|0|)$/i;angular.forEach(["html","container","autoclose","useNative"],function(n){angular.isDefined(i[n])&&l.test(i[n])&&(s[n]=!1)});i.bsShow&&n.$watch(i.bsShow,function(n){h&&angular.isDefined(n)&&(angular.isString(n)&&(n=!!n.match(/true|,?(datepicker),?/i)),n===!0?h.show():h.hide())});h=f(t,o,s);s=h.$options;e&&s.useNative&&(s.dateFormat="yyyy-MM-dd");var a=s.lang,v=function(n,t){return r.formatDate(n,t,a)},c=u({format:s.dateFormat,lang:a,strict:s.strictFormat});angular.forEach(["minDate","maxDate"],function(n){angular.isDefined(i[n])&&i.$observe(n,function(t){h.$options[n]=c.getDateForAttribute(n,t);isNaN(h.$options[n])||h.$build(!1);p(o.$dateValue)})});n.$watch(i.ngModel,function(){h.update(o.$dateValue)},!0);angular.isDefined(i.disabledDates)&&n.$watch(i.disabledDates,function(n,t){n=y(n);t=y(t);n&&h.updateDisabledDates(n)});o.$parsers.unshift(function(n){var t,i;if(!n)return o.$setValidity("date",!0),null;if(i=c.parse(n,o.$dateValue),!i||isNaN(i.getTime())){o.$setValidity("date",!1);return}return(p(i),s.dateType==="string")?(t=c.timezoneOffsetAdjust(i,s.timezone,!0),v(t,s.modelDateFormat||s.dateFormat)):(t=c.timezoneOffsetAdjust(o.$dateValue,s.timezone,!0),s.dateType==="number"?t.getTime():s.dateType==="unix"?t.getTime()/1e3:s.dateType==="iso"?t.toISOString():new Date(t))});o.$formatters.push(function(n){var t;return t=angular.isUndefined(n)||n===null?NaN:angular.isDate(n)?n:s.dateType==="string"?c.parse(n,null,s.modelDateFormat):s.dateType==="unix"?new Date(n*1e3):new Date(n),o.$dateValue=c.timezoneOffsetAdjust(t,s.timezone),w()});o.$render=function(){t.val(w())};n.$on("$destroy",function(){h&&h.destroy();s=null;h=null})}}}]).provider("datepickerViews",function(){function n(n,t){for(var i=[];n.length>0;)i.push(n.splice(0,t));return i}function t(n,t){return(n%t+t)%t}var i=this.defaults={dayFormat:"dd",daySplit:7};this.$get=["$dateFormatter","$dateParser","$sce",function(i,r,u){return function(f){var s=f.$scope,e=f.$options,c=e.lang,h=function(n,t){return i.formatDate(n,t,c)},l=r({format:e.dateFormat,lang:c,strict:e.strictFormat}),v=i.weekdaysShort(c),p=v.slice(e.startWeek).concat(v.slice(0,e.startWeek)),w=u.trustAsHtml('<th class="dow text-center">'+p.join('<\/th><th class="dow text-center">')+"<\/th>"),a=f.$date||(e.startDate?l.getDateForAttribute("startDate",e.startDate):new Date),o={year:a.getFullYear(),month:a.getMonth(),date:a.getDate()},y=[{format:e.dayFormat,split:7,steps:{month:1},update:function(n,t){!this.built||t||n.getFullYear()!==o.year||n.getMonth()!==o.month?(angular.extend(o,{year:f.$date.getFullYear(),month:f.$date.getMonth(),date:f.$date.getDate()}),f.$build()):(n.getDate()!==o.date||n.getDate()===1)&&(o.date=f.$date.getDate(),f.$updateSelected())},build:function(){var u=new Date(o.year,o.month,1),v=u.getTimezoneOffset(),r=new Date(+u-t(u.getDay()-e.startWeek,7)*864e5),y=r.getTimezoneOffset(),p=l.timezoneOffsetAdjust(new Date,e.timezone).toDateString(),a,i,c;for(y!==v&&(r=new Date(+r+(y-v)*6e4)),a=[],c=0;c<42;c++)i=l.daylightSavingAdjust(new Date(r.getFullYear(),r.getMonth(),r.getDate()+c)),a.push({date:i,isToday:i.toDateString()===p,label:h(i,this.format),selected:f.$date&&this.isSelected(i),muted:i.getMonth()!==o.month,disabled:this.isDisabled(i)});s.title=h(u,e.monthTitleFormat);s.showLabels=!0;s.labels=w;s.rows=n(a,this.split);this.built=!0},isSelected:function(n){return f.$date&&n.getFullYear()===f.$date.getFullYear()&&n.getMonth()===f.$date.getMonth()&&n.getDate()===f.$date.getDate()},isDisabled:function(n){var i=n.getTime(),t;if(i<e.minDate||i>e.maxDate||e.daysOfWeekDisabled.indexOf(n.getDay())!==-1)return!0;if(e.disabledDateRanges)for(t=0;t<e.disabledDateRanges.length;t++)if(i>=e.disabledDateRanges[t].start&&i<=e.disabledDateRanges[t].end)return!0;return!1},onKeyDown:function(n){if(f.$date){var i=f.$date.getTime(),t;n.keyCode===37?t=new Date(i-864e5):n.keyCode===38?t=new Date(i-6048e5):n.keyCode===39?t=new Date(i+864e5):n.keyCode===40&&(t=new Date(i+6048e5));this.isDisabled(t)||f.select(t,!0)}}},{name:"month",format:e.monthFormat,split:4,steps:{year:1},update:function(n){this.built&&n.getFullYear()===o.year?n.getMonth()!==o.month&&(angular.extend(o,{month:f.$date.getMonth(),date:f.$date.getDate()}),f.$updateSelected()):(angular.extend(o,{year:f.$date.getFullYear(),month:f.$date.getMonth(),date:f.$date.getDate()}),f.$build())},build:function(){for(var u=new Date(o.year,0,1),r=[],t,i=0;i<12;i++)t=new Date(o.year,i,1),r.push({date:t,label:h(t,this.format),selected:f.$isSelected(t),disabled:this.isDisabled(t)});s.title=h(t,e.yearTitleFormat);s.showLabels=!1;s.rows=n(r,this.split);this.built=!0},isSelected:function(n){return f.$date&&n.getFullYear()===f.$date.getFullYear()&&n.getMonth()===f.$date.getMonth()},isDisabled:function(n){var t=+new Date(n.getFullYear(),n.getMonth()+1,0);return t<e.minDate||n.getTime()>e.maxDate},onKeyDown:function(n){if(f.$date){var i=f.$date.getMonth(),t=new Date(f.$date);n.keyCode===37?t.setMonth(i-1):n.keyCode===38?t.setMonth(i-4):n.keyCode===39?t.setMonth(i+1):n.keyCode===40&&t.setMonth(i+4);this.isDisabled(t)||f.select(t,!0)}}},{name:"year",format:e.yearFormat,split:4,steps:{year:12},update:function(n,t){!this.built||t||parseInt(n.getFullYear()/20,10)!==parseInt(o.year/20,10)?(angular.extend(o,{year:f.$date.getFullYear(),month:f.$date.getMonth(),date:f.$date.getDate()}),f.$build()):n.getFullYear()!==o.year&&(angular.extend(o,{year:f.$date.getFullYear(),month:f.$date.getMonth(),date:f.$date.getDate()}),f.$updateSelected())},build:function(){for(var u=o.year-o.year%(this.split*3),t=[],i,r=0;r<12;r++)i=new Date(u+r,0,1),t.push({date:i,label:h(i,this.format),selected:f.$isSelected(i),disabled:this.isDisabled(i)});s.title=t[0].label+"-"+t[t.length-1].label;s.showLabels=!1;s.rows=n(t,this.split);this.built=!0},isSelected:function(n){return f.$date&&n.getFullYear()===f.$date.getFullYear()},isDisabled:function(n){var t=+new Date(n.getFullYear()+1,0,0);return t<e.minDate||n.getTime()>e.maxDate},onKeyDown:function(n){if(f.$date){var i=f.$date.getFullYear(),t=new Date(f.$date);n.keyCode===37?t.setYear(i-1):n.keyCode===38?t.setYear(i-4):n.keyCode===39?t.setYear(i+1):n.keyCode===40&&t.setYear(i+4);this.isDisabled(t)||f.select(t,!0)}}}];return{views:e.minView?Array.prototype.slice.call(y,e.minView):y,viewDate:o}}}]});angular.module("mgcrea.ngStrap.collapse",[]).provider("$collapse",function(){var n=this.defaults={animation:"am-collapse",disallowToggle:!1,activeClass:"in",startCollapsed:!1,allowMultiple:!1},t=this.controller=function(t,i,r){function s(n){for(var i=u.$targets.$active,t=0;t<i.length;t++)n<i[t]&&(i[t]=i[t]-1),i[t]===u.$targets.length&&(i[t]=u.$targets.length-1)}function h(n){var t=u.$targets.$active;return t.indexOf(n)===-1?!1:!0}function e(n){var t=u.$targets.$active.indexOf(n);t!==-1&&u.$targets.$active.splice(t,1)}function o(n){u.$options.allowMultiple||u.$targets.$active.splice(0,1);u.$targets.$active.indexOf(n)===-1&&u.$targets.$active.push(n)}var u=this,f;u.$options=angular.copy(n);angular.forEach(["animation","disallowToggle","activeClass","startCollapsed","allowMultiple"],function(n){angular.isDefined(r[n])&&(u.$options[n]=r[n])});f=/^(false|0|)$/i;angular.forEach(["disallowToggle","startCollapsed","allowMultiple"],function(n){angular.isDefined(r[n])&&f.test(r[n])&&(u.$options[n]=!1)});u.$toggles=[];u.$targets=[];u.$viewChangeListeners=[];u.$registerToggle=function(n){u.$toggles.push(n)};u.$registerTarget=function(n){u.$targets.push(n)};u.$unregisterToggle=function(n){var t=u.$toggles.indexOf(n);u.$toggles.splice(t,1)};u.$unregisterTarget=function(n){var t=u.$targets.indexOf(n);u.$targets.splice(t,1);u.$options.allowMultiple&&e(n);s(t);u.$viewChangeListeners.forEach(function(n){n()})};u.$targets.$active=u.$options.startCollapsed?[]:[0];u.$setActive=t.$setActive=function(n){angular.isArray(n)?u.$targets.$active=n:u.$options.disallowToggle?o(n):h(n)?e(n):o(n);u.$viewChangeListeners.forEach(function(n){n()})};u.$activeIndexes=function(){return u.$options.allowMultiple?u.$targets.$active:u.$targets.$active.length===1?u.$targets.$active[0]:-1}};this.$get=function(){var i={};return i.defaults=n,i.controller=t,i}}).directive("bsCollapse",["$window","$animate","$collapse",function(n,t,i){var r=i.defaults;return{require:["?ngModel","bsCollapse"],controller:["$scope","$element","$attrs",i.controller],link:function(n,t,i,r){var f=r[0],u=r[1];f&&(u.$viewChangeListeners.push(function(){f.$setViewValue(u.$activeIndexes())}),f.$formatters.push(function(n){if(angular.isArray(n))u.$setActive(n);else{var t=u.$activeIndexes();angular.isArray(t)?t.indexOf(n*1)===-1&&u.$setActive(n*1):t!==n*1&&u.$setActive(n*1)}return n}))}}}]).directive("bsCollapseToggle",function(){return{require:["^?ngModel","^bsCollapse"],link:function(n,t,i,r){var f=r[0],u=r[1];t.attr("data-toggle","collapse");u.$registerToggle(t);n.$on("$destroy",function(){u.$unregisterToggle(t)});t.on("click",function(){var r=i.bsCollapseToggle&&i.bsCollapseToggle!=="bs-collapse-toggle"?i.bsCollapseToggle:u.$toggles.indexOf(t);u.$setActive(r*1);n.$apply()})}}}).directive("bsCollapseTarget",["$animate",function(n){return{require:["^?ngModel","^bsCollapse"],link:function(t,i,r,u){function e(){var u=f.$targets.indexOf(i),t=f.$activeIndexes(),r="removeClass";angular.isArray(t)?t.indexOf(u)!==-1&&(r="addClass"):u===t&&(r="addClass");n[r](i,f.$options.activeClass)}var o=u[0],f=u[1];i.addClass("collapse");f.$options.animation&&i.addClass(f.$options.animation);f.$registerTarget(i);t.$on("$destroy",function(){f.$unregisterTarget(i)});f.$viewChangeListeners.push(function(){e()});e()}}}]);angular.module("mgcrea.ngStrap.button",[]).provider("$button",function(){var n=this.defaults={activeClass:"active",toggleEvent:"click"};this.$get=function(){return{defaults:n}}}).directive("bsCheckboxGroup",function(){return{restrict:"A",require:"ngModel",compile:function(n,t){n.attr("data-toggle","buttons");n.removeAttr("ng-model");var i=n[0].querySelectorAll('input[type="checkbox"]');angular.forEach(i,function(n){var i=angular.element(n);i.attr("bs-checkbox","");i.attr("ng-model",t.ngModel+"."+i.attr("value"))})}}}).directive("bsCheckbox",["$button","$$rAF",function(n,t){var r=n.defaults,i=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(n,u,f,e){var l=r,h=u[0].nodeName==="INPUT",a=h?u.parent():u,o=angular.isDefined(f.trueValue)?f.trueValue:!0,s,c;i.test(f.trueValue)&&(o=n.$eval(f.trueValue));s=angular.isDefined(f.falseValue)?f.falseValue:!1;i.test(f.falseValue)&&(s=n.$eval(f.falseValue));c=typeof o!="boolean"||typeof s!="boolean";c&&(e.$parsers.push(function(n){return n?o:s}),e.$formatters.push(function(n){return angular.equals(n,o)}),n.$watch(f.ngModel,function(){e.$render()}));e.$render=function(){var n=angular.equals(e.$modelValue,o);t(function(){h&&(u[0].checked=n);a.toggleClass(l.activeClass,n)})};u.bind(l.toggleEvent,function(){n.$apply(function(){h||e.$setViewValue(!a.hasClass("active"));c||e.$render()})})}}}]).directive("bsRadioGroup",function(){return{restrict:"A",require:"ngModel",compile:function(n,t){n.attr("data-toggle","buttons");n.removeAttr("ng-model");var i=n[0].querySelectorAll('input[type="radio"]');angular.forEach(i,function(n){angular.element(n).attr("bs-radio","");angular.element(n).attr("ng-model",t.ngModel)})}}}).directive("bsRadio",["$button","$$rAF",function(n,t){var i=n.defaults,r=/^(true|false|\d+)$/;return{restrict:"A",require:"ngModel",link:function(n,u,f,e){var s=i,h=u[0].nodeName==="INPUT",c=h?u.parent():u,o;f.$observe("value",function(t){o=r.test(t)?n.$eval(t):t;e.$render()});e.$render=function(){var n=angular.equals(e.$modelValue,o);t(function(){h&&(u[0].checked=n);c.toggleClass(s.activeClass,n)})};u.bind(s.toggleEvent,function(){n.$apply(function(){e.$setViewValue(o);e.$render()})})}}}]);angular.module("mgcrea.ngStrap.aside",["mgcrea.ngStrap.modal"]).provider("$aside",function(){var n=this.defaults={animation:"am-fade-and-slide-right",prefixClass:"aside",prefixEvent:"aside",placement:"right",templateUrl:"aside/aside.tpl.html",contentTemplate:!1,container:!1,element:null,backdrop:!0,keyboard:!0,html:!1,show:!0};this.$get=["$modal",function(t){function i(i){var r=angular.extend({},n,i);return t(r)}return i}]}).directive("bsAside",["$window","$sce","$aside",function(n,t,i){var r=n.requestAnimationFrame||n.setTimeout;return{restrict:"EAC",scope:!0,link:function(n,r,u){var e={scope:n,element:r,show:!1},o,f;angular.forEach(["template","templateUrl","controller","controllerAs","contentTemplate","placement","backdrop","keyboard","html","container","animation"],function(n){angular.isDefined(u[n])&&(e[n]=u[n])});o=/^(false|0|)$/i;angular.forEach(["backdrop","keyboard","html","container"],function(n){angular.isDefined(u[n])&&o.test(u[n])&&(e[n]=!1)});angular.forEach(["title","content"],function(i){u[i]&&u.$observe(i,function(r){n[i]=t.trustAsHtml(r)})});u.bsAside&&n.$watch(u.bsAside,function(t){angular.isObject(t)?angular.extend(n,t):n.content=t},!0);f=i(e);r.on(u.trigger||"click",f.toggle);n.$on("$destroy",function(){f&&f.destroy();e=null;f=null})}}}]);angular.module("mgcrea.ngStrap.alert",["mgcrea.ngStrap.modal"]).provider("$alert",function(){var n=this.defaults={animation:"am-fade",prefixClass:"alert",prefixEvent:"alert",placement:null,templateUrl:"alert/alert.tpl.html",container:!1,element:null,backdrop:!1,keyboard:!0,show:!0,duration:!1,type:!1,dismissable:!0};this.$get=["$modal","$timeout",function(t,i){function r(r){var u={},f=angular.extend({},n,r),e;return u=t(f),u.$scope.dismissable=!!f.dismissable,f.type&&(u.$scope.type=f.type),e=u.show,f.duration&&(u.show=function(){e();i(function(){u.hide()},f.duration*1e3)}),u}return r}]}).directive("bsAlert",["$window","$sce","$alert",function(n,t,i){var r=n.requestAnimationFrame||n.setTimeout;return{restrict:"EAC",scope:!0,link:function(n,r,u){var e={scope:n,element:r,show:!1},o,f;angular.forEach(["template","templateUrl","controller","controllerAs","placement","keyboard","html","container","animation","duration","dismissable"],function(n){angular.isDefined(u[n])&&(e[n]=u[n])});o=/^(false|0|)$/i;angular.forEach(["keyboard","html","container","dismissable"],function(n){angular.isDefined(u[n])&&o.test(u[n])&&(e[n]=!1)});n.hasOwnProperty("title")||(n.title="");angular.forEach(["title","content","type"],function(i){u[i]&&u.$observe(i,function(r){n[i]=t.trustAsHtml(r)})});u.bsAlert&&n.$watch(u.bsAlert,function(t){angular.isObject(t)?angular.extend(n,t):n.content=t},!0);f=i(e);r.on(u.trigger||"click",f.toggle);n.$on("$destroy",function(){f&&f.destroy();e=null;f=null})}}}]);angular.module("mgcrea.ngStrap.affix",["mgcrea.ngStrap.helpers.dimensions","mgcrea.ngStrap.helpers.debounce"]).provider("$affix",function(){var n=this.defaults={offsetTop:"auto",inlineStyles:!0};this.$get=["$window","debounce","dimensions",function(t,i,r){function e(e,o){function it(n,t,i){var r=g(),u=nt();return r<=w?"top":n!==null&&r+n<=t.top?"middle":a!==null&&t.top+i+p>=u-a?"bottom":"middle"}function g(){return c[0]===t?t.pageYOffset:c[0].scrollTop}function nt(){return c[0]===t?t.document.body.scrollHeight:c[0].scrollHeight}var h={},s=angular.extend({},n,o),c=s.target,tt="affix affix-top affix-bottom",y=!1,p=0,k=0,w=0,a=0,d=null,v=null,l=e.parent(),b;if(s.offsetParent)if(s.offsetParent.match(/^\d+$/))for(b=0;b<s.offsetParent*1-1;b++)l=l.parent();else l=angular.element(s.offsetParent);return h.init=function(){this.$parseOffsets();k=r.offset(e[0]).top+p;y=!e[0].style.width;c.on("scroll",this.checkPosition);c.on("click",this.checkPositionWithEventLoop);u.on("resize",this.$debouncedOnResize);this.checkPosition();this.checkPositionWithEventLoop()},h.destroy=function(){c.off("scroll",this.checkPosition);c.off("click",this.checkPositionWithEventLoop);u.off("resize",this.$debouncedOnResize)},h.checkPositionWithEventLoop=function(){setTimeout(h.checkPosition,1)},h.checkPosition=function(){var u=g(),t=r.offset(e[0]),i=r.height(e[0]),n=it(v,t,i);d!==n&&(d=n,n==="top"?(v=null,y&&e.css("width",""),s.inlineStyles&&(e.css("position",s.offsetParent?"":"relative"),e.css("top",""))):n==="bottom"?(v=s.offsetUnpin?-(s.offsetUnpin*1):t.top-u,y&&e.css("width",""),s.inlineStyles&&(e.css("position",s.offsetParent?"":"relative"),e.css("top",s.offsetParent?"":f[0].offsetHeight-a-i-k+"px"))):(v=null,y&&e.css("width",e[0].offsetWidth+"px"),s.inlineStyles&&(e.css("position","fixed"),e.css("top",p+"px"))),e.removeClass(tt).addClass("affix"+(n!=="middle"?"-"+n:"")))},h.$onResize=function(){h.$parseOffsets();h.checkPosition()},h.$debouncedOnResize=i(h.$onResize,50),h.$parseOffsets=function(){var n=e.css("position");s.inlineStyles&&e.css("position",s.offsetParent?"":"relative");s.offsetTop&&(s.offsetTop==="auto"&&(s.offsetTop="+0"),s.offsetTop.match(/^[-+]\d+$/)?(p=-s.offsetTop*1,w=s.offsetParent?r.offset(l[0]).top+s.offsetTop*1:r.offset(e[0]).top-r.css(e[0],"marginTop",!0)+s.offsetTop*1):w=s.offsetTop*1);s.offsetBottom&&(a=s.offsetParent&&s.offsetBottom.match(/^[-+]\d+$/)?nt()-(r.offset(l[0]).top+r.height(l[0]))+s.offsetBottom*1+1:s.offsetBottom*1);s.inlineStyles&&e.css("position",n)},h.init(),h}var f=angular.element(t.document.body),u=angular.element(t);return e}]}).directive("bsAffix",["$affix","$window",function(n,t){return{restrict:"EAC",require:"^?bsAffixTarget",link:function(i,r,u,f){var o={scope:i,target:f?f.$element:angular.element(t)},e;angular.forEach(["offsetTop","offsetBottom","offsetParent","offsetUnpin","inlineStyles"],function(n){if(angular.isDefined(u[n])){var t=u[n];/true/i.test(t)&&(t=!0);/false/i.test(t)&&(t=!1);o[n]=t}});e=n(r,o);i.$on("$destroy",function(){e&&e.destroy();o=null;e=null})}}}]).directive("bsAffixTarget",function(){return{controller:["$element",function(n){this.$element=n}]}});angular.module("mgcrea.ngStrap",["mgcrea.ngStrap.modal","mgcrea.ngStrap.aside","mgcrea.ngStrap.alert","mgcrea.ngStrap.button","mgcrea.ngStrap.select","mgcrea.ngStrap.datepicker","mgcrea.ngStrap.timepicker","mgcrea.ngStrap.navbar","mgcrea.ngStrap.tooltip","mgcrea.ngStrap.popover","mgcrea.ngStrap.dropdown","mgcrea.ngStrap.typeahead","mgcrea.ngStrap.scrollspy","mgcrea.ngStrap.affix","mgcrea.ngStrap.tab","mgcrea.ngStrap.collapse"])}(window,document),function(){"use strict";angular.module("mgcrea.ngStrap.alert").run(["$templateCache",function(n){n.put("alert/alert.tpl.html",'<div class="alert" ng-class="[type ? \'alert-\' + type : null]"><button type="button" class="close" ng-if="dismissable" ng-click="$hide()">&times;<\/button> <strong ng-bind="title"><\/strong>&nbsp;<span ng-bind-html="content"><\/span><\/div>')}]);angular.module("mgcrea.ngStrap.aside").run(["$templateCache",function(n){n.put("aside/aside.tpl.html",'<div class="aside" tabindex="-1" role="dialog"><div class="aside-dialog"><div class="aside-content"><div class="aside-header" ng-show="title"><button type="button" class="close" ng-click="$hide()">&times;<\/button><h4 class="aside-title" ng-bind="title"><\/h4><\/div><div class="aside-body" ng-bind="content"><\/div><div class="aside-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close<\/button><\/div><\/div><\/div><\/div>')}]);angular.module("mgcrea.ngStrap.datepicker").run(["$templateCache",function(n){n.put("datepicker/datepicker.tpl.html",'<div class="dropdown-menu datepicker" ng-class="\'datepicker-mode-\' + $mode" style="max-width: 320px"><table style="table-layout: fixed; height: 100%; width: 100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$selectPane(-1)"><i class="{{$iconLeft}}"><\/i><\/button><\/th><th colspan="{{ rows[0].length - 2 }}"><button tabindex="-1" type="button" class="btn btn-default btn-block text-strong" ng-click="$toggleMode()"><strong style="text-transform: capitalize" ng-bind="title"><\/strong><\/button><\/th><th><button tabindex="-1" type="button" class="btn btn-default float-right" ng-click="$selectPane(+1)"><i class="{{$iconRight}}"><\/i><\/button><\/th><\/tr><tr ng-if="showLabels" ng-bind-html="labels"><\/tr><\/thead><tbody><tr ng-repeat="(i, row) in rows" height="{{ 100 / rows.length }}%"><td class="text-center" ng-repeat="(j, el) in row"><button tabindex="-1" type="button" class="btn btn-default" style="width: 100%" ng-class="{\'btn-primary\': el.selected, \'btn-info btn-today\': el.isToday && !el.selected}" ng-click="$select(el.date)" ng-disabled="el.disabled"><span ng-class="{\'text-muted\': el.muted}" ng-bind="el.label"><\/span><\/button><\/td><\/tr><\/tbody><\/table><\/div>')}]);angular.module("mgcrea.ngStrap.dropdown").run(["$templateCache",function(n){n.put("dropdown/dropdown.tpl.html",'<ul tabindex="-1" class="dropdown-menu" role="menu"><li role="presentation" ng-class="{divider: item.divider}" ng-repeat="item in content"><a role="menuitem" tabindex="-1" ng-href="{{item.href}}" ng-if="!item.divider && item.href" target="{{item.target || \'\'}}" ng-bind="item.text"><\/a> <a role="menuitem" tabindex="-1" href="javascript:void(0)" ng-if="!item.divider && item.click" ng-click="$eval(item.click);$hide()" ng-bind="item.text"><\/a><\/li><\/ul>')}]);angular.module("mgcrea.ngStrap.modal").run(["$templateCache",function(n){n.put("modal/modal.tpl.html",'<div class="modal" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-header" ng-show="title"><button type="button" class="close" aria-label="Close" ng-click="$hide()"><span aria-hidden="true">&times;<\/span><\/button><h4 class="modal-title" ng-bind="title"><\/h4><\/div><div class="modal-body" ng-bind="content"><\/div><div class="modal-footer"><button type="button" class="btn btn-default" ng-click="$hide()">Close<\/button><\/div><\/div><\/div><\/div>')}]);angular.module("mgcrea.ngStrap.popover").run(["$templateCache",function(n){n.put("popover/popover.tpl.html",'<div class="popover"><div class="arrow"><\/div><h3 class="popover-title" ng-bind="title" ng-show="title"><\/h3><div class="popover-content" ng-bind="content"><\/div><\/div>')}]);angular.module("mgcrea.ngStrap.select").run(["$templateCache",function(n){n.put("select/select.tpl.html",'<ul tabindex="-1" class="select dropdown-menu" ng-show="$isVisible()" role="select"><li ng-if="$showAllNoneButtons"><div class="btn-group" style="margin-bottom: 5px; margin-left: 5px"><button type="button" class="btn btn-default btn-xs" ng-click="$selectAll()">{{$allText}}<\/button> <button type="button" class="btn btn-default btn-xs" ng-click="$selectNone()">{{$noneText}}<\/button><\/div><\/li><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $isActive($index)}"><a style="cursor: default" role="menuitem" tabindex="-1" ng-click="$select($index, $event)"><i class="{{$iconCheckmark}} float-right" ng-if="$isMultiple && $isActive($index)"><\/i> <span ng-bind="match.label"><\/span><\/a><\/li><\/ul>')}]);angular.module("mgcrea.ngStrap.tab").run(["$templateCache",function(n){n.put("tab/tab.tpl.html",'<ul class="nav" ng-class="$navClass" role="tablist"><li role="presentation" ng-repeat="$pane in $panes track by $index" ng-class="[ $isActive($pane, $index) ? $activeClass : \'\', $pane.disabled ? \'disabled\' : \'\' ]"><a role="tab" data-toggle="tab" ng-click="!$pane.disabled && $setActive($pane.name || $index)" data-index="{{ $index }}" ng-bind-html="$pane.title" aria-controls="$pane.title"><\/a><\/li><\/ul><div ng-transclude class="tab-content"><\/div>')}]);angular.module("mgcrea.ngStrap.timepicker").run(["$templateCache",function(n){n.put("timepicker/timepicker.tpl.html",'<div class="dropdown-menu timepicker" style="min-width: 0px;width: auto"><table height="100%"><thead><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 0)"><i class="{{ $iconUp }}"><\/i><\/button><\/th><th>&nbsp;<\/th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 1)"><i class="{{ $iconUp }}"><\/i><\/button><\/th><th>&nbsp;<\/th><th><button ng-if="showSeconds" tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 2)"><i class="{{ $iconUp }}"><\/i><\/button><\/th><\/tr><\/thead><tbody><tr ng-repeat="(i, row) in rows"><td class="text-center"><button tabindex="-1" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[0].selected}" ng-click="$select(row[0].date, 0)" ng-disabled="row[0].disabled"><span ng-class="{\'text-muted\': row[0].muted}" ng-bind="row[0].label"><\/span><\/button><\/td><td><span ng-bind="i == midIndex ? timeSeparator : \' \'"><\/span><\/td><td class="text-center"><button tabindex="-1" ng-if="row[1].date" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[1].selected}" ng-click="$select(row[1].date, 1)" ng-disabled="row[1].disabled"><span ng-class="{\'text-muted\': row[1].muted}" ng-bind="row[1].label"><\/span><\/button><\/td><td><span ng-bind="i == midIndex ? timeSeparator : \' \'"><\/span><\/td><td class="text-center"><button tabindex="-1" ng-if="showSeconds && row[2].date" style="width: 100%" type="button" class="btn btn-default" ng-class="{\'btn-primary\': row[2].selected}" ng-click="$select(row[2].date, 2)" ng-disabled="row[2].disabled"><span ng-class="{\'text-muted\': row[2].muted}" ng-bind="row[2].label"><\/span><\/button><\/td><td ng-if="showAM">&nbsp;<\/td><td ng-if="showAM"><button tabindex="-1" ng-show="i == midIndex - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !!isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">AM<\/button> <button tabindex="-1" ng-show="i == midIndex + 1 - !isAM * 1" style="width: 100%" type="button" ng-class="{\'btn-primary\': !isAM}" class="btn btn-default" ng-click="$switchMeridian()" ng-disabled="el.disabled">PM<\/button><\/td><\/tr><\/tbody><tfoot><tr class="text-center"><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 0)"><i class="{{ $iconDown }}"><\/i><\/button><\/th><th>&nbsp;<\/th><th><button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 1)"><i class="{{ $iconDown }}"><\/i><\/button><\/th><th>&nbsp;<\/th><th><button ng-if="showSeconds" tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(1, 2)"><i class="{{ $iconDown }}"><\/i><\/button><\/th><\/tr><\/tfoot><\/table><\/div>')}]);angular.module("mgcrea.ngStrap.tooltip").run(["$templateCache",function(n){n.put("tooltip/tooltip.tpl.html",'<div class="tooltip in" ng-show="title"><div class="tooltip-arrow"><\/div><div class="tooltip-inner" ng-bind="title"><\/div><\/div>')}]);angular.module("mgcrea.ngStrap.typeahead").run(["$templateCache",function(n){n.put("typeahead/typeahead.tpl.html",'<ul tabindex="-1" class="typeahead dropdown-menu" ng-show="$isVisible()" role="select"><li role="presentation" ng-repeat="match in $matches" ng-class="{active: $index == $activeIndex}"><a role="menuitem" tabindex="-1" ng-click="$select($index, $event)" ng-bind="match.label"><\/a><\/li><\/ul>')}])}(window,document);angular.module("app").controller("aplusController",["$scope","ngDialog","$http","growl",function(n,t,i){n.submitted=!1;n.showForm=!1;n.APlus=function(){n.submitted=!0;var r=window.location.href,u=new RegExp("&","g");r=r.replace(u,"||");n.aplusForm.$valid&&i.get("/webapi/APlusWebApi/SendEmailToSupport?Codice="+n.user.codice+"&Url="+r).success(function(){t.open({template:'<div class="popup-body"><div class="popup-content">'+$("#apluspopupConfirmationMessage").val()+"<\/div><\/div>",plain:!0,className:"ngdialog-newsletter box popup",showClose:!0})}).error(function(){t.open({template:'<div class="popup-body"><div class="popup-content">'+$("#apluspopupErrorMessage").val()+"<\/div><\/div>",plain:!0,className:"ngdialog-newsletter box popup",showClose:!0})})}}]);angular.module("app").service("analyticsService",["$http",function(n){var t={};return t.triggerGoal=function(t){return n({url:"/webapi/AnalyticsWebApi/TriggerGoal?goal="+t,method:"POST"})},t}]);angular.module("app").factory("appLoaderService",[function(){var n={};return n.showLoader=function(n){showLoader(n)},n.hideLoader=function(){hideLoader()},n}]),function(){angular.module("app").directive("onlyLettersInput",function(){return{require:"?ngModel",link:function(n,t,i,r){function u(n){var t=n.replace(/[^a-zA-Z\s]/g,"");return t!==n&&(r.$setViewValue(t),r.$render()),t}r.$parsers.push(u)}}})}(),function(){angular.module("app").directive("format",["$filter",function(n){return{require:"?ngModel",link:function(t,i,r,u){function f(t){if(t){var f=t.replace(/[^0-9]/g,""),r="€ "+n("number")(f);return i.val(r),r!==t&&(u.$setViewValue(r),u.$render()),f}return undefined}u.$parsers.push(f)}}}])}();angular.module("app").controller("SocialController",["$scope","$http","ngDialog",function(n){var t=function(n,t,i,r){var u=screen.width/2-i/2,f=screen.height/2-r/2,e=window.open(n,t,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width="+i+", height="+r+", top="+f+", left="+u)};n.ShareOnFacebook=function(){t("http://www.facebook.com/sharer/sharer.php?u="+window.location.href,"",660,300)};n.ShareOnGPlus=function(){t("https://plus.google.com/share?url="+window.location.href,"",660,300)};n.ShareOnTwitter=function(){t("http://twitter.com/share?url="+window.location.href+"&hashtags=alpitour","",660,300)}}]),function(){angular.module("app").directive("loadTripadvisorReviews",["$http",function(n){return{restrict:"A",link:function(t,i,r){var u={};u.element=i;u.tripAdvisorIFrameSrc=r.hasOwnProperty("tripadvisorIframeSrc")?r.tripadvisorIframeSrc:"";u.tabIndex=r.hasOwnProperty("tabIndex")?r.tabIndex:"0";u.targetContainer="#tripAdvisorIFrameContainer-"+u.tabIndex;u.getTripAdvisorIFrame=function(t){return n({url:"/api/sitecore/Details/GetTripAdvisorIFrame",method:"POST",data:{iframeSrc:t}}).then(function(n){return n.data})};u.getTripAdvisorIFramePromise=function(n){return new Promise(function(t){u.getTripAdvisorIFrame(n).then(function(n){n.length>0?($(u.targetContainer).html(n),r.$set("isIframeLoaded","true")):$(u.targetContainer).html("error loading iframe");t(n)}),function(n){$(u.targetContainer).html("error loading iframe");t(n)}})};i.on("click",function(){(r.hasOwnProperty("isReviewsTab")?r.isReviewsTab:"false")==="true"&&(r.hasOwnProperty("isIframeLoaded")?r.isIframeLoaded:"true")==="false"&&(u.tripAdvisorIFrameSrc!==""?u.getTripAdvisorIFramePromise(u.tripAdvisorIFrameSrc):$(u.targetContainer).html("error loading iframe"))})}}}])}()