text: /*!
   * Angular Material Design
   * https://github.com/angular/material
   * @license MIT
   * v0.11.0-rc1-master-d74f93a
   */
  function MdTab(){function e(e,t,n,a){if(a){var s=a.getTabElementIndex(t),d=t.find("md-tab-body").eq(0).remove(),i=t.find("md-tab-label").eq(0).remove(),o=a.insertTab({scope:e,parent:e.$parent,index:s,element:t,template:d.html(),label:i.html()},s);e.select=e.select||angular.noop,e.deselect=e.deselect||angular.noop,e.$watch("active",function(e){e&&a.select(o.getIndex())}),e.$watch("disabled",function(){a.refreshIndex()}),e.$watch(function(){return a.getTabElementIndex(t)},function(e){o.index=e,a.updateTabOrder()}),e.$on("$destroy",function(){a.removeTab(o)})}}return{require:"^?mdTabs",terminal:!0,compile:function(t,n){var a=t.find("md-tab-label"),s=t.find("md-tab-body");if(0==a.length&&(a=angular.element("<md-tab-label></md-tab-label>"),n.label?a.text(n.label):a.append(t.contents())),0==s.length){var d=t.contents().detach();s=angular.element("<md-tab-body></md-tab-body>"),s.append(d)}return t.append(a),s.html()&&t.append(s),e},scope:{active:"=?mdActive",disabled:"=?ngDisabled",select:"&?mdOnSelect",deselect:"&?mdOnDeselect"}}}function MdTabItem(){return{require:"^?mdTabs",link:function(e,t,n,a){a&&a.attachRipple(e,t)}}}function MdTabLabel(){return{terminal:!0}}function MdTabScroll(e){return{restrict:"A",compile:function(t,n){var a=e(n.mdTabScroll,null,!0);return function(e,t){t.on("mousewheel",function(t){e.$apply(function(){a(e,{$event:t})})})}}}}function MdTabsController(e,t,n,a,s,d,i,o,r,c){function l(){de.selectedIndex=de.selectedIndex||0,b(),u(),m(),c(t),d.nextTick(function(){ee(),Q(),te(),de.tabs[de.selectedIndex]&&de.tabs[de.selectedIndex].scope.select(),le=!0,K()})}function b(){var e=o.$mdTabsTemplate,t=angular.element(oe.data);t.html(e),r(t.contents())(de.parent),delete o.$mdTabsTemplate}function m(){angular.element(n).on("resize",B),e.$on("$destroy",g)}function u(){e.$watch("$mdTabsCtrl.selectedIndex",w)}function f(e,t){var n=o.$normalize("md-"+e);t&&j(e,t),o.$observe(n,function(t){de[e]=t})}function p(e,t){function n(t){de[e]="false"!==t}var a=o.$normalize("md-"+e);t&&j(e,t),o.hasOwnProperty(a)&&n(o[a]),o.$observe(a,n)}function g(){ce=!0,angular.element(n).off("resize",B)}function h(e){angular.element(oe.wrapper).toggleClass("md-stretch-tabs",H()),te()}function T(e){de.shouldCenterTabs=q()}function x(e,t){e!==t&&d.nextTick(de.updateInkBarStyles)}function v(e,t){e!==t&&(de.maxTabWidth=Y(),de.shouldCenterTabs=q(),d.nextTick(function(){de.maxTabWidth=Y(),Q(de.selectedIndex)}))}function $(e){t[e?"removeClass":"addClass"]("md-no-tab-content")}function C(t){var n=de.shouldCenterTabs?"":"-"+t+"px";angular.element(oe.paging).css(a.CSS.TRANSFORM,"translate3d("+n+", 0, 0)"),e.$broadcast("$mdTabsPaginationChanged")}function I(e,t){e!==t&&oe.tabs[e]&&(Q(),J())}function w(t,n){t!==n&&(de.selectedIndex=z(t),de.lastSelectedIndex=n,de.updateInkBarStyles(),ee(),Q(t),e.$broadcast("$mdTabsChanged"),de.tabs[n]&&de.tabs[n].scope.deselect(),de.tabs[t]&&de.tabs[t].scope.select())}function k(e){var n=t[0].getElementsByTagName("md-tab");return Array.prototype.indexOf.call(n,e[0])}function y(){y.watcher||(y.watcher=e.$watch(function(){d.nextTick(function(){y.watcher&&t.prop("offsetParent")&&(y.watcher(),y.watcher=null,B())},!1)}))}function P(e){switch(e.keyCode){case a.KEY_CODE.LEFT_ARROW:e.preventDefault(),G(-1,!0);break;case a.KEY_CODE.RIGHT_ARROW:e.preventDefault(),G(1,!0);break;case a.KEY_CODE.SPACE:case a.KEY_CODE.ENTER:e.preventDefault(),ie||(de.selectedIndex=de.focusIndex)}de.lastClick=!1}function L(e){ie||(de.focusIndex=de.selectedIndex=e),de.lastClick=!0,d.nextTick(function(){de.tabs[e].element.triggerHandler("click")},!1)}function E(e){de.shouldPaginate&&(e.preventDefault(),de.offsetLeft=ae(de.offsetLeft-e.wheelDelta))}function M(){var e,t,n=oe.canvas.clientWidth,a=n+de.offsetLeft;for(e=0;e<oe.tabs.length&&(t=oe.tabs[e],!(t.offsetLeft+t.offsetWidth>a));e++);de.offsetLeft=ae(t.offsetLeft)}function S(){var e,t;for(e=0;e<oe.tabs.length&&(t=oe.tabs[e],!(t.offsetLeft+t.offsetWidth>=de.offsetLeft));e++);de.offsetLeft=ae(t.offsetLeft+t.offsetWidth-oe.canvas.clientWidth)}function B(){e.$apply(function(){de.lastSelectedIndex=de.selectedIndex,de.offsetLeft=ae(de.offsetLeft),d.nextTick(de.updateInkBarStyles,!1),d.nextTick(K)})}function W(e){angular.element(oe.inkBar).toggleClass("ng-hide",e)}function D(e){t.toggleClass("md-dynamic-height",e)}function O(e){if(!ce){var t=de.selectedIndex,n=de.tabs.splice(e.getIndex(),1)[0];Z(),de.selectedIndex===t&&(n.scope.deselect(),de.tabs[de.selectedIndex]&&de.tabs[de.selectedIndex].scope.select()),d.nextTick(function(){K(),de.offsetLeft=ae(de.offsetLeft)})}}function A(e,t){var n=le,a={getIndex:function(){return de.tabs.indexOf(s)},isActive:function(){return this.getIndex()===de.selectedIndex},isLeft:function(){return this.getIndex()<de.selectedIndex},isRight:function(){return this.getIndex()>de.selectedIndex},shouldRender:function(){return!de.noDisconnect||this.isActive()},hasFocus:function(){return!de.lastClick&&de.hasFocus&&this.getIndex()===de.focusIndex},id:d.nextUid()},s=angular.extend(a,e);return angular.isDefined(t)?de.tabs.splice(t,0,s):de.tabs.push(s),V(),X(),d.nextTick(function(){K(),n&&de.autoselect&&d.nextTick(function(){d.nextTick(function(){L(de.tabs.indexOf(s))})})}),s}function R(){var e={};return e.wrapper=t[0].getElementsByTagName("md-tabs-wrapper")[0],e.data=t[0].getElementsByTagName("md-tab-data")[0],e.canvas=e.wrapper.getElementsByTagName("md-tabs-canvas")[0],e.paging=e.canvas.getElementsByTagName("md-pagination-wrapper")[0],e.tabs=e.paging.getElementsByTagName("md-tab-item"),e.dummies=e.canvas.getElementsByTagName("md-dummy-tab"),e.inkBar=e.paging.getElementsByTagName("md-ink-bar")[0],e.contentsWrapper=t[0].getElementsByTagName("md-tabs-content-wrapper")[0],e.contents=e.contentsWrapper.getElementsByTagName("md-tab-content"),e}function N(){return de.offsetLeft>0}function F(){var e=oe.tabs[oe.tabs.length-1];return e&&e.offsetLeft+e.offsetWidth>oe.canvas.clientWidth+de.offsetLeft}function H(){switch(de.stretchTabs){case"always":return!0;case"never":return!1;default:return!de.shouldPaginate&&n.matchMedia("(max-width: 600px)").matches}}function q(){return de.centerTabs&&!de.shouldPaginate}function _(){if(de.noPagination||!le)return!1;var e=Math.min(t.prop("clientWidth"),de.maxTabWidth);return angular.forEach(oe.dummies,function(t){e-=t.offsetWidth}),0>e}function z(e){if(-1===e)return-1;var t,n,a=Math.max(de.tabs.length-e,e);for(t=0;a>=t;t++){if(n=de.tabs[e+t],n&&n.scope.disabled!==!0)return n.getIndex();if(n=de.tabs[e-t],n&&n.scope.disabled!==!0)return n.getIndex()}return e}function j(e,t,n){Object.defineProperty(de,e,{get:function(){return n},set:function(e){var a=n;n=e,t&&t(e,a)}})}function K(){de.shouldPaginate=_()}function Y(){return t.prop("clientWidth")}function U(){var e=de.tabs[de.selectedIndex],t=de.tabs[de.focusIndex];de.tabs=de.tabs.sort(function(e,t){return e.index-t.index}),de.selectedIndex=de.tabs.indexOf(e),de.focusIndex=de.tabs.indexOf(t)}function G(e,t){var n,a=t?"focusIndex":"selectedIndex",s=de[a];for(n=s+e;de.tabs[n]&&de.tabs[n].scope.disabled;n+=e);de.tabs[n]&&(de[a]=n)}function J(){oe.dummies[de.focusIndex].focus()}function Q(e){if(null==e&&(e=de.focusIndex),oe.tabs[e]&&!de.shouldCenterTabs){var t=oe.tabs[e],n=t.offsetLeft,a=t.offsetWidth+n;de.offsetLeft=Math.max(de.offsetLeft,ae(a-oe.canvas.clientWidth)),de.offsetLeft=Math.min(de.offsetLeft,ae(n))}}function V(){re.forEach(function(e){d.nextTick(e)}),re=[]}function X(){var e=!1;angular.forEach(de.tabs,function(t){t.template&&(e=!0)}),de.hasContent=e}function Z(){de.selectedIndex=z(de.selectedIndex),de.focusIndex=z(de.focusIndex)}function ee(){if(!de.dynamicHeight)return t.css("height","");if(!de.tabs.length)return re.push(ee);var e=oe.contents[de.selectedIndex],n=e?e.offsetHeight:0,a=oe.wrapper.offsetHeight,s=n+a,o=t.prop("clientHeight");if(o!==s){ie=!0;var r={height:o+"px"},c={height:s+"px"};t.css(r),i(t,{from:r,to:c,easing:"cubic-bezier(0.35, 0, 0.25, 1)",duration:.5}).start().done(function(){t.css({transition:"none",height:""}),d.nextTick(function(){t.css("transition","")}),ie=!1})}}function te(){if(!oe.tabs[de.selectedIndex])return void angular.element(oe.inkBar).css({left:"auto",right:"auto"});if(!de.tabs.length)return re.push(de.updateInkBarStyles);if(!t.prop("offsetParent"))return y();var e,n=de.selectedIndex,a=oe.paging.offsetWidth,s=oe.tabs[n],i=s.offsetLeft,o=a-i-s.offsetWidth;de.shouldCenterTabs&&(e=Array.prototype.slice.call(oe.tabs).reduce(function(e,t){return e+t.offsetWidth},0),a>e&&d.nextTick(te,!1)),ne(),angular.element(oe.inkBar).css({left:i+"px",right:o+"px"})}function ne(){var e=de.selectedIndex,t=de.lastSelectedIndex,n=angular.element(oe.inkBar);angular.isNumber(t)&&n.toggleClass("md-left",t>e).toggleClass("md-right",e>t)}function ae(e){if(!oe.tabs.length||!de.shouldPaginate)return 0;var t=oe.tabs[oe.tabs.length-1],n=t.offsetLeft+t.offsetWidth;return e=Math.max(0,e),e=Math.min(n-oe.canvas.clientWidth,e)}function se(e,t){var n={colorElement:angular.element(oe.inkBar)};s.attach(e,t,n)}var de=this,ie=!1,oe=R(),re=[],ce=!1,le=!1;f("stretchTabs",h),j("focusIndex",I,de.selectedIndex||0),j("offsetLeft",C,0),j("hasContent",$,!1),j("maxTabWidth",x,Y()),j("shouldPaginate",v,!1),p("noInkBar",W),p("dynamicHeight",D),p("noPagination"),p("swipeContent"),p("noDisconnect"),p("autoselect"),p("centerTabs",T),p("enableDisconnect"),de.scope=e,de.parent=e.$parent,de.tabs=[],de.lastSelectedIndex=null,de.hasFocus=!1,de.lastClick=!0,de.shouldCenterTabs=q(),de.updatePagination=d.debounce(K,100),de.redirectFocus=J,de.attachRipple=se,de.insertTab=A,de.removeTab=O,de.select=L,de.scroll=E,de.nextPage=M,de.previousPage=S,de.keydown=P,de.canPageForward=F,de.canPageBack=N,de.refreshIndex=Z,de.incrementIndex=G,de.getTabElementIndex=k,de.updateInkBarStyles=d.debounce(te,100),de.updateTabOrder=d.debounce(U,100),l()}function MdTabs(){return{scope:{selectedIndex:"=?mdSelected"},template:function(e,t){return t.$mdTabsTemplate=e.html(),'        <md-tabs-wrapper>          <md-tab-data></md-tab-data>          <md-prev-button              tabindex="-1"              role="button"              aria-label="Previous Page"              aria-disabled="{{!$mdTabsCtrl.canPageBack()}}"              ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageBack() }"              ng-if="$mdTabsCtrl.shouldPaginate"              ng-click="$mdTabsCtrl.previousPage()">            <md-icon md-svg-icon="md-tabs-arrow"></md-icon>          </md-prev-button>          <md-next-button              tabindex="-1"              role="button"              aria-label="Next Page"              aria-disabled="{{!$mdTabsCtrl.canPageForward()}}"              ng-class="{ \'md-disabled\': !$mdTabsCtrl.canPageForward() }"              ng-if="$mdTabsCtrl.shouldPaginate"              ng-click="$mdTabsCtrl.nextPage()">            <md-icon md-svg-icon="md-tabs-arrow"></md-icon>          </md-next-button>          <md-tabs-canvas              tabindex="0"              aria-activedescendant="tab-item-{{$mdTabsCtrl.tabs[$mdTabsCtrl.focusIndex].id}}"              ng-focus="$mdTabsCtrl.redirectFocus()"              ng-class="{                  \'md-paginated\': $mdTabsCtrl.shouldPaginate,                  \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs              }"              ng-keydown="$mdTabsCtrl.keydown($event)"              role="tablist">            <md-pagination-wrapper                ng-class="{ \'md-center-tabs\': $mdTabsCtrl.shouldCenterTabs }"                md-tab-scroll="$mdTabsCtrl.scroll($event)">              <md-tab-item                  tabindex="-1"                  class="md-tab"                  style="max-width: {{ $mdTabsCtrl.maxTabWidth + \'px\' }}"                  ng-repeat="tab in $mdTabsCtrl.tabs"                  role="tab"                  aria-controls="tab-content-{{::tab.id}}"                  aria-selected="{{tab.isActive()}}"                  aria-disabled="{{tab.scope.disabled || \'false\'}}"                  ng-click="$mdTabsCtrl.select(tab.getIndex())"                  ng-class="{                      \'md-active\':    tab.isActive(),                      \'md-focused\':   tab.hasFocus(),                      \'md-disabled\':  tab.scope.disabled                  }"                  ng-disabled="tab.scope.disabled"                  md-swipe-left="$mdTabsCtrl.nextPage()"                  md-swipe-right="$mdTabsCtrl.previousPage()"                  md-tabs-template="::tab.label"                  md-scope="::tab.parent"></md-tab-item>              <md-ink-bar></md-ink-bar>            </md-pagination-wrapper>            <div class="md-visually-hidden md-dummy-wrapper">              <md-dummy-tab                  class="md-tab"                  tabindex="-1"                  id="tab-item-{{::tab.id}}"                  role="tab"                  aria-controls="tab-content-{{::tab.id}}"                  aria-selected="{{tab.isActive()}}"                  aria-disabled="{{tab.scope.disabled || \'false\'}}"                  ng-focus="$mdTabsCtrl.hasFocus = true"                  ng-blur="$mdTabsCtrl.hasFocus = false"                  ng-repeat="tab in $mdTabsCtrl.tabs"                  md-tabs-template="::tab.label"                  md-scope="::tab.parent"></md-dummy-tab>            </div>          </md-tabs-canvas>        </md-tabs-wrapper>        <md-tabs-content-wrapper ng-show="$mdTabsCtrl.hasContent && $mdTabsCtrl.selectedIndex >= 0">          <md-tab-content              id="tab-content-{{::tab.id}}"              role="tabpanel"              aria-labelledby="tab-item-{{::tab.id}}"              md-swipe-left="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(1)"              md-swipe-right="$mdTabsCtrl.swipeContent && $mdTabsCtrl.incrementIndex(-1)"              ng-if="$mdTabsCtrl.hasContent"              ng-repeat="(index, tab) in $mdTabsCtrl.tabs"              ng-class="{                \'md-no-transition\': $mdTabsCtrl.lastSelectedIndex == null,                \'md-active\':        tab.isActive(),                \'md-left\':          tab.isLeft(),                \'md-right\':         tab.isRight(),                \'md-no-scroll\':     $mdTabsCtrl.dynamicHeight              }">            <div                md-tabs-template="::tab.template"                md-connected-if="tab.isActive()"                md-scope="::tab.parent"                ng-if="$mdTabsCtrl.enableDisconnect || tab.shouldRender()"></div>          </md-tab-content>        </md-tabs-content-wrapper>      '},controller:"MdTabsController",controllerAs:"$mdTabsCtrl",bindToController:!0}}function MdTabsTemplate(e,t){function n(n,a,s,d){function i(){n.$watch("connected",function(e){e===!1?o():r()}),n.$on("$destroy",r)}function o(){d.enableDisconnect&&t.disconnectScope(c)}function r(){d.enableDisconnect&&t.reconnectScope(c)}if(d){var c=d.enableDisconnect?n.compileScope.$new():n.compileScope;return a.html(n.template),e(a.contents())(c),a.on("DOMSubtreeModified",function(){d.updatePagination(),d.updateInkBarStyles()}),t.nextTick(i)}}return{restrict:"A",link:n,scope:{template:"=mdTabsTemplate",connected:"=?mdConnectedIf",compileScope:"=mdScope"},require:"^?mdTabs"}}goog.provide("ng.material.components.tabs"),goog.require("ng.material.components.icon"),goog.require("ng.material.core"),angular.module("material.components.tabs",["material.core","material.components.icon"]),angular.module("material.components.tabs").directive("mdTab",MdTab),angular.module("material.components.tabs").directive("mdTabItem",MdTabItem),angular.module("material.components.tabs").directive("mdTabLabel",MdTabLabel),angular.module("material.components.tabs").directive("mdTabScroll",MdTabScroll),MdTabScroll.$inject=["$parse"],angular.module("material.components.tabs").controller("MdTabsController",MdTabsController),MdTabsController.$inject=["$scope","$element","$window","$mdConstant","$mdTabInkRipple","$mdUtil","$animateCss","$attrs","$compile","$mdTheming"],angular.module("material.components.tabs").directive("mdTabs",MdTabs),angular.module("material.components.tabs").directive("mdTabsTemplate",MdTabsTemplate),MdTabsTemplate.$inject=["$compile","$mdUtil"],ng.material.components.tabs=angular.module("material.components.tabs");