vendor: 53,561 bytes, lines 1-9
1/* 2 * angular-ui-bootstrap 3 * http://angular-ui.github.io/bootstrap/ 4 5 * Version: 2.5.0 - 2017-01-28 6 * License: MIT 7 */ 8 angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.timepicker","ui.bootstrap.datepickerPopup","ui.bootstrap.datepicker","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.position","ui.bootstrap.typeahead","ui.bootstrap.debounce","ui.bootstrap.tooltip","ui.bootstrap.stackedMap"]),angular.module("ui.bootstrap.tpls",["uib/template/timepicker/timepicker.html","uib/template/datepickerPopup/popup.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/year.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html"]),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function(e,t,n,o,i,a,r){function l(){var t=+e.hours,n=e.showMeridian?t>0&&13>t:t>=0&&24>t;return n&&""!==e.hours?(e.showMeridian&&(12===t&&(t=0),e.meridian===M[1]&&(t+=12)),t):void 0}function s(){var t=+e.minutes,n=t>=0&&60>t;return n&&""!==e.minutes?t:void 0}function p(){var t=+e.seconds;return t>=0&&60>t?t:void 0}function u(e,t){return null===e?"":angular.isDefined(e)&&e.toString().length<2&&!t?"0"+e:e.toString()}function c(e){d(),k.$setViewValue(new Date($)),h(e)}function d(){v&&v.$setValidity("hours",!0),y&&y.$setValidity("minutes",!0),w&&w.$setValidity("seconds",!0),k.$setValidity("time",!0),e.invalidHours=!1,e.invalidMinutes=!1,e.invalidSeconds=!1}function h(t){if(k.$modelValue){var n=$.getHours(),o=$.getMinutes(),i=$.getSeconds();e.showMeridian&&(n=0===n||12===n?12:n%12),e.hours="h"===t?n:u(n,!T),"m"!==t&&(e.minutes=u(o)),e.meridian=$.getHours()<12?M[0]:M[1],"s"!==t&&(e.seconds=u(i)),e.meridian=$.getHours()<12?M[0]:M[1]}else e.hours=null,e.minutes=null,e.seconds=null,e.meridian=M[0]}function m(e){$=g($,e),c()}function f(e,t){return g(e,60*t)}function g(e,t){var n=new Date(e.getTime()+1e3*t),o=new Date(e);return o.setHours(n.getHours(),n.getMinutes(),n.getSeconds()),o}function b(){return!(null!==e.hours&&""!==e.hours||null!==e.minutes&&""!==e.minutes||e.showSeconds&&(!e.showSeconds||null!==e.seconds&&""!==e.seconds))}var v,y,w,$=new Date,D=[],k={$setViewValue:angular.noop},M=angular.isDefined(n.meridians)?e.$parent.$eval(n.meridians):r.meridians||a.DATETIME_FORMATS.AMPMS,T=angular.isDefined(n.padHours)?e.$parent.$eval(n.padHours):!0;e.tabindex=angular.isDefined(n.tabindex)?n.tabindex:0,t.removeAttr("tabindex"),this.init=function(t,o){k=t,k.$render=this.render,k.$formatters.unshift(function(e){return e?new Date(e):null});var i=o.eq(0),a=o.eq(1),l=o.eq(2);v=i.controller("ngModel"),y=a.controller("ngModel"),w=l.controller("ngModel");var s=angular.isDefined(n.mousewheel)?e.$parent.$eval(n.mousewheel):r.mousewheel;s&&this.setupMousewheelEvents(i,a,l);var p=angular.isDefined(n.arrowkeys)?e.$parent.$eval(n.arrowkeys):r.arrowkeys;p&&this.setupArrowkeyEvents(i,a,l),e.readonlyInput=angular.isDefined(n.readonlyInput)?e.$parent.$eval(n.readonlyInput):r.readonlyInput,this.setupInputEvents(i,a,l)};var x=r.hourStep;n.hourStep&&D.push(e.$parent.$watch(o(n.hourStep),function(e){x=+e}));var O=r.minuteStep;n.minuteStep&&D.push(e.$parent.$watch(o(n.minuteStep),function(e){O=+e}));var S;D.push(e.$parent.$watch(o(n.min),function(e){var t=new Date(e);S=isNaN(t)?void 0:t}));var C;D.push(e.$parent.$watch(o(n.max),function(e){var t=new Date(e);C=isNaN(t)?void 0:t}));var E=!1;n.ngDisabled&&D.push(e.$parent.$watch(o(n.ngDisabled),function(e){E=e})),e.noIncrementHours=function(){var e=f($,60*x);return E||e>C||$>e&&S>e},e.noDecrementHours=function(){var e=f($,60*-x);return E||S>e||e>$&&e>C},e.noIncrementMinutes=function(){var e=f($,O);return E||e>C||$>e&&S>e},e.noDecrementMinutes=function(){var e=f($,-O);return E||S>e||e>$&&e>C},e.noIncrementSeconds=function(){var e=g($,I);return E||e>C||$>e&&S>e},e.noDecrementSeconds=function(){var e=g($,-I);return E||S>e||e>$&&e>C},e.noToggleMeridian=function(){return $.getHours()<12?E||f($,720)>C:E||f($,-720)<S};var I=r.secondStep;n.secondStep&&D.push(e.$parent.$watch(o(n.secondStep),function(e){I=+e})),e.showSeconds=r.showSeconds,n.showSeconds&&D.push(e.$parent.$watch(o(n.showSeconds),function(t){e.showSeconds=!!t})),e.showMeridian=r.showMeridian,n.showMeridian&&D.push(e.$parent.$watch(o(n.showMeridian),function(t){if(e.showMeridian=!!t,k.$error.time){var n=l(),o=s();angular.isDefined(n)&&angular.isDefined(o)&&($.setHours(n),c())}else h()})),this.setupMousewheelEvents=function(t,n,o){var i=function(e){e.originalEvent&&(e=e.originalEvent);var t=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||t>0};t.on("mousewheel wheel",function(t){E||e.$apply(i(t)?e.incrementHours():e.decrementHours()),t.preventDefault()}),n.on("mousewheel wheel",function(t){E||e.$apply(i(t)?e.incrementMinutes():e.decrementMinutes()),t.preventDefault()}),o.on("mousewheel wheel",function(t){E||e.$apply(i(t)?e.incrementSeconds():e.decrementSeconds()),t.preventDefault()})},this.setupArrowkeyEvents=function(t,n,o){t.on("keydown",function(t){E||(38===t.which?(t.preventDefault(),e.incrementHours(),e.$apply()):40===t.which&&(t.preventDefault(),e.decrementHours(),e.$apply()))}),n.on("keydown",function(t){E||(38===t.which?(t.preventDefault(),e.incrementMinutes(),e.$apply()):40===t.which&&(t.preventDefault(),e.decrementMinutes(),e.$apply()))}),o.on("keydown",function(t){E||(38===t.which?(t.preventDefault(),e.incrementSeconds(),e.$apply()):40===t.which&&(t.preventDefault(),e.decrementSeconds(),e.$apply()))})},this.setupInputEvents=function(t,n,o){if(e.readonlyInput)return e.updateHours=angular.noop,e.updateMinutes=angular.noop,void(e.updateSeconds=angular.noop);var i=function(t,n,o){k.$setViewValue(null),k.$setValidity("time",!1),angular.isDefined(t)&&(e.invalidHours=t,v&&v.$setValidity("hours",!1)),angular.isDefined(n)&&(e.invalidMinutes=n,y&&y.$setValidity("minutes",!1)),angular.isDefined(o)&&(e.invalidSeconds=o,w&&w.$setValidity("seconds",!1))};e.updateHours=function(){var e=l(),t=s();k.$setDirty(),angular.isDefined(e)&&angular.isDefined(t)?($.setHours(e),$.setMinutes(t),S>$||$>C?i(!0):c("h")):i(!0)},t.on("blur",function(){k.$setTouched(),b()?d():null===e.hours||""===e.hours?i(!0):!e.invalidHours&&e.hours<10&&e.$apply(function(){e.hours=u(e.hours,!T)})}),e.updateMinutes=function(){var e=s(),t=l();k.$setDirty(),angular.isDefined(e)&&angular.isDefined(t)?($.setHours(t),$.setMinutes(e),S>$||$>C?i(void 0,!0):c("m")):i(void 0,!0)},n.on("blur",function(){k.$setTouched(),b()?d():null===e.minutes?i(void 0,!0):!e.invalidMinutes&&e.minutes<10&&e.$apply(function(){e.minutes=u(e.minutes)})}),e.updateSeconds=function(){var e=p();k.$setDirty(),angular.isDefined(e)?($.setSeconds(e),c("s")):i(void 0,void 0,!0)},o.on("blur",function(){b()?d():!e.invalidSeconds&&e.seconds<10&&e.$apply(function(){e.seconds=u(e.seconds)})})},this.render=function(){var t=k.$viewValue;isNaN(t)?(k.$setValidity("time",!1),i.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(t&&($=t),S>$||$>C?(k.$setValidity("time",!1),e.invalidHours=!0,e.invalidMinutes=!0):d(),h())},e.showSpinners=angular.isDefined(n.showSpinners)?e.$parent.$eval(n.showSpinners):r.showSpinners,e.incrementHours=function(){e.noIncrementHours()||m(60*x*60)},e.decrementHours=function(){e.noDecrementHours()||m(60*-x*60)},e.incrementMinutes=function(){e.noIncrementMinutes()||m(60*O)},e.decrementMinutes=function(){e.noDecrementMinutes()||m(60*-O)},e.incrementSeconds=function(){e.noIncrementSeconds()||m(I)},e.decrementSeconds=function(){e.noDecrementSeconds()||m(-I)},e.toggleMeridian=function(){var t=s(),n=l();e.noToggleMeridian()||(angular.isDefined(t)&&angular.isDefined(n)?m(720*($.getHours()<12?60:-60)):e.meridian=e.meridian===M[0]?M[1]:M[0])},e.blur=function(){k.$setTouched()},e.$on("$destroy",function(){for(;D.length;)D.shift()()})}]).directive("uibTimepicker",["uibTimepickerConfig",function(e){return{require:["uibTimepicker","?^ngModel"],restrict:"A",controller:"UibTimepickerController",controllerAs:"timepicker",scope:{},templateUrl:function(t,n){return n.templateUrl||e.templateUrl},link:function(e,t,n,o){var i=o[0],a=o[1];a&&i.init(a,t.find("input"))}}}]),angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker","ui.bootstrap.position"]).value("$datepickerPopupLiteralWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepickerPopup/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","$datepickerPopupLiteralWarning",function(e,t,n,o,i,a,r,l,s,p,u,c,d,h,m,f){function g(t){var n=c.parse(t,k,e.date);if(isNaN(n))for(var o=0;o<N.length;o++)if(n=c.parse(t,N[o],e.date),!isNaN(n))return n;return n}function b(e){if(angular.isNumber(e)&&(e=new Date(e)),!e)return null;if(angular.isDate(e)&&!isNaN(e))return e;if(angular.isString(e)){var t=g(e);if(!isNaN(t))return c.toTimezone(t,P.getOption("timezone"))}return P.getOption("allowInvalid")?e:void 0}function v(e,t){var o=e||t;return n.ngRequired||o?(angular.isNumber(o)&&(o=new Date(o)),o?angular.isDate(o)&&!isNaN(o)?!0:angular.isString(o)?!isNaN(g(o)):!1:!0):!0}function y(n){if(e.isOpen||!e.disabled){var o=F[0],i=t[0].contains(n.target),a=void 0!==o.contains&&o.contains(n.target);!e.isOpen||i||a||e.$apply(function(){e.isOpen=!1})}}function w(n){27===n.which&&e.isOpen?(n.preventDefault(),n.stopPropagation(),e.$apply(function(){e.isOpen=!1}),t[0].focus()):40!==n.which||e.isOpen||(n.preventDefault(),n.stopPropagation(),e.$apply(function(){e.isOpen=!0}))}function $(){if(e.isOpen){var o=angular.element(F[0].querySelector(".uib-datepicker-popup")),i=n.popupPlacement?n.popupPlacement:d.placement,a=p.positionElements(t,o,i,T);o.css({top:a.top+"px",left:a.left+"px"}),o.hasClass("uib-position-measure")&&o.removeClass("uib-position-measure")}}function D(e){var t;return angular.version.minor<6?(t=angular.isObject(e.$options)?e.$options:{timezone:null},t.getOption=function(e){return t[e]}):t=e.$options,t}var k,M,T,x,O,S,C,E,I,A,P,F,N,H=!1,U=[];this.init=function(i){if(A=i,P=D(A),M=angular.isDefined(n.closeOnDateSelection)?e.$parent.$eval(n.closeOnDateSelection):d.closeOnDateSelection,T=angular.isDefined(n.datepickerAppendToBody)?e.$parent.$eval(n.datepickerAppendToBody):d.appendToBody,x=angular.isDefined(n.onOpenFocus)?e.$parent.$eval(n.onOpenFocus):d.onOpenFocus,O=angular.isDefined(n.datepickerPopupTemplateUrl)?n.datepickerPopupTemplateUrl:d.datepickerPopupTemplateUrl,S=angular.isDefined(n.datepickerTemplateUrl)?n.datepickerTemplateUrl:d.datepickerTemplateUrl,N=angular.isDefined(n.altInputFormats)?e.$parent.$eval(n.altInputFormats):d.altInputFormats,e.showButtonBar=angular.isDefined(n.showButtonBar)?e.$parent.$eval(n.showButtonBar):d.showButtonBar,d.html5Types[n.type]?(k=d.html5Types[n.type],H=!0):(k=n.uibDatepickerPopup||d.datepickerPopup,n.$observe("uibDatepickerPopup",function(e){var t=e||d.datepickerPopup;if(t!==k&&(k=t,A.$modelValue=null,!k))throw new Error("uibDatepickerPopup must have a date format specified.")})),!k)throw new Error("uibDatepickerPopup must have a date format specified.");if(H&&n.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");C=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),C.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":O}),E=angular.element(C.children()[0]),E.attr("template-url",S),e.datepickerOptions||(e.datepickerOptions={}),H&&"month"===n.type&&(e.datepickerOptions.datepickerMode="month",e.datepickerOptions.minMode="month"),E.attr("datepicker-options","datepickerOptions"),H?A.$formatters.push(function(t){return e.date=c.fromTimezone(t,P.getOption("timezone")),t}):(A.$$parserName="date",A.$validators.date=v,A.$parsers.unshift(b),A.$formatters.push(function(t){return A.$isEmpty(t)?(e.date=t,t):(angular.isNumber(t)&&(t=new Date(t)),e.date=c.fromTimezone(t,P.getOption("timezone")),c.filter(e.date,k))})),A.$viewChangeListeners.push(function(){e.date=g(A.$viewValue)}),t.on("keydown",w),F=o(C)(e),C.remove(),T?l.find("body").append(F):t.after(F),e.$on("$destroy",function(){for(e.isOpen===!0&&(s.$$phase||e.$apply(function(){e.isOpen=!1})),F.remove(),t.off("keydown",w),l.off("click",y),I&&I.off("scroll",$),angular.element(r).off("resize",$);U.length;)U.shift()()})},e.getText=function(t){return e[t+"Text"]||d[t+"Text"]},e.isDisabled=function(t){"today"===t&&(t=c.fromTimezone(new Date,P.getOption("timezone")));var n={};return angular.forEach(["minDate","maxDate"],function(t){e.datepickerOptions[t]?angular.isDate(e.datepickerOptions[t])?n[t]=new Date(e.datepickerOptions[t]):(f&&i.warn("Literal date support has been deprecated, please switch to date object usage"),n[t]=new Date(u(e.datepickerOptions[t],"medium"))):n[t]=null}),e.datepickerOptions&&n.minDate&&e.compare(t,n.minDate)<0||n.maxDate&&e.compare(t,n.maxDate)>0},e.compare=function(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())},e.dateSelection=function(n){e.date=n;var o=e.date?c.filter(e.date,k):null;t.val(o),A.$setViewValue(o),M&&(e.isOpen=!1,t[0].focus())},e.keydown=function(n){27===n.which&&(n.stopPropagation(),e.isOpen=!1,t[0].focus())},e.select=function(t,n){if(n.stopPropagation(),"today"===t){var o=new Date;angular.isDate(e.date)?(t=new Date(e.date),t.setFullYear(o.getFullYear(),o.getMonth(),o.getDate())):(t=c.fromTimezone(o,P.getOption("timezone")),t.setHours(0,0,0,0))}e.dateSelection(t)},e.close=function(n){n.stopPropagation(),e.isOpen=!1,t[0].focus()},e.disabled=angular.isDefined(n.disabled)||!1,n.ngDisabled&&U.push(e.$parent.$watch(a(n.ngDisabled),function(t){e.disabled=t})),e.$watch("isOpen",function(o){o?e.disabled?e.isOpen=!1:h(function(){$(),x&&e.$broadcast("uib:datepicker.focus"),l.on("click",y);var o=n.popupPlacement?n.popupPlacement:d.placement;T||p.parsePlacement(o)[2]?(I=I||angular.element(p.scrollParent(t)),I&&I.on("scroll",$)):I=null,angular.element(r).on("resize",$)},0,!1):(l.off("click",y),I&&I.off("scroll",$),angular.element(r).off("resize",$))}),e.$on("uib:datepicker.mode",function(){h($,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(e,t,n,o){var i=o[0],a=o[1];a.init(i)}}}).directive("uibDatepickerPopupWrap",function(){return{restrict:"A",transclude:!0,templateUrl:function(e,t){return t.templateUrl||"uib/template/datepickerPopup/popup.html"}}}),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass"]).value("$datepickerSuppressError",!1).value("$datepickerLiteralWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",monthColumns:3,ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$element","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerLiteralWarning","$datepickerSuppressError","uibDateParser",function(e,t,n,o,i,a,r,l,s,p,u,c){function d(t){e.datepickerMode=t,e.datepickerOptions.datepickerMode=t}function h(t){var n;if(angular.version.minor<6)n=t.$options||e.datepickerOptions.ngModelOptions||s.ngModelOptions||{},n.getOption=function(e){return n[e]};else{var o=t.$options.getOption("timezone")||(e.datepickerOptions.ngModelOptions?e.datepickerOptions.ngModelOptions.timezone:null)||(s.ngModelOptions?s.ngModelOptions.timezone:null);n=t.$options.createChild(s.ngModelOptions).createChild(e.datepickerOptions.ngModelOptions).createChild(t.$options).createChild({timezone:o})}return n}var m=this,f={$setViewValue:angular.noop},g={},b=[];t.addClass("uib-datepicker"),n.$set("role","application"),e.datepickerOptions||(e.datepickerOptions={}),this.modes=["day","month","year"],["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","maxDate","maxMode","minDate","minMode","monthColumns","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(t){switch(t){case"customClass":case"dateDisabled":e[t]=e.datepickerOptions[t]||angular.noop;break;case"datepickerMode":e.datepickerMode=angular.isDefined(e.datepickerOptions.datepickerMode)?e.datepickerOptions.datepickerMode:s.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":m[t]=angular.isDefined(e.datepickerOptions[t])?i(e.datepickerOptions[t])(e.$parent):s[t];break;case"monthColumns":case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":m[t]=angular.isDefined(e.datepickerOptions[t])?e.datepickerOptions[t]:s[t];break;case"startingDay":m.startingDay=angular.isDefined(e.datepickerOptions.startingDay)?e.datepickerOptions.startingDay:angular.isNumber(s.startingDay)?s.startingDay:(a.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":e.$watch("datepickerOptions."+t,function(e){e?angular.isDate(e)?m[t]=c.fromTimezone(new Date(e),g.getOption("timezone")):(p&&r.warn("Literal date support has been deprecated, please switch to date object usage"),m[t]=new Date(l(e,"medium"))):m[t]=s[t]?c.fromTimezone(new Date(s[t]),g.getOption("timezone")):null,m.refreshView()});break;case"maxMode":case"minMode":e.datepickerOptions[t]?e.$watch(function(){return e.datepickerOptions[t]},function(n){m[t]=e[t]=angular.isDefined(n)?n:e.datepickerOptions[t],("minMode"===t&&m.modes.indexOf(e.datepickerOptions.datepickerMode)<m.modes.indexOf(m[t])||"maxMode"===t&&m.modes.indexOf(e.datepickerOptions.datepickerMode)>m.modes.indexOf(m[t]))&&(e.datepickerMode=m[t],e.datepickerOptions.datepickerMode=m[t])}):m[t]=e[t]=s[t]||null}}),e.uniqueId="datepicker-"+e.$id+"-"+Math.floor(1e4*Math.random()),e.disabled=angular.isDefined(n.disabled)||!1,angular.isDefined(n.ngDisabled)&&b.push(e.$parent.$watch(n.ngDisabled,function(t){e.disabled=t,m.refreshView()})),e.isActive=function(t){return 0===m.compare(t.date,m.activeDate)?(e.activeDateId=t.uid,!0):!1},this.init=function(t){f=t,g=h(f),e.datepickerOptions.initDate?(m.activeDate=c.fromTimezone(e.datepickerOptions.initDate,g.getOption("timezone"))||new Date,e.$watch("datepickerOptions.initDate",function(e){e&&(f.$isEmpty(f.$modelValue)||f.$invalid)&&(m.activeDate=c.fromTimezone(e,g.getOption("timezone")),m.refreshView())})):m.activeDate=new Date;var n=f.$modelValue?new Date(f.$modelValue):new Date;this.activeDate=isNaN(n)?c.fromTimezone(new Date,g.getOption("timezone")):c.fromTimezone(n,g.getOption("timezone")),f.$render=function(){m.render()}},this.render=function(){if(f.$viewValue){var e=new Date(f.$viewValue),t=!isNaN(e);t?this.activeDate=c.fromTimezone(e,g.getOption("timezone")):u||r.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){e.selectedDt=null,this._refreshView(),e.activeDt&&(e.activeDateId=e.activeDt.uid);var t=f.$viewValue?new Date(f.$viewValue):null;t=c.fromTimezone(t,g.getOption("timezone")),f.$setValidity("dateDisabled",!t||this.element&&!this.isDisabled(t))}},this.createDateObject=function(t,n){var o=f.$viewValue?new Date(f.$viewValue):null;o=c.fromTimezone(o,g.getOption("timezone"));var i=new Date;i=c.fromTimezone(i,g.getOption("timezone"));var a=this.compare(t,i),r={date:t,label:c.filter(t,n),selected:o&&0===this.compare(t,o),disabled:this.isDisabled(t),past:0>a,current:0===a,future:a>0,customClass:this.customClass(t)||null};return o&&0===this.compare(t,o)&&(e.selectedDt=r),m.activeDate&&0===this.compare(r.date,m.activeDate)&&(e.activeDt=r),r},this.isDisabled=function(t){return e.disabled||this.minDate&&this.compare(t,this.minDate)<0||this.maxDate&&this.compare(t,this.maxDate)>0||e.dateDisabled&&e.dateDisabled({date:t,mode:e.datepickerMode})},this.customClass=function(t){return e.customClass({date:t,mode:e.datepickerMode})},this.split=function(e,t){for(var n=[];e.length>0;)n.push(e.splice(0,t));return n},e.select=function(t){if(e.datepickerMode===m.minMode){var n=f.$viewValue?c.fromTimezone(new Date(f.$viewValue),g.getOption("timezone")):new Date(0,0,0,0,0,0,0);n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n=c.toTimezone(n,g.getOption("timezone")),f.$setViewValue(n),f.$render()}else m.activeDate=t,d(m.modes[m.modes.indexOf(e.datepickerMode)-1]),e.$emit("uib:datepicker.mode");e.$broadcast("uib:datepicker.focus")},e.move=function(e){var t=m.activeDate.getFullYear()+e*(m.step.years||0),n=m.activeDate.getMonth()+e*(m.step.months||0);m.activeDate.setFullYear(t,n,1),m.refreshView()},e.toggleMode=function(t){t=t||1,e.datepickerMode===m.maxMode&&1===t||e.datepickerMode===m.minMode&&-1===t||(d(m.modes[m.modes.indexOf(e.datepickerMode)+t]),e.$emit("uib:datepicker.mode"))},e.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var v=function(){m.element[0].focus()};e.$on("uib:datepicker.focus",v),e.keydown=function(t){var n=e.keys[t.which];if(n&&!t.shiftKey&&!t.altKey&&!e.disabled)if(t.preventDefault(),m.shortcutPropagation||t.stopPropagation(),"enter"===n||"space"===n){if(m.isDisabled(m.activeDate))return;e.select(m.activeDate)}else!t.ctrlKey||"up"!==n&&"down"!==n?(m.handleKeyDown(n,t),m.refreshView()):e.toggleMode("up"===n?1:-1)},t.on("keydown",function(t){e.$apply(function(){e.keydown(t)})}),e.$on("$destroy",function(){for(;b.length;)b.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(e,t,n){function o(e,t){return 1!==t||e%4!==0||e%100===0&&e%400!==0?a[t]:29}function i(e){var t=new Date(e);t.setDate(t.getDate()+4-(t.getDay()||7));var n=t.getTime();return t.setMonth(0),t.setDate(1),Math.floor(Math.round((n-t)/864e5)/7)+1}var a=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=t,this.init=function(t){angular.extend(t,this),e.showWeeks=t.showWeeks,t.refreshView()},this.getDates=function(e,t){for(var n,o=new Array(t),i=new Date(e),a=0;t>a;)n=new Date(i),o[a++]=n,i.setDate(i.getDate()+1);return o},this._refreshView=function(){var t=this.activeDate.getFullYear(),o=this.activeDate.getMonth(),a=new Date(this.activeDate);a.setFullYear(t,o,1);var r=this.startingDay-a.getDay(),l=r>0?7-r:-r,s=new Date(a);l>0&&s.setDate(-l+1);for(var p=this.getDates(s,42),u=0;42>u;u++)p[u]=angular.extend(this.createDateObject(p[u],this.formatDay),{secondary:p[u].getMonth()!==o,uid:e.uniqueId+"-"+u});e.labels=new Array(7);for(var c=0;7>c;c++)e.labels[c]={abbr:n(p[c].date,this.formatDayHeader),full:n(p[c].date,"EEEE")};if(e.title=n(this.activeDate,this.formatDayTitle),e.rows=this.split(p,7),e.showWeeks){e.weekNumbers=[];for(var d=(11-this.startingDay)%7,h=e.rows.length,m=0;h>m;m++)e.weekNumbers.push(i(e.rows[m][d].date))}},this.compare=function(e,t){var n=new Date(e.getFullYear(),e.getMonth(),e.getDate()),o=new Date(t.getFullYear(),t.getMonth(),t.getDate());return n.setFullYear(e.getFullYear()),o.setFullYear(t.getFullYear()),n-o},this.handleKeyDown=function(e){var t=this.activeDate.getDate();if("left"===e)t-=1;else if("up"===e)t-=7;else if("right"===e)t+=1;else if("down"===e)t+=7;else if("pageup"===e||"pagedown"===e){var n=this.activeDate.getMonth()+("pageup"===e?-1:1);this.activeDate.setMonth(n,1),t=Math.min(o(this.activeDate.getFullYear(),this.activeDate.getMonth()),t)}else"home"===e?t=1:"end"===e&&(t=o(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(t)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(e,t,n){this.step={years:1},this.element=t,this.init=function(e){angular.extend(e,this),e.refreshView()},this._refreshView=function(){for(var t,o=new Array(12),i=this.activeDate.getFullYear(),a=0;12>a;a++)t=new Date(this.activeDate),t.setFullYear(i,a,1),o[a]=angular.extend(this.createDateObject(t,this.formatMonth),{uid:e.uniqueId+"-"+a});e.title=n(this.activeDate,this.formatMonthTitle),e.rows=this.split(o,this.monthColumns),e.yearHeaderColspan=this.monthColumns>3?this.monthColumns-2:1},this.compare=function(e,t){var n=new Date(e.getFullYear(),e.getMonth()),o=new Date(t.getFullYear(),t.getMonth());return n.setFullYear(e.getFullYear()),o.setFullYear(t.getFullYear()),n-o},this.handleKeyDown=function(e){var t=this.activeDate.getMonth();if("left"===e)t-=1;else if("up"===e)t-=this.monthColumns;else if("right"===e)t+=1;else if("down"===e)t+=this.monthColumns;else if("pageup"===e||"pagedown"===e){var n=this.activeDate.getFullYear()+("pageup"===e?-1:1);this.activeDate.setFullYear(n)}else"home"===e?t=0:"end"===e&&(t=11);this.activeDate.setMonth(t)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(e,t){function n(e){return parseInt((e-1)/i,10)*i+1}var o,i;this.element=t,this.yearpickerInit=function(){o=this.yearColumns,i=this.yearRows*o,this.step={years:i}},this._refreshView=function(){for(var t,a=new Array(i),r=0,l=n(this.activeDate.getFullYear());i>r;r++)t=new Date(this.activeDate),t.setFullYear(l+r,0,1),a[r]=angular.extend(this.createDateObject(t,this.formatYear),{uid:e.uniqueId+"-"+r});e.title=[a[0].label,a[i-1].label].join(" - "),e.rows=this.split(a,o),e.columns=o},this.compare=function(e,t){return e.getFullYear()-t.getFullYear()},this.handleKeyDown=function(e){var t=this.activeDate.getFullYear();"left"===e?t-=1:"up"===e?t-=o:"right"===e?t+=1:"down"===e?t+=o:"pageup"===e||"pagedown"===e?t+=("pageup"===e?-1:1)*i:"home"===e?t=n(this.activeDate.getFullYear()):"end"===e&&(t=n(this.activeDate.getFullYear())+i-1),this.activeDate.setFullYear(t)}}]).directive("uibDatepicker",function(){return{templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerOptions:"=?"},require:["uibDatepicker","^ngModel"],restrict:"A",controller:"UibDatepickerController",controllerAs:"datepicker",link:function(e,t,n,o){var i=o[0],a=o[1];i.init(a)}}}).directive("uibDaypicker",function(){return{templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],restrict:"A",controller:"UibDaypickerController",link:function(e,t,n,o){var i=o[0],a=o[1];a.init(i)}}}).directive("uibMonthpicker",function(){return{templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],restrict:"A",controller:"UibMonthpickerController",link:function(e,t,n,o){var i=o[0],a=o[1];a.init(i)}}}).directive("uibYearpicker",function(){return{templateUrl:function(e,t){return t.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],restrict:"A",controller:"UibYearpickerController",link:function(e,t,n,o){var i=o[0];angular.extend(i,o[1]),i.yearpickerInit(),i.refreshView()}}}),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter","filterFilter",function(e,t,n,o,i){function a(e){return i(v,{key:e},!0)[0]}function r(e){var t=[],n=e.split(""),i=e.indexOf("'");if(i>-1){var a=!1;e=e.split("");for(var r=i;r<e.length;r++)a?("'"===e[r]&&(r+1<e.length&&"'"===e[r+1]?(e[r+1]="$",n[r+1]=""):(n[r]="",a=!1)),e[r]="$"):"'"===e[r]&&(e[r]="$",n[r]="",a=!0);e=e.join("")}return angular.forEach(v,function(o){var i=e.indexOf(o.key);if(i>-1){e=e.split(""),n[i]="("+o.regex+")",e[i]="$";for(var a=i+1,r=i+o.key.length;r>a;a++)n[a]="",e[a]="$";e=e.join(""),t.push({index:i,key:o.key,apply:o.apply,matcher:o.regex})}}),{regex:new RegExp("^"+n.join("")+"$"),map:o(t,"index")}}function l(e){for(var t,n,o=[],i=0;i<e.length;)if(angular.isNumber(n)){if("'"===e.charAt(i))(i+1>=e.length||"'"!==e.charAt(i+1))&&(o.push(s(e,n,i)),n=null);else if(i===e.length)for(;n<e.length;)t=p(e,n),o.push(t),n=t.endIdx;i++}else"'"!==e.charAt(i)?(t=p(e,i),o.push(t.parser),i=t.endIdx):(n=i,i++);return o}function s(e,t,n){return function(){return e.substr(t+1,n-t-1)}}function p(e,t){for(var n=e.substr(t),o=0;o<v.length;o++)if(new RegExp("^"+v[o].key).test(n)){var i=v[o];return{endIdx:t+i.key.length,parser:i.formatter}}return{endIdx:t+1,parser:function(){return n.charAt(0)}}}function u(e,t,n){return 1>n?!1:1===t&&n>28?29===n&&(e%4===0&&e%100!==0||e%400===0):3===t||5===t||8===t||10===t?31>n:!0}function c(e){return parseInt(e,10)}function d(e,t){return e&&t?g(e,t):e}function h(e,t){return e&&t?g(e,t,!0):e}function m(e,t){e=e.replace(/:/g,"");var n=Date.parse("Jan 01, 1970 00:00:00 "+e)/6e4;return isNaN(n)?t:n}function f(e,t){return e=new Date(e.getTime()),e.setMinutes(e.getMinutes()+t),e}function g(e,t,n){n=n?-1:1;var o=e.getTimezoneOffset(),i=m(t,o);return f(e,n*(i-o))}var b,v,y=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){b=t.id,this.parsers={},this.formatters={},v=[{key:"yyyy",regex:"\\d{4}",apply:function(e){this.year=+e},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(e){e=+e,this.year=69>e?e+2e3:e+1900},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(e){this.year=+e},formatter:function(e){var t=new Date;return t.setFullYear(Math.abs(e.getFullYear())),n(t,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){var t=e.getMonth();return/^[0-9]$/.test(t)?n(e,"MM"):n(e,"M")}},{key:"MMMM",regex:t.DATETIME_FORMATS.MONTH.join("|"),apply:function(e){this.month=t.DATETIME_FORMATS.MONTH.indexOf(e)},formatter:function(e){return n(e,"MMMM")}},{key:"MMM",regex:t.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(e){this.month=t.DATETIME_FORMATS.SHORTMONTH.indexOf(e)},formatter:function(e){return n(e,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){return n(e,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(e){this.month=e-1},formatter:function(e){return n(e,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){var t=e.getDate();return/^[1-9]$/.test(t)?n(e,"dd"):n(e,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){return n(e,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(e){this.date=+e},formatter:function(e){return n(e,"d")}},{key:"EEEE",regex:t.DATETIME_FORMATS.DAY.join("|"),formatter:function(e){return n(e,"EEEE")}},{key:"EEE",regex:t.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(e){return n(e,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(e){this.hours=+e},formatter:function(e){return n(e,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(e){this.hours=+e 9},formatter:function(e){return n(e,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(e){this.minutes=+e},formatter:function(e){return n(e,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(e){this.minutes=+e},formatter:function(e){return n(e,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(e){this.milliseconds=+e},formatter:function(e){return n(e,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(e){this.seconds=+e},formatter:function(e){return n(e,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(e){this.seconds=+e},formatter:function(e){return n(e,"s")}},{key:"a",regex:t.DATETIME_FORMATS.AMPMS.join("|"),apply:function(e){12===this.hours&&(this.hours=0),"PM"===e&&(this.hours+=12)},formatter:function(e){return n(e,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(e){var t=e.match(/([+-])(\d{2})(\d{2})/),n=t[1],o=t[2],i=t[3];this.hours+=c(n+o),this.minutes+=c(n+i)},formatter:function(e){return n(e,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(e){return n(e,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(e){return n(e,"w")}},{key:"GGGG",regex:t.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(e){return n(e,"GGGG")}},{key:"GGG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"GGG")}},{key:"GG",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"GG")}},{key:"G",regex:t.DATETIME_FORMATS.ERAS.join("|"),formatter:function(e){return n(e,"G")}}],angular.version.major>=1&&angular.version.minor>4&&v.push({key:"LLLL",regex:t.DATETIME_FORMATS.STANDALONEMONTH.join("|"),apply:function(e){this.month=t.DATETIME_FORMATS.STANDALONEMONTH.indexOf(e)},formatter:function(e){return n(e,"LLLL")}})},this.init(),this.getParser=function(e){var t=a(e);return t&&t.apply||null},this.overrideParser=function(e,t){var n=a(e);n&&angular.isFunction(t)&&(this.parsers={},n.apply=t)}.bind(this),this.filter=function(e,n){if(!angular.isDate(e)||isNaN(e)||!n)return"";n=t.DATETIME_FORMATS[n]||n,t.id!==b&&this.init(),this.formatters[n]||(this.formatters[n]=l(n));var o=this.formatters[n];return o.reduce(function(t,n){return t+n(e)},"")},this.parse=function(n,o,i){if(!angular.isString(n)||!o)return n;o=t.DATETIME_FORMATS[o]||o,o=o.replace(y,"\\$&"),t.id!==b&&this.init(),this.parsers[o]||(this.parsers[o]=r(o,"apply"));var a=this.parsers[o],l=a.regex,s=a.map,p=n.match(l),c=!1;if(p&&p.length){var d,h;angular.isDate(i)&&!isNaN(i.getTime())?d={year:i.getFullYear(),month:i.getMonth(),date:i.getDate(),hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds()}:(i&&e.warn("dateparser:","baseDate is not a valid date"),d={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var m=1,f=p.length;f>m;m++){var g=s[m-1];"Z"===g.matcher&&(c=!0),g.apply&&g.apply.call(d,p[m])}var v=c?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,w=c?Date.prototype.setUTCHours:Date.prototype.setHours;return u(d.year,d.month,d.date)&&(!angular.isDate(i)||isNaN(i.getTime())||c?(h=new Date(0),v.call(h,d.year,d.month,d.date),w.call(h,d.hours||0,d.minutes||0,d.seconds||0,d.milliseconds||0)):(h=new Date(i),v.call(h,d.year,d.month,d.date),w.call(h,d.hours,d.minutes,d.seconds,d.milliseconds))),h}},this.toTimezone=d,this.fromTimezone=h,this.timezoneToOffset=m,this.addDateMinutes=f,this.convertTimezoneToLocal=g}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function(e){var t=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,n=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(o,i){function a(e,t){s.push(e),p.push({scope:e,element:t}),m.forEach(function(t){r(t,e)}),e.$on("$destroy",l)}function r(t,o){var i=t.match(n),a=o.$eval(i[1]),r=i[2],l=u[t];if(!l){var s=function(t){var n=null;p.some(function(e){var o=e.scope.$eval(d);return o===t?(n=e,!0):void 0}),l.lastActivated!==n&&(l.lastActivated&&e.removeClass(l.lastActivated.element,a),n&&e.addClass(n.element,a),l.lastActivated=n)};u[t]=l={lastActivated:null,scope:o,watchFn:s,compareWithExp:r,watcher:o.$watch(r,s)}}l.watchFn(o.$eval(r))}function l(e){var t=e.targetScope,n=s.indexOf(t);if(s.splice(n,1),p.splice(n,1),s.length){var o=s[0];angular.forEach(u,function(e){e.scope===t&&(e.watcher=o.$watch(e.compareWithExp,e.watchFn),e.scope=o)})}else u={}}var s=[],p=[],u={},c=i.uibIsClass.match(t),d=c[2],h=c[1],m=h.split(",");return a}}}]),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function(e,t){var n,o,i={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},a={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},r=/(HTML|BODY)/;return{getRawNode:function(e){return e.nodeName?e:e[0]||e},parseStyle:function(e){return e=parseFloat(e),isFinite(e)?e:0},offsetParent:function(n){function o(e){return"static"===(t.getComputedStyle(e).position||"static")}n=this.getRawNode(n);for(var i=n.offsetParent||e[0].documentElement;i&&i!==e[0].documentElement&&o(i);)i=i.offsetParent;return i||e[0].documentElement},scrollbarWidth:function(i){if(i){if(angular.isUndefined(o)){var a=e.find("body");a.addClass("uib-position-body-scrollbar-measure"),o=t.innerWidth-a[0].clientWidth,o=isFinite(o)?o:0,a.removeClass("uib-position-body-scrollbar-measure")}return o}if(angular.isUndefined(n)){var r=angular.element('<div class="uib-position-scrollbar-measure"></div>');e.find("body").append(r),n=r[0].offsetWidth-r[0].clientWidth,n=isFinite(n)?n:0,r.remove()}return n},scrollbarPadding:function(e){e=this.getRawNode(e);var n=t.getComputedStyle(e),o=this.parseStyle(n.paddingRight),i=this.parseStyle(n.paddingBottom),a=this.scrollParent(e,!1,!0),l=this.scrollbarWidth(r.test(a.tagName));return{scrollbarWidth:l,widthOverflow:a.scrollWidth>a.clientWidth,right:o+l,originalRight:o,heightOverflow:a.scrollHeight>a.clientHeight,bottom:i+l,originalBottom:i}},isScrollable:function(e,n){e=this.getRawNode(e);var o=n?i.hidden:i.normal,a=t.getComputedStyle(e);return o.test(a.overflow+a.overflowY+a.overflowX)},scrollParent:function(n,o,a){n=this.getRawNode(n);var r=o?i.hidden:i.normal,l=e[0].documentElement,s=t.getComputedStyle(n);if(a&&r.test(s.overflow+s.overflowY+s.overflowX))return n;var p="absolute"===s.position,u=n.parentElement||l;if(u===l||"fixed"===s.position)return l;for(;u.parentElement&&u!==l;){var c=t.getComputedStyle(u);if(p&&"static"!==c.position&&(p=!1),!p&&r.test(c.overflow+c.overflowY+c.overflowX))break;u=u.parentElement}return u},position:function(n,o){n=this.getRawNode(n);var i=this.offset(n);if(o){var a=t.getComputedStyle(n);i.top-=this.parseStyle(a.marginTop),i.left-=this.parseStyle(a.marginLeft)}var r=this.offsetParent(n),l={top:0,left:0};return r!==e[0].documentElement&&(l=this.offset(r),l.top+=r.clientTop-r.scrollTop,l.left+=r.clientLeft-r.scrollLeft),{width:Math.round(angular.isNumber(i.width)?i.width:n.offsetWidth),height:Math.round(angular.isNumber(i.height)?i.height:n.offsetHeight),top:Math.round(i.top-l.top),left:Math.round(i.left-l.left)}},offset:function(n){n=this.getRawNode(n);var o=n.getBoundingClientRect();return{width:Math.round(angular.isNumber(o.width)?o.width:n.offsetWidth),height:Math.round(angular.isNumber(o.height)?o.height:n.offsetHeight),top:Math.round(o.top+(t.pageYOffset||e[0].documentElement.scrollTop)),left:Math.round(o.left+(t.pageXOffset||e[0].documentElement.scrollLeft))}},viewportOffset:function(n,o,i){n=this.getRawNode(n),i=i!==!1?!0:!1;var a=n.getBoundingClientRect(),r={top:0,left:0,bottom:0,right:0},l=o?e[0].documentElement:this.scrollParent(n),s=l.getBoundingClientRect();if(r.top=s.top+l.clientTop,r.left=s.left+l.clientLeft,l===e[0].documentElement&&(r.top+=t.pageYOffset,r.left+=t.pageXOffset),r.bottom=r.top+l.clientHeight,r.right=r.left+l.clientWidth,i){var p=t.getComputedStyle(l);r.top+=this.parseStyle(p.paddingTop),r.bottom-=this.parseStyle(p.paddingBottom),r.left+=this.parseStyle(p.paddingLeft),r.right-=this.parseStyle(p.paddingRight)}return{top:Math.round(a.top-r.top),bottom:Math.round(r.bottom-a.bottom),left:Math.round(a.left-r.left),right:Math.round(r.right-a.right)}},parsePlacement:function(e){var t=a.auto.test(e);return t&&(e=e.replace(a.auto,"")),e=e.split("-"),e[0]=e[0]||"top",a.primary.test(e[0])||(e[0]="top"),e[1]=e[1]||"center",a.secondary.test(e[1])||(e[1]="center"),e[2]=t?!0:!1,e},positionElements:function(e,n,o,i){e=this.getRawNode(e),n=this.getRawNode(n);var r=angular.isDefined(n.offsetWidth)?n.offsetWidth:n.prop("offsetWidth"),l=angular.isDefined(n.offsetHeight)?n.offsetHeight:n.prop("offsetHeight");o=this.parsePlacement(o);var s=i?this.offset(e):this.position(e),p={top:0,left:0,placement:""};if(o[2]){var u=this.viewportOffset(e,i),c=t.getComputedStyle(n),d={width:r+Math.round(Math.abs(this.parseStyle(c.marginLeft)+this.parseStyle(c.marginRight))),height:l+Math.round(Math.abs(this.parseStyle(c.marginTop)+this.parseStyle(c.marginBottom)))};if(o[0]="top"===o[0]&&d.height>u.top&&d.height<=u.bottom?"bottom":"bottom"===o[0]&&d.height>u.bottom&&d.height<=u.top?"top":"left"===o[0]&&d.width>u.left&&d.width<=u.right?"right":"right"===o[0]&&d.width>u.right&&d.width<=u.left?"left":o[0],o[1]="top"===o[1]&&d.height-s.height>u.bottom&&d.height-s.height<=u.top?"bottom":"bottom"===o[1]&&d.height-s.height>u.top&&d.height-s.height<=u.bottom?"top":"left"===o[1]&&d.width-s.width>u.right&&d.width-s.width<=u.left?"right":"right"===o[1]&&d.width-s.width>u.left&&d.width-s.width<=u.right?"left":o[1],"center"===o[1])if(a.vertical.test(o[0])){var h=s.width/2-r/2;u.left+h<0&&d.width-s.width<=u.right?o[1]="left":u.right+h<0&&d.width-s.width<=u.left&&(o[1]="right")}else{var m=s.height/2-d.height/2;u.top+m<0&&d.height-s.height<=u.bottom?o[1]="top":u.bottom+m<0&&d.height-s.height<=u.top&&(o[1]="bottom")}}switch(o[0]){case"top":p.top=s.top-l;break;case"bottom":p.top=s.top+s.height;break;case"left":p.left=s.left-r;break;case"right":p.left=s.left+s.width}switch(o[1]){case"top":p.top=s.top;break;case"bottom":p.top=s.top+s.height-l;break;case"left":p.left=s.left;break;case"right":p.left=s.left+s.width-r;break;case"center":a.vertical.test(o[0])?p.left=s.left+s.width/2-r/2:p.top=s.top+s.height/2-l/2}return p.top=Math.round(p.top),p.left=Math.round(p.left),p.placement="center"===o[1]?o[0]:o[0]+"-"+o[1],p},adjustTop:function(e,t,n,o){return-1!==e.indexOf("top")&&n!==o?{top:t.top-o+"px"}:void 0},positionArrow:function(e,n){e=this.getRawNode(e);var o=e.querySelector(".tooltip-inner, .popover-inner");if(o){var i=angular.element(o).hasClass("tooltip-inner"),r=e.querySelector(i?".tooltip-arrow":".arrow");if(r){var l={top:"",bottom:"",left:"",right:""};if(n=this.parsePlacement(n),"center"===n[1])return void angular.element(r).css(l);var s="border-"+n[0]+"-width",p=t.getComputedStyle(r)[s],u="border-";u+=a.vertical.test(n[0])?n[0]+"-"+n[1]:n[1]+"-"+n[0],u+="-radius";var c=t.getComputedStyle(i?o:e)[u];switch(n[0]){case"top":l.bottom=i?"0":"-"+p;break;case"bottom":l.top=i?"0":"-"+p;break;case"left":l.right=i?"0":"-"+p;break;case"right":l.left=i?"0":"-"+p}l[n[1]]=c,angular.element(r).css(l)}}}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function(e){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(n){var o=n.match(t);if(!o)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+n+'".');return{itemName:o[3],source:e(o[4]),viewMapper:e(o[2]||o[1]),modelMapper:e(o[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(e,t,n,o,i,a,r,l,s,p,u,c,d){function h(){z.moveInProgress||(z.moveInProgress=!0,z.$digest()),J()}function m(){z.position=I?c.offset(t):c.position(t),z.position.top+=t.prop("offsetHeight")}function f(e){var t;return angular.version.minor<6?(t=e.$options||{},t.getOption=function(e){return t[e]}):t=e.$options,t}var g,b,v=[9,13,27,38,40],y=200,w=e.$eval(n.typeaheadMinLength);w||0===w||(w=1),e.$watch(n.typeaheadMinLength,function(e){w=e||0===e?e:1});var $=e.$eval(n.typeaheadWaitMs)||0,D=e.$eval(n.typeaheadEditable)!==!1;e.$watch(n.typeaheadEditable,function(e){D=e!==!1});var k,M,T=i(n.typeaheadLoading).assign||angular.noop,x=n.typeaheadShouldSelect?i(n.typeaheadShouldSelect):function(e,t){var n=t.$event;return 13===n.which||9===n.which},O=i(n.typeaheadOnSelect),S=angular.isDefined(n.typeaheadSelectOnBlur)?e.$eval(n.typeaheadSelectOnBlur):!1,C=i(n.typeaheadNoResults).assign||angular.noop,E=n.typeaheadInputFormatter?i(n.typeaheadInputFormatter):void 0,I=n.typeaheadAppendToBody?e.$eval(n.typeaheadAppendToBody):!1,A=n.typeaheadAppendTo?e.$eval(n.typeaheadAppendTo):null,P=e.$eval(n.typeaheadFocusFirst)!==!1,F=n.typeaheadSelectOnExact?e.$eval(n.typeaheadSelectOnExact):!1,N=i(n.typeaheadIsOpen).assign||angular.noop,H=e.$eval(n.typeaheadShowHint)||!1,U=i(n.ngModel),V=i(n.ngModel+"($$$p)"),Y=function(t,n){return angular.isFunction(U(e))&&b.getOption("getterSetter")?V(t,{$$$p:n}):U.assign(t,n)},R=d.parse(n.uibTypeahead),z=e.$new(),q=e.$on("$destroy",function(){z.$destroy()});z.$on("$destroy",q);var j="typeahead-"+z.$id+"-"+Math.floor(1e4*Math.random());t.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":j});var W,L;H&&(W=angular.element("<div></div>"),W.css("position","relative"),t.after(W),L=t.clone(),L.attr("placeholder",""),L.attr("tabindex","-1"),L.val(""),L.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),t.css({position:"relative","vertical-align":"top","background-color":"transparent"}),L.attr("id")&&L.removeAttr("id"),W.append(L),L.after(t));var B=angular.element("<div uib-typeahead-popup></div>");B.attr({id:j,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"}),angular.isDefined(n.typeaheadTemplateUrl)&&B.attr("template-url",n.typeaheadTemplateUrl),angular.isDefined(n.typeaheadPopupTemplateUrl)&&B.attr("popup-template-url",n.typeaheadPopupTemplateUrl);var _=function(){H&&L.val("")},G=function(){z.matches=[],z.activeIdx=-1,t.attr("aria-expanded",!1),_()},K=function(e){return j+"-option-"+e};z.$watch("activeIdx",function(e){0>e?t.removeAttr("aria-activedescendant"):t.attr("aria-activedescendant",K(e))});var X=function(e,t){return z.matches.length>t&&e?e.toUpperCase()===z.matches[t].label.toUpperCase():!1},Z=function(n,o){var i={$viewValue:n};T(e,!0),C(e,!1),a.when(R.source(e,i)).then(function(a){var r=n===g.$viewValue;if(r&&k)if(a&&a.length>0){z.activeIdx=P?0:-1,C(e,!1),z.matches.length=0;for(var l=0;l<a.length;l++)i[R.itemName]=a[l],z.matches.push({id:K(l),label:R.viewMapper(z,i),model:a[l]});if(z.query=n,m(),t.attr("aria-expanded",!0),F&&1===z.matches.length&&X(n,0)&&(angular.isNumber(z.debounceUpdate)||angular.isObject(z.debounceUpdate)?u(function(){z.select(0,o)},angular.isNumber(z.debounceUpdate)?z.debounceUpdate:z.debounceUpdate["default"]):z.select(0,o)),H){var s=z.matches[0].label;L.val(angular.isString(n)&&n.length>0&&s.slice(0,n.length).toUpperCase()===n.toUpperCase()?n+s.slice(n.length):"")}}else G(),C(e,!0);r&&T(e,!1)},function(){G(),T(e,!1),C(e,!0)})};I&&(angular.element(s).on("resize",h),l.find("body").on("scroll",h));var J=u(function(){z.matches.length&&m(),z.moveInProgress=!1},y);z.moveInProgress=!1,z.query=void 0;var Q,et=function(e){Q=r(function(){Z(e)},$)},tt=function(){Q&&r.cancel(Q)};G(),z.assignIsOpen=function(t){N(e,t)},z.select=function(o,i){var a,l,s={};M=!0,s[R.itemName]=l=z.matches[o].model,a=R.modelMapper(e,s),Y(e,a),g.$setValidity("editable",!0),g.$setValidity("parse",!0),O(e,{$item:l,$model:a,$label:R.viewMapper(e,s),$event:i}),G(),z.$eval(n.typeaheadFocusOnSelect)!==!1&&r(function(){t[0].focus()},0,!1)},t.on("keydown",function(t){if(0!==z.matches.length&&-1!==v.indexOf(t.which)){var n=x(e,{$event:t});if(-1===z.activeIdx&&n||9===t.which&&t.shiftKey)return G(),void z.$digest();t.preventDefault();var o;switch(t.which){case 27:t.stopPropagation(),G(),e.$digest();break;case 38:z.activeIdx=(z.activeIdx>0?z.activeIdx:z.matches.length)-1,z.$digest(),o=B[0].querySelectorAll(".uib-typeahead-match")[z.activeIdx],o.parentNode.scrollTop=o.offsetTop;break;case 40:z.activeIdx=(z.activeIdx+1)%z.matches.length,z.$digest(),o=B[0].querySelectorAll(".uib-typeahead-match")[z.activeIdx],o.parentNode.scrollTop=o.offsetTop;break;default:n&&z.$apply(function(){angular.isNumber(z.debounceUpdate)||angular.isObject(z.debounceUpdate)?u(function(){z.select(z.activeIdx,t)},angular.isNumber(z.debounceUpdate)?z.debounceUpdate:z.debounceUpdate["default"]):z.select(z.activeIdx,t)})}}}),t.on("focus",function(e){k=!0,0!==w||g.$viewValue||r(function(){Z(g.$viewValue,e)},0)}),t.on("blur",function(e){S&&z.matches.length&&-1!==z.activeIdx&&!M&&(M=!0,z.$apply(function(){angular.isObject(z.debounceUpdate)&&angular.isNumber(z.debounceUpdate.blur)?u(function(){z.select(z.activeIdx,e)},z.debounceUpdate.blur):z.select(z.activeIdx,e)})),!D&&g.$error.editable&&(g.$setViewValue(),z.$apply(function(){g.$setValidity("editable",!0),g.$setValidity("parse",!0)}),t.val("")),k=!1,M=!1});var nt=function(n){t[0]!==n.target&&3!==n.which&&0!==z.matches.length&&(G(),p.$$phase||e.$digest())};l.on("click",nt),e.$on("$destroy",function(){l.off("click",nt),(I||A)&&ot.remove(),I&&(angular.element(s).off("resize",h),l.find("body").off("scroll",h)),B.remove(),H&&W.remove()});var ot=o(B)(z);I?l.find("body").append(ot):A?angular.element(A).eq(0).append(ot):t.after(ot),this.init=function(t){g=t,b=f(g),z.debounceUpdate=i(b.getOption("debounce"))(e),g.$parsers.unshift(function(t){return k=!0,0===w||t&&t.length>=w?$>0?(tt(),et(t)):Z(t):(T(e,!1),tt(),G()),D?t:t?void g.$setValidity("editable",!1):(g.$setValidity("editable",!0),null)}),g.$formatters.push(function(t){var n,o,i={};return D||g.$setValidity("editable",!0),E?(i.$model=t,E(e,i)):(i[R.itemName]=t,n=R.viewMapper(e,i),i[R.itemName]=void 0,o=R.viewMapper(e,i),n!==o?n:t)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","uibTypeahead"],link:function(e,t,n,o){o[1].init(o[0])}}}).directive("uibTypeaheadPopup",["$$debounce",function(e){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(e,t){return t.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(t,n,o){t.templateUrl=o.templateUrl,t.isOpen=function(){var e=t.matches.length>0;return t.assignIsOpen({isOpen:e}),e},t.isActive=function(e){return t.active===e},t.selectActive=function(e){t.active=e},t.selectMatch=function(n,o){var i=t.debounce();angular.isNumber(i)||angular.isObject(i)?e(function(){t.select({activeIdx:n,evt:o})},angular.isNumber(i)?i:i["default"]):t.select({activeIdx:n,evt:o})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function(e,t,n){return{scope:{index:"=",match:"=",query:"="},link:function(o,i,a){var r=n(a.templateUrl)(o.$parent)||"uib/template/typeahead/typeahead-match.html";e(r).then(function(e){var n=angular.element(e.trim());i.replaceWith(n),t(n)(o)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function(e,t,n){function o(e){return e.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function i(e){return/<.*>/g.test(e)}var a;return a=t.has("$sanitize"),function(t,r){return!a&&i(t)&&n.warn("Unsafe use of typeahead please use ngSanitize"),t=r?(""+t).replace(new RegExp(o(r),"gi"),"<strong>$&</strong>"):t,a||(t=e.trustAsHtml(t)),t}}]),angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function(e){return function(t,n){var o;return function(){var i=this,a=Array.prototype.slice.call(arguments);o&&e.cancel(o),o=e(function(){t.apply(i,a)},n)}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function e(e){var t=/[A-Z]/g,n="-";return e.replace(t,function(e,t){return(t?n:"")+e.toLowerCase()})}var t={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},n={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},o={};this.options=function(e){angular.extend(o,e)},this.setTriggers=function(e){angular.extend(n,e)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function(i,a,r,l,s,p,u,c,d){function h(e){if(27===e.which){var t=m.top();t&&(t.value.close(),t=null)}}var m=d.createNew();return l.on("keyup",h),u.$on("$destroy",function(){l.off("keyup",h)}),function(i,u,d,h){function f(e){var t=(e||h.trigger||d).split(" "),o=t.map(function(e){return n[e]||e});return{show:t,hide:o}}h=angular.extend({},t,o,h);var g=e(i),b=p.startSymbol(),v=p.endSymbol(),y="<div "+g+'-popup uib-title="'+b+"title"+v+'" '+(h.useContentExp?'content-exp="contentExp()" ':'content="'+b+"content"+v+'" ')+'origin-scope="origScope" class="uib-position-measure '+u+'" tooltip-animation-class="fade"uib-tooltip-classe
9s ng-class="{ in: isOpen }" ></div>';return{compile:function(){var e=a(y);return function(t,n,o){function a(){R.isOpen?d():p()}function p(){(!Y||t.$eval(o[u+"Enable"]))&&(y(),D(),R.popupDelay?A||(A=r(g,R.popupDelay,!1)):g())}function d(){b(),R.popupCloseDelay?P||(P=r(v,R.popupCloseDelay,!1)):v()}function g(){return b(),y(),R.content?(w(),void R.$evalAsync(function(){R.isOpen=!0,k(!0),L()})):angular.noop}function b(){A&&(r.cancel(A),A=null),F&&(r.cancel(F),F=null)}function v(){R&&R.$evalAsync(function(){R&&(R.isOpen=!1,k(!1),R.animation?I||(I=r($,150,!1)):$())})}function y(){P&&(r.cancel(P),P=null),I&&(r.cancel(I),I=null)}function w(){C||(E=R.$new(),C=e(E,function(e){U?l.find("body").append(e):n.after(e)}),m.add(R,{close:v}),M())}function $(){b(),y(),T(),C&&(C.remove(),C=null,N&&r.cancel(N)),m.remove(R),E&&(E.$destroy(),E=null)}function D(){R.title=o[u+"Title"],R.content=j?j(t):o[i],R.popupClass=o[u+"Class"],R.placement=angular.isDefined(o[u+"Placement"])?o[u+"Placement"]:h.placement;var e=s.parsePlacement(R.placement);H=e[1]?e[0]+"-"+e[1]:e[0];var n=parseInt(o[u+"PopupDelay"],10),a=parseInt(o[u+"PopupCloseDelay"],10);R.popupDelay=isNaN(n)?h.popupDelay:n,R.popupCloseDelay=isNaN(a)?h.popupCloseDelay:a}function k(e){q&&angular.isFunction(q.assign)&&q.assign(t,e)}function M(){W.length=0,j?(W.push(t.$watch(j,function(e){R.content=e,!e&&R.isOpen&&v()})),W.push(E.$watch(function(){z||(z=!0,E.$$postDigest(function(){z=!1,R&&R.isOpen&&L()}))}))):W.push(o.$observe(i,function(e){R.content=e,!e&&R.isOpen?v():L()})),W.push(o.$observe(u+"Title",function(e){R.title=e,R.isOpen&&L()})),W.push(o.$observe(u+"Placement",function(e){R.placement=e?e:h.placement,R.isOpen&&L()}))}function T(){W.length&&(angular.forEach(W,function(e){e()}),W.length=0)}function x(e){R&&R.isOpen&&C&&(n[0].contains(e.target)||C[0].contains(e.target)||d())}function O(e){27===e.which&&d()}function S(){var e=[],i=[],r=t.$eval(o[u+"Trigger"]);B(),angular.isObject(r)?(Object.keys(r).forEach(function(t){e.push(t),i.push(r[t])}),V={show:e,hide:i}):V=f(r),"none"!==V.show&&V.show.forEach(function(e,t){"outsideClick"===e?(n.on("click",a),l.on("click",x)):e===V.hide[t]?n.on(e,a):e&&(n.on(e,p),n.on(V.hide[t],d)),n.on("keypress",O)})}var C,E,I,A,P,F,N,H,U=angular.isDefined(h.appendToBody)?h.appendToBody:!1,V=f(void 0),Y=angular.isDefined(o[u+"Enable"]),R=t.$new(!0),z=!1,q=angular.isDefined(o[u+"IsOpen"])?c(o[u+"IsOpen"]):!1,j=h.useContentExp?c(o[i]):!1,W=[],L=function(){C&&C.html()&&(F||(F=r(function(){var e=s.positionElements(n,C,R.placement,U),t=angular.isDefined(C.offsetHeight)?C.offsetHeight:C.prop("offsetHeight"),o=U?s.offset(n):s.position(n);C.css({top:e.top+"px",left:e.left+"px"});var i=e.placement.split("-");C.hasClass(i[0])||(C.removeClass(H.split("-")[0]),C.addClass(i[0])),C.hasClass(h.placementClassPrefix+e.placement)||(C.removeClass(h.placementClassPrefix+H),C.addClass(h.placementClassPrefix+e.placement)),N=r(function(){var e=angular.isDefined(C.offsetHeight)?C.offsetHeight:C.prop("offsetHeight"),n=s.adjustTop(i,o,t,e);n&&C.css(n),N=null},0,!1),C.hasClass("uib-position-measure")?(s.positionArrow(C,e.placement),C.removeClass("uib-position-measure")):H!==e.placement&&s.positionArrow(C,e.placement),H=e.placement,F=null},0,!1)))};R.origScope=t,R.isOpen=!1,R.contentExp=function(){return R.content},o.$observe("disabled",function(e){e&&b(),e&&R.isOpen&&v()}),q&&t.$watch(q,function(e){R&&!e===R.isOpen&&a()});var B=function(){V.show.forEach(function(e){"outsideClick"===e?n.off("click",a):(n.off(e,p),n.off(e,a)),n.off("keypress",O)}),V.hide.forEach(function(e){"outsideClick"===e?l.off("click",x):n.off(e,d)})};S();var _=t.$eval(o[u+"Animation"]);R.animation=angular.isDefined(_)?!!_:h.animation;var G,K=u+"AppendToBody";G=K in o&&void 0===o[K]?!0:t.$eval(o[K]),U=angular.isDefined(G)?G:U,t.$on("$destroy",function(){B(),$(),R=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function(e,t,n,o){return{link:function(i,a,r){var l,s,p,u=i.$eval(r.tooltipTemplateTranscludeScope),c=0,d=function(){s&&(s.remove(),s=null),l&&(l.$destroy(),l=null),p&&(e.leave(p).then(function(){s=null}),s=p,p=null)};i.$watch(t.parseAsResourceUrl(r.uibTooltipTemplateTransclude),function(t){var r=++c;
vendor: 7,571 bytes, lines 9-10
9t?(o(t,!0).then(function(o){if(r===c){var i=u.$new(),s=o,h=n(s)(i,function(t){d(),e.enter(t,a)});l=i,p=h,l.$emit("$includeContentLoaded",t)}},function(){r===c&&(d(),i.$emit("$includeContentError",t))}),i.$emit("$includeContentRequested",t)):d()}),i.$on("$destroy",d)}}}]).directive("uibTooltipClasses",["$uibPosition",function(e){return{restrict:"A",link:function(t,n,o){if(t.placement){var i=e.parsePlacement(t.placement);n.addClass(i[0])}t.popupClass&&n.addClass(t.popupClass),t.animation&&n.addClass(o.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{restrict:"A",scope:{content:"@"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function(e){return e("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{restrict:"A",scope:{contentExp:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function(e){return e("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{restrict:"A",scope:{contentExp:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function(e){return e("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var e=[];return{add:function(t,n){e.push({key:t,value:n})},get:function(t){for(var n=0;n<e.length;n++)if(t===e[n].key)return e[n]},keys:function(){for(var t=[],n=0;n<e.length;n++)t.push(e[n].key);return t},top:function(){return e[e.length-1]},remove:function(t){for(var n=-1,o=0;o<e.length;o++)if(t===e[o].key){n=o;break}return e.splice(n,1)[0]},removeTop:function(){return e.pop()},length:function(){return e.length}}}}}),angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function(e){e.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n <tbody>\n <tr class="text-center" ng-show="::showSpinners">\n <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td> </td>\n <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showSeconds"> </td>\n <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n <tr>\n <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n </td>\n <td class="uib-separator">:</td>\n <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n </td>\n <td ng-show="showSeconds" class="uib-separator">:</td>\n <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n </td>\n <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n </tr>\n <tr class="text-center" ng-show="::showSpinners">\n <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td> </td>\n <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showSeconds"> </td>\n <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n <td ng-show="showMeridian"></td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepickerPopup/popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepickerPopup/popup.html",'<ul role="presentation" class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n <li ng-transclude></li>\n <li ng-if="showButtonBar" class="uib-button-bar">\n <span class="btn-group pull-left">\n <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n </span>\n <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n </li>\n</ul>\n') 10}]),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/datepicker.html",'<div ng-switch="datepickerMode">\n <div uib-daypicker ng-switch-when="day" tabindex="0" class="uib-daypicker"></div>\n <div uib-monthpicker ng-switch-when="month" tabindex="0" class="uib-monthpicker"></div>\n <div uib-yearpicker ng-switch-when="year" tabindex="0" class="uib-yearpicker"></div>\n</div>\n')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/day.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === max
10Mode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n </tr>\n <tr>\n <th ng-if="showWeeks" class="text-center"></th>\n <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-weeks" ng-repeat="row in rows track by $index" role="row">\n <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default btn-sm"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/month.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::yearHeaderColspan}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></i></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-months" ng-repeat="row in rows track by $index" role="row">\n <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function(e){e.put("uib/template/datepicker/year.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n <thead>\n <tr>\n <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n </tr>\n </thead>\n <tbody>\n <tr class="uib-years" ng-repeat="row in rows track by $index" role="row">\n <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n id="{{::dt.uid}}"\n ng-class="::dt.customClass">\n <button type="button" class="btn btn-default"\n uib-is-class="\n \'btn-info\' for selectedDt,\n \'active\' for activeDt\n on dt"\n ng-click="select(dt.date)"\
10n ng-disabled="::dt.disabled"\n tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n </td>\n </tr>\n </tbody>\n</table>\n')}]),angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(e){e.put("uib/template/typeahead/typeahead-match.html",'<a href\n tabindex="-1"\n ng-bind-html="match.label | uibTypeaheadHighlight:query"\n ng-attr-title="{{match.label}}"></a>\n')}]),angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n </li>\n</ul>\n')}]),angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind="content"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function(e){e.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner"\n uib-tooltip-template-transclude="contentExp()"\n tooltip-template-transclude-scope="originScope()"></div>\n')}]),angular.module("ui.bootstrap.timepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTimepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-time input{width:50px;}</style>'),angular.$$uibTimepickerCss=!0}),angular.module("ui.bootstrap.datepickerPopup").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerpopupCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'),angular.$$uibDatepickerpopupCss=!0}),angular.module("ui.bootstrap.datepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}</style>'),angular.$$uibDatepickerCss=!0}),angular.module("ui.bootstrap.position").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style>'),angular.$$uibPositionCss=!0}),angular.module("ui.bootstrap.typeahead").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTypeaheadCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'),angular.$$uibTypeaheadCss=!0}),angular.module("ui.bootstrap.tooltip").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTooltipCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'),angular.$$uibTooltipCss=!0});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.