text: /*!
   * Angular Material Design
   * https://github.com/angular/material
   * @license MIT
   * v0.7.0-rc3
   */
  !function(){function t(t){function e(e,n){t(n)}function n(t,e){var n=this;n.element=e,n.setFocused=function(t){e.toggleClass("md-input-focused",!!t)},n.setHasValue=function(t){e.toggleClass("md-input-has-value",!!t)},n.setInvalid=function(t){e.toggleClass("md-input-invalid",!!t)},t.$watch(function(){return n.label&&n.input},function(t){t&&!n.label.attr("for")&&n.label.attr("for",n.input.attr("id"))})}return n.$inject=["$scope","$element","$mdUtil"],{restrict:"E",link:e,controller:n}}function e(){return{restrict:"E",require:"^?mdInputContainer",link:function(t,e,n,i){i&&(i.label=e,t.$on("$destroy",function(){i.label=null}))}}}function n(t,e){function n(t){return t.addClass("md-input"),i}function i(n,i,r,a){function o(t){return l.setHasValue(!c(t)||(i[0].validity||{}).badInput),t}function u(){function r(t){return l(),t}function a(){u.style.height="auto";var t=u.scrollHeight-u.offsetHeight;u.scrollTop=0;var e=u.offsetHeight+(t>0?t:0);u.style.height=e+"px"}function o(){u.scrollTop=0;var t=u.scrollHeight-u.offsetHeight,e=u.offsetHeight+t;u.style.height=e+"px"}var u=i[0],l=t.debounce(a,1);s?(s.$formatters.push(r),s.$viewChangeListeners.push(r)):l(),i.on("keydown input",l),i.on("scroll",o),angular.element(e).on("resize",l),n.$on("$destroy",function(){angular.element(e).off("resize",l)})}var l=a[0],s=a[1];if(l){if(l.input)throw new Error("<md-input-container> can only have *one* <input> or <textarea> child element!");l.input=i,i.attr("id")||i.attr("id","input_"+t.nextUid()),"textarea"===i[0].tagName.toLowerCase()&&u();var c=s?s.$isEmpty:function(){return 0===(""+i.val()).length};s?(n.$watch(function(){return s.$dirty&&s.$invalid},l.setInvalid),s.$formatters.push(o),s.$parsers.push(o)):o(),i.on("input",o),i.on("focus",function(){l.setFocused(!0)}).on("blur",function(){l.setFocused(!1)}),n.$on("$destroy",function(){l.setFocused(!1),l.setHasValue(!1),l.input=null})}}return{restrict:"E",require:["^?mdInputContainer","?ngModel"],compile:n}}function i(){function t(t,e,n,i){function r(t){return l.text(e.val().length+"/"+a),t}var a,o=i[0],u=i[1],l=angular.element('<div class="md-char-counter">');n.$set("ngTrim","false"),u.element.append(l),o.$formatters.push(r),o.$viewChangeListeners.push(r),e.on("input keydown",r),t.$watch(n.mdMaxlength,function(t){a=t,angular.isNumber(t)&&t>0?(l.parent().length||$animate.enter(l,u.element,angular.element(u.element[0].lastElementChild)),r()):$animate.leave(l)}),o.$validators["md-maxlength"]=function(t,n){return!angular.isNumber(a)||0>a?!0:(e.val()||t||n||"").length<=a}}return{restrict:"A",require:["ngModel","^mdInputContainer"],link:t}}angular.module("material.components.input",["material.core"]).directive("mdInputContainer",t).directive("label",e).directive("input",n).directive("textarea",n).directive("mdMaxlength",i),t.$inject=["$mdTheming"],n.$inject=["$mdUtil","$window","$compile","$animate"]}();
  