text: /*!
   * Angular Material Design
   * https://github.com/angular/material
   * @license MIT
   * v1.1.0-rc4-master-f9738f5
   */
  function mdInputContainerDirective(e,n){function t(n,t){e(t);var i=t[0].querySelector(a),r=t[0].querySelector(o);i&&t.addClass("md-icon-left"),r&&t.addClass("md-icon-right")}function i(e,t,i,r){var a=this;a.isErrorGetter=i.mdIsError&&n(i.mdIsError),a.delegateClick=function(){a.input.focus()},a.element=t,a.setFocused=function(e){t.toggleClass("md-input-focused",!!e)},a.setHasValue=function(e){t.toggleClass("md-input-has-value",!!e)},a.setHasPlaceholder=function(e){t.toggleClass("md-input-has-placeholder",!!e)},a.setInvalid=function(e){e?r.addClass(t,"md-input-invalid"):r.removeClass(t,"md-input-invalid")},e.$watch(function(){return a.label&&a.input},function(e){e&&!a.label.attr("for")&&a.label.attr("for",a.input.attr("id"))})}var r=["INPUT","TEXTAREA","SELECT","MD-SELECT"],a=r.reduce(function(e,n){return e.concat(["md-icon ~ "+n,".md-icon ~ "+n])},[]).join(","),o=r.reduce(function(e,n){return e.concat([n+" ~ md-icon",n+" ~ .md-icon"])},[]).join(",");return i.$inject=["$scope","$element","$attrs","$animate"],{restrict:"E",link:t,controller:i}}function labelDirective(){return{restrict:"E",require:"^?mdInputContainer",link:function(e,n,t,i){!i||t.mdNoFloat||n.hasClass("_md-container-ignore")||(i.label=n,e.$on("$destroy",function(){i.label=null}))}}}function inputTextareaDirective(e,n,t,i,r){function a(a,o,s,u){function l(e){return f.setHasValue(!p.$isEmpty(e)),e}function c(){f.label&&s.$observe("required",function(e){f.label.toggleClass("md-required",e&&!h)})}function d(){f.setHasValue(o.val().length>0||(o[0].validity||{}).badInput)}function m(){function t(){o.attr("rows",1).css("height","auto").addClass("md-no-flex");var e=u();if($||($=o.css("padding",0).prop("offsetHeight"),o.css("padding",null)),v&&$&&(e=Math.max(e,$*v)),h&&$){var n=$*h;e>n?(o.attr("md-no-autogrow",""),e=n):o.removeAttr("md-no-autogrow")}$&&o.attr("rows",Math.round(e/$)),o.css("height",e+"px").removeClass("md-no-flex")}function u(){var e=M.offsetHeight,n=M.scrollHeight-e;return e+Math.max(n,0)}function l(n){return e.nextTick(t),n}function c(){if(m&&(m=!1,angular.element(n).off("resize",t),o.attr("md-no-autogrow","").off("input",t),g)){var e=p.$formatters.indexOf(l);e>-1&&p.$formatters.splice(e,1)}}function d(){function e(e){e.preventDefault(),l=!0,d=e.clientY,m=parseFloat(o.css("height"))||o.prop("offsetHeight")}function n(e){l&&(e.preventDefault(),c(),g.addClass("md-input-resized"))}function t(e){l&&o.css("height",m+(e.pointer.y-d)+"px")}function i(e){l&&(l=!1,g.removeClass("md-input-resized"))}if(!s.hasOwnProperty("mdNoResize")){var u=angular.element('<div class="md-resize-handle"></div>'),l=!1,d=null,m=0,g=f.element,p=r.register(u,"drag",{horizontal:!1});o.after(u),u.on("mousedown",e),g.on("$md.dragstart",n).on("$md.drag",t).on("$md.dragend",i),a.$on("$destroy",function(){u.off("mousedown",e).remove(),g.off("$md.dragstart",n).off("$md.drag",t).off("$md.dragend",i),p(),u=null,g=null,p=null})}}var m=!s.hasOwnProperty("mdNoAutogrow");if(d(),m){var v=s.hasOwnProperty("rows")?parseInt(s.rows):NaN,h=s.hasOwnProperty("maxRows")?parseInt(s.maxRows):NaN,$=null,M=o[0];if(i(function(){e.nextTick(t)},10,!1),o.on("input",t),g&&p.$formatters.push(l),v||o.attr("rows",1),angular.element(n).on("resize",t),a.$on("$destroy",c),s.hasOwnProperty("mdDetectHidden")){var C=function(){var e=!1;return function(){var n=0===M.offsetHeight;n===!1&&e===!0&&t(),e=n}}();a.$watch(function(){return e.nextTick(C,!1),!0})}}}var f=u[0],g=!!u[1],p=u[1]||e.fakeNgModel(),v=angular.isDefined(s.readonly),h=e.parseAttributeBoolean(s.mdNoAsterisk);if(f){if("hidden"===s.type)return void o.attr("aria-hidden","true");if(f.input)throw new Error("<md-input-container> can only have *one* <input>, <textarea> or <md-select> child element!");f.input=o,c();var $=angular.element('<div class="md-errors-spacer">');o.after($),f.label||t.expect(o,"aria-label",o.attr("placeholder")),o.addClass("md-input"),o.attr("id")||o.attr("id","input_"+e.nextUid()),"textarea"===o[0].tagName.toLowerCase()&&m(),g||d();var M=f.isErrorGetter||function(){return p.$invalid&&(p.$touched||C())},C=function(){var n=e.getClosest(o,"form"),t=n?angular.element(n).controller("form"):null;return t?t.$submitted:!1};a.$watch(M,f.setInvalid),p.$parsers.push(l),p.$formatters.push(l),o.on("input",d),v||o.on("focus",function(n){e.nextTick(function(){f.setFocused(!0)})}).on("blur",function(n){e.nextTick(function(){f.setFocused(!1),d()})}),a.$on("$destroy",function(){f.setFocused(!1),f.setHasValue(!1),f.input=null})}}return{restrict:"E",require:["^?mdInputContainer","?ngModel"],link:a}}function mdMaxlengthDirective(e,n){function t(t,i,r,a){function o(e){return u.parent?(u.text(String(i.val()||e||"").length+"/"+s),e):e}var s,u,l,c=a[0],d=a[1];n.nextTick(function(){l=angular.element(d.element[0].querySelector(".md-errors-spacer")),u=angular.element('<div class="md-char-counter">'),l.append(u),r.$set("ngTrim","false"),c.$formatters.push(o),c.$viewChangeListeners.push(o),i.on("input keydown keyup",function(){o()}),t.$watch(r.mdMaxlength,function(n){s=n,angular.isNumber(n)&&n>0?(u.parent().length||e.enter(u,l),o()):e.leave(u)}),c.$validators["md-maxlength"]=function(e,n){return!angular.isNumber(s)||0>s?!0:(e||i.val()||n||"").length<=s}})}return{restrict:"A",require:["ngModel","^mdInputContainer"],link:t}}function placeholderDirective(e){function n(e,n,t,i){if(i){var r=i.element.find("label"),a=angular.isDefined(i.element.attr("md-no-float"));if(r&&r.length||a)return void i.setHasPlaceholder(!0);var o=t.placeholder;if(n.removeAttr("placeholder"),i.input&&"MD-SELECT"!=i.input[0].nodeName){var s='<label ng-click="delegateClick()">'+o+"</label>";i.element.addClass("md-icon-float"),i.element.prepend(s)}}}return{restrict:"A",require:"^^?mdInputContainer",priority:200,link:n}}function mdSelectOnFocusDirective(e){function n(n,t,i){function r(){o=!0,e(function(){t[0].select(),o=!1},1,!1)}function a(e){o&&e.preventDefault()}if("INPUT"===t[0].nodeName||"TEXTAREA"===t[0].nodeName){var o=!1;t.on("focus",r).on("mouseup",a),n.$on("$destroy",function(){t.off("focus",r).off("mouseup",a)})}}return{restrict:"A",link:n}}function ngMessagesDirective(){function e(e,t,i,r){r&&(t.toggleClass("md-input-messages-animation",!0),t.toggleClass("md-auto-hide",!0),("false"==i.mdAutoHide||n(i))&&t.toggleClass("md-auto-hide",!1))}function n(e){return visibilityDirectives.some(function(n){return e[n]})}return{restrict:"EA",link:e,require:"^^?mdInputContainer"}}function ngMessageDirective(e){function n(n){function t(){for(var e=n[0];e=e.parentNode;)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)return!0;return!1}function i(n){return!!e.getClosest(n,"md-input-container")}function r(e){e.toggleClass("md-input-message-animation",!0)}if(i(n))r(n);else if(t())return function(e,t){i(t)&&r(n)}}return{restrict:"EA",compile:n,priority:100}}function mdInputInvalidMessagesAnimation(e,n){return{addClass:function(t,i,r){var a=getMessagesElement(t);"md-input-invalid"==i&&a.hasClass("md-auto-hide")?showInputMessages(t,n,e)["finally"](r):r()}}}function ngMessagesAnimation(e,n){return{enter:function(t,i){showInputMessages(t,n,e)["finally"](i)},leave:function(t,i){hideInputMessages(t,n,e)["finally"](i)},addClass:function(t,i,r){"ng-hide"==i?hideInputMessages(t,n,e)["finally"](r):r()},removeClass:function(t,i,r){"ng-hide"==i?showInputMessages(t,n,e)["finally"](r):r()}}}function ngMessageAnimation(e){return{enter:function(n,t){var i=getMessagesElement(n);return i.hasClass("md-auto-hide")?void t():showMessage(n,e)},leave:function(n,t){return hideMessage(n,e)}}}function showInputMessages(e,n,t){var i,r=[],a=getMessagesElement(e);return angular.forEach(a.children(),function(e){i=showMessage(angular.element(e),n),r.push(i.start())}),t.all(r)}function hideInputMessages(e,n,t){var i,r=[],a=getMessagesElement(e);return angular.forEach(a.children(),function(e){i=hideMessage(angular.element(e),n),r.push(i.start())}),t.all(r)}function showMessage(e,n){var t=e[0].offsetHeight;return n(e,{event:"enter",structural:!0,from:{opacity:0,"margin-top":-t+"px"},to:{opacity:1,"margin-top":"0"},duration:.3})}function hideMessage(e,n){var t=e[0].offsetHeight,i=window.getComputedStyle(e[0]);return 0==i.opacity?n(e,{}):n(e,{event:"leave",structural:!0,from:{opacity:1,"margin-top":0},to:{opacity:0,"margin-top":-t+"px"},duration:.3})}function getInputElement(e){var n=e.controller("mdInputContainer");return n.element}function getMessagesElement(e){var n=getInputElement(e);return angular.element(n[0].querySelector(".md-input-messages-animation"))}goog.provide("ng.material.components.input"),goog.require("ng.material.core"),angular.module("material.components.input",["material.core"]).directive("mdInputContainer",mdInputContainerDirective).directive("label",labelDirective).directive("input",inputTextareaDirective).directive("textarea",inputTextareaDirective).directive("mdMaxlength",mdMaxlengthDirective).directive("placeholder",placeholderDirective).directive("ngMessages",ngMessagesDirective).directive("ngMessage",ngMessageDirective).directive("ngMessageExp",ngMessageDirective).directive("mdSelectOnFocus",mdSelectOnFocusDirective).animation(".md-input-invalid",mdInputInvalidMessagesAnimation).animation(".md-input-messages-animation",ngMessagesAnimation).animation(".md-input-message-animation",ngMessageAnimation),mdInputContainerDirective.$inject=["$mdTheming","$parse"],inputTextareaDirective.$inject=["$mdUtil","$window","$mdAria","$timeout","$mdGesture"],mdMaxlengthDirective.$inject=["$animate","$mdUtil"],placeholderDirective.$inject=["$log"],mdSelectOnFocusDirective.$inject=["$timeout"];var visibilityDirectives=["ngIf","ngShow","ngHide","ngSwitchWhen","ngSwitchDefault"];ngMessageDirective.$inject=["$mdUtil"],mdInputInvalidMessagesAnimation.$inject=["$q","$animateCss"],ngMessagesAnimation.$inject=["$q","$animateCss"],ngMessageAnimation.$inject=["$animateCss"],ng.material.components.input=angular.module("material.components.input");