scope:{mdOnLayout:"&"},link:a}}functionn(e){this.layoutInvalidated=!1,this.tilesInvalidated=!1,this.$timeout_=e.nextTick,this.layoutDelegate=t.noop}functiono(e){functionn(t,n){varo,a,d,c,l,m;returnc=e.time(function(){a=r(t,n)}),o={layoutInfo:function(){returna},map:function(t){returnl=e.time(function(){vare=o.layoutInfo();d=t(e.positioning,e.rowCount)}),o},reflow:function(t){returnm=e.time(function(){vare=t||i;e(d.grid,d.tiles)}),o},performance:function(){return{tileCount:n.length,layoutTime:c,mapTime:l,reflowTime:m,totalTime:c+l+m}}}}functiono(e,t){e.element.css(e.style),t.forEach(function(e){e.element.css(e.style)})}functionr(e,t){functionn(t,n){if(t.col>e)throw"md-grid-list: Tile at position "+n+" has a colspan ("+t.col+") that exceeds the column count ("+e+")";for(vara=0,m=0;m-a<t.col;)d>=e?o():(a=l.indexOf(0,d),-1!==a&&-1!==(m=i(a+1))?d=m+1:(a=m=0,o()));returnr(a,t.col,t.row),d=a+t.col,{col:a,row:c}}functiono(){d=0,c++,r(0,e,-1)}functionr(e,t,n){for(varo=e;e+t>o;o++)l[o]=Math.max(l[o]+n,0)}functioni(e){vart;for(t=e;t<l.length;t++)if(0!==l[t])returnt;returnt===l.length?t:void0}functiona(){for(vart=[],n=0;e>n;n++)t.push(0);returnt}vard=0,c=0,l=a();return{positioning:t.map(function(e,t){return{spans:e,position:n(e,t)}}),rowCount:c+Math.max.apply(Math,l)}}vari=o;returnn.animateWith=function(e){i=t.isFunction(e)?e:o},n}functionr(e){functionn(n,o,r,i){o.attr("role","listitem");vara=e.watchResponsiveAttributes(["md-colspan","md-rowspan"],r,t.bind(i,i.invalidateLayout));i.invalidateTiles(),n.$on("$destroy",function(){a(),i.invalidateLayout()}),t.isDefined(n.$parent.$index)&&n.$watch(function(){returnn.$parent.$index},function(e,t){e!==t&&i.invalidateTiles()})}return{restrict:"E",require:"^mdGridList",template:"<figure ng-transclude></figure>",transclude:!0,scope:{},controller:["$attrs",function(e){this.$attrs=e}],link:n}}functioni(){return{template:"<figcaption ng-transclude></figcaption>",transclude:!0}}t.module("material.components.gridList",["material.core"]).directive("mdGridList",e).directive("mdGridTile",r).directive("mdGridTileFooter",i).directive("mdGridTileHeader",i).factory("$mdGridLayout",o),e.$inject=["$interpolate","$mdConstant","$mdGridLayout","$mdMedia"],n.$inject=["$mdUtil"],n.prototype={invalidateTiles:function(){this.tilesInvalidated=!0,this.invalidateLayout()},invalidateLayout:function(){this.layoutInvalidated||(this.layoutInvalidated=!0,this.$timeout_(t.bind(this,this.layout)))},layout:function(){try{this.layoutDelegate(this.tilesInvalidated)}finally{this.layoutInvalidated=!1,this.tilesInvalidated=!1}}},o.$inject=["$mdUtil"],r.$inject=["$mdMedia"]}(),function(){functione(e,t,n){functiono(o,r,i){functiona(){vare=r.parent();returne.attr("aria-label")||e.text()?!0:e.parent().attr("aria-label")||e.parent().text()?!0:!1}functiond(){functiont(){return!o.fontIcon&&!o.fontSet&&!i.hasOwnProperty("class")}o.svgIcon||o.svgSrc||(o.fontIcon&&r.addClass("md-font "+o.fontIcon),o.fontSet&&r.addClass(e.fontSet(o.fontSet)),t()&&r.addClass(e.fontSet()))}t(r),d();varc=i.alt||o.fontIcon||o.svgIcon||r.text(),l=i.$normalize(i.$attr.mdSvgIcon||i.$attr.mdSvgSrc||"");i["aria-label"]||(""==c||a()?r.text()||n.expect(r,"aria-hidden","true"):(n.expect(r,"aria-label",c),n.expect(r,"role","img"))),l&&i.$observe(l,function(t){r.empty(),t&&e(t).then(function(e){r.append(e)})})}return{scope:{fontSet:"@mdFontSet",fontIcon:"@mdFontIcon",svgIcon:"@mdSvgIcon",svgSrc:"@mdSvgSrc"},restrict:"E",link:o}}t.module("material.components.icon",["material.core"]).directive("mdIcon",e),e.$inject=["$mdIcon","$mdTheming","$mdAria"]}(),function(){functione(){}functionn(e,t){this.url=e,this.viewBoxSize=t||r.defaultViewBoxSize}functiono(e,n,o,r,i){functiona(e){returne=e||"",E[e]?o.when(E[e].clone()):v.test(e)?s(e).then(c(e)):(-1==e.indexOf(":")&&(e="$default:"+e),l(e)["catch"](m)["catch"](u)["catch"](p).then(c(e)))}functiond(n){varo=t.isUndefined(n)||!(n&&n.length);if(o)returne.defaultFontSet;varr=n;returnt.forEach(e.fontSets,function(e){e.alias==n&&(r=e.fontSet||r)}),r}functionc(t){returnfunction(n){ret
s&&s(),m.isMultiple?(o.$validators["md-multiple"]=n,o.$render=d,r.$watchCollection(i.ngModel,function(e){n(e)&&d(e)})):(deleteo.$validators["md-multiple"],o.$render=l)};varu,p,f,h="",b=300;m.optNodeForKeyboardSearch=function(e){u&&clearTimeout(u),u=setTimeout(function(){u=n,h="",f=n,p=n},b),h+=String.fromCharCode(e.keyCode);varo=newRegExp("^"+h,"i");p||(p=a.find("md-option"),f=newArray(p.length),t.forEach(p,function(e,t){f[t]=e.textContent.trim()}));for(varr=0;r<f.length;++r)if(o.test(f[r]))returnp[r]},m.init=function(n){if(m.ngModel=n,n.$options&&n.$options.trackBy){varo={},i=e(n.$options.trackBy);m.hashGetter=function(e,t){returno.$value=e,i(t||r,o)}}elsem.hashGetter=function(e){returnt.isObject(e)?"object_"+(e.$$mdSelectId||(e.$$mdSelectId=++c)):e};m.setMultiple(m.isMultiple)},m.selectedLabels=function(){vare=o.nodesToArray(a[0].querySelectorAll("md-option[selected]"));returne.length?e.map(function(e){returne.textContent}).join(", "):""},m.select=function(e,t){varn=m.options[e];n&&n.setSelected(!0),m.selected[e]=t},m.deselect=function(e){vart=m.options[e];t&&t.setSelected(!1),deletem.selected[e]},m.addOption=function(e,n){if(t.isDefined(m.options[e]))thrownewError('Duplicate md-option values are not allowed in a select. Duplicate value "'+n.value+'" found.');m.options[e]=n,t.isDefined(m.selected[e])&&(m.select(e,n.value),m.refreshViewValue())},m.removeOption=function(e){deletem.options[e]},m.refreshViewValue=function(){vare,t=[];for(varninm.selected)t.push((e=m.options[n])?e.value:m.selected[n]);m.ngModel.$setViewValue(m.isMultiple?t:t[0])}}returna.$inject=["$scope","$attrs","$element"],{restrict:"E",require:["mdSelectMenu","?ngModel"],controller:a,link:{pre:i}}}functionr(e,n){functiono(e,n){returne.append(t.element('<div class="md-text">').append(e.contents())),e.attr("tabindex",n.tabindex||"0"),r}functionr(o,r,i,a){functiond(e,t){varn=m.hashGetter(t,o),r=m.hashGetter(e,o);l.hashKey=r,l.value=e,m.removeOption(n,l),m.addOption(r,l)}functionc(){vare={role:"option","aria-selected":"false"};r[0].hasAttribute("id")||(e.id="select_option_"+n.nextUid()),r.attr(e)}varl=a[0],m=a[1];t.isDefined(i.ngValue)?o.$watch(i.ngValue,d):t.isDefined(i.value)?d(i.value):o.$watch(function(){returnr.text()},d),i.$observe("disabled",function(e){e?r.attr("tabindex","-1"):r.attr("tabindex","0")}),o.$$postDigest(function(){i.$observe("selected",function(e){t.isDefined(e)&&("string"==typeofe&&(e=!0),e?(m.isMultiple||m.deselect(Object.keys(m.selected)[0]),m.select(l.hashKey,l.value)):m.deselect(l.hashKey),m.refreshViewValue(),m.ngModel.$render())})}),e.attach(o,r),c(),o.$on("$destroy",function(){m.removeOption(l.hashKey,l)})}functioni(e){this.selected=!1,this.setSelected=function(t){t&&!this.selected?e.attr({selected:"selected","aria-selected":"true"}):!t&&this.selected&&(e.removeAttr("selected"),e.attr("aria-selected","false")),this.selected=t}}returni.$inject=["$element"],{restrict:"E",require:["mdOption","^^mdSelectMenu"],controller:i,compile:o}}functioni(){functione(e,n){varo=e.find("label");o.length||(o=t.element("<label>"),e.prepend(o)),n.label&&o.text(n.label)}return{restrict:"E",compile:e}}functiona(e){functiono(e,o,a,c,l,m,s,u){functionp(r,i,d){functionu(){d.target.attr("aria-expanded","true")}functionp(){functiont(e){f=d.selectEl[0].getElementsByTagName("md-option");vart,o=c.nodesToArray(f),r=o.indexOf(d.focusedNode);do-1===r?r=0:"next"===e&&r<o.length-1?r++:"prev"===e&&r>0&&r--,t=o[r],t.hasAttribute("disabled")&&(t=n);while(!t&&r<o.length-1&&r>0);t&&t.focus(),d.focusedNode=t}functionr(){t("next")}functiona(){t("prev")}functionl(){m.isMultiple||(d.restoreFocus=!0,c.nextTick(function(){e.hide(m.ngModel.$viewValue)},!0))}if(!d.isRemoved){varm=d.selectEl.controller("mdSelectMenu")||{};i.addClass("md-clickable"),d.backdrop&&d.backdrop.on("click",function(t){t.preventDefault(),t.stopPropagation(),d.restoreFocus=!1,c.nextTick(e.hide,!0)}),d.selectEl.on("keydown",function(t){switch(t.keyCode){caseo.KEY_CODE.SPACE:caseo.KEY_CODE.ENTER:varn=c.getClosest(t.target,"md-option");n&&(d.selectEl.