/*!
 * Angular Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.0.5-master-f171fd2
 */
!function(e,t,i){"use strict";function n(e,i,n,a,r,o,s,d,l){function u(e,t){return t.tabindex||e.attr("tabindex",0),e.attr("role","slider"),n.expect(e,"aria-label"),c}function c(n,d,u,c){function m(){g(),x(),h()}function f(e){j=parseFloat(e),d.attr("aria-valuemin",e),m()}function v(e){H=parseFloat(e),d.attr("aria-valuemax",e),m()}function p(e){I=parseFloat(e),h()}function $(){d.attr("aria-disabled",!!O)}function h(){if(t.isDefined(u.mdDiscrete)&&!t.isUndefined(I)){if(0>=I){var e="Slider step value must be greater than zero when in discrete mode";throw l.error(e),new Error(e)}var n=Math.floor((H-j)/I);if(!J){J=t.element("<canvas>").css("position","absolute"),U.append(J);var a=i.getComputedStyle(U[0]);Q=J[0].getContext("2d"),Q.fillStyle=a.backgroundColor||"black"}var r=w();J[0].width=r.width,J[0].height=r.height;for(var o,s=0;n>=s;s++)o=Math.floor(r.width*(s/n)),Q.fillRect(o-1,0,2,r.height)}}function g(){X=B[0].getBoundingClientRect()}function w(){return W(),X}function _(e){if(!O){var t;e.keyCode===r.KEY_CODE.LEFT_ARROW?t=-I:e.keyCode===r.KEY_CODE.RIGHT_ARROW&&(t=I),t&&((e.metaKey||e.ctrlKey||e.altKey)&&(t*=4),e.preventDefault(),e.stopPropagation(),n.$evalAsync(function(){b(c.$viewValue+t)}))}}function b(e){c.$setViewValue(y(C(e)))}function x(){isNaN(c.$viewValue)&&(c.$viewValue=c.$modelValue);var e=(c.$viewValue-j)/(H-j);n.modelValue=c.$viewValue,d.attr("aria-valuenow",c.$viewValue),k(e),T.text(c.$viewValue)}function y(e){return t.isNumber(e)?Math.max(j,Math.min(H,e)):void 0}function C(e){if(t.isNumber(e)){var i=Math.round((e-j)/I)*I+j;return Math.round(1e3*i)/1e3}}function k(e){e=F(e);var t=100*e+"%";G.css("width",t),z.css("left",t),d.toggleClass("_md-min",0===e),d.toggleClass("_md-max",1===e)}function V(e){if(!O){d.addClass("_md-active"),d[0].focus(),g();var t=L(K(e.pointer.x)),i=y(C(t));n.$apply(function(){b(i),k(N(i))})}}function M(e){if(!O){d.removeClass("_md-dragging _md-active");var t=L(K(e.pointer.x)),i=y(C(t));n.$apply(function(){b(i),x()})}}function D(e){O||(Z=!0,e.stopPropagation(),d.addClass("_md-dragging"),E(e))}function S(e){Z&&(e.stopPropagation(),E(e))}function A(e){Z&&(e.stopPropagation(),Z=!1)}function E(e){ee?q(e.pointer.x):R(e.pointer.x)}function R(e){n.$evalAsync(function(){b(L(K(e)))})}function q(e){var t=L(K(e)),i=y(C(t));k(K(e)),T.text(i)}function F(e){return Math.max(0,Math.min(e||0,1))}function K(e){return Math.max(0,Math.min(1,(e-X.left)/X.width))}function L(e){return j+e*(H-j)}function N(e){return(e-j)/(H-j)}o(d),c=c||{$setViewValue:function(e){this.$viewValue=e,this.$viewChangeListeners.forEach(function(e){e()})},$parsers:[],$formatters:[],$viewChangeListeners:[]};var O=!1;u.$observe("disabled",function(e){O=a.parseAttributeBoolean(e,!1),$()});var P=t.element(d[0].querySelector("._md-thumb")),T=t.element(d[0].querySelector("._md-thumb-text")),z=P.parent(),B=t.element(d[0].querySelector("._md-track-container")),G=t.element(d[0].querySelector("._md-track-fill")),U=t.element(d[0].querySelector("._md-track-ticks")),W=a.throttle(g,5e3);t.isDefined(u.min)?u.$observe("min",f):f(0),t.isDefined(u.max)?u.$observe("max",v):v(100),t.isDefined(u.step)?u.$observe("step",p):p(1),s.register(d,"drag"),d.on("keydown",_).on("$md.pressdown",V).on("$md.pressup",M).on("$md.dragstart",D).on("$md.drag",S).on("$md.dragend",A),setTimeout(m,0);var Y=e.throttle(m);t.element(i).on("resize",Y),n.$on("$destroy",function(){t.element(i).off("resize",Y)}),c.$render=x,c.$viewChangeListeners.push(x),c.$formatters.push(y),c.$formatters.push(C);var j,H,I,J,Q,X={};g();var Z=!1,ee=t.isDefined(u.mdDiscrete)}return{scope:{},require:"?ngModel",template:'<div class="_md-slider-wrapper"><div class="_md-track-container"><div class="_md-track"></div><div class="_md-track _md-track-fill"></div><div class="_md-track-ticks"></div></div><div class="_md-thumb-container"><div class="_md-thumb"></div><div class="_md-focus-thumb"></div><div class="_md-focus-ring"></div><div class="_md-sign"><span class="_md-thumb-text"></span></div><div class="_md-disabled-thumb"></div></div></div>',compile:u}}t.module("material.components.slider",["material.core"]).directive("mdSlider",n),n.$inject=["$$rAF","$window","$mdAria","$mdUtil","$mdConstant","$mdTheming","$mdGesture","$parse","$log"]}(window,window.angular);