Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(40)

Side by Side Diff: appengine/swarming/ui/build/elements.html

Issue 2921983002: Swarming UI: Bold requested dimensions in bot dimensions (Closed)
Patch Set: Swarming UI: Bold requested dimensions in bot dimensions Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | appengine/swarming/ui/build/js/js.js » ('j') | appengine/swarming/ui/package.json » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html><html><head><meta charset="UTF-8"> </head><body><div hidden="" by -vulcanize=""><script>!function(){function e(){document.body.removeAttribute("un resolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"intera ctive"===document.readyState||"complete"===document.readyState?e():addEventListe ner("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){var e=window.Po lymer||{};if(!e.noUrlSettings)for(var t,r=location.search.slice(1).split("&"),i= 0;i<r.length&&(t=r[i]);i++)t=t.split("="),t[0]&&(e[t[0]]=t[1]||!0);return e.want Shadow="shadow"===e.dom,e.hasShadow=Boolean(Element.prototype.createShadowRoot), e.nativeShadow=e.hasShadow&&!window.ShadowDOMPolyfill,e.useShadow=e.wantShadow&& e.hasShadow,e.hasNativeImports=Boolean("import"in document.createElement("link") ),e.useNativeImports=e.hasNativeImports,e.useNativeCustomElements=!window.Custom Elements||window.CustomElements.useNative,e.useNativeShadow=e.useShadow&&e.nativ eShadow,e.usePolyfillProto=!e.useNativeCustomElements&&!Object.__proto__,e.hasNa tiveCSSProperties=!navigator.userAgent.match("AppleWebKit/601")&&window.CSS&&CSS .supports&&CSS.supports("box-shadow","0 0 0 var(--foo)"),e.useNativeCSSPropertie s=e.hasNativeCSSProperties&&e.lazyRegister&&e.useNativeCSSProperties,e.isIE=navi gator.userAgent.match("Trident"),e}()},function(){var e=window.Polymer;window.Po lymer=function(e){"function"==typeof e&&(e=e.prototype),e||(e={}),e=t(e);var r=e ===e.constructor.prototype?e.constructor:null,i={prototype:e};e.extends&&(i.exte nds=e.extends),Polymer.telemetry._registrate(e);var o=document.registerElement(e .is,i);return r||o};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Po lymer.Base._getExtendedPrototype(e.extends)),e=Polymer.Base.chainObject(e,t),e.r egisterCallback(),e};if(e)for(var r in e)Polymer[r]=e[r];Polymer.Class=function( e){return e.factoryImpl||(e.factoryImpl=function(){}),t(e).constructor}}(),Polym er.telemetry={registrations:[],_regLog:function(e){console.log("["+e.is+"]: regi stered")},_registrate:function(e){this.registrations.push(e),Polymer.log&&this._ regLog(e)},dumpRegistrations:function(){this.registrations.forEach(this._regLog) }},Object.defineProperty(window,"currentImport",{enumerable:!0,configurable:!0,g et:function(){return(document._currentScript||document.currentScript||{}).ownerD ocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function(e){t his._ready?e():this._callbacks.push(e)},_makeReady:function(){this._ready=!0;for (var e=0;e<this._callbacks.length;e++)this._callbacks[e]();this._callbacks=[]},_ catchFirstRender:function(){requestAnimationFrame(function(){Polymer.RenderStatu s._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextRender :function(e,t,r){this._watchNextRender(),this._afterNextRenderQueue.push([e,t,r] )},hasRendered:function(){return this._ready},_watchNextRender:function(){if(!th is._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.Rende rStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenReady( e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushRender Callbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNextRend er=!1})},_flushRenderCallbacks:function(e){for(var t,r=0;r<e.length;r++)t=e[r],t [1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenReady(fun ction(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._catchFi rstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.whenL oaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.Setti ngs;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.mixin(th is,e)},registerCallback:function(){if("max"===e.lazyRegister)this.beforeRegister &&this.beforeRegister();else{this._desugarBehaviors();for(var t,r=0;r<this.behav iors.length;r++)t=this.behaviors[r],t.beforeRegister&&t.beforeRegister.call(this );this.beforeRegister&&this.beforeRegister()}this._registerFeatures(),e.lazyRegi ster||this.ensureRegisterFinished()},createdCallback:function(){if(e.disableUpgr adeEnabled){if(this.hasAttribute("disable-upgrade"))return this._propertySetter= t,this._configValue=null,void(this.__data__={});this.__hasInitialized=!0}this.__ initialize()},__initialize:function(){this.__hasRegisterFinished||this._ensureRe gisterFinished(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this; for(var e,t=0;t<this.behaviors.length;t++)e=this.behaviors[t],e.created&&e.creat ed.call(this);this.created&&this.created(),this._initFeatures()},ensureRegisterF inished:function(){this._ensureRegisterFinished(this)},_ensureRegisterFinished:f unction(t){if(t.__hasRegisterFinished!==t.is||!t.is){if("max"===e.lazyRegister){ t._desugarBehaviors();for(var r,i=0;i<t.behaviors.length;i++)r=t.behaviors[i],r. beforeRegister&&r.beforeRegister.call(t)}t.__hasRegisterFinished=t.is,t._finishR egisterFeatures&&t._finishRegisterFeatures();for(var o,s=0;s<t.behaviors.length; s++)o=t.behaviors[s],o.registered&&o.registered.call(t);t.registered&&t.register ed(),e.usePolyfillProto&&t!==this&&t.extend(this,t)}},attachedCallback:function( ){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!0;for(var t ,r=0;r<e.behaviors.length;r++)t=e.behaviors[r],t.attached&&t.attached.call(e);e. attached&&e.attached()})},detachedCallback:function(){var e=this;Polymer.RenderS tatus.whenReady(function(){e.isAttached=!1;for(var t,r=0;r<e.behaviors.length;r+ +)t=e.behaviors[r],t.detached&&t.detached.call(e);e.detached&&e.detached()})},at tributeChangedCallback:function(e,t,r){this._attributeChangedImpl(e);for(var i,o =0;o<this.behaviors.length;o++)i=this.behaviors[o],i.attributeChanged&&i.attribu teChanged.call(this,e,t,r);this.attributeChanged&&this.attributeChanged(e,t,r)}, _attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:f unction(e,t){if(e&&t)for(var r,i=Object.getOwnPropertyNames(t),o=0;o<i.length&&( r=i[o]);o++)this.copyOwnProperty(r,t,e);return e||t},mixin:function(e,t){for(var r in t)e[r]=t[r];return e},copyOwnProperty:function(e,t,r){var i=Object.getOwnP ropertyDescriptor(t,e);i&&Object.defineProperty(r,e,i)},_logger:function(e,t){sw itch(1===t.length&&Array.isArray(t[0])&&(t=t[0]),e){case"log":case"warn":case"er ror":console[e].apply(console,t)}},_log:function(){var e=Array.prototype.slice.c all(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.s lice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.pro totype.slice.call(arguments,0);this._logger("error",e)},_logf:function(){return this._logPrefix.concat(this.is).concat(Array.prototype.slice.call(arguments,0))} },Polymer.Base._logPrefix=function(){var e=window.chrome&&!/edge/i.test(navigato r.userAgent)||/firefox/i.test(navigator.userAgent);return e?["%c[%s::%s]:","font -weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"]}(),Polymer.Base.chainOb ject=function(e,t){return e&&t&&e!==t&&(Object.__proto__||(e=Polymer.Base.extend (Object.create(t),e)),e.__proto__=t),e},Polymer.Base=Polymer.Base.chainObject(Po lymer.Base,HTMLElement.prototype),Polymer.BaseDescriptors={};var t;if(e.disableU pgradeEnabled){t=function(e,t){this.__data__[e]=t};var r=Polymer.Base.attributeC hangedCallback;Polymer.Base.attributeChangedCallback=function(e,t,i){this.__hasI nitialized||"disable-upgrade"!==e||(this.__hasInitialized=!0,this._propertySette r=Polymer.Bind._modelApi._propertySetter,this._configValue=Polymer.Base._configV alue,this.__initialize()),r.call(this,e,t,i)}}window.CustomElements?Polymer.inst anceof=CustomElements.instanceof:Polymer.instanceof=function(e,t){return e insta nceof t},Polymer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance_ _)},Polymer.telemetry.instanceCount=0}(),function(){function e(){if(s)for(var e, t=document._currentScript||document.currentScript,r=t&&t.ownerDocument||document ,i=r.querySelectorAll("dom-module"),o=i.length-1;o>=0&&(e=i[o]);o--){if(e.__upgr aded__)return;CustomElements.upgrade(e)}}var t={},r={},i=function(e){return t[e] ||r[e.toLowerCase()]},o=function(){return document.createElement("dom-module")}; o.prototype=Object.create(HTMLElement.prototype),Polymer.Base.mixin(o.prototype, {createdCallback:function(){this.register()},register:function(e){e=e||this.id|| this.getAttribute("name")||this.getAttribute("is"),e&&(this.id=e,t[e]=this,r[e.t oLowerCase()]=this)},import:function(t,r){if(t){var o=i(t);return o||(e(),o=i(t) ),o&&r&&(o=o.querySelector(r)),o}}}),Object.defineProperty(o.prototype,"construc tor",{value:o,configurable:!0,writable:!0});var s=window.CustomElements&&!Custom Elements.useNative;document.registerElement("dom-module",o)}(),Polymer.Base._add Feature({_prepIs:function(){if(!this.is){var e=(document._currentScript||documen t.currentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttr ibute("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLower Case())}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){t his.behaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors) )},_desugarSomeBehaviors:function(e){var t=[];e=this._flattenBehaviorsList(e);fo r(var r=e.length-1;r>=0;r--){var i=e[r];t.indexOf(i)===-1&&(this._mixinBehavior( i),t.unshift(i))}return t},_flattenBehaviorsList:function(e){for(var t=[],r=0;r< e.length;r++){var i=e[r];i instanceof Array?t=t.concat(this._flattenBehaviorsLis t(i)):i?t.push(i):this._warn(this._logf("_flattenBehaviorsList","behavior is nul l, check for missing or 404 import"))}return t},_mixinBehavior:function(e){for(v ar t,r=Object.getOwnPropertyNames(e),i=e._noAccessors,o=0;o<r.length&&(t=r[o]);o ++)Polymer.Base._behaviorProperties[t]||this.hasOwnProperty(t)||(i?this[t]=e[t]: this.copyOwnProperty(t,e,this))},_prepBehaviors:function(){this._prepFlattenedBe haviors(this.behaviors)},_prepFlattenedBehaviors:function(e){for(var t=0,r=e.len gth;t<r;t++)this._prepBehavior(e[t]);this._prepBehavior(this)},_marshalBehaviors :function(){for(var e=0;e<this.behaviors.length;e++)this._marshalBehavior(this.b ehaviors[e]);this._marshalBehavior(this)}}),Polymer.Base._behaviorProperties={ho stAttributes:!0,beforeRegister:!0,registered:!0,properties:!0,observers:!0,liste ners:!0,created:!0,attached:!0,detached:!0,attributeChanged:!0,ready:!0,_noAcces sors:!0},Polymer.Base._addFeature({_getExtendedPrototype:function(e){return this ._getExtendedNativePrototype(e)},_nativePrototypes:{},_getExtendedNativePrototyp e:function(e){var t=this._nativePrototypes[e];if(!t){t=Object.create(this.getNat ivePrototype(e));for(var r,i=Object.getOwnPropertyNames(Polymer.Base),o=0;o<i.le ngth&&(r=i[o]);o++)Polymer.BaseDescriptors[r]||(t[r]=Polymer.Base[r]);Object.def ineProperties(t,Polymer.BaseDescriptors),this._nativePrototypes[e]=t}return t},g etNativePrototype:function(e){return Object.getPrototypeOf(document.createElemen t(e))}}),Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs =this.extends?[this.extends,this.is]:[this.is];var e=function(){return this._fac tory(arguments)};this.hasOwnProperty("extends")&&(e.extends=this.extends),Object .defineProperty(this,"constructor",{value:e,writable:!0,configurable:!0}),e.prot otype=this},_factory:function(e){var t=document.createElement.apply(document,thi s._factoryArgs);return this.factoryImpl&&this.factoryImpl.apply(t,e),t}}),Polyme r.nob=Object.create(null),Polymer.Base._addFeature({getPropertyInfo:function(e){ var t=this._getPropertyInfo(e,this.properties);if(!t)for(var r=0;r<this.behavior s.length;r++)if(t=this._getPropertyInfo(e,this.behaviors[r].properties))return t ;return t||Polymer.nob},_getPropertyInfo:function(e,t){var r=t&&t[e];return"func tion"==typeof r&&(r=t[e]={type:r}),r&&(r.defined=!0),r},_prepPropertyInfo:functi on(){this._propertyInfo={};for(var e=0;e<this.behaviors.length;e++)this._addProp ertyInfo(this._propertyInfo,this.behaviors[e].properties);this._addPropertyInfo( this._propertyInfo,this.properties),this._addPropertyInfo(this._propertyInfo,thi s._propertyEffects)},_addPropertyInfo:function(e,t){if(t){var r,i;for(var o in t )r=e[o],i=t[o],("_"!==o[0]||i.readOnly)&&(e[o]?(r.type||(r.type=i.type),r.readOn ly||(r.readOnly=i.readOnly)):e[o]={type:"function"==typeof i?i:i.type,readOnly:i .readOnly,attribute:Polymer.CaseMap.camelToDashCase(o)})}}}),function(){var e={c onfigurable:!0,writable:!0,enumerable:!0,value:{}};Polymer.BaseDescriptors.prope rties=e,Object.defineProperty(Polymer.Base,"properties",e)}(),Polymer.CaseMap={_ caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:fu nction(e){return this._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replac e(this._rx.dashToCamel,function(e){return e[1].toUpperCase()}))},camelToDashCase :function(e){return this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camel ToDash,"-$1").toLowerCase())}},Polymer.Base._addFeature({_addHostAttributes:func tion(e){this._aggregatedAttributes||(this._aggregatedAttributes={}),e&&this.mixi n(this._aggregatedAttributes,e)},_marshalHostAttributes:function(){this._aggrega tedAttributes&&this._applyAttributes(this,this._aggregatedAttributes)},_applyAtt ributes:function(e,t){for(var r in t)if(!this.hasAttribute(r)&&"class"!==r){var i=t[r];this.serializeValueToAttribute(i,r,this)}},_marshalAttributes:function(){ this._takeAttributesToModel(this)},_takeAttributesToModel:function(e){if(this.ha sAttributes())for(var t in this._propertyInfo){var r=this._propertyInfo[t];this. hasAttribute(r.attribute)&&this._setAttributeToProperty(e,r.attribute,t,r)}},_se tAttributeToProperty:function(e,t,r,i){if(!this._serializing&&(r=r||Polymer.Case Map.dashToCamelCase(t),i=i||this._propertyInfo&&this._propertyInfo[r],i&&!i.read Only)){var o=this.getAttribute(t);e[r]=this.deserialize(o,i.type)}},_serializing :!1,reflectPropertyToAttribute:function(e,t,r){this._serializing=!0,r=void 0===r ?this[e]:r,this.serializeValueToAttribute(r,t||Polymer.CaseMap.camelToDashCase(e )),this._serializing=!1},serializeValueToAttribute:function(e,t,r){var i=this.se rialize(e);r=r||this,void 0===i?r.removeAttribute(t):r.setAttribute(t,i)},deseri alize:function(e,t){switch(t){case Number:e=Number(e);break;case Boolean:e=null! =e;break;case Object:try{e=JSON.parse(e)}catch(e){}break;case Array:try{e=JSON.p arse(e)}catch(t){e=null,console.warn("Polymer::Attributes: couldn`t decode Array as JSON")}break;case Date:e=new Date(e);break;case String:}return e},serialize: function(e){switch(typeof e){case"boolean":return e?"":void 0;case"object":if(e instanceof Date)return e.toString();if(e)try{return JSON.stringify(e)}catch(e){r eturn""}default:return null!=e?e:void 0}}}),Polymer.version="1.9.1",Polymer.Base ._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(), this._prepConstructor(),this._prepPropertyInfo()},_prepBehavior:function(e){this ._addHostAttributes(e.hostAttributes)},_marshalBehavior:function(e){},_initFeatu res:function(){this._marshalHostAttributes(),this._marshalBehaviors()}})</script ><script>!function(){function e(e,t){return e.replace(a,function(e,i,n,r){return i+"'"+o(n.replace(/["']/g,""),t)+"'"+r})}function t(t,i){for(var n in l)for(var r,s,d,a=l[n],h=0,c=a.length;h<c&&(r=a[h]);h++)"*"!==n&&t.localName!==n||(s=t.at tributes[r],d=s&&s.value,d&&d.search(u)<0&&(s.value="style"===r?e(d,i):o(d,i)))} function o(e,t){if(e&&h.test(e))return e;var o=n(t);return o.href=e,o.href||e}fu nction i(e,t){return s||(s=document.implementation.createHTMLDocument("temp"),d= s.createElement("base"),s.head.appendChild(d)),d.href=t,o(e,s)}function n(e){ret urn e.body.__urlResolver||(e.body.__urlResolver=e.createElement("a"))}function r (e){return e.substring(0,e.lastIndexOf("/")+1)}var s,d,a=/(url\()([^)]*)(\))/g,l ={"*":["href","src","style","url"],form:["action"]},h=/(^\/)|(^#)|(^[\w-\d]*:)/, u=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:e,resolveAttrs:t,resolveUrl:i,pathF romUrl:r},Polymer.rootPath=Polymer.Settings.rootPath||r(document.baseURI||window .location.href)}(),Polymer.Base._addFeature({_prepTemplate:function(){var e;if(v oid 0===this._template&&(e=Polymer.DomModule.import(this.is),this._template=e&&e .querySelector("template")),e){var t=e.getAttribute("assetpath")||"",o=Polymer.R esolveUrl.resolveUrl(t,e.ownerDocument.baseURI);this._importPath=Polymer.Resolve Url.pathFromUrl(o)}else this._importPath="";this._template&&this._template.hasAt tribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer template must not be a type-extension, found",this._template,"Move inside simple <templa te>.")),this._template&&!this._template.content&&window.HTMLTemplateElement&&HTM LTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_stampT emplate:function(){this._template&&(this.root=this.instanceTemplate(this._templa te))},instanceTemplate:function(e){var t=document.importNode(e._content||e.conte nt,!0);return t}}),function(){var e=Polymer.Base.attachedCallback;Polymer.Base._ addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this.data Host=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._client s&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_beginHosti ng:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clients=[ ])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:function(){t his._readied=!1,this._canReady()&&this._ready()},_canReady:function(){return!thi s.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeClients Ready(),this._template&&(this._setupRoot(),this._readyClients()),this._clientsRe adied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_readyC lients:function(){this._beginDistribute();var e=this._clients;if(e)for(var t,o=0 ,i=e.length;o<i&&(t=e[o]);o++)t._ready();this._finishDistribute()},_readySelf:fu nction(){for(var e,t=0;t<this.behaviors.length;t++)e=this.behaviors[t],e.ready&& e.ready.call(this);this.ready&&this.ready(),this._readied=!0,this._attachedPendi ng&&(this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:func tion(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCa llback:function(){this._readied?(this._beforeAttached(),e.call(this)):this._atta chedPending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,o){return{ind ex:e,removed:t,addedCount:o}}function t(){}var o=0,i=1,n=2,r=3;return t.prototyp e={calcEditDistances:function(e,t,o,i,n,r){for(var s=r-n+1,d=o-t+1,a=new Array(s ),l=0;l<s;l++)a[l]=new Array(d),a[l][0]=l;for(var h=0;h<d;h++)a[0][h]=h;for(l=1; l<s;l++)for(h=1;h<d;h++)if(this.equals(e[t+h-1],i[n+l-1]))a[l][h]=a[l-1][h-1];el se{var u=a[l-1][h]+1,c=a[l][h-1]+1;a[l][h]=u<c?u:c}return a},spliceOperationsFro mEditDistances:function(e){for(var t=e.length-1,s=e[0].length-1,d=e[t][s],a=[];t >0||s>0;)if(0!=t)if(0!=s){var l,h=e[t-1][s-1],u=e[t-1][s],c=e[t][s-1];l=u<c?u<h? u:h:c<h?c:h,l==h?(h==d?a.push(o):(a.push(i),d=h),t--,s--):l==u?(a.push(r),t--,d= u):(a.push(n),s--,d=c)}else a.push(r),t--;else a.push(n),s--;return a.reverse(), a},calcSplices:function(t,s,d,a,l,h){var u=0,c=0,_=Math.min(d-s,h-l);if(0==s&&0= =l&&(u=this.sharedPrefix(t,a,_)),d==t.length&&h==a.length&&(c=this.sharedSuffix( t,a,_-u)),s+=u,l+=u,d-=c,h-=c,d-s==0&&h-l==0)return[];if(s==d){for(var f=e(s,[], 0);l<h;)f.removed.push(a[l++]);return[f]}if(l==h)return[e(s,[],d-s)];var m=this. spliceOperationsFromEditDistances(this.calcEditDistances(t,s,d,a,l,h));f=void 0; for(var p=[],v=s,g=l,b=0;b<m.length;b++)switch(m[b]){case o:f&&(p.push(f),f=void 0),v++,g++;break;case i:f||(f=e(v,[],0)),f.addedCount++,v++,f.removed.push(a[g] ),g++;break;case n:f||(f=e(v,[],0)),f.addedCount++,v++;break;case r:f||(f=e(v,[] ,0)),f.removed.push(a[g]),g++}return f&&p.push(f),p},sharedPrefix:function(e,t,o ){for(var i=0;i<o;i++)if(!this.equals(e[i],t[i]))return i;return o},sharedSuffix :function(e,t,o){for(var i=e.length,n=t.length,r=0;r<o&&this.equals(e[--i],t[--n ]);)r++;return r},calculateSplices:function(e,t){return this.calcSplices(e,0,e.l ength,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInn erHTML=function(){function e(e){switch(e){case"&":return"&amp;";case"<":return"& lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}functio n t(t){return t.replace(s,e)}function o(t){return t.replace(d,e)}function i(e){f or(var t={},o=0;o<e.length;o++)t[e[o]]=!0;return t}function n(e,i,n){switch(e.no deType){case Node.ELEMENT_NODE:for(var s,d=e.localName,h="<"+d,u=e.attributes,c= 0;s=u[c];c++)h+=" "+s.name+'="'+t(s.value)+'"';return h+=">",a[d]?h:h+r(e,n)+"</ "+d+">";case Node.TEXT_NODE:var _=e.data;return i&&l[i.localName]?_:o(_);case No de.COMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw console.error(e),n ew Error("not implemented")}}function r(e,t){e instanceof HTMLTemplateElement&&( e=e.content);for(var o,i="",r=Polymer.dom(e).childNodes,s=0,d=r.length;s<d&&(o=r [s]);s++)i+=n(o,e,t);return i}var s=/[&\u00A0"]/g,d=/[&\u00A0<>]/g,a=i(["area"," base","br","col","command","embed","hr","img","input","keygen","link","meta","pa ram","source","track","wbr"]),l=i(["style","script","xmp","iframe","noembed","no frames","plaintext","noscript"]);return{getInnerHTML:r}}(),function(){"use stric t";var e=Element.prototype.insertBefore,t=Element.prototype.appendChild,o=Elemen t.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[],o=0,i=e.firstChild;i;i=i.nextSibling)t[o++]=i;return t},arrayCopyChildren: function(e){for(var t=[],o=0,i=e.firstElementChild;i;i=i.nextElementSibling)t[o+ +]=i;return t},arrayCopy:function(e){for(var t=e.length,o=new Array(t),i=0;i<t;i ++)o[i]=e[i];return o}},Polymer.TreeApi.Logical={hasParentNode:function(e){retur n Boolean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean (e.__dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.ha sChildNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){i f(!e.__dom.childNodes){e.__dom.childNodes=[];for(var t=e.__dom.firstChild;t;t=t. __dom.nextSibling)e.__dom.childNodes.push(t)}return e.__dom.childNodes},getParen tNode:function(e){return e.__dom&&void 0!==e.__dom.parentNode?e.__dom.parentNode :e.parentNode},getFirstChild:function(e){return e.__dom&&void 0!==e.__dom.firstC hild?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&v oid 0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function (e){return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibli ng},getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibl ing?e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){ return e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firs tElementChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t& &t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementC hild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElement Child(e):e.lastElementChild},_getLastElementChild:function(e){for(var t=e.__dom. lastChild;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t} ,getNextElementSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling? this._getNextElementSibling(e):e.nextElementSibling},_getNextElementSibling:func tion(e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__d om.nextSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&v oid 0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousEle mentSibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSi bling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},sav eChildNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.f irstChild=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(v ar t=e.firstChild;t;t=t.nextSibling)t.__dom=t.__dom||{},t.__dom.parentNode=e,e._ _dom.childNodes.push(t),t.__dom.nextSibling=t.nextSibling,t.__dom.previousSiblin g=t.previousSibling}},recordInsertBefore:function(e,t,o){if(t.__dom.childNodes=n ull,e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var i=e.firstChild;i;i=i.nextSi bling)this._linkNode(i,t,o);else this._linkNode(e,t,o)},_linkNode:function(e,t,o ){e.__dom=e.__dom||{},t.__dom=t.__dom||{},o&&(o.__dom=o.__dom||{}),e.__dom.previ ousSibling=o?o.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&& (e.__dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=o||null,e.__do m.nextSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode= t,o?o===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom. firstChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:f unction(e,t){e.__dom=e.__dom||{},t.__dom=t.__dom||{},e===t.__dom.firstChild&&(t. __dom.firstChild=e.__dom.nextSibling),e===t.__dom.lastChild&&(t.__dom.lastChild= e.__dom.previousSibling);var o=e.__dom.previousSibling,i=e.__dom.nextSibling;o&& (o.__dom.nextSibling=i),i&&(i.__dom.previousSibling=o),e.__dom.parentNode=e.__do m.previousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.T reeApi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChild Nodes(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:functio n(e){e.textContent=""},insertBefore:function(t,o,i){return e.call(t,o,i||null)}, appendChild:function(e,o){return t.call(e,o)},removeChild:function(e,t){return o .call(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t= Polymer.TreeApi,o=function(e){this.node=i?o.wrap(e):e},i=e.hasShadow&&!e.nativeS hadow;o.wrap=window.wrap?window.wrap:function(e){return e},o.prototype={flush:fu nction(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e)) return!0;for(var t=e,o=e.ownerDocument;t&&t!==o&&t!==this.node;)t=Polymer.dom(t) .parentNode||t.host;return t===this.node},queryDistributedElements:function(e){f or(var t,i=this.getEffectiveChildNodes(),n=[],r=0,s=i.length;r<s&&(t=i[r]);r++)t .nodeType===Node.ELEMENT_NODE&&o.matchesSelector.call(t,e)&&n.push(t);return n}, getEffectiveChildNodes:function(){for(var e,t=[],o=this.childNodes,i=0,s=o.lengt h;i<s&&(e=o[i]);i++)if(e.localName===n)for(var d=r(e).getDistributedNodes(),a=0; a<d.length;a++)t.push(d[a]);else t.push(e);return t},observeNodes:function(e){if (e)return this.observer||(this.observer=this.node.localName===n?new o.Distribute dNodesObserver(this):new o.EffectiveNodesObserver(this)),this.observer.addListen er(e)},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e) },notifyObserver:function(){this.observer&&this.observer.notify()},_query:functi on(e,o,i){o=o||this.node;var n=[];return this._queryElements(t.Logical.getChildN odes(o),e,i,n),n},_queryElements:function(e,t,o,i){for(var n,r=0,s=e.length;r<s& &(n=e[r]);r++)if(n.nodeType===Node.ELEMENT_NODE&&this._queryElement(n,t,o,i))ret urn!0},_queryElement:function(e,o,i,n){var r=o(e);return r&&n.push(e),i&&i(r)?r: void this._queryElements(t.Logical.getChildNodes(e),o,i,n)}};var n=o.CONTENT="co ntent",r=o.factory=function(e){return e=e||document,e.__domApi||(e.__domApi=new o.ctor(e)),e.__domApi};o.hasApi=function(e){return Boolean(e.__domApi)},o.ctor=o ,Polymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e) :o.factory(e,t)};var s=Element.prototype;return o.matchesSelector=s.matches||s.m atchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s .webkitMatchesSelector,o}(),function(){"use strict";var e=Polymer.Settings,t=Pol ymer.DomApi,o=t.factory,i=Polymer.TreeApi,n=Polymer.domInnerHTML.getInnerHTML,r= t.CONTENT;if(!e.useShadow){var s=Element.prototype.cloneNode,d=Document.prototyp e.importNode;Polymer.Base.mixin(t.prototype,{_lazyDistribute:function(e){e.shady Root&&e.shadyRoot._distributionClean&&(e.shadyRoot._distributionClean=!1,Polymer .dom.addDebouncer(e.debounce("_distribute",e._distributeContent)))},appendChild: function(e){return this.insertBefore(e)},insertBefore:function(e,n){if(n&&i.Logi cal.getParentNode(n)!==this.node)throw Error("The ref_node to be inserted before is not a child of this node");if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var s=i.Logical.getParentNode(e);s?(t.hasApi(s)&&o(s).notifyObserver(),this._removeN ode(e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,n)){n&&(n=n.localName= ==r?this._firstComposedNode(n):n);var d=this.node._isShadyRoot?this.node.host:th is.node;n?i.Composed.insertBefore(d,e,n):i.Composed.appendChild(d,e)}return this .notifyObserver(),e},_addNode:function(e,t){var o=this.getOwnerRoot();if(o){var n=this._maybeAddInsertionPoint(e,this.node);o._invalidInsertionPoints||(o._inval idInsertionPoints=n),this._addNodeToHost(o.host,e)}i.Logical.hasChildNodes(this. node)&&i.Logical.recordInsertBefore(e,this.node,t);var r=this._maybeDistribute(e )||this.node.shadyRoot;if(r)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.f irstChild;)i.Composed.removeChild(e,e.firstChild);else{var s=i.Composed.getParen tNode(e);s&&i.Composed.removeChild(s,e)}return r},removeChild:function(e){if(i.L ogical.getParentNode(e)!==this.node)throw Error("The node to be removed is not a child of this node: "+e);if(!this._removeNode(e)){var t=this.node._isShadyRoot? this.node.host:this.node,o=i.Composed.getParentNode(e);t===o&&i.Composed.removeC hild(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,n=i.Logi cal.hasParentNode(e)&&i.Logical.getParentNode(e),r=this._ownerShadyRootForNode(e );return n&&(t=o(e)._maybeDistributeParent(),i.Logical.recordRemoveChild(e,n),r& &this._removeDistributedChildren(r,e)&&(r._invalidInsertionPoints=!0,this._lazyD istribute(r.host))),this._removeOwnerShadyRoot(e),r&&this._removeNodeFromHost(r. host,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeC hild(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShady Root)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_o wnerShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if (e._isShadyRoot)t=e;else{var o=i.Logical.getParentNode(e);t=o?o._isShadyRoot?o:t his._ownerShadyRootForNode(o):null}(t||document.documentElement.contains(e))&&(e ._ownerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===N ode.DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&o(e).querySelector(r),n=t&&i.Logical .getParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,s=t||e.localName===r;if (s){var d=this.getOwnerRoot();d&&this._lazyDistribute(d.host)}var a=this._nodeNe edsDistribution(this.node);return a&&this._lazyDistribute(this.node),a||s&&!n},_ maybeAddInsertionPoint:function(e,t){var n;if(e.nodeType!==Node.DOCUMENT_FRAGMEN T_NODE||e.__noContent)e.localName===r&&(i.Logical.saveChildNodes(t),i.Logical.sa veChildNodes(e),n=!0);else for(var s,d,a,l=o(e).querySelectorAll(r),h=0;h<l.leng th&&(s=l[h]);h++)d=i.Logical.getParentNode(s),d===e&&(d=t),a=this._maybeAddInser tionPoint(s,d),n=n||a;return n},_updateInsertionPoints:function(e){for(var t,n=e .shadyRoot._insertionPoints=o(e.shadyRoot).querySelectorAll(r),s=0;s<n.length;s+ +)t=n[s],i.Logical.saveChildNodes(t),i.Logical.saveChildNodes(i.Logical.getParen tNode(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsert ionPoint(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd (t)},_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_r emoveDistributedChildren:function(e,t){for(var n,r=e._insertionPoints,s=0;s<r.le ngth;s++){var d=r[s];if(this._contains(t,d))for(var a=o(d).getDistributedNodes() ,l=0;l<a.length;l++){n=!0;var h=a[l],u=i.Composed.getParentNode(h);u&&i.Composed .removeChild(u,h)}}return n},_contains:function(e,t){for(;t;){if(t==e)return!0;t =i.Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCach edOwnerRoot(e))for(var t,o=i.Logical.getChildNodes(e),n=0,r=o.length;n<r&&(t=o[n ]);n++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNod e:function(e){for(var t,i,n=o(e).getDistributedNodes(),r=0,s=n.length;r<s&&(t=n[ r]);r++)if(i=o(t).getDestinationInsertionPoints(),i[i.length-1]===e)return t},qu erySelector:function(e){var o=this._query(function(o){return t.matchesSelector.c all(o,e)},this.node,function(e){return Boolean(e)})[0];return o||null},querySele ctorAll:function(e){return this._query(function(o){return t.matchesSelector.call (o,e)},this.node)},getDestinationInsertionPoints:function(){return this.node._de stinationInsertionPoints||[]},getDistributedNodes:function(){return this.node._d istributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeC hild(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t) ,this._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttr ibute(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(thi s._nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.paren tNode),!0},cloneNode:function(e){var t=s.call(this.node,!1);if(e)for(var i,n=thi s.childNodes,r=o(t),d=0;d<n.length;d++)i=o(n[d]).cloneNode(!0),r.appendChild(i); return t},importNode:function(e,t){var n=this.node instanceof Document?this.node :this.node.ownerDocument,r=d.call(n,e,!1);if(t)for(var s,a=i.Logical.getChildNod es(e),l=o(r),h=0;h<a.length;h++)s=o(n).importNode(a[h],!0),l.appendChild(s);retu rn r},_getComposedInnerHTML:function(){return n(this.node,!0)}}),Object.definePr operties(t.prototype,{activeElement:{get:function(){var e=document.activeElement ;if(!e)return null;var t=!!this.node._isShadyRoot;if(this.node!==document){if(!t )return null;if(this.node.host===e||!this.node.host.contains(e))return null}for( var i=o(e).getOwnerRoot();i&&i!==this.node;)e=i.host,i=o(e).getOwnerRoot();retur n this.node===document?i?null:e:i===this.node?e:null},configurable:!0},childNode s:{get:function(){var e=i.Logical.getChildNodes(this.node);return Array.isArray( e)?e:i.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function() {return i.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.chil dNodes,function(e){return e.nodeType===Node.ELEMENT_NODE}):i.arrayCopyChildren(t his.node)},configurable:!0},parentNode:{get:function(){return i.Logical.getParen tNode(this.node)},configurable:!0},firstChild:{get:function(){return i.Logical.g etFirstChild(this.node)},configurable:!0},lastChild:{get:function(){return i.Log ical.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){retur n i.Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:fun ction(){return i.Logical.getPreviousSibling(this.node)},configurable:!0},firstEl ementChild:{get:function(){return i.Logical.getFirstElementChild(this.node)},con figurable:!0},lastElementChild:{get:function(){return i.Logical.getLastElementCh ild(this.node)},configurable:!0},nextElementSibling:{get:function(){return i.Log ical.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{ get:function(){return i.Logical.getPreviousElementSibling(this.node)},configurab le:!0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NOD E||e===Node.COMMENT_NODE)return this.node.textContent;for(var t,o=[],i=0,n=this. childNodes;t=n[i];i++)t.nodeType!==Node.COMMENT_NODE&&o.push(t.textContent);retu rn o.join("")},set:function(e){var t=this.node.nodeType;t===Node.TEXT_NODE||t=== Node.COMMENT_NODE?this.node.textContent=e:(this._clear(),e&&this.appendChild(doc ument.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this .node.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:n(this.node )},set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMM ENT_NODE){this._clear();var o=document.createElement("div");o.innerHTML=e;for(va r n=i.arrayCopyChildNodes(o),r=0;r<n.length;r++)this.appendChild(n[r])}},configu rable:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints .length)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,o =Polymer.DomApi;if(e.useShadow){Polymer.Base.mixin(o.prototype,{querySelectorAll :function(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:fun ction(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.h ost)return e;e=e.parentNode}},importNode:function(e,t){var o=this.node instanceo f Document?this.node:this.node.ownerDocument;return o.importNode(e,t)},getDestin ationInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&t his.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistribu tedNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistribute dNodes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(o.prototype,{acti veElement:{get:function(){var e=o.wrap(this.node),t=e.activeElement;return e.con tains(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyC hildNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCo pyChildren(this.node)},configurable:!0},textContent:{get:function(){return this. node.textContent},set:function(e){return this.node.textContent=e},configurable:! 0},innerHTML:{get:function(){return this.node.innerHTML},set:function(e){return this.node.innerHTML=e},configurable:!0}});var i=function(e){for(var t=0;t<e.leng th;t++)n(e[t])},n=function(e){o.prototype[e]=function(){return this.node[e].appl y(this.node,arguments)}};i(["cloneNode","appendChild","insertBefore","removeChil d","replaceChild","setAttribute","removeAttribute","querySelector"]);var r=funct ion(e){for(var t=0;t<e.length;t++)s(e[t])},s=function(e){Object.defineProperty(o .prototype,e,{get:function(){return this.node[e]},configurable:!0})};r(["parentN ode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild ","lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer .Base.mixin(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer .Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebo uncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._de bouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length ;)this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebounc er.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard>=this._FL USH_MAX&&console.warn("Polymer.dom.flush aborted. Flush may not be complete.")}, _prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();fo r(var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStat icFlush:function(e){this._staticFlushList.push(e)},removeStaticFlush:function(e) {var t=this._staticFlushList.indexOf(e);t>=0&&this._staticFlushList.splice(t,1)} ,addDebouncer:function(e){this._debouncers.push(e),this._finishDebouncer=Polymer .Debounce(this._finishDebouncer,this._finishFlush)},_finishFlush:function(){Poly mer.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer .DomApi.ctor,t=Polymer.Settings;e.Event=function(e){this.event=e},t.useShadow?e. Event.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){r eturn this.event.target},get path(){var e=this.event.path;return Array.isArray(e )||(e=Array.prototype.slice.call(e)),e}}:e.Event.prototype={get rootTarget(){ret urn this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e& &Polymer.dom(e).getOwnerRoot(),o=this.path,i=0;i<o.length;i++)if(Polymer.dom(o[i ]).getOwnerRoot()===t)return o[i]},get path(){if(!this.event._path){for(var e=[] ,t=this.rootTarget;t;){e.push(t);var o=Polymer.dom(t).getDestinationInsertionPoi nts();if(o.length){for(var i=0;i<o.length-1;i++)e.push(o[i]);t=o[o.length-1]}els e t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return t his.event._path}};var o=function(t){return t.__eventApi||(t.__eventApi=new e.Eve nt(t)),t.__eventApi};return{factory:o}}(),function(){"use strict";var e=Polymer. DomApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"clas sList",{get:function(){return this._classList||(this._classList=new e.ClassList( this)),this._classList},configurable:!0}),e.ClassList=function(e){this.domApi=e, this.node=e.node},e.ClassList.prototype={add:function(){this.node.classList.add. apply(this.node.classList,arguments),this._distributeParent()},remove:function() {this.node.classList.remove.apply(this.node.classList,arguments),this._distribut eParent()},toggle:function(){this.node.classList.toggle.apply(this.node.classLis t,arguments),this._distributeParent()},_distributeParent:function(){t||this.domA pi._maybeDistributeParent()},contains:function(){return this.node.classList.cont ains.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Pol ymer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this .domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserve r.prototype={addListener:function(e){this._isSetup||(this._setup(),this._isSetup =!0);var t={fn:e,_nodes:[]};return this._listeners.push(t),this._scheduleNotify( ),t},removeListener:function(e){var t=this._listeners.indexOf(e);t>=0&&(this._li steners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._is Setup=!1)},_setup:function(){this._observeContentElements(this.domApi.childNodes )},_cleanup:function(){this._unobserveContentElements(this.domApi.childNodes)},_ hasListeners:function(){return Boolean(this._listeners.length)},_scheduleNotify: function(){this._debouncer&&this._debouncer.stop(),this._debouncer=Polymer.Debou nce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDe bouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._schedule Notify()},_notify:function(){this._beforeCallListeners(),this._callListeners()}, _beforeCallListeners:function(){this._updateContentElements()},_updateContentEle ments:function(){this._observeContentElements(this.domApi.childNodes)},_observeC ontentElements:function(e){for(var t,o=0;o<e.length&&(t=e[o]);o++)this._isConten t(t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap. has(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeConte nt:function(e){var t=this,o=Polymer.dom(e).observeNodes(function(){t._scheduleNo tify()});return o._avoidChangeCalculation=!0,o},_unobserveContentElements:functi on(e){for(var t,o,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(o=t.__observ eNodesMap.get(this),o&&(Polymer.dom(t).unobserveNodes(o),t.__observeNodesMap.del ete(this)))},_isContent:function(e){return"content"===e.localName},_callListener s:function(){for(var e,t=this._listeners,o=this._getEffectiveNodes(),i=0;i<t.len gth&&(e=t[i]);i++){var n=this._generateListenerInfo(e,o);(n||e._alwaysNotify)&&t his._callListener(e,n)}},_getEffectiveNodes:function(){return this.domApi.getEff ectiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalcula tion)return!0;for(var o,i=e._nodes,n={target:this.node,addedNodes:[],removedNode s:[]},r=Polymer.ArraySplice.calculateSplices(t,i),s=0;s<r.length&&(o=r[s]);s++)f or(var d,a=0;a<o.removed.length&&(d=o.removed[a]);a++)n.removedNodes.push(d);for (s=0,o;s<r.length&&(o=r[s]);s++)for(a=o.index;a<o.index+o.addedCount;a++)n.added Nodes.push(t[a]);return e._nodes=t,n.addedNodes.length||n.removedNodes.length?n: void 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowA ttributeTracking:function(){}},t.useShadow){var o=e.EffectiveNodesObserver.proto type._setup,i=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.mixin(e.E ffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=thi s;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._obse rver=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._ flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(thi s.node,{childList:!0})}o.call(this)},_cleanup:function(){this._observer.disconne ct(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlus h(this._boundFlush),i.call(this)},_flush:function(){this._observer&&this._mutati onHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function( ){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.dis connect(),this._observer.observe(this.node,{childList:!0,attributes:!0,subtree:! 0});var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).observer&&Pol ymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwa ysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)e=this._listeners [t],e._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Po lymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.Ef fectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.c reate(e.EffectiveNodesObserver.prototype),Polymer.Base.mixin(e.DistributedNodesO bserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListener s:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNo des()}}),t.useShadow&&Polymer.Base.mixin(e.DistributedNodesObserver.prototype,{_ setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.hos t;if(t){var o=this;this._observer=Polymer.dom(t).observeNodes(function(){o._sche duleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Polym er.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(){ var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:func tion(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserveN odes(this._observer),this._observer=null}})}(),function(){function e(e,t){t._dis tributedNodes.push(e);var o=e._destinationInsertionPoints;o?o.push(t):e._destina tionInsertionPoints=[t]}function t(e){var t=e._distributedNodes;if(t)for(var o=0 ;o<t.length;o++){var i=t[o]._destinationInsertionPoints;i&&i.splice(i.indexOf(e) +1,i.length)}}function o(e,t){var o=u.Logical.getParentNode(e);o&&o.shadyRoot&&h .hasInsertionPoint(o.shadyRoot)&&o.shadyRoot._distributionClean&&(o.shadyRoot._d istributionClean=!1,t.shadyRoot._dirtyRoots.push(o))}function i(e,t){var o=t._de stinationInsertionPoints;return o&&o[o.length-1]===e}function n(e){return"conten t"==e.localName}function r(e){for(;e&&s(e);)e=e.domHost;return e}function s(e){f or(var t,o=u.Logical.getChildNodes(e),i=0;i<o.length;i++)if(t=o[i],t.localName&& "content"===t.localName)return e.domHost}function d(e){for(var t,o=0;o<e._insert ionPoints.length;o++)t=e._insertionPoints[o],h.hasApi(t)&&Polymer.dom(t).notifyO bserver()}function a(e){h.hasApi(e)&&Polymer.dom(e).notifyObserver()}function l( e){if(_&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}var h=Polymer .DomApi,u=Polymer.TreeApi;Polymer.Base._addFeature({_prepShady:function(){this._ useContent=this._useContent||Boolean(this._template)},_setupShady:function(){thi s.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=nul l),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(){ this._useContent&&u.Logical.saveChildNodes(this)},_setupRoot:function(){this._us eContent&&(this._createLocalRoot(),
2 this.dataHost||l(u.Logical.getChildNodes(this)))},_createLocalRoot:function(){th is.shadyRoot=this.root,this.shadyRoot._distributionClean=!1,this.shadyRoot._hasD istributed=!1,this.shadyRoot._isShadyRoot=!0,this.shadyRoot._dirtyRoots=[];var e =this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shad yRoot.querySelectorAll("content"):[];u.Logical.saveChildNodes(this.shadyRoot);fo r(var t,o=0;o<e.length;o++)t=e[o],u.Logical.saveChildNodes(t),u.Logical.saveChil dNodes(t.parentNode);this.shadyRoot.host=this},distributeContent:function(e){if( this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidIn sertionPoints||e;var t=r(this);Polymer.dom(this)._lazyDistribute(t)}},_distribut eContent:function(){this._useContent&&!this.shadyRoot._distributionClean&&(this. shadyRoot._invalidInsertionPoints&&(Polymer.dom(this)._updateInsertionPoints(thi s),this.shadyRoot._invalidInsertionPoints=!1),this._beginDistribute(),this._dist ributeDirtyRoots(),this._finishDistribute())},_beginDistribute:function(){this._ useContent&&h.hasInsertionPoint(this.shadyRoot)&&(this._resetDistribution(),this ._distributePool(this.shadyRoot,this._collectPool()))},_distributeDirtyRoots:fun ction(){for(var e,t=this.shadyRoot._dirtyRoots,o=0,i=t.length;o<i&&(e=t[o]);o++) e._distributeContent();this.shadyRoot._dirtyRoots=[]},_finishDistribute:function (){if(this._useContent){if(this.shadyRoot._distributionClean=!0,h.hasInsertionPo int(this.shadyRoot))this._composeTree(),d(this.shadyRoot);else if(this.shadyRoot ._hasDistributed){var e=this._composeNode(this);this._updateChildNodes(this,e)}e lse u.Composed.clearChildNodes(this),this.appendChild(this.shadyRoot);this.shady Root._hasDistributed||a(this),this.shadyRoot._hasDistributed=!0}},elementMatches :function(e,t){return t=t||this,h.matchesSelector.call(t,e)},_resetDistribution: function(){for(var e=u.Logical.getChildNodes(this),o=0;o<e.length;o++){var i=e[o ];i._destinationInsertionPoints&&(i._destinationInsertionPoints=void 0),n(i)&&t( i)}for(var r=this.shadyRoot,s=r._insertionPoints,d=0;d<s.length;d++)s[d]._distri butedNodes=[]},_collectPool:function(){for(var e=[],t=u.Logical.getChildNodes(th is),o=0;o<t.length;o++){var i=t[o];n(i)?e.push.apply(e,i._distributedNodes):e.pu sh(i)}return e},_distributePool:function(e,t){for(var i,n=e._insertionPoints,r=0 ,s=n.length;r<s&&(i=n[r]);r++)this._distributeInsertionPoint(i,t),o(i,this)},_di stributeInsertionPoint:function(t,o){for(var i,n=!1,r=0,s=o.length;r<s;r++)i=o[r ],i&&this._matchesContentSelect(i,t)&&(e(i,t),o[r]=void 0,n=!0);if(!n)for(var d= u.Logical.getChildNodes(t),a=0;a<d.length;a++)e(d[a],t)},_composeTree:function() {this._updateChildNodes(this,this._composeNode(this));for(var e,t,o=this.shadyRo ot._insertionPoints,i=0,n=o.length;i<n&&(e=o[i]);i++)t=u.Logical.getParentNode(e ),t._useContent||t===this||t===this.shadyRoot||this._updateChildNodes(t,this._co mposeNode(t))},_composeNode:function(e){for(var t=[],o=u.Logical.getChildNodes(e .shadyRoot||e),r=0;r<o.length;r++){var s=o[r];if(n(s))for(var d=s._distributedNo des,a=0;a<d.length;a++){var l=d[a];i(s,l)&&t.push(l)}else t.push(s)}return t},_u pdateChildNodes:function(e,t){for(var o,i=u.Composed.getChildNodes(e),n=Polymer. ArraySplice.calculateSplices(t,i),r=0,s=0;r<n.length&&(o=n[r]);r++){for(var d,a= 0;a<o.removed.length&&(d=o.removed[a]);a++)u.Composed.getParentNode(d)===e&&u.Co mposed.removeChild(e,d),i.splice(o.index+s,1);s-=o.addedCount}for(var o,l,r=0;r< n.length&&(o=n[r]);r++)for(l=i[o.index],a=o.index,d;a<o.index+o.addedCount;a++)d =t[a],u.Composed.insertBefore(e,d,l),i.splice(a,0,d)},_matchesContentSelect:func tion(e,t){var o=t.getAttribute("select");if(!o)return!0;if(o=o.trim(),!o)return! 0;if(!(e instanceof Element))return!1;var i=/^(:not\()?[*.#[a-zA-Z_|]/;return!!i .test(o)&&this.elementMatches(o,e)},_elementAdd:function(){},_elementRemove:func tion(){}});var c={get:function(){var e=Polymer.dom(this).getOwnerRoot();return e &&e.host},configurable:!0};Object.defineProperty(Polymer.Base,"domHost",c),Polym er.BaseDescriptors.domHost=c;var _=window.CustomElements&&!CustomElements.useNat ive}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolContent:functi on(){},_beginDistribute:function(){},distributeContent:function(){},_distributeC ontent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){t his.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root=this.sha dowRoot}}),Polymer.Async={_currVal:0,_lastVal:0,_callbacks:[],_twiddleContent:0, _twiddle:document.createTextNode(""),run:function(e,t){return t>0?~setTimeout(e, t):(this._twiddle.textContent=this._twiddleContent++,this._callbacks.push(e),thi s._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-this._las tVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;this._callb acks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.length,t= 0;t<e;t++){var o=this._callbacks[t];if(o)try{o()}catch(e){throw t++,this._callba cks.splice(0,t),this._lastVal+=t,this._twiddle.textContent=this._twiddleContent+ +,e}}this._callbacks.splice(0,e),this._lastVal+=e}},new window.MutationObserver( function(){Polymer.Async._atEndOfMicrotask()}).observe(Polymer.Async._twiddle,{c haracterData:!0}),Polymer.Debounce=function(){function e(e,t,i){return e?e.stop( ):e=new o(this),e.go(t,i),e}var t=Polymer.Async,o=function(e){this.context=e;var t=this;this.boundComplete=function(){t.complete()}};return o.prototype={go:func tion(e,o){var i;this.finish=function(){t.cancel(i)},i=t.run(this.boundComplete,o ),this.callback=e},stop:function(){this.finish&&(this.finish(),this.finish=null, this.callback=null)},complete:function(){if(this.finish){var e=this.callback;thi s.stop(),e.call(this.context)}}},e}(),Polymer.Base._addFeature({_setupDebouncers :function(){this._debouncers={}},debounce:function(e,t,o){return this._debouncer s[e]=Polymer.Debounce.call(this,this._debouncers[e],t,o)},isDebouncerActive:func tion(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebouncer:functio n(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:function(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createElement("d om-module"),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs( ),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),this._prepS hady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttribut es(e.hostAttributes)},_initFeatures:function(){this._registerHost(),this._templa te&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHos ting()),this._marshalHostAttributes(),this._setupDebouncers(),this._marshalBehav iors(),this._tryReady()},_marshalBehavior:function(e){}})</script><script>!funct ion(){Polymer.nar=[];var e=Polymer.Settings.disableUpgradeEnabled;Polymer.Annota tions={parseAnnotations:function(e,t){var n=[],r=e._content||e.content;return th is._parseNodeAnnotations(r,n,t||e.hasAttribute("strip-whitespace")),n},_parseNod eAnnotations:function(e,t,n){return e.nodeType===Node.TEXT_NODE?this._parseTextN odeAnnotation(e,t):this._parseElementAnnotations(e,t,n)},_bindingRegex:function( ){var e="(?:[a-zA-Z_$][\\w.:$\\-*]*)",t="(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0- 9]+)?)",n="(?:'(?:[^'\\\\]|\\\\.)*')",r='(?:"(?:[^"\\\\]|\\\\.)*")',s="(?:"+n+"| "+r+")",i="(?:"+e+"|"+t+"|"+s+"\\s*)",o="(?:"+i+"(?:,\\s*"+i+")*)",a="(?:\\(\\s* (?:"+o+"?)\\)\\s*)",l="("+e+"\\s*"+a+"?)",c="(\\[\\[|{{)\\s*",h="(?:]]|}})",u="( ?:(!)\\s*)?",f=c+u+l+h;return new RegExp(f,"g")}(),_parseBindings:function(e){fo r(var t,n=this._bindingRegex,r=[],s=0;null!==(t=n.exec(e));){t.index>s&&r.push({ literal:e.slice(s,t.index)});var i,o,a,l=t[1][0],c=Boolean(t[2]),h=t[3].trim();" {"==l&&(a=h.indexOf("::"))>0&&(o=h.substring(a+2),h=h.substring(0,a),i=!0),r.pus h({compoundIndex:r.length,value:h,mode:l,negate:c,event:o,customEvent:i}),s=n.la stIndex}if(s&&s<e.length){var u=e.substring(s);u&&r.push({literal:u})}if(r.lengt h)return r},_literalFromParts:function(e){for(var t="",n=0;n<e.length;n++){var r =e[n].literal;t+=r||""}return t},_parseTextNodeAnnotation:function(e,t){var n=th is._parseBindings(e.textContent);if(n){e.textContent=this._literalFromParts(n)|| " ";var r={bindings:[{kind:"text",name:"textContent",parts:n,isCompound:1!==n.le ngth}]};return t.push(r),r}},_parseElementAnnotations:function(e,t,n){var r={bin dings:[],events:[]};return"content"===e.localName&&(t._hasContent=!0),this._pars eChildNodesAnnotations(e,r,t,n),e.attributes&&(this._parseNodeAttributeAnnotatio ns(e,r,t),this.prepElement&&this.prepElement(e)),(r.bindings.length||r.events.le ngth||r.id)&&t.push(r),r},_parseChildNodesAnnotations:function(e,t,n,r){if(e.fir stChild)for(var s=e.firstChild,i=0;s;){var o=s.nextSibling;if("template"!==s.loc alName||s.hasAttribute("preserve-content")||this._parseTemplate(s,i,n,t,r),"slot "==s.localName&&(s=this._replaceSlotWithContent(s)),s.nodeType===Node.TEXT_NODE) {for(var a=o;a&&a.nodeType===Node.TEXT_NODE;)s.textContent+=a.textContent,o=a.ne xtSibling,e.removeChild(a),a=o;r&&!s.textContent.trim()&&(e.removeChild(s),i--)} if(s.parentNode){var l=this._parseNodeAnnotations(s,n,r);l&&(l.parent=t,l.index= i)}s=o,i++}},_replaceSlotWithContent:function(e){for(var t=e.ownerDocument.creat eElement("content");e.firstChild;)t.appendChild(e.firstChild);for(var n=e.attrib utes,r=0;r<n.length;r++){var s=n[r];t.setAttribute(s.name,s.value)}var i=e.getAt tribute("name");return i&&t.setAttribute("select","[slot='"+i+"']"),e.parentNode .replaceChild(t,e),t},_parseTemplate:function(e,t,n,r,s){var i=document.createDo cumentFragment();i._notes=this.parseAnnotations(e,s),i.appendChild(e.content),n. push({bindings:Polymer.nar,events:Polymer.nar,templateContent:i,parent:r,index:t })},_parseNodeAttributeAnnotations:function(e,t){for(var n,r=Array.prototype.sli ce.call(e.attributes),s=r.length-1;n=r[s];s--){var i,o=n.name,a=n.value;"on-"=== o.slice(0,3)?(e.removeAttribute(o),t.events.push({name:o.slice(3),value:a})):(i= this._parseNodeAttributeAnnotation(e,o,a))?t.bindings.push(i):"id"===o&&(t.id=a) }},_parseNodeAttributeAnnotation:function(t,n,r){var s=this._parseBindings(r);if (s){var i=n,o="property";"$"==n[n.length-1]&&(n=n.slice(0,-1),o="attribute");var a=this._literalFromParts(s);a&&"attribute"==o&&t.setAttribute(n,a),"input"===t. localName&&"value"===i&&t.setAttribute(i,""),e&&"disable-upgrade$"===i&&t.setAtt ribute(n,""),t.removeAttribute(i);var l=Polymer.CaseMap.dashToCamelCase(n);retur n"property"===o&&(n=l),{kind:o,name:n,propertyName:l,parts:s,literal:a,isCompoun d:1!==s.length}}},findAnnotatedNode:function(e,t){var n=t.parent&&Polymer.Annota tions.findAnnotatedNode(e,t.parent);if(!n)return e;for(var r=n.firstChild,s=0;r; r=r.nextSibling)if(t.index===s++)return r}}}(),Polymer.Path={root:function(e){va r t=e.indexOf(".");return t===-1?e:e.slice(0,t)},isDeep:function(e){return e.ind exOf(".")!==-1},isAncestor:function(e,t){return 0===e.indexOf(t+".")},isDescenda nt:function(e,t){return 0===t.indexOf(e+".")},translate:function(e,t,n){return t +n.slice(e.length)},matches:function(e,t,n){return e===n||this.isAncestor(e,n)|| Boolean(t)&&this.isDescendant(e,n)}},Polymer.Base._addFeature({_prepAnnotations: function(){if(this._template){var e=this;Polymer.Annotations.prepElement=functio n(t){e._prepElement(t)},this._template._content&&this._template._content._notes? this._notes=this._template._content._notes:(this._notes=Polymer.Annotations.pars eAnnotations(this._template),this._processAnnotations(this._notes)),Polymer.Anno tations.prepElement=null}else this._notes=[]},_processAnnotations:function(e){fo r(var t=0;t<e.length;t++){for(var n=e[t],r=0;r<n.bindings.length;r++)for(var s=n .bindings[r],i=0;i<s.parts.length;i++){var o=s.parts[i];if(!o.literal){var a=thi s._parseMethod(o.value);a?o.signature=a:o.model=Polymer.Path.root(o.value)}}if(n .templateContent){this._processAnnotations(n.templateContent._notes);var l=n.tem plateContent._parentProps=this._discoverTemplateParentProps(n.templateContent._n otes),c=[];for(var h in l){var u="_parent_"+h;c.push({index:n.index,kind:"proper ty",name:u,propertyName:u,parts:[{mode:"{",model:h,value:h}]})}n.bindings=n.bind ings.concat(c)}}},_discoverTemplateParentProps:function(e){for(var t,n={},r=0;r< e.length&&(t=e[r]);r++){for(var s,i=0,o=t.bindings;i<o.length&&(s=o[i]);i++)for( var a,l=0,c=s.parts;l<c.length&&(a=c[l]);l++)if(a.signature){for(var h=a.signatu re.args,u=0;u<h.length;u++){var f=h[u].model;f&&(n[f]=!0)}a.signature.dynamicFn& &(n[a.signature.method]=!0)}else a.model&&(n[a.model]=!0);if(t.templateContent){ var p=t.templateContent._parentProps;Polymer.Base.mixin(n,p)}}return n},_prepEle ment:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument) },_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationRef erences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotate dNodes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:func tion(){for(var e=this._notes,t=this._nodes,n=0;n<e.length;n++){var r=e[n],s=t[n] ;this._configureTemplateContent(r,s),this._configureCompoundBindings(r,s)}},_con figureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateCon tent)},_configureCompoundBindings:function(e,t){for(var n=e.bindings,r=0;r<n.len gth;r++){var s=n[r];if(s.isCompound){for(var i=t.__compoundStorage__||(t.__compo undStorage__={}),o=s.parts,a=new Array(o.length),l=0;l<o.length;l++)a[l]=o[l].li teral;var c=s.name;i[c]=a,s.literal&&"property"==s.kind&&(t._configValue?t._conf igValue(c,s.literal):t[c]=s.literal)}}},_marshalIdNodes:function(){this.$={};for (var e,t=0,n=this._notes.length;t<n&&(e=this._notes[t]);t++)e.id&&(this.$[e.id]= this._findAnnotatedNode(this.root,e))},_marshalAnnotatedNodes:function(){if(this ._notes&&this._notes.length){for(var e=new Array(this._notes.length),t=0;t<this. _notes.length;t++)e[t]=this._findAnnotatedNode(this.root,this._notes[t]);this._n odes=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,n=this._notes.lengt h;t<n&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var r,s=this._fin dAnnotatedNode(this.root,e),i=0,o=e.events;i<o.length&&(r=o[i]);i++)this.listen( s,r.name,r.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:fun ction(e){var t,n,r;for(r in e)r.indexOf(".")<0?(t=this,n=r):(n=r.split("."),t=th is.$[n[0]],n=n[1]),this.listen(t,n,e[r])},listen:function(e,t,n){var r=this._rec allEventHandler(this,t,e,n);r||(r=this._createEventHandler(e,t,n)),r._listening| |(this._listen(e,t,r),r._listening=!0)},_boundListenerKey:function(e,t){return e +":"+t},_recordEventHandler:function(e,t,n,r,s){var i=e.__boundListeners;i||(i=e .__boundListeners=new WeakMap);var o=i.get(n);o||(o={},Polymer.Settings.isIE&&n= =window||i.set(n,o));var a=this._boundListenerKey(t,r);o[a]=s},_recallEventHandl er:function(e,t,n,r){var s=e.__boundListeners;if(s){var i=s.get(n);if(i){var o=t his._boundListenerKey(t,r);return i[o]}}},_createEventHandler:function(e,t,n){va r r=this,s=function(e){r[n]?r[n](e,e.detail):r._warn(r._logf("_createEventHandle r","listener method `"+n+"` not defined"))};return s._listening=!1,this._recordE ventHandler(r,t,e,n,s),s},unlisten:function(e,t,n){var r=this._recallEventHandle r(this,t,e,n);r&&(this._unlisten(e,t,r),r._listening=!1)},_listen:function(e,t,n ){e.addEventListener(t,n)},_unlisten:function(e,t,n){e.removeEventListener(t,n)} }),function(){"use strict";function e(e){for(var t,n=P?["click"]:m,r=0;r<n.lengt h;r++)t=n[r],e?document.addEventListener(t,S,!0):document.removeEventListener(t, S,!0)}function t(t){E.mouse.mouseIgnoreJob||e(!0);var n=function(){e(),E.mouse.t arget=null,E.mouse.mouseIgnoreJob=null};E.mouse.target=Polymer.dom(t).rootTarget ,E.mouse.mouseIgnoreJob=Polymer.Debounce(E.mouse.mouseIgnoreJob,n,_)}function n( e){var t=e.type;if(m.indexOf(t)===-1)return!1;if("mousemove"===t){var n=void 0== =e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!v&&(n=y[e.which]| |0),Boolean(1&n)}var r=void 0===e.button?0:e.button;return 0===r}function r(e){i f("click"===e.type){if(0===e.detail)return!0;var t=C.findOriginalTarget(e),n=t.g etBoundingClientRect(),r=e.pageX,s=e.pageY;return!(r>=n.left&&r<=n.right&&s>=n.t op&&s<=n.bottom)}return!1}function s(e){for(var t,n=Polymer.dom(e).path,r="auto" ,s=0;s<n.length;s++)if(t=n[s],t[u]){r=t[u];break}return r}function i(e,t,n){e.mo vefn=t,e.upfn=n,document.addEventListener("mousemove",t),document.addEventListen er("mouseup",n)}function o(e){document.removeEventListener("mousemove",e.movefn) ,document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var a= Polymer.DomApi.wrap,l="string"==typeof document.head.style.touchAction,c="__poly merGestures",h="__polymerGesturesHandled",u="__polymerGesturesTouchAction",f=25, p=5,d=2,_=2500,m=["mousedown","mousemove","mouseup","click"],y=[0,1,4,2],v=funct ion(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return! 1}}(),g=!1;!function(){try{var e=Object.defineProperty({},"passive",{get:functio n(){g=!0}});window.addEventListener("test",null,e),window.removeEventListener("t est",null,e)}catch(e){}}();var P=navigator.userAgent.match(/iP(?:[oa]d|hone)|And roid/),S=function(e){var t=e.sourceCapabilities;if((!t||t.firesTouchEvents)&&(e[ h]={skip:!0},"click"===e.type)){for(var n=Polymer.dom(e).path,r=0;r<n.length;r++ )if(n[r]===E.mouse.target)return;e.preventDefault(),e.stopPropagation()}},E={mou se:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};doc ument.addEventListener("touchend",t,!!g&&{passive:!0});var C={gestures:{},recogn izers:[],deepTargetFind:function(e,t){for(var n=document.elementFromPoint(e,t),r =n;r&&r.shadowRoot;)r=r.shadowRoot.elementFromPoint(e,t),r&&(n=r);return n},find OriginalTarget:function(e){return e.path?e.path[0]:e.target},handleNative:functi on(e){var t,n=e.type,r=a(e.currentTarget),s=r[c];if(s){var i=s[n];if(i){if(!e[h] &&(e[h]={},"touch"===n.slice(0,5))){var o=e.changedTouches[0];if("touchstart"=== n&&1===e.touches.length&&(E.touch.id=o.identifier),E.touch.id!==o.identifier)ret urn;l||"touchstart"!==n&&"touchmove"!==n||C.handleTouchAction(e)}if(t=e[h],!t.sk ip){for(var u,f=C.recognizers,p=0;p<f.length;p++)u=f[p],i[u.name]&&!t[u.name]&&u .flow&&u.flow.start.indexOf(e.type)>-1&&u.reset&&u.reset();for(p=0,u;p<f.length; p++)u=f[p],i[u.name]&&!t[u.name]&&(t[u.name]=!0,u[n](e))}}}},handleTouchAction:f unction(e){var t=e.changedTouches[0],n=e.type;if("touchstart"===n)E.touch.x=t.cl ientX,E.touch.y=t.clientY,E.touch.scrollDecided=!1;else if("touchmove"===n){if(E .touch.scrollDecided)return;E.touch.scrollDecided=!0;var r=s(e),i=!1,o=Math.abs( E.touch.x-t.clientX),a=Math.abs(E.touch.y-t.clientY);e.cancelable&&("none"===r?i =!0:"pan-x"===r?i=a>o:"pan-y"===r&&(i=o>a)),i?e.preventDefault():C.prevent("trac k")}},add:function(e,t,n){e=a(e);var r=this.gestures[t],s=r.deps,i=r.name,o=e[c] ;o||(e[c]=o={});for(var l,h,u=0;u<s.length;u++)l=s[u],P&&m.indexOf(l)>-1&&"click "!==l||(h=o[l],h||(o[l]=h={_count:0}),0===h._count&&e.addEventListener(l,this.ha ndleNative),h[i]=(h[i]||0)+1,h._count=(h._count||0)+1);e.addEventListener(t,n),r .touchAction&&this.setTouchAction(e,r.touchAction)},remove:function(e,t,n){e=a(e );var r=this.gestures[t],s=r.deps,i=r.name,o=e[c];if(o)for(var l,h,u=0;u<s.lengt h;u++)l=s[u],h=o[l],h&&h[i]&&(h[i]=(h[i]||1)-1,h._count=(h._count||1)-1,0===h._c ount&&e.removeEventListener(l,this.handleNative));e.removeEventListener(t,n)},re gister:function(e){this.recognizers.push(e);for(var t=0;t<e.emits.length;t++)thi s.gestures[e.emits[t]]=e},findRecognizerByEvent:function(e){for(var t,n=0;n<this .recognizers.length;n++){t=this.recognizers[n];for(var r,s=0;s<t.emits.length;s+ +)if(r=t.emits[s],r===e)return t}return null},setTouchAction:function(e,t){l&&(e .style.touchAction=t),e[u]=t},fire:function(e,t,n){var r=Polymer.Base.fire(t,n,{ node:e,bubbles:!0,cancelable:!0});if(r.defaultPrevented){var s=n.preventer||n.so urceEvent;s&&s.preventDefault&&s.preventDefault()}},prevent:function(e){var t=th is.findRecognizerByEvent(e);t.info&&(t.info.prevent=!0)},resetMouseCanceller:fun ction(){E.mouse.mouseIgnoreJob&&E.mouse.mouseIgnoreJob.complete()}};C.register({ name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown ","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:nul l,upfn:null},reset:function(){o(this.info)},mousedown:function(e){if(n(e)){var t =C.findOriginalTarget(e),r=this,s=function(e){n(e)||(r.fire("up",t,e),o(r.info)) },a=function(e){n(e)&&r.fire("up",t,e),o(r.info)};i(this.info,s,a),this.fire("do wn",t,e)}},touchstart:function(e){this.fire("down",C.findOriginalTarget(e),e.cha ngedTouches[0],e)},touchend:function(e){this.fire("up",C.findOriginalTarget(e),e .changedTouches[0],e)},fire:function(e,t,n,r){C.fire(t,e,{x:n.clientX,y:n.client Y,sourceEvent:n,preventer:r,prevent:function(e){return C.prevent(e)}})}}),C.regi ster({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove" ,"touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]}, emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function (e){this.moves.length>d&&this.moves.shift(),this.moves.push(e)},movefn:null,upfn :null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1, this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,o(this.info) },hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.starte d)return!0;var n=Math.abs(this.info.x-e),r=Math.abs(this.info.y-t);return n>=p|| r>=p},mousedown:function(e){if(n(e)){var t=C.findOriginalTarget(e),r=this,s=func tion(e){var s=e.clientX,i=e.clientY;r.hasMovedEnough(s,i)&&(r.info.state=r.info. started?"mouseup"===e.type?"end":"track":"start","start"===r.info.state&&C.preve nt("tap"),r.info.addMove({x:s,y:i}),n(e)||(r.info.state="end",o(r.info)),r.fire( t,e),r.info.started=!0)},a=function(e){r.info.started&&s(e),o(r.info)};i(this.in fo,s,a),this.info.x=e.clientX,this.info.y=e.clientY}},touchstart:function(e){var t=e.changedTouches[0];this.info.x=t.clientX,this.info.y=t.clientY},touchmove:fu nction(e){var t=C.findOriginalTarget(e),n=e.changedTouches[0],r=n.clientX,s=n.cl ientY;this.hasMovedEnough(r,s)&&("start"===this.info.state&&C.prevent("tap"),thi s.info.addMove({x:r,y:s}),this.fire(t,n),this.info.state="track",this.info.start ed=!0)},touchend:function(e){var t=C.findOriginalTarget(e),n=e.changedTouches[0] ;this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.cl ientY}),this.fire(t,n,e))},fire:function(e,t,n){var r,s=this.info.moves[this.inf o.moves.length-2],i=this.info.moves[this.info.moves.length-1],o=i.x-this.info.x, a=i.y-this.info.y,l=0;return s&&(r=i.x-s.x,l=i.y-s.y),C.fire(e,"track",{state:th is.info.state,x:t.clientX,y:t.clientY,dx:o,dy:a,ddx:r,ddy:l,sourceEvent:t,preven ter:n,hover:function(){return C.deepTargetFind(t.clientX,t.clientY)}})}}),C.regi ster({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start: ["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y :NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prev ent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown: function(e){n(e)&&this.save(e)},click:function(e){n(e)&&this.forward(e)},touchst art:function(e){this.save(e.changedTouches[0],e)},touchend:function(e){this.forw ard(e.changedTouches[0],e)},forward:function(e,t){var n=Math.abs(e.clientX-this. info.x),s=Math.abs(e.clientY-this.info.y),i=C.findOriginalTarget(e);(isNaN(n)||i sNaN(s)||n<=f&&s<=f||r(e))&&(this.info.prevent||C.fire(i,"tap",{x:e.clientX,y:e. clientY,sourceEvent:e,preventer:t}))}});var b={x:"pan-x",y:"pan-y",none:"none",a ll:"auto"};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGes tures=null},_listen:function(e,t,n){C.gestures[t]?C.add(e,t,n):e.addEventListene r(t,n)},_unlisten:function(e,t,n){C.gestures[t]?C.remove(e,t,n):e.removeEventLis tener(t,n)},setScrollDirection:function(e,t){t=t||this,C.setTouchAction(t,b[e]|| "auto")}}),Polymer.Gestures=C}(),function(){"use strict";if(Polymer.Base._addFea ture({$$:function(e){return Polymer.dom(this.root).querySelector(e)},toggleClass :function(e,t,n){n=n||this,1==arguments.length&&(t=!n.classList.contains(e)),t?P olymer.dom(n).classList.add(e):Polymer.dom(n).classList.remove(e)},toggleAttribu te:function(e,t,n){n=n||this,1==arguments.length&&(t=!n.hasAttribute(e)),t?Polym er.dom(n).setAttribute(e,""):Polymer.dom(n).removeAttribute(e)},classFollows:fun ction(e,t,n){n&&Polymer.dom(n).classList.remove(e),t&&Polymer.dom(t).classList.a dd(e)},attributeFollows:function(e,t,n){n&&Polymer.dom(n).removeAttribute(e),t&& Polymer.dom(t).setAttribute(e,"")},getEffectiveChildNodes:function(){return Poly mer.dom(this).getEffectiveChildNodes()},getEffectiveChildren:function(){var e=Po lymer.dom(this).getEffectiveChildNodes();return e.filter(function(e){return e.no deType===Node.ELEMENT_NODE})},getEffectiveTextContent:function(){for(var e,t=thi s.getEffectiveChildNodes(),n=[],r=0;e=t[r];r++)e.nodeType!==Node.COMMENT_NODE&&n .push(Polymer.dom(e).textContent);return n.join("")},queryEffectiveChildren:func tion(e){var t=Polymer.dom(this).queryDistributedElements(e);return t&&t[0]},quer yAllEffectiveChildren:function(e){return Polymer.dom(this).queryDistributedEleme nts(e)},getContentChildNodes:function(e){var t=Polymer.dom(this.root).querySelec tor(e||"content");return t?Polymer.dom(t).getDistributedNodes():[]},getContentCh ildren:function(e){return this.getContentChildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:function(e,t,n){n=n||Polymer.nob;var r=n .node||this;t=null===t||void 0===t?{}:t;var s=void 0===n.bubbles||n.bubbles,i=Bo olean(n.cancelable),o=n._useCache,a=this._getEvent(e,s,i,o);return a.detail=t,o& &(this.__eventCache[e]=null),r.dispatchEvent(a),o&&(this.__eventCache[e]=a),a},_ _eventCache:{},_getEvent:function(e,t,n,r){var s=r&&this.__eventCache[e];return s&&s.bubbles==t&&s.cancelable==n||(s=new Event(e,{bubbles:Boolean(t),cancelable: n})),s},async:function(e,t){var n=this;return Polymer.Async.run(function(){e.cal l(n)},t)},cancelAsync:function(e){Polymer.Async.cancel(e)},arrayDelete:function( e,t){var n;if(Array.isArray(e)){if(n=e.indexOf(t),n>=0)return e.splice(n,1)}else {var r=this._get(e);if(n=r.indexOf(t),n>=0)return this.splice(e,n,1)}},transform :function(e,t){t=t||this,t.style.webkitTransform=e,t.style.transform=e},translat e3d:function(e,t,n,r){r=r||this,this.transform("translate3d("+e+","+t+","+n+")", r)},importHref:function(e,t,n,r){var s=document.createElement("link");s.rel="imp ort",s.href=e;var i=Polymer.Base.importHref.imported=Polymer.Base.importHref.imp orted||{},o=i[s.href],a=o||s,l=this,c=function(e){return e.target.__firedLoad=!0 ,e.target.removeEventListener("load",c),e.target.removeEventListener("error",h), t.call(l,e)},h=function(e){return e.target.__firedError=!0,e.target.removeEventL istener("load",c),e.target.removeEventListener("error",h),n.call(l,e)};return t& &a.addEventListener("load",c),n&&a.addEventListener("error",h),o?(o.__firedLoad& &o.dispatchEvent(new Event("load")),o.__firedError&&o.dispatchEvent(new Event("e rror"))):(i[s.href]=s,r=Boolean(r),r&&s.setAttribute("async",""),document.head.a ppendChild(s)),a},create:function(e,t){var n=document.createElement(e);if(t)for( var r in t)n[r]=t[r];return n},isLightDescendant:function(e){return this!==e&&th is.contains(e)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot() },isLocalDescendant:function(e){return this.root===Polymer.dom(e).getOwnerRoot() }}),!Polymer.Settings.useNativeCustomElements){var e=Polymer.Base.importHref;Pol ymer.Base.importHref=function(t,n,r,s){CustomElements.ready=!1;var i=function(e) {if(CustomElements.upgradeDocumentTree(document),CustomElements.ready=!0,n)retur n n.call(this,e)};return e.call(this,t,i,r,s)}}}(),Polymer.Bind={prepareModel:fu nction(e){Polymer.Base.mixin(e,this._modelApi)},_modelApi:{_notifyChange:functio n(e,t,n){n=void 0===n?this[e]:n,t=t||Polymer.CaseMap.camelToDashCase(e)+"-change d",this.fire(t,{value:n},{bubbles:!1,cancelable:!1,_useCache:Polymer.Settings.ev entDataCache||!Polymer.Settings.isIE})},_propertySetter:function(e,t,n,r){var s= this.__data__[e];return s===t||s!==s&&t!==t||(this.__data__[e]=t,"object"==typeo f t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,s),n&&t his._effectEffects(e,t,n,s,r)),s},__setProperty:function(e,t,n,r){r=r||this;var s=r._propertyEffects&&r._propertyEffects[e];s?r._propertySetter(e,t,s,n):r[e]!== t&&(r[e]=t)},_effectEffects:function(e,t,n,r,s){for(var i,o=0,a=n.length;o<a&&(i =n[o]);o++)i.fn.call(this,e,this[e],i.effect,r,s)},_clearPath:function(e){for(va r t in this.__data__)Polymer.Path.isDescendant(e,t)&&(this.__data__[t]=void 0)}} ,ensurePropertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={}) ;var n=e._propertyEffects[t];return n||(n=e._propertyEffects[t]=[]),n},addProper tyEffect:function(e,t,n,r){var s=this.ensurePropertyEffects(e,t),i={kind:n,effec t:r,fn:Polymer.Bind["_"+n+"Effect"]};return s.push(i),i},createBindings:function (e){var t=e._propertyEffects;if(t)for(var n in t){var r=t[n];r.sort(this._sortPr opertyEffects),this._createAccessors(e,n,r)}},_sortPropertyEffects:function(){va r e={compute:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5 ,complexObserver:6,function:7};return function(t,n){return e[t.kind]-e[n.kind]}} (),_createAccessors:function(e,t,n){var r={get:function(){return this.__data__[t ]}},s=function(e){this._propertySetter(t,e,n)},i=e.getPropertyInfo&&e.getPropert yInfo(t);i&&i.readOnly?i.computed||(e["_set"+this.upper(t)]=s):r.set=s,Object.de fineProperty(e,t,r)},upper:function(e){return e[0].toUpperCase()+e.substring(1)} ,_addAnnotatedListener:function(e,t,n,r,s,i){e._bindListeners||(e._bindListeners =[]);var o=this._notedListenerFactory(n,r,Polymer.Path.isDeep(r),i),a=s||Polymer .CaseMap.camelToDashCase(n)+"-changed";e._bindListeners.push({index:t,property:n ,path:r,changedFn:o,event:a})},_isEventBogus:function(e,t){return e.path&&e.path [0]!==t},_notedListenerFactory:function(e,t,n,r){return function(s,i,o){if(o){va r a=Polymer.Path.translate(e,t,o);this._notifyPath(a,i)}else i=s[e],r&&(i=!i),n? this.__data__[t]!=i&&this.set(t,i):this[t]=i}},prepareInstance:function(e){e.__d ata__=Object.create(null)},setupBindListeners:function(e){for(var t,n=e._bindLis teners,r=0,s=n.length;r<s&&(t=n[r]);r++){var i=e._nodes[t.index];this._addNotify Listener(i,e,t.event,t.changedFn)}},_addNotifyListener:function(e,t,n,r){e.addEv entListener(n,function(e){return t._notifyListener(r,e)})}},Polymer.Base.mixin(P olymer.Bind,{_shouldAddListener:function(e){return e.name&&"attribute"!=e.kind&& "text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotationEffect:function (e,t,n){e!=n.value&&(t=this._get(n.value),this.__data__[n.value]=t),this._applyE ffectValue(n,t)},_reflectEffect:function(e,t,n){this.reflectPropertyToAttribute( e,n.attribute,t)},_notifyEffect:function(e,t,n,r,s){s||this._notifyChange(e,n.ev ent,t)},_functionEffect:function(e,t,n,r,s){n.call(this,e,t,r,s)},_observerEffec t:function(e,t,n,r){var s=this[n.method];s?s.call(this,t,r):this._warn(this._log f("_observerEffect","observer method `"+n.method+"` not defined"))},_complexObse rverEffect:function(e,t,n){var r=this[n.method];if(r){var s=Polymer.Bind._marsha lArgs(this.__data__,n,e,t);s&&r.apply(this,s)}else n.dynamicFn||this._warn(this. _logf("_complexObserverEffect","observer method `"+n.method+"` not defined"))},_ computeEffect:function(e,t,n){var r=this[n.method];if(r){var s=Polymer.Bind._mar shalArgs(this.__data__,n,e,t);if(s){var i=r.apply(this,s);this.__setProperty(n.n ame,i)}}else n.dynamicFn||this._warn(this._logf("_computeEffect","compute method `"+n.method+"` not defined"))},_annotatedComputationEffect:function(e,t,n){var r=this._rootDataHost||this,s=r[n.method];if(s){var i=Polymer.Bind._marshalArgs(t his.__data__,n,e,t);if(i){var o=s.apply(r,i);this._applyEffectValue(n,o)}}else n .dynamicFn||r._warn(r._logf("_annotatedComputationEffect","compute method `"+n.m ethod+"` not defined"))},_marshalArgs:function(e,t,n,r){for(var s=[],i=t.args,o= i.length>1||t.dynamicFn,a=0,l=i.length;a<l;a++){var c,h=i[a],u=h.name;if(h.liter al?c=h.value:n===u?c=r:(c=e[u],void 0===c&&h.structured&&(c=Polymer.Base._get(u, e))),o&&void 0===c)return;if(h.wildcard){var f=Polymer.Path.isAncestor(n,u);s[a] ={path:f?n:u,value:f?r:c,base:c}}else s[a]=c}return s}}),Polymer.Base._addFeatur e({_addPropertyEffect:function(e,t,n){var r=Polymer.Bind.addPropertyEffect(this, e,t,n);r.pathFn=this["_"+r.kind+"PathEffect"]},_prepEffects:function(){Polymer.B ind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBindings:fu nction(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function(e){if(e )for(var t in e){var n=e[t];if(n.observer&&this._addObserverEffect(t,n.observer) ,n.computed&&(n.readOnly=!0,this._addComputedEffect(t,n.computed)),n.notify&&thi s._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t)+"-chan ged"}),n.reflectToAttribute){var r=Polymer.CaseMap.camelToDashCase(t);"-"===r[0] ?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be reflected to attribute "+r+' because "-" is not a valid starting attribute name. Use a lo wercase first letter for the property instead.')):this._addPropertyEffect(t,"ref lect",{attribute:r})}n.readOnly&&Polymer.Bind.ensurePropertyEffects(this,t)}},_a ddComputedEffect:function(e,t){for(var n,r=this._parseMethod(t),s=r.dynamicFn,i= 0;i<r.args.length&&(n=r.args[i]);i++)this._addPropertyEffect(n.model,"compute",{ method:r.method,args:r.args,trigger:n,name:e,dynamicFn:s});s&&this._addPropertyE ffect(r.method,"compute",{method:r.method,args:r.args,trigger:null,name:e,dynami cFn:s})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"observer",{ method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(var t,n=0 ;n<e.length&&(t=e[n]);n++)this._addComplexObserverEffect(t)},_addComplexObserver Effect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Malformed o bserver expression '"+e+"'");for(var n,r=t.dynamicFn,s=0;s<t.args.length&&(n=t.a rgs[s]);s++)this._addPropertyEffect(n.model,"complexObserver",{method:t.method,a rgs:t.args,trigger:n,dynamicFn:r});r&&this._addPropertyEffect(t.method,"complexO bserver",{method:t.method,args:t.args,trigger:null,dynamicFn:r})},_addAnnotation Effects:function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++)for(var r,s=t.binding s,i=0;i<s.length&&(r=s[i]);i++)this._addAnnotationEffect(r,n)},_addAnnotationEff ect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addAnnotated Listener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].negate);for( var n=0;n<e.parts.length;n++){var r=e.parts[n];r.signature?this._addAnnotatedCom putationEffect(e,r,t):r.literal||("attribute"===e.kind&&"-"===e.name[0]?this._wa rn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' because "- " is not a valid attribute starting character')):this._addPropertyEffect(r.model ,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyName,value :r.value,isCompound:e.isCompound,compoundIndex:r.compoundIndex,event:r.event,cus tomEvent:r.customEvent,negate:r.negate}))}},_addAnnotatedComputationEffect:funct ion(e,t,n){var r=t.signature;if(r.static)this.__addAnnotatedComputationEffect("_ _static__",n,e,t,null);else{for(var s,i=0;i<r.args.length&&(s=r.args[i]);i++)s.l iteral||this.__addAnnotatedComputationEffect(s.model,n,e,t,s);r.dynamicFn&&this. __addAnnotatedComputationEffect(r.method,n,e,t,null)}},__addAnnotatedComputation Effect:function(e,t,n,r,s){this._addPropertyEffect(e,"annotatedComputation",{ind ex:t,isCompound:n.isCompound,compoundIndex:r.compoundIndex,kind:n.kind,name:n.na me,negate:r.negate,method:r.signature.method,args:r.signature.args,trigger:s,dyn amicFn:r.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/([^\s]+? )\(([\s\S]*)\)/);if(t){var n={method:t[1],static:!0};if(this.getPropertyInfo(n.m ethod)!==Polymer.nob&&(n.static=!1,n.dynamicFn=!0),t[2].trim()){var r=t[2].repla ce(/\\,/g,"&comma;").split(",");return this._parseArgs(r,n)}return n.args=Polyme r.nar,n}},_parseArgs:function(e,t){return t.args=e.map(function(e){var n=this._p arseArg(e);return n.literal||(t.static=!1),n},this),t},_parseArg:function(e){var t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),n={name:t},r=t[0];swi tch("-"===r&&(r=t[1]),r>="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value=t.slice (1,-1),n.literal=!0;break;case"#":n.value=Number(t),n.literal=!0}return n.litera l||(n.model=Polymer.Path.root(t),n.structured=Polymer.Path.isDeep(t),n.structure d&&(n.wildcard=".*"==t.slice(-2),n.wildcard&&(n.name=t.slice(0,-2)))),n},_marsha lInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindListene rs&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){var n =this._nodes[e.index],r=e.name;if(t=this._computeFinalAnnotationValue(n,r,t,e)," attribute"==e.kind)this.serializeValueToAttribute(t,r,n);else{var s=n._propertyI nfo&&n._propertyInfo[r];if(s&&s.readOnly)return;this.__setProperty(r,t,Polymer.S ettings.suppressBindingNotifications,n)}},_computeFinalAnnotationValue:function( e,t,n,r){if(r.negate&&(n=!n),r.isCompound){var s=e.__compoundStorage__[t];s[r.co mpoundIndex]=n,n=s.join("")}return"attribute"!==r.kind&&("className"===t&&(n=thi s._scopeElementClass(e,n)),("textContent"===t||"input"==e.localName&&"value"==t) &&(n=void 0==n?"":n)),n},_executeStaticEffects:function(){this._propertyEffects& &this._propertyEffects.__static__&&this._effectEffects("__static__",null,this._p ropertyEffects.__static__)}}),function(){var e=Polymer.Settings.usePolyfillProto ,t=Boolean(Object.getOwnPropertyDescriptor(document.documentElement,"properties" ));Polymer.Base._addFeature({_setupConfigure:function(e){if(this._config={},this ._handlers=[],this._aboveConfig=null,e)for(var t in e)void 0!==e[t]&&(this._conf ig[t]=e[t])},_marshalAttributes:function(){this._takeAttributesToModel(this._con fig)},_attributeChangedImpl:function(e){var t=this._clientsReadied?this:this._co nfig;this._setAttributeToProperty(t,e)},_configValue:function(e,t){var n=this._p ropertyInfo[e];n&&n.readOnly||(this._config[e]=t)},_beforeClientsReady:function( ){this._configure()},_configure:function(){this._configureAnnotationReferences() ,this._configureInstanceProperties(),this._aboveConfig=this.mixin({},this._confi g);for(var e={},n=0;n<this.behaviors.length;n++)this._configureProperties(this.b ehaviors[n].properties,e);this._configureProperties(t?this.__proto__.properties: this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this._clients& &this._clients.length&&this._distributeConfig(this._config)},_configureInstanceP roperties:function(){for(var t in this._propertyEffects)!e&&this.hasOwnProperty( t)&&(this._configValue(t,this[t]),delete this[t])},_configureProperties:function (e,t){for(var n in e){var r=e[n];if(void 0!==r.value){var s=r.value;"function"== typeof s&&(s=s.call(this,this._config)),
3 t[n]=s}}},_distributeConfig:function(e){var t=this._propertyEffects;if(t)for(var n in e){var r=t[n];if(r)for(var s,i=0,o=r.length;i<o&&(s=r[i]);i++)if("annotati on"===s.kind){var a=this._nodes[s.effect.index],l=s.effect.propertyName,c="attri bute"==s.effect.kind,h=a._propertyEffects&&a._propertyEffects[l];if(a._configVal ue&&(h||!c)){var u=n===s.effect.value?e[n]:this._get(s.effect.value,e);u=this._c omputeFinalAnnotationValue(a,l,u,s.effect),c&&(u=a.deserialize(this.serialize(u) ,a._propertyInfo[l].type)),a._configValue(l,u)}}}},_afterClientsReady:function() {this.importPath=this._importPath,this.rootPath=Polymer.rootPath,this._executeSt aticEffects(),this._applyConfig(this._config,this._aboveConfig),this._flushHandl ers()},_applyConfig:function(e,t){for(var n in e)void 0===this[n]&&this.__setPro perty(n,e[n],n in t)},_notifyListener:function(e,t){if(!Polymer.Bind._isEventBog us(t,t.target)){var n,r;if(t.detail&&(n=t.detail.value,r=t.detail.path),this._cl ientsReadied)return e.call(this,t.target,n,r);this._queueHandler([e,t.target,n,r ])}},_queueHandler:function(e){this._handlers.push(e)},_flushHandlers:function() {for(var e,t=this._handlers,n=0,r=t.length;n<r&&(e=t[n]);n++)e[0].call(this,e[1] ,e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";var e=Polymer.Path;P olymer.Base._addFeature({notifyPath:function(e,t,n){var r={},s=this._get(e,this, r);1===arguments.length&&(t=s),r.path&&this._notifyPath(r.path,t,n)},_notifyPath :function(e,t,n){var r=this._propertySetter(e,t);if(r!==t&&(r===r||t===t))return this._pathEffector(e,t),n||this._notifyPathUp(e,t),!0},_getPathParts:function(e ){if(Array.isArray(e)){for(var t=[],n=0;n<e.length;n++)for(var r=e[n].toString() .split("."),s=0;s<r.length;s++)t.push(r[s]);return t}return e.toString().split(" .")},set:function(e,t,n){var r,s=n||this,i=this._getPathParts(e),o=i[i.length-1] ;if(i.length>1){for(var a=0;a<i.length-1;a++){var l=i[a];if(r&&"#"==l[0]?s=Polym er.Collection.get(r).getItem(l):(s=s[l],r&&parseInt(l,10)==l&&(i[a]=Polymer.Coll ection.get(r).getKey(s))),!s)return;r=Array.isArray(s)?s:null}if(r){var c,h,u=Po lymer.Collection.get(r);"#"==o[0]?(h=o,c=u.getItem(h),o=r.indexOf(c),u.setItem(h ,t)):parseInt(o,10)==o&&(c=s[o],h=u.getKey(c),i[a]=h,u.setItem(h,t))}s[o]=t,n||t his._notifyPath(i.join("."),t)}else s[e]=t},get:function(e,t){return this._get(e ,t)},_get:function(e,t,n){for(var r,s=t||this,i=this._getPathParts(e),o=0;o<i.le ngth;o++){if(!s)return;var a=i[o];r&&"#"==a[0]?s=Polymer.Collection.get(r).getIt em(a):(s=s[a],n&&r&&parseInt(a,10)==a&&(i[o]=Polymer.Collection.get(r).getKey(s) )),r=Array.isArray(s)?s:null}return n&&(n.path=i.join(".")),s},_pathEffector:fun ction(t,n){var r=e.root(t),s=this._propertyEffects&&this._propertyEffects[r];if( s)for(var i,o=0;o<s.length&&(i=s[o]);o++){var a=i.pathFn;a&&a.call(this,t,n,i.ef fect)}this._boundPaths&&this._notifyBoundPaths(t,n)},_annotationPathEffect:funct ion(t,n,r){if(e.matches(r.value,!1,t))Polymer.Bind._annotationEffect.call(this,t ,n,r);else if(!r.negate&&e.isDescendant(r.value,t)){var s=this._nodes[r.index];i f(s&&s._notifyPath){var i=e.translate(r.value,r.name,t);s._notifyPath(i,n,!0)}}} ,_complexObserverPathEffect:function(t,n,r){e.matches(r.trigger.name,r.trigger.w ildcard,t)&&Polymer.Bind._complexObserverEffect.call(this,t,n,r)},_computePathEf fect:function(t,n,r){e.matches(r.trigger.name,r.trigger.wildcard,t)&&Polymer.Bin d._computeEffect.call(this,t,n,r)},_annotatedComputationPathEffect:function(t,n, r){e.matches(r.trigger.name,r.trigger.wildcard,t)&&Polymer.Bind._annotatedComput ationEffect.call(this,t,n,r)},linkPaths:function(e,t){this._boundPaths=this._bou ndPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)},unlinkPaths:function(e) {this._boundPaths&&delete this._boundPaths[e]},_notifyBoundPaths:function(t,n){f or(var r in this._boundPaths){var s=this._boundPaths[r];e.isDescendant(r,t)?this ._notifyPath(e.translate(r,s,t),n):e.isDescendant(s,t)&&this._notifyPath(e.trans late(s,r,t),n)}},_notifyPathUp:function(t,n){var r=e.root(t),s=Polymer.CaseMap.c amelToDashCase(r),i=s+this._EVENT_CHANGED;this.fire(i,{path:t,value:n},{bubbles: !1,_useCache:Polymer.Settings.eventDataCache||!Polymer.Settings.isIE})},_EVENT_C HANGED:"-changed",notifySplices:function(e,t){var n={},r=this._get(e,this,n);thi s._notifySplices(r,n.path,t)},_notifySplices:function(e,t,n){var r={keySplices:P olymer.Collection.applySplices(e,n),indexSplices:n},s=t+".splices";this._notifyP ath(s,r),this._notifyPath(t+".length",e.length),this.__data__[s]={keySplices:nul l,indexSplices:null}},_notifySplice:function(e,t,n,r,s){this._notifySplices(e,t, [{index:n,addedCount:r,removed:s,object:e,type:"splice"}])},push:function(e){var t={},n=this._get(e,this,t),r=Array.prototype.slice.call(arguments,1),s=n.length ,i=n.push.apply(n,r);return r.length&&this._notifySplice(n,t.path,s,r.length,[]) ,i},pop:function(e){var t={},n=this._get(e,this,t),r=Boolean(n.length),s=Array.p rototype.slice.call(arguments,1),i=n.pop.apply(n,s);return r&&this._notifySplice (n,t.path,n.length,0,[i]),i},splice:function(e,t){var n={},r=this._get(e,this,n) ;t=t<0?r.length-Math.floor(-t):Math.floor(t),t||(t=0);var s=Array.prototype.slic e.call(arguments,1),i=r.splice.apply(r,s),o=Math.max(s.length-2,0);return(o||i.l ength)&&this._notifySplice(r,n.path,t,o,i),i},shift:function(e){var t={},n=this. _get(e,this,t),r=Boolean(n.length),s=Array.prototype.slice.call(arguments,1),i=n .shift.apply(n,s);return r&&this._notifySplice(n,t.path,0,0,[i]),i},unshift:func tion(e){var t={},n=this._get(e,this,t),r=Array.prototype.slice.call(arguments,1) ,s=n.unshift.apply(n,r);return r.length&&this._notifySplice(n,t.path,0,r.length, []),s},prepareModelNotifyPath:function(e){this.mixin(e,{fire:Polymer.Base.fire,_ getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPat h:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EV ENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._not ifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer .Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObse rverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputatio nPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_notifyBoundPaths :Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts})}})}() ,Polymer.Base._addFeature({resolveUrl:function(e){return Polymer.ResolveUrl.reso lveUrl(e,this._importPath)}}),Polymer.CssParse=function(){return{parse:function( e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_clean:function(e){re turn e.replace(this._rx.comments,"").replace(this._rx.port,"")},_lex:function(e) {for(var t={start:0,end:e.length},n=t,r=0,s=e.length;r<s;r++)switch(e[r]){case t his.OPEN_BRACE:n.rules||(n.rules=[]);var i=n,o=i.rules[i.rules.length-1];n={star t:r+1,parent:i,previous:o},i.rules.push(n);break;case this.CLOSE_BRACE:n.end=r+1 ,n=n.parent||t}return t},_parseCss:function(e,t){var n=t.substring(e.start,e.end -1);if(e.parsedCssText=e.cssText=n.trim(),e.parent){var r=e.previous?e.previous. end:e.parent.start;n=t.substring(r,e.start-1),n=this._expandUnicodeEscapes(n),n= n.replace(this._rx.multipleSpaces," "),n=n.substring(n.lastIndexOf(";")+1);var s =e.parsedSelector=e.selector=n.trim();e.atRule=0===s.indexOf(this.AT_START),e.at Rule?0===s.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA_RULE:s.match(this._ rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyframesName=e.selector. split(this._rx.multipleSpaces).pop()):0===s.indexOf(this.VAR_START)?e.type=this. types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var i=e.rules;if(i)for(var o,a=0,l =i.length;a<l&&(o=i[a]);a++)this._parseCss(o,t);return e},_expandUnicodeEscapes: function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var e=argume nts[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:function(e,t,n){n=n|| "";var r="";if(e.cssText||e.rules){var s=e.rules;if(s&&!this._hasMixinRules(s))f or(var i,o=0,a=s.length;o<a&&(i=s[o]);o++)r=this.stringify(i,t,r);else r=t?e.css Text:this.removeCustomProps(e.cssText),r=r.trim(),r&&(r=" "+r+"\n")}return r&&( e.selector&&(n+=e.selector+" "+this.OPEN_BRACE+"\n"),n+=r,e.selector&&(n+=this.C LOSE_BRACE+"\n\n")),n},_hasMixinRules:function(e){return 0===e[0].selector.index Of(this.VAR_START)},removeCustomProps:function(e){return e=this.removeCustomProp Assignment(e),this.removeCustomPropApply(e)},removeCustomPropAssignment:function (e){return e.replace(this._rx.customProp,"").replace(this._rx.mixinProp,"")},rem oveCustomPropApply:function(e){return e.replace(this._rx.mixinApply,"").replace( this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_R ULE:1e3},OPEN_BRACE:"{",CLOSE_BRACE:"}",_rx:{comments:/\/\*[^*]*\*+([^\/*][^*]*\ *+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};] *?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n] |$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?: [^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpa ces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"}}(),Polymer.StyleUt il=function(){var e=Polymer.Settings;return{NATIVE_VARIABLES:Polymer.Settings.us eNativeCSSProperties,MODULE_STYLES_SELECTOR:"style, link[rel=import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t){return"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.parser.stringify(e,th is.NATIVE_VARIABLES)},forRulesInStyles:function(e,t,n){if(e)for(var r,s=0,i=e.le ngth;s<i&&(r=e[s]);s++)this.forEachRuleInStyle(r,t,n)},forActiveRulesInStyles:fu nction(e,t,n){if(e)for(var r,s=0,i=e.length;s<i&&(r=e[s]);s++)this.forEachRuleIn Style(r,t,n,!0)},rulesForStyle:function(e){return!e.__cssRules&&e.textContent&&( e.__cssRules=this.parser.parse(e.textContent)),e.__cssRules},isKeyframesSelector :function(e){return e.parent&&e.parent.type===this.ruleTypes.KEYFRAMES_RULE},for EachRuleInStyle:function(e,t,n,r){var s,i,o=this.rulesForStyle(e);t&&(s=function (n){t(n,e)}),n&&(i=function(t){n(t,e)}),this.forEachRule(o,s,i,r)},forEachRule:f unction(e,t,n,r){if(e){var s=!1;if(r&&e.type===this.ruleTypes.MEDIA_RULE){var i= e.selector.match(this.rx.MEDIA_MATCH);i&&(window.matchMedia(i[1]).matches||(s=!0 ))}e.type===this.ruleTypes.STYLE_RULE?t(e):n&&e.type===this.ruleTypes.KEYFRAMES_ RULE?n(e):e.type===this.ruleTypes.MIXIN_RULE&&(s=!0);var o=e.rules;if(o&&!s)for( var a,l=0,c=o.length;l<c&&(a=o[l]);l++)this.forEachRule(a,t,n,r)}},applyCss:func tion(e,t,n,r){var s=this.createScopeStyle(e,t);return this.applyStyle(s,n,r)},ap plyStyle:function(e,t,n){t=t||document.head;var r=n&&n.nextSibling||t.firstChild ;return this.__lastHeadApplyNode=e,t.insertBefore(e,r)},createScopeStyle:functio n(e,t){var n=document.createElement("style");return t&&n.setAttribute("scope",t) ,n.textContent=e,n},__lastHeadApplyNode:null,applyStylePlaceHolder:function(e){v ar t=document.createComment(" Shady DOM styles for "+e+" "),n=this.__lastHeadApp lyNode?this.__lastHeadApplyNode.nextSibling:null,r=document.head;return r.insert Before(t,n||r.firstChild),this.__lastHeadApplyNode=t,t},cssFromModules:function( e,t){for(var n=e.trim().split(" "),r="",s=0;s<n.length;s++)r+=this.cssFromModule (n[s],t);return r},cssFromModule:function(e,t){var n=Polymer.DomModule.import(e) ;return n&&!n._cssText&&(n._cssText=this.cssFromElement(n)),!n&&t&&console.warn( "Could not find style data in module named",e),n&&n._cssText||""},cssFromElement :function(e){for(var t,n="",r=e.content||e,s=Polymer.TreeApi.arrayCopy(r.querySe lectorAll(this.MODULE_STYLES_SELECTOR)),i=0;i<s.length;i++)if(t=s[i],"template"= ==t.localName)t.hasAttribute("preserve-content")||(n+=this.cssFromElement(t));el se if("style"===t.localName){var o=t.getAttribute(this.INCLUDE_ATTR);o&&(n+=this .cssFromModules(o,!0)),t=t.__appliedElement||t,t.parentNode.removeChild(t),n+=th is.resolveCss(t.textContent,e.ownerDocument)}else t.import&&t.import.body&&(n+=t his.resolveCss(t.import.body.textContent,t.import));return n},styleIncludesToTem plate:function(e){for(var t,n=e.content.querySelectorAll("style[include]"),r=0;r <n.length;r++)t=n[r],t.parentNode.insertBefore(this._includesToFragment(t.getAtt ribute("include")),t)},_includesToFragment:function(e){for(var t=e.trim().split( " "),n=document.createDocumentFragment(),r=0;r<t.length;r++){var s=Polymer.DomMo dule.import(t[r],"template");s&&this._addStylesToFragment(n,s.content)}return n} ,_addStylesToFragment:function(e,t){for(var n,r=t.querySelectorAll("style"),s=0; s<r.length;s++){n=r[s];var i=n.getAttribute("include");i&&e.appendChild(this._in cludesToFragment(i)),n.textContent&&e.appendChild(n.cloneNode(!0))}},isTargetedB uild:function(t){return e.useNativeShadow?"shadow"===t:"shady"===t},cssBuildType ForModule:function(e){var t=Polymer.DomModule.import(e);if(t)return this.getCssB uildType(t)},getCssBuildType:function(e){return e.getAttribute("css-build")},_fi ndMatchingParen:function(e,t){for(var n=0,r=t,s=e.length;r<s;r++)switch(e[r]){ca se"(":n++;break;case")":if(0===--n)return r}return-1},processVariableAndFallback :function(e,t){var n=e.indexOf("var(");if(n===-1)return t(e,"","","");var r=this ._findMatchingParen(e,n+3),s=e.substring(n+4,r),i=e.substring(0,n),o=this.proces sVariableAndFallback(e.substring(r+1),t),a=s.indexOf(",");if(a===-1)return t(i,s .trim(),"",o);var l=s.substring(0,a).trim(),c=s.substring(a+1).trim();return t(i ,l,c,o)},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)}) (?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,VAR_CONSU MED:/(--[\w-]+)\s*([:,;)]|$)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name \s*:)/,MEDIA_MATCH:/@media[^(]*(\([^)]*\))/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g, HOST_PREFIX:"(?:^|[^.#[:])",HOST_SUFFIX:"($|[.:[\\s>+~])"},resolveCss:Polymer.Re solveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types}}() ,Polymer.StyleTransformer=function(){var e=Polymer.StyleUtil,t=Polymer.Settings, n={dom:function(e,t,n,r){this._transformDom(e,t||"",n,r)},_transformDom:function (e,t,n,r){e.setAttribute&&this.element(e,t,n,r);for(var s=Polymer.dom(e).childNo des,i=0;i<s.length;i++)this._transformDom(s[i],t,n,r)},element:function(e,t,n,s) {if(n)s?e.removeAttribute(r):e.setAttribute(r,t);else if(t)if(e.classList)s?(e.c lassList.remove(r),e.classList.remove(t)):(e.classList.add(r),e.classList.add(t) );else if(e.getAttribute){var i=e.getAttribute(g);s?i&&e.setAttribute(g,i.replac e(r,"").replace(t,"")):e.setAttribute(g,(i?i+" ":"")+r+" "+t)}},elementStyles:fu nction(n,r){var s,i=n._styles,o="",a=n.__cssBuild,l=t.useNativeShadow||"shady"== =a;if(l){var h=this;s=function(e){e.selector=h._slottedToContent(e.selector),e.s elector=e.selector.replace(c,":host > *"),r&&r(e)}}for(var u,f=0,p=i.length;f<p& &(u=i[f]);f++){var d=e.rulesForStyle(u);o+=l?e.toCssText(d,s):this.css(d,n.is,n. extends,r,n._scopeCssViaAttr)+"\n\n"}return o.trim()},css:function(t,n,r,s,i){va r o=this._calcHostScope(n,r);n=this._calcElementScope(n,i);var a=this;return e.t oCssText(t,function(e){e.isScoped||(a.rule(e,n,o),e.isScoped=!0),s&&s(e,n,o)})}, _calcElementScope:function(e,t){return e?t?m+e+y:_+e:""},_calcHostScope:function (e,t){return t?"[is="+e+"]":e},rule:function(e,t,n){this._transformRule(e,this._ transformComplexSelector,t,n)},_transformRule:function(e,t,n,r){e.selector=e.tra nsformedSelector=this._transformRuleCss(e,t,n,r)},_transformRuleCss:function(t,n ,r,s){var o=t.selector.split(i);if(!e.isKeyframesSelector(t))for(var a,l=0,c=o.l ength;l<c&&(a=o[l]);l++)o[l]=n.call(this,a,r,s);return o.join(i)},_transformComp lexSelector:function(e,t,n){var r=!1,s=!1,a=this;return e=e.trim(),e=this._slott edToContent(e),e=e.replace(c,":host > *"),e=e.replace(P,l+" $1"),e=e.replace(o,f unction(e,i,o){if(r)o=o.replace(d," ");else{var l=a._transformCompoundSelector(o ,i,t,n);r=r||l.stop,s=s||l.hostContext,i=l.combinator,o=l.value}return i+o}),s&& (e=e.replace(f,function(e,t,r,s){return t+r+" "+n+s+i+" "+t+n+r+s})),e},_transfo rmCompoundSelector:function(e,t,n,r){var s=e.search(d),i=!1;e.indexOf(u)>=0?i=!0 :e.indexOf(l)>=0?e=this._transformHostSelector(e,r):0!==s&&(e=n?this._transformS impleSelector(e,n):e),e.indexOf(p)>=0&&(t="");var o;return s>=0&&(e=e.replace(d, " "),o=!0),{value:e,combinator:t,stop:o,hostContext:i}},_transformSimpleSelector :function(e,t){var n=e.split(v);return n[0]+=t,n.join(v)},_transformHostSelector :function(e,t){var n=e.match(h),r=n&&n[2].trim()||"";if(r){if(r[0].match(a))retu rn e.replace(h,function(e,n,r){return t+r});var s=r.split(a)[0];return s===t?r:S }return e.replace(l,t)},documentRule:function(e){e.selector=e.parsedSelector,thi s.normalizeRootSelector(e),t.useNativeShadow||this._transformRule(e,this._transf ormDocumentSelector)},normalizeRootSelector:function(e){e.selector=e.selector.re place(c,"html")},_transformDocumentSelector:function(e){return e.match(d)?this._ transformComplexSelector(e,s):this._transformSimpleSelector(e.trim(),s)},_slotte dToContent:function(e){return e.replace(E,p+"> $1")},SCOPE_NAME:"style-scope"},r =n.SCOPE_NAME,s=":not(["+r+"]):not(."+r+")",i=",",o=/(^|[\s>+~]+)((?:\[.+?\]|[^\ s>+~=\[])+)/g,a=/[[.:#*]/,l=":host",c=":root",h=/(:host)(?:\(((?:\([^)(]*\)|[^)( ]*)+?)\))/,u=":host-context",f=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*) +?)\))(.*)/,p="::content",d=/::content|::shadow|\/deep\//,_=".",m="["+r+"~=",y=" ]",v=":",g="class",P=new RegExp("^("+p+")"),S="should_not_match",E=/(?:::slotted )(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g;return n}(),Polymer.StyleExtends=function() {var e=Polymer.StyleUtil;return{hasExtends:function(e){return Boolean(e.match(th is.rx.EXTEND))},transform:function(t){var n=e.rulesForStyle(t),r=this;return e.f orEachRule(n,function(e){if(r._mapRuleOntoParent(e),e.parent)for(var t;t=r.rx.EX TEND.exec(e.cssText);){var n=t[1],s=r._findExtendor(n,e);s&&r._extendRule(e,s)}e .cssText=e.cssText.replace(r.rx.EXTEND,"")}),e.toCssText(n,function(e){e.selecto r.match(r.rx.STRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.pa rent){for(var t,n=e.parent.map||(e.parent.map={}),r=e.selector.split(","),s=0;s< r.length;s++)t=r[s],n[t.trim()]=e;return n}},_findExtendor:function(e,t){return t.parent&&t.parent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extend Rule:function(e,t){e.parent!==t.parent&&this._cloneAndAddRuleToParent(t,e.parent ),e.extends=e.extends||[],e.extends.push(t),t.selector=t.selector.replace(this.r x.STRIP,""),t.selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.ex tends.forEach(function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent :function(e,t){e=Object.create(e),e.parent=t,e.extends&&(e.extends=e.extends.sli ce()),t.rules.push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/} }}(),Polymer.ApplyShim=function(){"use strict";function e(e,t){e=e.trim(),m[e]={ properties:t,dependants:{}}}function t(e){return e=e.trim(),m[e]}function n(e,t) {var n=d.exec(t);return n&&(t=n[1]?y._getInitialValueForProperty(e):"apply-shim- inherit"),t}function r(e){for(var t,r,s,i,o=e.split(";"),a={},l=0;l<o.length;l++ )s=o[l],s&&(i=s.split(":"),i.length>1&&(t=i[0].trim(),r=n(t,i.slice(1).join(":") ),a[t]=r));return a}function s(e){var t=y.__currentElementProto,n=t&&t.is;for(va r r in e.dependants)r!==n&&(e.dependants[r].__applyShimInvalid=!0)}function i(n, i,o,a){if(o&&c.processVariableAndFallback(o,function(e,n){n&&t(n)&&(a="@apply "+ n+";")}),!a)return n;var h=l(a),u=n.slice(0,n.indexOf("--")),f=r(h),p=f,d=t(i),m =d&&d.properties;m?(p=Object.create(m),p=Polymer.Base.mixin(p,f)):e(i,p);var y,v ,g=[],P=!1;for(y in p)v=f[y],void 0===v&&(v="initial"),!m||y in m||(P=!0),g.push (i+_+y+": "+v);return P&&s(d),d&&(d.properties=p),o&&(u=n+";"+u),u+g.join("; ")+ ";"}function o(e,t,n){return"var("+t+",var("+n+"))"}function a(n,r){n=n.replace( p,"");var s=[],i=t(n);if(i||(e(n,{}),i=t(n)),i){var o=y.__currentElementProto;o& &(i.dependants[o.is]=o);var a,l,c;for(a in i.properties)c=r&&r[a],l=[a,": var(", n,_,a],c&&l.push(",",c),l.push(")"),s.push(l.join(""))}return s.join("; ")}funct ion l(e){for(var t;t=h.exec(e);){var n=t[0],s=t[1],i=t.index,o=i+n.indexOf("@app ly"),l=i+n.length,c=e.slice(0,o),u=e.slice(l),f=r(c),p=a(s,f);e=[c,p,u].join("") ,h.lastIndex=i+p.length}return e}var c=Polymer.StyleUtil,h=c.rx.MIXIN_MATCH,u=c. rx.VAR_ASSIGN,f=/var\(\s*(--[^,]*),\s*(--[^)]*)\)/g,p=/;\s*/m,d=/^\s*(initial)|( inherit)\s*$/,_="_-_",m={},y={_measureElement:null,_map:m,_separator:_,transform :function(e,t){this.__currentElementProto=t,c.forRulesInStyles(e,this._boundFind Definitions),c.forRulesInStyles(e,this._boundFindApplications),t&&(t.__applyShim Invalid=!1),this.__currentElementProto=null},_findDefinitions:function(e){var t= e.parsedCssText;t=t.replace(f,o),t=t.replace(u,i),e.cssText=t,":root"===e.select or&&(e.selector=":host > *")},_findApplications:function(e){e.cssText=l(e.cssTex t)},transformRule:function(e){this._findDefinitions(e),this._findApplications(e) },_getInitialValueForProperty:function(e){return this._measureElement||(this._me asureElement=document.createElement("meta"),this._measureElement.style.all="init ial",document.head.appendChild(this._measureElement)),window.getComputedStyle(th is._measureElement).getPropertyValue(e)}};return y._boundTransformRule=y.transfo rmRule.bind(y),y._boundFindDefinitions=y._findDefinitions.bind(y),y._boundFindAp plications=y._findApplications.bind(y),y}(),function(){var e=Polymer.Base._prepE lement,t=Polymer.Settings.useNativeShadow,n=Polymer.StyleUtil,r=Polymer.StyleTra nsformer,s=Polymer.StyleExtends,i=Polymer.ApplyShim,o=Polymer.Settings;Polymer.B ase._addFeature({_prepElement:function(t){this._encapsulateStyle&&"shady"!==this .__cssBuild&&r.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepSty les:function(){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),t||( this._scopeStyle=n.applyStylePlaceHolder(this.is)),this.__cssBuild=n.cssBuildTyp eForModule(this.is)},_prepShimStyles:function(){if(this._template){var e=n.isTar getedBuild(this.__cssBuild);if(o.useNativeCSSProperties&&"shadow"===this.__cssBu ild&&e)return void(o.preserveStyleIncludes&&n.styleIncludesToTemplate(this._temp late));this._styles=this._styles||this._collectStyles(),o.useNativeCSSProperties &&!this.__cssBuild&&i.transform(this._styles,this);var s=o.useNativeCSSPropertie s&&e?this._styles.length&&this._styles[0].textContent.trim():r.elementStyles(thi s);this._prepStyleProperties(),!this._needsStyleProperties()&&s&&n.applyCss(s,th is.is,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_col lectStyles:function(){var e=[],t="",r=this.styleModules;if(r)for(var i,o=0,a=r.l ength;o<a&&(i=r[o]);o++)t+=n.cssFromModule(i);t+=n.cssFromModule(this.is);var l= this._template&&this._template.parentNode;if(!this._template||l&&l.id.toLowerCas e()===this.is||(t+=n.cssFromElement(this._template)),t){var c=document.createEle ment("style");c.textContent=t,s.hasExtends(c.textContent)&&(t=s.transform(c)),e. push(c)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScop ed?e.__styleScoped=!1:r.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:fu nction(e){this._encapsulateStyle&&r.dom(e,this.is,this._scopeCssViaAttr,!0)},sco peSubtree:function(e,n){if(!t){var r=this,s=function(e){if(e.nodeType===Node.ELE MENT_NODE){var t=e.getAttribute("class");e.setAttribute("class",r._scopeElementC lass(e,t));for(var n,s=e.querySelectorAll("*"),i=0;i<s.length&&(n=s[i]);i++)t=n. getAttribute("class"),n.setAttribute("class",r._scopeElementClass(n,t))}};if(s(e ),n){var i=new MutationObserver(function(e){for(var t,n=0;n<e.length&&(t=e[n]);n ++)if(t.addedNodes)for(var r=0;r<t.addedNodes.length;r++)s(t.addedNodes[r])});re turn i.observe(e,{childList:!0,subtree:!0}),i}}}})}(),Polymer.StyleProperties=fu nction(){"use strict";function e(e,t){var n=parseInt(e/32),r=1<<e%32;t[n]=(t[n]| |0)|r}var t=Polymer.DomApi.matchesSelector,n=Polymer.StyleUtil,r=Polymer.StyleTr ansformer,s=navigator.userAgent.match("Trident"),i=Polymer.Settings;return{decor ateStyles:function(e,t){var s=this,i={},o=[],a=0,l=r._calcHostScope(t.is,t.exten ds);n.forRulesInStyles(e,function(e,r){s.decorateRule(e),e.index=a++,s.whenHostO rRootRule(t,e,r,function(r){if(e.parent.type===n.ruleTypes.MEDIA_RULE&&(t.__notS tyleScopeCacheable=!0),r.isHost){var s=r.selector.split(" ").some(function(e){re turn 0===e.indexOf(l)&&e.length!==l.length});t.__notStyleScopeCacheable=t.__notS tyleScopeCacheable||s}}),s.collectPropertiesInCssText(e.propertyInfo.cssText,i)} ,function(e){o.push(e)}),e._keyframes=o;var c=[];for(var h in i)c.push(h);return c},decorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},n= {},r=this.collectProperties(e,n);return r&&(t.properties=n,e.rules=null),t.cssTe xt=this.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){va r n=e.propertyInfo;if(!n){for(var r,s,i,o=this.rx.VAR_ASSIGN,a=e.parsedCssText;r =o.exec(a);)s=(r[2]||r[3]).trim(),"inherit"!==s&&(t[r[1].trim()]=s),i=!0;return i}if(n.properties)return Polymer.Base.mixin(t,n.properties),!0},collectCssText:f unction(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumin gCssText:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ ASSIGN,"")},collectPropertiesInCssText:function(e,t){for(var n;n=this.rx.VAR_CON SUMED.exec(e);){var r=n[1];":"!==n[2]&&(t[r]=!0)}},reify:function(e){for(var t,n =Object.getOwnPropertyNames(e),r=0;r<n.length;r++)t=n[r],e[t]=this.valueForPrope rty(e[t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.val ueForProperties(e,t);else{var r=this,s=function(e,n,s,i){var o=r.valueForPropert y(t[n],t);return o&&"initial"!==o?"apply-shim-inherit"===o&&(o="inherit"):o=r.va lueForProperty(t[s]||s,t)||s,e+(o||"")+i};e=n.processVariableAndFallback(e,s)}re turn e&&e.trim()||""},valueForProperties:function(e,t){for(var n,r,s=e.split(";" ),i=0;i<s.length;i++)if(n=s[i]){if(this.rx.MIXIN_MATCH.lastIndex=0,r=this.rx.MIX IN_MATCH.exec(n))n=this.valueForProperty(t[r[1]],t);else{var o=n.indexOf(":");if (o!==-1){var a=n.substring(o);a=a.trim(),a=this.valueForProperty(a,t)||a,n=n.sub string(0,o)+a}}s[i]=n&&n.lastIndexOf(";")===n.length-1?n.slice(0,-1):n||""}retur n s.join(";")},applyProperties:function(e,t){var n="";e.propertyInfo||this.decor ateRule(e),e.propertyInfo.cssText&&(n=this.valueForProperties(e.propertyInfo.css Text,t)),e.cssText=n},applyKeyframeTransforms:function(e,t){var n=e.cssText,r=e. cssText;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test( n)),e.hasAnimations){var s;if(null==e.keyframeNamesToTransform){e.keyframeNamesT oTransform=[];for(var i in t)s=t[i],r=s(n),n!==r&&(n=r,e.keyframeNamesToTransfor m.push(i))}else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)s=t[e.keyfra meNamesToTransform[o]],n=s(n);r=n}}e.cssText=r},propertyDataFromStyles:function( r,s){var i={},o=this,a=[];return n.forActiveRulesInStyles(r,function(n){n.proper tyInfo||o.decorateRule(n);var r=n.transformedSelector||n.parsedSelector;s&&n.pro pertyInfo.properties&&r&&t.call(s,r)&&(o.collectProperties(n,i),e(n.index,a))}), {properties:i,key:a}},_rootSelector:/:root|:host\s*>\s*\*/,_checkRoot:function(e ,t){return Boolean(t.match(this._rootSelector))||"html"===e&&t.indexOf("html")>- 1},whenHostOrRootRule:function(e,t,n,s){if(t.propertyInfo||self.decorateRule(t), t.propertyInfo.properties){var o=e.is?r._calcHostScope(e.is,e.extends):"html",a= t.parsedSelector,l=this._checkRoot(o,a),c=!l&&0===a.indexOf(":host"),h=e.__cssBu ild||n.__cssBuild;if("shady"===h&&(l=a===o+" > *."+o||a.indexOf("html")>-1,c=!l& &0===a.indexOf(o)),l||c){var u=o;c&&(i.useNativeShadow&&!t.transformedSelector&& (t.transformedSelector=r._transformRuleCss(t,r._transformComplexSelector,e.is,o) ),u=t.transformedSelector||t.parsedSelector),l&&"html"===o&&(u=t.transformedSele ctor||t.parsedSelector),s({selector:u,isHost:c,isRoot:l})}}},hostAndRootProperti esForScope:function(e){var r={},s={},i=this;return n.forActiveRulesInStyles(e._s tyles,function(n,o){i.whenHostOrRootRule(e,n,o,function(o){var a=e._element||e;t .call(a,o.selector)&&(o.isHost?i.collectProperties(n,r):i.collectProperties(n,s) )})}),{rootProps:s,hostProps:r}},transformStyles:function(e,t,n){var s=this,o=r. _calcHostScope(e.is,e.extends),a=e.extends?"\\"+o.slice(0,-1)+"\\]":o,l=new RegE xp(this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),c=this._elementKeyframeTransforms( e,n);return r.elementStyles(e,function(r){s.applyProperties(r,t),i.useNativeShad ow||Polymer.StyleUtil.isKeyframesSelector(r)||!r.cssText||(s.applyKeyframeTransf orms(r,c),s._scopeSelector(r,l,o,e._scopeCssViaAttr,n))})},_elementKeyframeTrans forms:function(e,t){var n=e._styles._keyframes,r={};if(!i.useNativeShadow&&n)for (var s=0,o=n[s];s<n.length;o=n[++s])this._scopeKeyframes(o,t),r[o.keyframesName] =this._keyframesRuleTransformer(o);return r},_keyframesRuleTransformer:function( e){return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesN ame)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesNam e,"g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e. transformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyfr amesName,e.transformedKeyframesName)},_scopeSelector:function(e,t,n,s,i){e.trans formedSelector=e.transformedSelector||e.selector;for(var o,a=e.transformedSelect or,l=s?"["+r.SCOPE_NAME+"~="+i+"]":"."+i,c=a.split(","),h=0,u=c.length;h<u&&(o=c [h]);h++)c[h]=o.match(t)?o.replace(n,l):l+" "+o;e.selector=c.join(",")},applyEle mentScopeSelector:function(e,t,n,s){var i=s?e.getAttribute(r.SCOPE_NAME):e.getAt tribute("class")||"",o=n?i.replace(n,t):(i?i+" ":"")+this.XSCOPE_NAME+" "+t;i!== o&&(s?e.setAttribute(r.SCOPE_NAME,o):e.setAttribute("class",o))},applyElementSty le:function(e,t,r,o){var a=o?o.textContent||"":this.transformStyles(e,t,r),l=e._ customStyle;return l&&!i.useNativeShadow&&l!==o&&(l._useCount--,l._useCount<=0&& l.parentNode&&l.parentNode.removeChild(l)),i.useNativeShadow?e._customStyle?(e._ customStyle.textContent=a,o=e._customStyle):a&&(o=n.applyCss(a,r,e.root,e._scope Style)):o?o.parentNode||(s&&a.indexOf("@media")>-1&&(o.textContent=a),n.applySty le(o,null,e._scopeStyle)):a&&(o=n.applyCss(a,r,null,e._scopeStyle)),o&&(o._useCo unt=o._useCount||0,e._customStyle!=o&&o._useCount++,e._customStyle=o),o},mixinCu stomStyle:function(e,t){var n;for(var r in t)n=t[r],(n||0===n)&&(e[r]=n)},update NativeStyleProperties:function(e,t){var n=e.__customStyleProperties;if(n)for(var r=0;r<n.length;r++)e.style.removeProperty(n[r]);var s=[];for(var i in t)null!== t[i]&&(e.style.setProperty(i,t[i]),s.push(i));e.__customStyleProperties=s},rx:n. rx,XSCOPE_NAME:"x-scope"}}(),function(){Polymer.StyleCache=function(){this.cache ={}},Polymer.StyleCache.prototype={MAX:100,store:function(e,t,n,r){t.keyValues=n ,t.styles=r;var s=this.cache[e]=this.cache[e]||[];s.push(t),s.length>this.MAX&&s .shift()},retrieve:function(e,t,n){var r=this.cache[e];if(r)for(var s,i=r.length -1;i>=0;i--)if(s=r[i],n===s.styles&&this._objectsEqual(t,s.keyValues))return s}, clear:function(){this.cache={}},_objectsEqual:function(e,t){var n,r;for(var s in e)if(n=e[s],r=t[s],!("object"==typeof n&&n?this._objectsStrictlyEqual(n,r):n=== r))return!1;return!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual: function(e,t){return this._objectsEqual(e,t)&&this._objectsEqual(t,e)}}}(),Polym er.StyleDefaults=function(){var e=Polymer.StyleProperties,t=Polymer.StyleCache,n =Polymer.Settings.useNativeCSSProperties,r={_styles:[],_properties:null,customSt yle:{},_styleCache:new t,_element:Polymer.DomApi.wrap(document.documentElement), addStyle:function(e){this._styles.push(e),this._properties=null},get _stylePrope rties(){return this._properties||(e.decorateStyles(this._styles,this),this._styl es._scopeStyleProperties=null,this._properties=e.hostAndRootPropertiesForScope(t his).rootProps,e.mixinCustomStyle(this._properties,this.customStyle),e.reify(thi s._properties)),this._properties},hasStyleProperties:function(){return Boolean(t his._properties)},_needsStyleProperties:function(){},_computeStyleProperties:fun ction(){return this._styleProperties},updateStyles:function(t){this._properties= null,t&&Polymer.Base.mixin(this.customStyle,t),this._styleCache.clear();for(var r,s=0;s<this._styles.length;s++)r=this._styles[s],
4 r=r.__importElement||r,r._apply();n&&e.updateNativeStyleProperties(document.docu mentElement,this.customStyle)}};return r}(),function(){"use strict";var e=Polyme r.Base.serializeValueToAttribute,t=Polymer.StyleProperties,n=Polymer.StyleTransf ormer,r=Polymer.StyleDefaults,s=Polymer.Settings.useNativeShadow,i=Polymer.Setti ngs.useNativeCSSProperties;Polymer.Base._addFeature({_prepStyleProperties:functi on(){i||(this._ownStylePropertyNames=this._styles&&this._styles.length?t.decorat eStyles(this._styles,this):null)},customStyle:null,getComputedStyleValue:functio n(e){return i||this._styleProperties||this._computeStyleProperties(),!i&&this._s tyleProperties&&this._styleProperties[e]||getComputedStyle(this).getPropertyValu e(e)},_setupStyleProperties:function(){this.customStyle={},this._styleCache=null ,this._styleProperties=null,this._scopeSelector=null,this._ownStyleProperties=nu ll,this._customStyle=null},_needsStyleProperties:function(){return Boolean(!i&&t his._ownStylePropertyNames&&this._ownStylePropertyNames.length)},_validateApplyS him:function(){if(this.__applyShimInvalid){Polymer.ApplyShim.transform(this._sty les,this.__proto__);var e=n.elementStyles(this);if(s){var t=this._template.conte nt.querySelector("style");t&&(t.textContent=e)}else{var r=this._scopeStyle&&this ._scopeStyle.nextSibling;r&&(r.textContent=e)}}},_beforeAttached:function(){this ._scopeSelector&&!this.__stylePropertiesInvalid||!this._needsStyleProperties()|| (this.__stylePropertiesInvalid=!1,this._updateStyleProperties())},_findStyleHost :function(){for(var e,t=this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInst ance(e.host))return e.host;t=e.host}return r},_updateStyleProperties:function(){ var e,n=this._findStyleHost();n._styleProperties||n._computeStyleProperties(),n. _styleCache||(n._styleCache=new Polymer.StyleCache);var r=t.propertyDataFromStyl es(n._styles,this),i=!this.__notStyleScopeCacheable;i&&(r.key.customStyle=this.c ustomStyle,e=n._styleCache.retrieve(this.is,r.key,this._styles));var a=Boolean(e );a?this._styleProperties=e._styleProperties:this._computeStyleProperties(r.prop erties),this._computeOwnStyleProperties(),a||(e=o.retrieve(this.is,this._ownStyl eProperties,this._styles));var l=Boolean(e)&&!a,c=this._applyStyleProperties(e); a||(c=c&&s?c.cloneNode(!0):c,e={style:c,_scopeSelector:this._scopeSelector,_styl eProperties:this._styleProperties},i&&(r.key.customStyle={},this.mixin(r.key.cus tomStyle,this.customStyle),n._styleCache.store(this.is,e,r.key,this._styles)),l| |o.store(this.is,Object.create(e),this._ownStyleProperties,this._styles))},_comp uteStyleProperties:function(e){var n=this._findStyleHost();n._styleProperties||n ._computeStyleProperties();var r=Object.create(n._styleProperties),s=t.hostAndRo otPropertiesForScope(this);this.mixin(r,s.hostProps),e=e||t.propertyDataFromStyl es(n._styles,this).properties,this.mixin(r,e),this.mixin(r,s.rootProps),t.mixinC ustomStyle(r,this.customStyle),t.reify(r),this._styleProperties=r},_computeOwnSt yleProperties:function(){for(var e,t={},n=0;n<this._ownStylePropertyNames.length ;n++)e=this._ownStylePropertyNames[n],t[e]=this._styleProperties[e];this._ownSty leProperties=t},_scopeCount:0,_applyStyleProperties:function(e){var n=this._scop eSelector;this._scopeSelector=e?e._scopeSelector:this.is+"-"+this.__proto__._sco peCount++;var r=t.applyElementStyle(this,this._styleProperties,this._scopeSelect or,e&&e.style);return s||t.applyElementScopeSelector(this,this._scopeSelector,n, this._scopeCssViaAttr),r},serializeValueToAttribute:function(t,n,r){if(r=r||this ,"class"===n&&!s){var i=r===this?this.domHost||this.dataHost:this;i&&(t=i._scope ElementClass(r,t))}r=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom( r):r,e.call(this,t,n,r)},_scopeElementClass:function(e,t){return s||this._scopeC ssViaAttr||(t=(t?t+" ":"")+a+" "+this.is+(e._scopeSelector?" "+l+" "+e._scopeSel ector:"")),t},updateStyles:function(e){e&&this.mixin(this.customStyle,e),i?t.upd ateNativeStyleProperties(this,this.customStyle):(this.isAttached?this._needsStyl eProperties()?this._updateStyleProperties():this._styleProperties=null:this.__st ylePropertiesInvalid=!0,this._styleCache&&this._styleCache.clear(),this._updateR ootStyles())},_updateRootStyles:function(e){e=e||this.root;for(var t,n=Polymer.d om(e)._query(function(e){return e.shadyRoot||e.shadowRoot}),r=0,s=n.length;r<s&& (t=n[r]);r++)t.updateStyles&&t.updateStyles()}}),Polymer.updateStyles=function(e ){r.updateStyles(e),Polymer.Base._updateRootStyles(document)};var o=new Polymer. StyleCache;Polymer.customStyleCache=o;var a=n.SCOPE_NAME,l=t.XSCOPE_NAME}(),Poly mer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this.factoryIm pl&&this._prepConstructor(),this._prepStyles()},_finishRegisterFeatures:function (){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations(),this._pre pEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBindings(),t his._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e.propertie s),this._addComplexObserverEffects(e.observers),this._addHostAttributes(e.hostAt tributes)},_initFeatures:function(){this._setupGestures(),this._setupConfigure(t his.__data__),this._setupStyleProperties(),this._setupDebouncers(),this._setupSh ady(),this._registerHost(),this._template&&(this._validateApplyShim(),this._pool Content(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._ma rshalAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehavio rs(),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_ marshalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),f unction(){var e,t=Polymer.StyleProperties,n=Polymer.StyleUtil,r=Polymer.CssParse ,s=Polymer.StyleDefaults,i=Polymer.StyleTransformer,o=Polymer.ApplyShim,a=Polyme r.Debounce,l=Polymer.Settings;Polymer({is:"custom-style",extends:"style",_templa te:null,properties:{include:String},ready:function(){this.__appliedElement=this. __appliedElement||this,this.__cssBuild=n.getCssBuildType(this),this.__appliedEle ment!==this&&(this.__appliedElement.__cssBuild=this.__cssBuild),this._tryApply() },attached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesTo Document&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appli esToDocument=!0;var e=this.__appliedElement;if(l.useNativeCSSProperties||(this._ _needsUpdateStyles=s.hasStyleProperties(),s.addStyle(e)),e.textContent||this.inc lude)this._apply(!0);else{var t=this,n=new MutationObserver(function(){n.disconn ect(),t._apply(!0)});n.observe(e,{childList:!0})}}},_updateStyles:function(){Pol ymer.updateStyles()},_apply:function(e){var t=this.__appliedElement;if(this.incl ude&&(t.textContent=n.cssFromModules(this.include,!0)+t.textContent),t.textConte nt){var r=this.__cssBuild,s=n.isTargetedBuild(r);if(!l.useNativeCSSProperties||! s){var a=n.rulesForStyle(t);if(s||(n.forEachRule(a,function(e){i.documentRule(e) }),l.useNativeCSSProperties&&!r&&o.transform([t])),l.useNativeCSSProperties)t.te xtContent=n.toCssText(a);else{var c=this,h=function(){c._flushCustomProperties() };e?Polymer.RenderStatus.whenReady(h):h()}}}},_flushCustomProperties:function(){ this.__needsUpdateStyles?(this.__needsUpdateStyles=!1,e=a(e,this._updateStyles)) :this._applyCustomProperties()},_applyCustomProperties:function(){var e=this.__a ppliedElement;this._computeStyleProperties();var s=this._styleProperties,i=n.rul esForStyle(e);i&&(e.textContent=n.toCssText(i,function(e){var n=e.cssText=e.pars edCssText;e.propertyInfo&&e.propertyInfo.cssText&&(n=r.removeCustomPropAssignmen t(n),e.cssText=t.valueForProperties(n,s))}))}})}(),Polymer.Templatizer={properti es:{__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Poly mer.nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized =e,e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._conte nt._ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.cre ate(Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t, e),t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropert yInfo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElement Class=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren= this._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setPropert y=this.__setPropertyImpl;var n=this._constructorImpl,r=function(e,t){n.call(this ,e,t)};r.prototype=t,t.constructor=r,e._content._ctor=r,this.ctor=r},_getRootDat aHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHos t},_showHideChildrenImpl:function(e){for(var t=this._children,n=0;n<t.length;n++ ){var r=t[n];Boolean(e)!=Boolean(r.__hideTemplateChildren__)&&(r.nodeType===Node .TEXT_NODE?e?(r.__polymerTextContent__=r.textContent,r.textContent=""):r.textCon tent=r.__polymerTextContent__:r.style&&(e?(r.__polymerDisplay__=r.style.display, r.style.display="none"):r.style.display=r.__polymerDisplay__)),r.__hideTemplateC hildren__=e}},__setPropertyImpl:function(e,t,n,r){r&&r.__hideTemplateChildren__& &"textContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,n,r)} ,_debounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounce Template",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffect s:function(e){var t=e._parentProps;for(var n in t)e._addPropertyEffect(n,"functi on",this._createHostPropEffector(n));for(n in this._instanceProps)e._addProperty Effect(n,"function",this._createInstancePropEffector(n))},_customPrepAnnotations :function(e,t){e._template=t;var n=t._content;if(!n._notes){var r=e._rootDataHos t;r&&(Polymer.Annotations.prepElement=function(){r._prepElement()}),n._notes=Pol ymer.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._ processAnnotations(n._notes)}e._notes=n._notes,e._parentProps=n._parentProps},_p repParentProperties:function(e,t){var n=this._parentProps=e._parentProps;if(this ._forwardParentProp&&n){var r,s=e._parentPropProto;if(!s){for(r in this._instanc eProps)delete n[r];s=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bi nd.prepareModel(s),Polymer.Base.prepareModelNotifyPath(s));for(r in n){var i=thi s._parentPropPrefix+r,o=[{kind:"function",effect:this._createForwardPropEffector (r),fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffec t,effect:{event:Polymer.CaseMap.camelToDashCase(i)+"-changed"}}];s._propertyEffe cts=s._propertyEffects||{},s._propertyEffects[i]=o,Polymer.Bind._createAccessors (s,i,o)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forwardParentPr op=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,s),t._pathEf fector=function(e,t,n){return a._pathEffectorImpl(e,t,n)}}},_createForwardPropEf fector:function(e){return function(t,n){this._forwardParentProp(e,n)}},_createHo stPropEffector:function(e){var t=this._parentPropPrefix;return function(n,r){thi s.dataHost._templatized[t+e]=r}},_createInstancePropEffector:function(e){return function(t,n,r,s){s||this.dataHost._forwardInstanceProp(this,e,n)}},_extendTempl ate:function(e,t){var n=Object.getOwnPropertyNames(t);t._propertySetter&&(e._pro pertySetter=t._propertySetter);for(var r,s=0;s<n.length&&(r=n[s]);s++){var i=e[r ];if(i&&"_propertyEffects"==r){var o=Polymer.Base.mixin({},i);e._propertyEffects =Polymer.Base.mixin(o,t._propertyEffects)}else{var a=Object.getOwnPropertyDescri ptor(t,r);Object.defineProperty(e,r,a),void 0!==i&&e._propertySetter(r,i)}}},_sh owHideChildren:function(e){},_forwardInstancePath:function(e,t,n){},_forwardInst anceProp:function(e,t,n){},_notifyPathUpImpl:function(e,t){var n=this.dataHost,r =Polymer.Path.root(e);n._forwardInstancePath.call(n,this,e,t),r in n._parentProp s&&n._templatized._notifyPath(n._parentPropPrefix+e,t)},_pathEffectorImpl:functi on(e,t,n){if(this._forwardParentPath&&0===e.indexOf(this._parentPropPrefix)){var r=e.substring(this._parentPropPrefix.length),s=Polymer.Path.root(r);s in this._ parentProps&&this._forwardParentPath(r,t)}Polymer.Base._pathEffector.call(this._ templatized,e,t,n)},_constructorImpl:function(e,t){this._rootDataHost=t._getRoot DataHost(),this._setupConfigure(e),this._registerHost(t),this._beginHosting(),th is.root=this.instanceTemplate(this._template),this.root.__noContent=!this._notes ._hasContent,this.root.__styleScoped=!0,this._endHosting(),this._marshalAnnotate dNodes(),this._marshalInstanceEffects(),this._marshalAnnotatedListeners();for(va r n=[],r=this.root.firstChild;r;r=r.nextSibling)n.push(r),r._templateInstance=th is;this._children=n,t.__hideTemplateChildren__&&this._showHideChildren(!0),this. _tryReady()},_listenImpl:function(e,t,n){var r=this,s=this._rootDataHost,i=s._cr eateEventHandler(e,t,n),o=function(e){e.model=r,i(e)};s._listen(e,t,o)},_scopeEl ementClassImpl:function(e,t){var n=this._rootDataHost;return n?n._scopeElementCl ass(e,t):t},stamp:function(e){if(e=e||{},this._parentProps){var t=this._templati zed;for(var n in this._parentProps)void 0===e[n]&&(e[n]=t[this._parentPropPrefix +n])}return new this.ctor(e,this)},modelForElement:function(e){for(var t;e;)if(t =e._templateInstance){if(t.dataHost==this)return t;e=t.dataHost}else e=e.parentN ode}},Polymer({is:"dom-template",extends:"template",_template:null,behaviors:[Po lymer.Templatizer],ready:function(){this.templatize(this)}}),Polymer._collection s=new WeakMap,Polymer.Collection=function(e){Polymer._collections.set(e,this),th is.userArray=e,this.store=e.slice(),this.initMap()},Polymer.Collection.prototype ={constructor:Polymer.Collection,initMap:function(){for(var e=this.omap=new Weak Map,t=this.pmap={},n=this.store,r=0;r<n.length;r++){var s=n[r];s&&"object"==type of s?e.set(s,r):t[s]=r}},add:function(e){var t=this.store.push(e)-1;return e&&"o bject"==typeof e?this.omap.set(e,t):this.pmap[e]=t,"#"+t},removeKey:function(e){ (e=this._parseKey(e))&&(this._removeFromMap(this.store[e]),delete this.store[e]) },_removeFromMap:function(e){e&&"object"==typeof e?this.omap.delete(e):delete th is.pmap[e]},remove:function(e){var t=this.getKey(e);return this.removeKey(t),t}, getKey:function(e){var t;if(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e ],void 0!=t)return"#"+t},getKeys:function(){return Object.keys(this.store).map(f unction(e){return"#"+e})},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1 )},setItem:function(e,t){if(e=this._parseKey(e)){var n=this.store[e];n&&this._re moveFromMap(n),t&&"object"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.stor e[e]=t}},getItem:function(e){if(e=this._parseKey(e))return this.store[e]},getIte ms:function(){var e=[],t=this.store;for(var n in t)e.push(t[n]);return e},_apply Splices:function(e){for(var t,n,r={},s=0;s<e.length&&(n=e[s]);s++){n.addedKeys=[ ];for(var i=0;i<n.removed.length;i++)t=this.getKey(n.removed[i]),r[t]=r[t]?null: -1;for(i=0;i<n.addedCount;i++){var o=this.userArray[n.index+i];t=this.getKey(o), t=void 0===t?this.add(o):t,r[t]=r[t]?null:1,n.addedKeys.push(t)}}var a=[],l=[];f or(t in r)r[t]<0&&(this.removeKey(t),a.push(t)),r[t]>0&&l.push(t);return[{remove d:a,added:l}]}},Polymer.Collection.get=function(e){return Polymer._collections.g et(e)||new Polymer.Collection(e)},Polymer.Collection.applySplices=function(e,t){ var n=Polymer._collections.get(e);return n?n._applySplices(t):null},Polymer({is: "dom-repeat",extends:"template",_template:null,properties:{items:{type:Array},as :{type:String,value:"item"},indexAs:{type:String,value:"index"},sort:{type:Funct ion,observer:"_sortChanged"},filter:{type:Function,observer:"_filterChanged"},ob serve:{type:String,observer:"_observeChanged"},delay:Number,renderedItemCount:{t ype:Number,notify:!Polymer.Settings.suppressTemplateNotifications,readOnly:!0},i nitialCount:{type:Number,observer:"_initializeChunking"},targetFramerate:{type:N umber,value:20},notifyDomChange:{type:Boolean},_targetFrameTime:{type:Number,com puted:"_computeFrameTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],obs ervers:["_itemsChanged(items.*)"],created:function(){this._instances=[],this._po ol=[],this._limit=1/0;var e=this;this._boundRenderChunk=function(){e._renderChun k()}},detached:function(){this.__isDetached=!0;for(var e=0;e<this._instances.len gth;e++)this._detachInstance(e)},attached:function(){if(this.__isDetached){this. __isDetached=!1;var e,t=Polymer.dom(this).parentNode;t.localName==this.is?(e=t,t =Polymer.dom(t).parentNode):e=this;for(var n=Polymer.dom(t),r=0;r<this._instance s.length;r++)this._attachInstance(r,n,e)}},ready:function(){this._instanceProps= {__key__:!0},this._instanceProps[this.as]=!0,this._instanceProps[this.indexAs]=! 0,this.ctor||this.templatize(this)},_sortChanged:function(e){var t=this._getRoot DataHost();this._sortFn=e&&("function"==typeof e?e:function(){return t[e].apply( t,arguments)}),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this. _render)},_filterChanged:function(e){var t=this._getRootDataHost();this._filterF n=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._n eedFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_computeFram eTime:function(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.i nitialCount&&(this._limit=this.initialCount,this._chunkCount=this.initialCount,t his._lastChunkTime=performance.now())},_tryRenderChunk:function(){this.items&&th is._limit<this.items.length&&this.debounce("renderChunk",this._requestRenderChun k)},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk) },_renderChunk:function(){var e=performance.now(),t=this._targetFrameTime/(e-thi s._lastChunkTime);this._chunkCount=Math.round(this._chunkCount*t)||1,this._limit +=this._chunkCount,this._lastChunkTime=e,this._debounceTemplate(this._render)},_ observeChanged:function(){this._observePaths=this.observe&&this.observe.replace( ".*",".").split(" ")},_itemsChanged:function(e){if("items"==e.path)Array.isArray (this.items)?this.collection=Polymer.Collection.get(this.items):this.items?this. _error(this._logf("dom-repeat","expected array for `items`, found",this.items)): this.collection=null,this._keySplices=[],this._indexSplices=[],this._needFullRef resh=!0,this._initializeChunking(),this._debounceTemplate(this._render);else if( "items.splices"==e.path)this._keySplices=this._keySplices.concat(e.value.keySpli ces),this._indexSplices=this._indexSplices.concat(e.value.indexSplices),this._de bounceTemplate(this._render);else{var t=e.path.slice(6);this._forwardItemPath(t, e.value),this._checkObservedPaths(t)}},_checkObservedPaths:function(e){if(this._ observePaths){e=e.substring(e.indexOf(".")+1);for(var t=this._observePaths,n=0;n <t.length;n++)if(0===e.indexOf(t[n]))return this._needFullRefresh=!0,void(this.d elay?this.debounce("render",this._render,this.delay):this._debounceTemplate(this ._render))}},render:function(){this._needFullRefresh=!0,this._debounceTemplate(t his._render),this._flushTemplates()},_render:function(){this._needFullRefresh?(t his._applyFullRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this ._sortFn?this._applySplicesUserSort(this._keySplices):this._filterFn?this._apply FullRefresh():this._applySplicesArrayOrder(this._indexSplices)),this._keySplices =[],this._indexSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.leng th-1;t>=0;t--){var n=this._instances[t];n.isPlaceholder&&t<this._limit?n=this._i nsertInstance(t,n.__key__):!n.isPlaceholder&&t>=this._limit&&(n=this._downgradeI nstance(t,n.__key__)),e[n.__key__]=t,n.isPlaceholder||n.__setProperty(this.index As,t,!0)}this._pool.length=0,this._setRenderedItemCount(this._instances.length), Polymer.Settings.suppressTemplateNotifications&&!this.notifyDomChange||this.fire ("dom-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this .collection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var n=this.items;if(n)f or(var r=0;r<n.length;r++)e.push(t.getKey(n[r]))}var s=this;for(this._filterFn&& (e=e.filter(function(e){return s._filterFn(t.getItem(e))})),this._sortFn&&e.sort (function(e,n){return s._sortFn(t.getItem(e),t.getItem(n))}),r=0;r<e.length;r++) {var i=e[r],o=this._instances[r];o?(o.__key__=i,!o.isPlaceholder&&r<this._limit& &o.__setProperty(this.as,t.getItem(i),!0)):r<this._limit?this._insertInstance(r, i):this._insertPlaceholder(r,i)}for(var a=this._instances.length-1;a>=r;a--)this ._detachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplic esUserSort:function(e){for(var t,n,r=this.collection,s={},i=0;i<e.length&&(n=e[i ]);i++){for(var o=0;o<n.removed.length;o++)t=n.removed[o],s[t]=s[t]?null:-1;for( o=0;o<n.added.length;o++)t=n.added[o],s[t]=s[t]?null:1}var a=[],l=[];for(t in s) s[t]===-1&&a.push(this._keyToInstIdx[t]),1===s[t]&&l.push(t);if(a.length)for(a.s ort(this._numericSort),i=a.length-1;i>=0;i--){var c=a[i];void 0!==c&&this._detac hAndRemoveInstance(c)}var h=this;if(l.length){this._filterFn&&(l=l.filter(functi on(e){return h._filterFn(r.getItem(e))})),l.sort(function(e,t){return h._sortFn( r.getItem(e),r.getItem(t))});var u=0;for(i=0;i<l.length;i++)u=this._insertRowUse rSort(u,l[i])}},_insertRowUserSort:function(e,t){for(var n=this.collection,r=n.g etItem(t),s=this._instances.length-1,i=-1;e<=s;){var o=e+s>>1,a=this._instances[ o].__key__,l=this._sortFn(n.getItem(a),r);if(l<0)e=o+1;else{if(!(l>0)){i=o;break }s=o-1}}return i<0&&(i=s+1),this._insertPlaceholder(i,t),i},_applySplicesArrayOr der:function(e){for(var t,n=0;n<e.length&&(t=e[n]);n++){for(var r=0;r<t.removed. length;r++)this._detachAndRemoveInstance(t.index);for(r=0;r<t.addedKeys.length;r ++)this._insertPlaceholder(t.index+r,t.addedKeys[r])}},_detachInstance:function( e){var t=this._instances[e];if(!t.isPlaceholder){for(var n=0;n<t._children.lengt h;n++){var r=t._children[n];Polymer.dom(t.root).appendChild(r)}return t}},_attac hInstance:function(e,t,n){var r=this._instances[e];r.isPlaceholder||t.insertBefo re(r.root,n)},_detachAndRemoveInstance:function(e){var t=this._detachInstance(e) ;t&&this._pool.push(t),this._instances.splice(e,1)},_insertPlaceholder:function( e,t){this._instances.splice(e,0,{isPlaceholder:!0,__key__:t})},_stampInstance:fu nction(e,t){var n={__key__:t};return n[this.as]=this.collection.getItem(t),n[thi s.indexAs]=e,this.stamp(n)},_insertInstance:function(e,t){var n=this._pool.pop() ;n?(n.__setProperty(this.as,this.collection.getItem(t),!0),n.__setProperty("__ke y__",t,!0)):n=this._stampInstance(e,t);var r=this._instances[e+1],s=r&&!r.isPlac eholder?r._children[0]:this,i=Polymer.dom(this).parentNode;return i.localName==t his.is&&(s==this&&(s=i),i=Polymer.dom(i).parentNode),Polymer.dom(i).insertBefore (n.root,s),this._instances[e]=n,n},_downgradeInstance:function(e,t){var n=this._ detachInstance(e);return n&&this._pool.push(n),n={isPlaceholder:!0,__key__:t},th is._instances[e]=n,n},_showHideChildren:function(e){for(var t=0;t<this._instance s.length;t++)this._instances[t].isPlaceholder||this._instances[t]._showHideChild ren(e)},_forwardInstanceProp:function(e,t,n){if(t==this.as){var r;r=this._sortFn ||this._filterFn?this.items.indexOf(this.collection.getItem(e.__key__)):e[this.i ndexAs],this.set("items."+r,n)}},_forwardInstancePath:function(e,t,n){0===t.inde xOf(this.as+".")&&this._notifyPath("items."+e.__key__+"."+t.slice(this.as.length +1),n)},_forwardParentProp:function(e,t){for(var n,r=this._instances,s=0;s<r.len gth&&(n=r[s]);s++)n.isPlaceholder||n.__setProperty(e,t,!0)},_forwardParentPath:f unction(e,t){for(var n,r=this._instances,s=0;s<r.length&&(n=r[s]);s++)n.isPlaceh older||n._notifyPath(e,t,!0)},_forwardItemPath:function(e,t){if(this._keyToInstI dx){var n=e.indexOf("."),r=e.substring(0,n<0?e.length:n),s=this._keyToInstIdx[r] ,i=this._instances[s];i&&!i.isPlaceholder&&(n>=0?(e=this.as+"."+e.substring(n+1) ,i._notifyPath(e,t,!0)):i.__setProperty(this.as,t,!0))}},itemForElement:function (e){var t=this.modelForElement(e);return t&&t[this.as]},keyForElement:function(e ){var t=this.modelForElement(e);return t&&t.__key__},indexForElement:function(e) {var t=this.modelForElement(e);return t&&t[this.indexAs]}}),Polymer({is:"array-s elector",_template:null,properties:{items:{type:Array,observer:"clearSelection"} ,multi:{type:Boolean,value:!1,observer:"clearSelection"},selected:{type:Object,n otify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}},c learSelection:function(){if(Array.isArray(this.selected))for(var e=0;e<this.sele cted.length;e++)this.unlinkPaths("selected."+e);else this.unlinkPaths("selected" ),this.unlinkPaths("selectedItem");this.multi?this.selected&&!this.selected.leng th||(this.selected=[],this._selectedColl=Polymer.Collection.get(this.selected)): (this.selected=null,this._selectedColl=null),this.selectedItem=null},isSelected: function(e){return this.multi?void 0!==this._selectedColl.getKey(e):this.selecte d==e},deselect:function(e){if(this.multi){if(this.isSelected(e)){var t=this._sel ectedColl.getKey(e);this.arrayDelete("selected",e),this.unlinkPaths("selected."+ t)}}else this.selected=null,this.selectedItem=null,this.unlinkPaths("selected"), this.unlinkPaths("selectedItem")},select:function(e){var t=Polymer.Collection.ge t(this.items),n=t.getKey(e);if(this.multi)if(this.isSelected(e))this.toggle&&thi s.deselect(e);else{this.push("selected",e);var r=this._selectedColl.getKey(e);th is.linkPaths("selected."+r,"items."+n)}else this.toggle&&e==this.selected?this.d eselect():(this.selected=e,this.selectedItem=e,this.linkPaths("selected","items. "+n),this.linkPaths("selectedItem","items."+n))}}),Polymer({is:"dom-if",extends: "template",_template:null,properties:{if:{type:Boolean,value:!1,observer:"_queue Render"},restamp:{type:Boolean,value:!1,observer:"_queueRender"},notifyDomChange :{type:Boolean}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._d ebounceTemplate(this._render)},detached:function(){var e=this.parentNode;e&&e.lo calName==this.is&&(e=Polymer.dom(e).parentNode),e&&(e.nodeType!=Node.DOCUMENT_FR AGMENT_NODE||Polymer.Settings.hasShadow&&e instanceof ShadowRoot)||this._teardow nInstance()},attached:function(){this.if&&this.ctor&&this.async(this._ensureInst ance)},render:function(){this._flushTemplates()},_render:function(){this.if?(thi s.ctor||this.templatize(this),this._ensureInstance(),this._showHideChildren()):t his.restamp&&this._teardownInstance(),!this.restamp&&this._instance&&this._showH ideChildren(),this.if!=this._lastIf&&(Polymer.Settings.suppressTemplateNotificat ions&&!this.notifyDomChange||this.fire("dom-change"),this._lastIf=this.if)},_ens ureInstance:function(){var e,t=Polymer.dom(this).parentNode;if(t&&t.localName==t his.is?(e=t,t=Polymer.dom(t).parentNode):e=this,t)if(this._instance){var n=this. _instance._children;if(n&&n.length){var r=Polymer.dom(e).previousSibling;if(r!== n[n.length-1])for(var s,i=0;i<n.length&&(s=n[i]);i++)Polymer.dom(t).insertBefore (s,e)}}else{this._instance=this.stamp();var o=this._instance.root;Polymer.dom(t) .insertBefore(o,e)}},_teardownInstance:function(){if(this._instance){var e=this. _instance._children;if(e&&e.length)for(var t,n=Polymer.dom(Polymer.dom(e[0]).par entNode),r=0;r<e.length&&(t=e[r]);r++)n.removeChild(t);this._instance=null}},_sh owHideChildren:function(){var e=this.__hideTemplateChildren__||!this.if;this._in stance&&this._instance._showHideChildren(e)},_forwardParentProp:function(e,t){th is._instance&&this._instance.__setProperty(e,t,!0)},_forwardParentPath:function( e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Polymer({is:"dom-bind ",properties:{notifyDomChange:{type:Boolean}},extends:"template",_template:null, created:function(){var e=this;Polymer.RenderStatus.whenReady(function(){"loading "==document.readyState?document.addEventListener("DOMContentLoaded",function(){e ._markImportsReady()}):e._markImportsReady()})},_ensureReady:function(){this._re adied||this._readySelf()},_markImportsReady:function(){this._importsReady=!0,thi s._ensureReady()},_registerFeatures:function(){this._prepConstructor()},_insertC hildren:function(){var e,t=Polymer.dom(this).parentNode;t.localName==this.is?(e= t,t=Polymer.dom(t).parentNode):e=this,Polymer.dom(t).insertBefore(this.root,e)}, _removeChildren:function(){if(this._children)for(var e=0;e<this._children.length ;e++)this.root.appendChild(this._children[e])},_initFeatures:function(){},_scope ElementClass:function(e,t){return this.dataHost?this.dataHost._scopeElementClass (e,t):t},_configureInstanceProperties:function(){},_prepConfigure:function(){var e={};for(var t in this._propertyEffects)e[t]=this[t];var n=this._setupConfigure ;this._setupConfigure=function(){n.call(this,e)}},attached:function(){this._impo rtsReady&&this.render()},detached:function(){this._removeChildren()},render:func tion(){this._ensureReady(),this._children||(this._template=this,this._prepAnnota tions(),this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._pr epBindings(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this ._children=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren( ),Polymer.Settings.suppressTemplateNotifications&&!this.notifyDomChange||this.fi re("dom-change")}})</script><script>window.SwarmingBehaviors=window.SwarmingBeha viors||{},function(){SwarmingBehaviors.CommonBehavior={_botLink:function(e){if(e )return"/bot?id="+e},_botListLink:function(e,t){e=e||[],t=t||[];var n=[];e.forEa ch(function(e){e.key&&e.value?Array.isArray(e.value)?e.value.forEach(function(t) {n.push(e.key+":"+t)}):n.push(e.key+":"+e.value):n.push(e)});var s={f:n,c:t};ret urn"/botlist?"+sk.query.fromParamSet(s)},_getJsonAsync:function(e,t,n,s,i){if(!e ||!t||!n)return void console.log("Need at least a polymer element to bind to, a busy element, and a url");this.set(n,!0);var o=new Date;return this._jsonAsync=t his._jsonAsync||{},this._jsonAsync[e]=o,i&&(t=t+"?"+sk.query.fromParamSet(i)),sk .request("GET",t,"",s).then(JSON.parse).then(function(t){return this._jsonAsync[ e]!==o?(console.log("ignoring result because a second request happened."),void t his.set(n,!1)):(this.set(e,t),void this.set(n,!1))}.bind(this)).catch(function(s ){return console.log("Reason for failure of request to "+t,s),this._jsonAsync[e] !==o?(console.log("ignoring failure because a second request happened."),void th is.set(n,!1)):(this.set(e,!1),this.set(n,!1),Promise.reject(s))}.bind(this))},_g etJsonAsyncArr:function(e,t,n,s,i,o){if(!t||!n||!s)return void console.log("Need at least a polymer array to bind to, a busy element, and a url");var r=t+":"+e; this.splice(s,e,1,{status:!0});var a=new Date;return this._jsonAsync=this._jsonA sync||{},this._jsonAsync[r]=a,o&&(n=n+"?"+sk.query.fromParamSet(o)),sk.request(" GET",n,"",i).then(JSON.parse).then(function(n){return this._jsonAsync[r]!==a?(co nsole.log("ignoring result because a second request happened for ",r),void this. splice(s,e,1,{status:!1})):(this.splice(t,e,1,n),void this.splice(s,e,1,{status: !1}))}.bind(this)).catch(function(t){return console.log("Reason for failure of r equest to "+n,t),this._jsonAsync[r]!==a?(console.log("ignoring failure because a second request happened."),void this.splice(s,e,1,{status:!1})):(this.splice(s, e,1,{status:!1}),Promise.reject(t))}.bind(this))},_humanDuration:function(e){ret urn 0===e||"0"===e?"0s":e?(ptimeInSecs=parseFloat(e),ptimeInSecs?ptimeInSecs>60? sk.human.strDuration(ptimeInSecs):ptimeInSecs.toFixed(2)+"s":e+" seconds"):""},_ not:function(e){return!e},_or:function(){for(var e=!1,t=0;t<arguments.length;t++ )e=e||arguments[t];return e},_taskLink:function(e,t){if(e)return t||(e=e.substri ng(0,e.length-1)+"0"),"/task?id="+e},_taskListLink:function(e,t){e=e||[],t=t||[] ;var n=[];e.forEach(function(e){e.key&&e.value?Array.isArray(e.value)?e.value.fo rEach(function(t){n.push(e.key+":"+t)}):n.push(e.key+":"+e.value):n.push(e)});fo r(var s=2;s<arguments.length;s++)n.push(arguments[s]);var i={f:n,c:t};return"/ta sklist?"+sk.query.fromParamSet(i)},_timeDiffApprox:function(e){return e?sk.human .diffDate(e.getTime()):"eons"},_timeDiffExact:function(e,t){return e?(t||(t=new Date),sk.human.strDuration((t.getTime()-e.getTime())/1e3)):"eons"},_truthy:funct ion(e){return!!e}}}()</script><script>Polymer.AppLayout=Polymer.AppLayout||{},Po lymer.AppLayout._scrollEffects=Polymer.AppLayout._scrollEffects||{},Polymer.AppL ayout.scrollTimingFunction=function(o,l,e,r){return o/=r,-e*o*(o-2)+l},Polymer.A ppLayout.registerEffect=function(o,l){if(null!=Polymer.AppLayout._scrollEffects[ o])throw new Error("effect `"+o+"` is already registered.");Polymer.AppLayout._s crollEffects[o]=l},Polymer.AppLayout.scroll=function(o){o=o||{};var l=document.d ocumentElement,e=o.target||l,r="scrollBehavior"in e.style&&e.scroll,t="app-layou t-silent-scroll",s=o.top||0,c=o.left||0,i=e===l?window.scrollTo:function(o,l){e. scrollLeft=o,e.scrollTop=l};if("smooth"===o.behavior)if(r)e.scroll(o);else{var n =Polymer.AppLayout.scrollTimingFunction,a=Date.now(),p=e===l?window.pageYOffset: e.scrollTop,u=e===l?window.pageXOffset:e.scrollLeft,y=s-p,f=c-u,m=300,L=function o(){var l=Date.now(),e=l-a;e<m?(i(n(e,u,f,m),n(e,p,y,m)),requestAnimationFrame( o)):i(c,s)}.bind(this);L()}else"silent"===o.behavior?(l.classList.add(t),clearIn terval(Polymer.AppLayout._scrollTimer),Polymer.AppLayout._scrollTimer=setTimeout (function(){l.classList.remove(t),Polymer.AppLayout._scrollTimer=null},100),i(c, s)):i(c,s)}</script> <style>[hidden]{display:none!important}</style> <style is=" custom-style">:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:f lex};--layout-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;dis play:inline-flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;- webkit-flex-direction:row;flex-direction:row};--layout-horizontal-reverse:{@appl y(--layout);-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;fl ex-direction:row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction :column;-webkit-flex-direction:column;flex-direction:column};--layout-vertical-r everse:{@apply(--layout);-ms-flex-direction:column-reverse;-webkit-flex-directio n:column-reverse;flex-direction:column-reverse};--layout-wrap:{-ms-flex-wrap:wra p;-webkit-flex-wrap:wrap;flex-wrap:wrap};--layout-no-wrap:{-ms-flex-wrap:nowrap; -webkit-flex-wrap:nowrap;flex-wrap:nowrap};--layout-wrap-reverse:{-ms-flex-wrap: wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-fle x-auto:{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-non e:{-ms-flex:none;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0px;-w ebkit-flex:1;flex:1;-webkit-flex-basis:0px;flex-basis:0px};--layout-flex-2:{-ms- flex:2;-webkit-flex:2;flex:2};--layout-flex-3:{-ms-flex:3;-webkit-flex:3;flex:3} ;--layout-flex-4:{-ms-flex:4;-webkit-flex:4;flex:4};--layout-flex-5:{-ms-flex:5; -webkit-flex:5;flex:5};--layout-flex-6:{-ms-flex:6;-webkit-flex:6;flex:6};--layo ut-flex-7:{-ms-flex:7;-webkit-flex:7;flex:7};--layout-flex-8:{-ms-flex:8;-webkit -flex:8;flex:8};--layout-flex-9:{-ms-flex:9;-webkit-flex:9;flex:9};--layout-flex -10:{-ms-flex:10;-webkit-flex:10;flex:10};--layout-flex-11:{-ms-flex:11;-webkit- flex:11;flex:11};--layout-flex-12:{-ms-flex:12;-webkit-flex:12;flex:12};--layout -start:{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-sta rt};--layout-center:{-ms-flex-align:center;-webkit-align-items:center;align-item s:center};--layout-end:{-ms-flex-align:end;-webkit-align-items:flex-end;align-it ems:flex-end};--layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:bas eline;align-items:baseline};--layout-start-justified:{-ms-flex-pack:start;-webki t-justify-content:flex-start;justify-content:flex-start};--layout-center-justifi ed:{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}; --layout-end-justified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justi fy-content:flex-end};--layout-around-justified:{-ms-flex-pack:distribute;-webkit -justify-content:space-around;justify-content:space-around};--layout-justified:{ -ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:spac e-between};--layout-center-center:{@apply(--layout-center);@apply(--layout-cente r-justified);};--layout-self-start:{-ms-align-self:flex-start;-webkit-align-self :flex-start;align-self:flex-start};--layout-self-center:{-ms-align-self:center;- webkit-align-self:center;align-self:center};--layout-self-end:{-ms-align-self:fl ex-end;-webkit-align-self:flex-end;align-self:flex-end};--layout-self-stretch:{- ms-align-self:stretch;-webkit-align-self:stretch;align-self:stretch};--layout-se lf-baseline:{-ms-align-self:baseline;-webkit-align-self:baseline;align-self:base line};--layout-start-aligned:{-ms-flex-line-pack:start;-ms-align-content:flex-st art;-webkit-align-content:flex-start;align-content:flex-start};--layout-end-alig ned:{-ms-flex-line-pack:end;-ms-align-content:flex-end;-webkit-align-content:fle x-end;align-content:flex-end};--layout-center-aligned:{-ms-flex-line-pack:center ;-ms-align-content:center;-webkit-align-content:center;align-content:center};--l ayout-between-aligned:{-ms-flex-line-pack:justify;-ms-align-content:space-betwee n;-webkit-align-content:space-between;align-content:space-between};--layout-arou nd-aligned:{-ms-flex-line-pack:distribute;-ms-align-content:space-around;-webkit -align-content:space-around;align-content:space-around};--layout-block:{display: block};--layout-invisible:{visibility:hidden!important};--layout-relative:{posit ion:relative};--layout-fit:{position:absolute;top:0;right:0;bottom:0;left:0};--l ayout-scroll:{-webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed :{margin:0;height:100vh};--layout-fixed-top:{position:fixed;top:0;left:0;right:0 };--layout-fixed-right:{position:fixed;top:0;right:0;bottom:0};--layout-fixed-bo ttom:{position:fixed;right:0;bottom:0;left:0};--layout-fixed-left:{position:fixe d;top:0;bottom:0;left:0};}</style> <dom-module id="app-drawer" assetpath="/res/i mp/bower_components/app-layout/app-drawer/"> <template> <style>:host{position:fi xed;top:-120px;right:0;bottom:-120px;left:0;visibility:hidden;transition-propert y:visibility}:host([opened]){visibility:visible}:host([persistent]){width:var(-- app-drawer-width,256px)}:host([persistent][position=left]){right:auto}:host([per sistent][position=right]){left:auto}#contentContainer{position:absolute;top:0;bo ttom:0;left:0;width:var(--app-drawer-width,256px);padding:120px 0;transition-pro perty:-webkit-transform;transition-property:transform;-webkit-transform:translat e3d(-100%,0,0);transform:translate3d(-100%,0,0);background-color:#FFF;@apply(--a pp-drawer-content-container);}:host([position=right])>#contentContainer{right:0; left:auto;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0 )}:host([swipe-open])>#contentContainer::after{position:fixed;top:0;bottom:0;lef t:100%;visibility:visible;width:20px;content:''}:host([swipe-open][position=righ t])>#contentContainer::after{right:100%;left:auto}:host([opened])>#contentContai ner{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}#scrim{pos ition:absolute;top:0;right:0;bottom:0;left:0;transition-property:opacity;-webkit -transform:translateZ(0);transform:translateZ(0);opacity:0;background:var(--app- drawer-scrim-background,rgba(0,0,0,.5))}:host([opened])>#scrim{opacity:1}:host([ opened][persistent])>#scrim{visibility:hidden;opacity:0}</style> <div id="scrim" on-tap="close"></div> <div id="contentContainer"> <content></content> </div> </ template> <script>Polymer({is:"app-drawer",properties:{opened:{type:Boolean,valu e:!1,notify:!0,reflectToAttribute:!0},persistent:{type:Boolean,value:!1,reflectT oAttribute:!0},transitionDuration:{type:Number,value:200},align:{type:String,val ue:"left"},position:{type:String,readOnly:!0,reflectToAttribute:!0},swipeOpen:{t ype:Boolean,value:!1,reflectToAttribute:!0},noFocusTrap:{type:Boolean,value:!1}, disableSwipe:{type:Boolean,value:!1}},observers:["resetLayout(position, isAttach ed)","_resetPosition(align, isAttached)","_styleTransitionDuration(transitionDur ation)","_openedPersistentChanged(opened, persistent)"],_translateOffset:0,_trac kDetails:null,_drawerState:0,_boundEscKeydownHandler:null,_firstTabStop:null,_la stTabStop:null,attached:function(){this._styleTransitionDuration(0),Polymer.Rend erStatus.afterNextRender(this,function(){this._styleTransitionDuration(this.tran sitionDuration),this._boundEscKeydownHandler=this._escKeydownHandler.bind(this), this.addEventListener("keydown",this._tabKeydownHandler.bind(this)),this.listen( this,"track","_track"),this.setScrollDirection("y")}),this.fire("app-drawer-atta ched")},detached:function(){document.removeEventListener("keydown",this._boundEs cKeydownHandler)},open:function(){this.opened=!0},close:function(){this.opened=! 1},toggle:function(){this.opened=!this.opened},getWidth:function(){return this.$ .contentContainer.offsetWidth},resetLayout:function(){this.fire("app-drawer-rese t-layout")},_isRTL:function(){return"rtl"===window.getComputedStyle(this).direct ion},_resetPosition:function(){switch(this.align){case"start":return void this._ setPosition(this._isRTL()?"right":"left");case"end":return void this._setPositio n(this._isRTL()?"left":"right")}this._setPosition(this.align)},_escKeydownHandle r:function(t){var i=27;t.keyCode===i&&(t.preventDefault(),this.close())},_track: function(t){if(!this.persistent&&!this.disableSwipe)switch(t.preventDefault(),t. detail.state){case"start":this._trackStart(t);break;case"track":this._trackMove( t);break;case"end":this._trackEnd(t)}},_trackStart:function(t){this._drawerState =this._DRAWER_STATE.TRACKING,this._styleTransitionDuration(0),this.style.visibil ity="visible";var i=this.$.contentContainer.getBoundingClientRect();"left"===thi s.position?this._translateOffset=i.left:this._translateOffset=i.right-window.inn erWidth,this._trackDetails=[]},_trackMove:function(t){this._translateDrawer(t.de tail.dx+this._translateOffset),this._trackDetails.push({dx:t.detail.dx,timeStamp :Date.now()})},_trackEnd:function(t){var i=t.detail.dx+this._translateOffset,e=t his.getWidth(),s="left"===this.position,n=s?i>=0||i<=-e:i<=0||i>=e;if(!n){var a= this._trackDetails;if(this._trackDetails=null,this._flingDrawer(t,a),this._drawe rState===this._DRAWER_STATE.FLINGING)return}var r=e/2;t.detail.dx<-r?this.opened ="right"===this.position:t.detail.dx>r&&(this.opened="left"===this.position),n?t his.debounce("_resetDrawerState",this._resetDrawerState):this.debounce("_resetDr awerState",this._resetDrawerState,this.transitionDuration),this._styleTransition Duration(this.transitionDuration),this._resetDrawerTranslate(),this.style.visibi lity=""},_calculateVelocity:function(t,i){for(var e,s=Date.now(),n=s-100,a=0,r=i .length-1;a<=r;){var o=a+r>>1,h=i[o];h.timeStamp>=n?(e=h,r=o-1):a=o+1}if(e){var l=t.detail.dx-e.dx,d=s-e.timeStamp||1;return l/d}return 0},_flingDrawer:function (t,i){var e=this._calculateVelocity(t,i);if(!(Math.abs(e)<this._MIN_FLING_THRESH OLD)){this._drawerState=this._DRAWER_STATE.FLINGING;var s,n=t.detail.dx+this._tr anslateOffset,a=this.getWidth(),r="left"===this.position,o=e>0,h=!o&&r,l=o&&!r;s =h?-(n+a):l?a-n:-n,o?(e=Math.max(e,this._MIN_TRANSITION_VELOCITY),this.opened="l eft"===this.position):(e=Math.min(e,-this._MIN_TRANSITION_VELOCITY),this.opened= "right"===this.position);var d=this._FLING_INITIAL_SLOPE*s/e;this._styleTransiti onDuration(d),this._styleTransitionTimingFunction(this._FLING_TIMING_FUNCTION),t his._resetDrawerTranslate(),this.debounce("_resetDrawerState",this._resetDrawerS tate,d)}},_styleTransitionDuration:function(t){this.style.transitionDuration=t+" ms",this.$.contentContainer.style.transitionDuration=t+"ms",this.$.scrim.style.t ransitionDuration=t+"ms"},_styleTransitionTimingFunction:function(t){this.$.cont entContainer.style.transitionTimingFunction=t,this.$.scrim.style.transitionTimin gFunction=t},_translateDrawer:function(t){var i=this.getWidth();"left"===this.po sition?(t=Math.max(-i,Math.min(t,0)),this.$.scrim.style.opacity=1+t/i):(t=Math.m ax(0,Math.min(t,i)),this.$.scrim.style.opacity=1-t/i),this.translate3d(t+"px","0 ","0",this.$.contentContainer)},_resetDrawerTranslate:function(){this.$.scrim.st yle.opacity="",this.transform("",this.$.contentContainer)},_resetDrawerState:fun ction(){var t=this._drawerState;t===this._DRAWER_STATE.FLINGING&&(this._styleTra nsitionDuration(this.transitionDuration),this._styleTransitionTimingFunction("") ,this.style.visibility=""),this.opened?this._drawerState=this.persistent?this._D RAWER_STATE.OPENED_PERSISTENT:this._DRAWER_STATE.OPENED:this._drawerState=this._ DRAWER_STATE.CLOSED,t!==this._drawerState&&(this._drawerState===this._DRAWER_STA TE.OPENED?(this._setKeyboardFocusTrap(),document.addEventListener("keydown",this ._boundEscKeydownHandler),document.body.style.overflow="hidden"):(document.remov eEventListener("keydown",this._boundEscKeydownHandler),document.body.style.overf low=""),t!==this._DRAWER_STATE.INIT&&this.fire("app-drawer-transitioned"))},_set KeyboardFocusTrap:function(){if(!this.noFocusTrap){var t=['a[href]:not([tabindex ="-1"])','area[href]:not([tabindex="-1"])','input:not([disabled]):not([tabindex= "-1"])','select:not([disabled]):not([tabindex="-1"])','textarea:not([disabled]): not([tabindex="-1"])','button:not([disabled]):not([tabindex="-1"])','iframe:not( [tabindex="-1"])','[tabindex]:not([tabindex="-1"])','[contentEditable=true]:not( [tabindex="-1"])'].join(","),i=Polymer.dom(this).querySelectorAll(t);i.length>0? (this._firstTabStop=i[0],this._lastTabStop=i[i.length-1]):(this._firstTabStop=nu ll,this._lastTabStop=null);var e=this.getAttribute("tabindex");e&&parseInt(e,10) >-1?this.focus():this._firstTabStop&&this._firstTabStop.focus()}},_tabKeydownHan dler:function(t){if(!this.noFocusTrap){var i=9;this._drawerState===this._DRAWER_ STATE.OPENED&&t.keyCode===i&&(t.shiftKey?this._firstTabStop&&Polymer.dom(t).loca lTarget===this._firstTabStop&&(t.preventDefault(),this._lastTabStop.focus()):thi s._lastTabStop&&Polymer.dom(t).localTarget===this._lastTabStop&&(t.preventDefaul t(),this._firstTabStop.focus()))}},_openedPersistentChanged:function(){this.debo unce("_resetDrawerState",this._resetDrawerState,this.transitionDuration)},_MIN_F LING_THRESHOLD:.2,_MIN_TRANSITION_VELOCITY:1.2,_FLING_TIMING_FUNCTION:"cubic-bez ier(0.667, 1, 0.667, 1)",_FLING_INITIAL_SLOPE:1.5,_DRAWER_STATE:{INIT:0,OPENED:1 ,OPENED_PERSISTENT:2,CLOSED:3,TRACKING:4,FLINGING:5}})</script> </dom-module> <s cript>Polymer({is:"iron-media-query",properties:{queryMatches:{type:Boolean,valu e:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{ty pe:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler. bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",thi s.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&& this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._m q.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){th is._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq= window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:func tion(e){this._setQueryMatches(e.matches)}})</script><script>Polymer.IronResizabl eBehavior={properties:{_parentResizable:{type:Object,observer:"_parentResizableC hanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request- resize-notifications":"_onIronRequestResizeNotifications"},created:function(){th is._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this) },attached:function(){this.fire("iron-request-resize-notifications",null,{node:t his,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener(" resize",this._boundNotifyResize),this.notifyResize())},detached:function(){this. _parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.r emoveEventListener("resize",this._boundNotifyResize),this._parentResizable=null} ,notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(fu nction(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fi reResize())},assignParentResizable:function(e){this._parentResizable=e},stopResi zeNotificationsFor:function(e){var i=this._interestedResizables.indexOf(e);i>-1& &(this._interestedResizables.splice(i,1),this.unlisten(e,"iron-resize","_onDesce ndantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronR esize:function(e){return this._notifyingDescendant?void e.stopPropagation():void (Polymer.Settings.useShadow||this._fireResize())},_fireResize:function(){this.fi re("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications :function(e){var i=e.path?e.path[0]:e.target;i!==this&&(this._interestedResizabl es.indexOf(i)===-1&&(this._interestedResizables.push(i),this.listen(i,"iron-resi ze","_onDescendantIronResize")),i.assignParentResizable(this),this._notifyDescen dant(i),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.remo veEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e) {this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifying Descendant=!1)}}</script><dom-module id="app-drawer-layout" assetpath="/res/imp/ bower_components/app-layout/app-drawer-layout/"> <template> <style>:host{display :block}:host([fullbleed]){@apply(--layout-fit);}#contentContainer{position:relat ive;height:100%;transition:var(--app-drawer-layout-content-transition,none)}#con tentContainer:not(.narrow)>::content [drawer-toggle]{display:none}</style> <div id="contentContainer"> <content select=":not(app-drawer)"></content> </div> <con tent id="drawerContent" select="app-drawer"></content> <iron-media-query query=" [[_computeMediaQuery(forceNarrow, responsiveWidth)]]" on-query-matches-changed=" _onQueryMatchesChanged"></iron-media-query> </template> <script>Polymer({is:"app -drawer-layout",behaviors:[Polymer.IronResizableBehavior],properties:{forceNarro w:{type:Boolean,value:!1},responsiveWidth:{type:String,value:"640px"},narrow:{ty pe:Boolean,readOnly:!0,notify:!0},openedWhenNarrow:{type:Boolean,value:!1}},list eners:{tap:"_tapHandler","app-drawer-attached":"_resetDrawerState","app-drawer-r eset-layout":"resetLayout","iron-resize":"resetLayout"},observers:["resetLayout( narrow, isAttached)","_narrowChanged(narrow, isAttached)"],get drawer(){return P olymer.dom(this.$.drawerContent).getDistributedNodes()[0]},_tapHandler:function( e){var t=Polymer.dom(e).localTarget;if(t&&t.hasAttribute("drawer-toggle")){var r =this.drawer;r&&!r.persistent&&r.toggle()}},resetLayout:function(){this.debounce ("_resetLayout",function(){var e=this.drawer,t=this.$.contentContainer;if(this.n arrow||!e)t.style.marginLeft="",t.style.marginRight="";else{var r=e.getWidth();" right"==e.position?(t.style.marginLeft="",t.style.marginRight=r+"px"):(t.style.m arginLeft=r+"px",t.style.marginRight="")}})},_resetDrawerState:function(){this.d ebounce("_resetDrawerState",function(){var e=this.drawer;e&&(this.narrow?(e.open ed=this.openedWhenNarrow,e.persistent=!1):e.opened=e.persistent=!0)})},_narrowCh anged:function(e){this.toggleClass("narrow",e,this.$.contentContainer),this._res etDrawerState(),this.notifyResize()},_onQueryMatchesChanged:function(e){this._se tNarrow(e.detail.value)},_computeMediaQuery:function(e,t){return e?"(min-width: 0px)":"(max-width: "+t+")"}})</script> </dom-module> <dom-module id="app-grid-st yle" assetpath="/res/imp/bower_components/app-layout/app-grid/"> <template> <sty le>:host,:host ::content{--app-grid-expandible-item:{-webkit-flex-basis:calc((10 0% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-expandible-item-columns,1 ) - var(--app-grid-gutter,0px))!important;flex-basis:calc((100% - .1px)/ var(--a pp-grid-columns,1) * var(--app-grid-expandible-item-columns,1) - var(--app-grid- gutter,0px))!important;max-width:calc((100% - .1px)/ var(--app-grid-columns,1) * var(--app-grid-expandible-item-columns,1) - var(--app-grid-gutter,0px))!importa nt};}.app-grid,:host ::content .app-grid{display:-ms-flexbox;display:-webkit-fle x;display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction: row;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding-top:var(--a pp-grid-gutter,0);padding-left:var(--app-grid-gutter,0);box-sizing:border-box}.a pp-grid>*,:host ::content .app-grid>*{-ms-flex:1 1 100%;-webkit-flex:1;flex:1;-w ebkit-flex-basis:calc((100% - .1px - (var(--app-grid-gutter,0px) * var(--app-gri d-columns,1)))/ var(--app-grid-columns,1));flex-basis:calc((100% - .1px - (var(- -app-grid-gutter,0px) * var(--app-grid-columns,1)))/ var(--app-grid-columns,1)); max-width:calc((100% - .1px - (var(--app-grid-gutter,0px) * var(--app-grid-colum ns,1)))/ var(--app-grid-columns,1));margin-bottom:var(--app-grid-gutter,0);margi n-right:var(--app-grid-gutter,0);height:var(--app-grid-item-height);box-sizing:b order-box}.app-grid[has-aspect-ratio]>*,:host ::content .app-grid[has-aspect-rat io]>*{position:relative}.app-grid[has-aspect-ratio]>::before,:host ::content .ap p-grid[has-aspect-ratio]>::before{display:block;content:"";padding-top:var(--app -grid-item-height,100%)}.app-grid[has-aspect-ratio]>*>*,:host ::content .app-gri d[has-aspect-ratio]>*>*{position:absolute;top:0;right:0;bottom:0;left:0}</style> </template> </dom-module> <script>Polymer.IronScrollTargetBehavior={properties: {scrollTarget:{type:Object,value:function(){return this._defaultScrollTarget}}}, observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener :!0,_scrollTargetChanged:function(t,l){this._oldScrollTarget&&(this._toggleScrol lListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),l&&("document"== =t?this.scrollTarget=this._doc:"string"==typeof t?this.scrollTarget=this.domHost ?this.domHost.$[t]:Polymer.dom(this.ownerDocument).querySelector("#"+t):this._is ValidScrollTarget()&&(this._boundScrollHandler=this._boundScrollHandler||this._s crollHandler.bind(this),this._oldScrollTarget=t,this._toggleScrollListener(this. _shouldHaveListener,t)))},_scrollHandler:function(){},get _defaultScrollTarget() {return this._doc},get _doc(){return this.ownerDocument.documentElement},get _sc rollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?windo w.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isVa lidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTa rget.scrollLeft:0},set _scrollTop(t){this.scrollTarget===this._doc?window.scroll To(window.pageXOffset,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollT op=t)},set _scrollLeft(t){this.scrollTarget===this._doc?window.scrollTo(t,window .pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=t)},scr oll:function(t,l){this.scrollTarget===this._doc?window.scrollTo(t,l):this._isVal idScrollTarget()&&(this.scrollTarget.scrollLeft=t,this.scrollTarget.scrollTop=l) },get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget= ==this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTarget Height(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window .innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){r eturn this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(t ,l){if(this._boundScrollHandler){var e=l===this._doc?window:l;t?e.addEventListen er("scroll",this._boundScrollHandler):e.removeEventListener("scroll",this._bound ScrollHandler)}},toggleScrollListener:function(t){this._shouldHaveListener=t,thi s._toggleScrollListener(t,this.scrollTarget)}}</script><script>Polymer.AppScroll EffectsBehavior=[Polymer.IronScrollTargetBehavior,{properties:{effects:{type:Str ing},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boole an,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTrig gered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_e ffectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function( ){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effects RunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollT op)},detached:function(){this._tearDownEffects()},createEffect:function(t,e){var n=Polymer.AppLayout._scrollEffects[t];if(!n)throw new ReferenceError(this._getU ndefinedMsg(t));var f=this._boundEffect(n,e||{});return f.setUp(),f},_effectsCha nged:function(t,e,n){this._tearDownEffects(),""!==t&&n&&(t.split(" ").forEach(fu nction(t){var n;""!==t&&((n=Polymer.AppLayout._scrollEffects[t])?this._effects.p ush(this._boundEffect(n,e[t])):console.warn(this._getUndefinedMsg(t)))},this),th is._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEff ect:function(t,e){e=e||{};var n=parseFloat(e.startsAt||0),f=parseFloat(e.endsAt| |1),s=f-n,r=function(){},o=0===n&&1===f?t.run:function(e,f){t.run.call(this,Math .max(0,(e-n)/s),f)};return{setUp:t.setUp?t.setUp.bind(this,e):r,run:t.run?o.bind (this):r,tearDown:t.tearDown?t.tearDown.bind(this):r}},_setUpEffect:function(){t his.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(func tion(t){t.setUp()!==!1&&this._effectsRunFn.push(t.run)},this))},_tearDownEffects :function(){this._effects&&this._effects.forEach(function(t){t.tearDown()}),this ._effectsRunFn=[],this._effects=[]},_runEffects:function(t,e){this._effectsRunFn &&this._effectsRunFn.forEach(function(n){n(t,e)})},_scrollHandler:function(){if( !this.disabled){var t=this._clampedScrollTop;this._updateScrollState(t),this.thr eshold>0&&this._setThresholdTriggered(t>=this.threshold)}},_getDOMRef:function(t ){console.warn("_getDOMRef","`"+t+"` is undefined")},_getUndefinedMsg:function(t ){return"Scroll effect `"+t+"` is undefined. Did you forget to import app-layout /app-scroll-effects/effects/"+t+".html ?"}}]</script><dom-module id="app-header" assetpath="/res/imp/bower_components/app-layout/app-header/"> <template> <style >:host{position:relative;display:block;transition-timing-function:linear;transit ion-property:-webkit-transform;transition-property:transform}:host::before{posit ion:absolute;right:0;bottom:-5px;left:0;width:100%;height:5px;content:"";transit ion:opacity .4s;pointer-events:none;opacity:0;box-shadow:inset 0 5px 6px -3px rg ba(0,0,0,.4);will-change:opacity;@apply(--app-header-shadow);}:host([shadow])::b efore{opacity:1}::content [condensed-title],::content [main-title]{-webkit-trans form-origin:left top;transform-origin:left top;white-space:nowrap}::content [con densed-title]{opacity:0}#background{@apply(--layout-fit);overflow:hidden}#backgr oundFrontLayer,#backgroundRearLayer{@apply(--layout-fit);height:100%;pointer-eve nts:none;background-size:cover}#backgroundFrontLayer{@apply(--app-header-backgro und-front-layer);}#backgroundRearLayer{opacity:0;@apply(--app-header-background- rear-layer);}#contentContainer{position:relative;width:100%;height:100%}:host([d isabled]),:host([disabled]) #backgroundFrontLayer,:host([disabled]) #backgroundR earLayer,:host([disabled]) ::content>[sticky],:host([disabled]) ::content>app-to olbar:first-of-type,:host([disabled])::after,:host-context(.app-layout-silent-sc roll),:host-context(.app-layout-silent-scroll) #backgroundFrontLayer,:host-conte xt(.app-layout-silent-scroll) #backgroundRearLayer,:host-context(.app-layout-sil ent-scroll) ::content>[sticky],:host-context(.app-layout-silent-scroll) ::conten t>app-toolbar:first-of-type,:host-context(.app-layout-silent-scroll)::after{tran sition:none!important}</style> <div id="contentContainer"> <content id="content" ></content> </div> </template> <script>Polymer({is:"app-header",behaviors:[Polym er.AppScrollEffectsBehavior,Polymer.IronResizableBehavior],properties:{condenses :{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,val ue:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["resetLa yout(isAttached, condenses, fixed)"],listeners:{"iron-resize":"_resizeHandler"}, _height:0,_dHeight:0,_stickyElTop:0,_stickyEl:null,_top:0,_progress:0,_wasScroll ingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,g et _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},_getStickyEl: function(){for(var t,e=Polymer.dom(this.$.content).getDistributedNodes(),i=0;i<e .length;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var s=e[i];if(s.hasAttribute(" sticky")){t=s;break}t||(t=s)}return t},resetLayout:function(){this.debounce("_re setLayout",function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var t=this ._clampedScrollTop,e=0===this._height||0===t,i=this.disabled;this._height=this.o ffsetHeight,this._stickyEl=this._getStickyEl(),this.disabled=!0,e||this._updateS crollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this. _stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._ stickyEl.offsetTop:0,this._setUpEffect(),e?this._updateScrollState(t,!0):(this._ updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=i ,this.fire("app-header-reset-layout")}})},_updateScrollState:function(t,e){if(0! ==this._height){var i=0,s=0,o=this._top,r=(this._lastScrollTop,this._maxHeaderTo p),h=t-this._lastScrollTop,n=Math.abs(h),a=t>this._lastScrollTop,l=performance.n ow();if(this._mayMove()&&(s=this._clamp(this.reveals?o+h:t,0,r)),t>=this._dHeigh t&&(s=this.condenses&&!this.fixed?Math.max(this._dHeight,s):s,this.style.transit ionDuration="0ms"),this.reveals&&!this.disabled&&n<100&&((l-this._initTimestamp> 300||this._wasScrollingDown!==a)&&(this._initScrollTop=t,this._initTimestamp=l), t>=r))if(Math.abs(this._initScrollTop-t)>30||n>10){a&&t>=r?s=r:!a&&t>=this._dHei ght&&(s=this.condenses&&!this.fixed?this._dHeight:0);var _=h/(l-this._lastTimest amp);this.style.transitionDuration=this._clamp((s-o)/_,0,300)+"ms"}else s=this._ top;i=0===this._dHeight?t>0?1:0:s/this._dHeight,e||(this._lastScrollTop=t,this._ top=s,this._wasScrollingDown=a,this._lastTimestamp=l),(e||i!==this._progress||o! ==s||0===t)&&(this._progress=i,this._runEffects(i,s),this._transformHeader(s))}} ,_mayMove:function(){return this.condenses||!this.fixed},willCondense:function() {return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._ height&&this._top<this._height},isContentBelow:function(){return 0===this._top?t his._clampedScrollTop>0:this._clampedScrollTop-this._maxHeaderTop>=0},_transform Header:function(t){this.translate3d(0,-t+"px",0),this._stickyEl&&this.translate3 d(0,this.condenses&&t>=this._stickyElTop?Math.min(t,this._dHeight)-this._stickyE lTop+"px":0,0,this._stickyEl)},_resizeHandler:function(){this.resetLayout()},_cl amp:function(t,e,i){return Math.min(i,Math.max(e,t))},_ensureBgContainers:functi on(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._b gContainer.id="background",this._bgRear=document.createElement("div"),this._bgRe ar.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bg Front=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this ._bgContainer.appendChild(this._bgFront),Polymer.dom(this.root).insertBefore(thi s._bgContainer,this.$.contentContainer))},_getDOMRef:function(t){switch(t){case" backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backg roundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background": return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Polym er.dom(this).querySelector("[main-title]");case"condensedTitle":return Polymer.d om(this).querySelector("[condensed-title]")}return null},getScrollState:function (){return{progress:this._progress,top:this._top}}})</script> </dom-module> <dom- module id="app-header-layout" assetpath="/res/imp/bower_components/app-layout/ap p-header-layout/"> <template> <style>:host{display:block;position:relative;z-ind ex:0}:host>::content>app-header{@apply(--layout-fixed-top);z-index:1}:host([has- scrolling-region]){height:100%}:host([has-scrolling-region])>::content>app-heade r{position:absolute}:host([has-scrolling-region])>#contentContainer{@apply(--lay out-fit);overflow-y:auto;-webkit-overflow-scrolling:touch}:host([fullbleed]){@ap ply(--layout-vertical);@apply(--layout-fit);}:host([fullbleed])>#contentContaine r{@apply(--layout-vertical);@apply(--layout-flex);}#contentContainer{position:re lative;z-index:0}</style> <content id="header" select="app-header"></content> <d iv id="contentContainer"> <content></content> </div> </template> <script>Polymer ({is:"app-header-layout",behaviors:[Polymer.IronResizableBehavior],properties:{h asScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},listeners:{"iro n-resize":"_resizeHandler","app-header-reset-layout":"_resetLayoutHandler"},obse rvers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Polyme r.dom(this.$.header).getDistributedNodes()[0]},resetLayout:function(){this._upda teScroller(),this.debounce("_resetLayout",this._updateContentPosition)},_updateC ontentPosition:function(){var e=this.header;if(this.isAttached&&e){var t=e.offse tHeight;if(this.hasScrollingRegion)e.style.left="",e.style.right="";else{var i=t his.getBoundingClientRect(),o=document.documentElement.clientWidth-i.right;e.sty le.left=i.left+"px",e.style.right=o+"px"}var n=this.$.contentContainer.style;e.f ixed&&!e.willCondense()&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTo p=""):(n.paddingTop=t+"px",n.marginTop="")}},_updateScroller:function(){if(this. isAttached){var e=this.header;e&&(e.scrollTarget=this.hasScrollingRegion?this.$. contentContainer:this.ownerDocument.documentElement)}},_resizeHandler:function() {this.resetLayout()},_resetLayoutHandler:function(e){this.resetLayout(),e.stopPr opagation()}})</script> </dom-module> <dom-module id="app-scrollpos-control" ass etpath="/res/imp/bower_components/app-layout/app-scrollpos-control/"> <script>Po lymer({is:"app-scrollpos-control",behaviors:[Polymer.IronScrollTargetBehavior],p roperties:{selected:{type:String,observer:"_selectedChanged"},reset:{type:Boolea n,value:!1}},observers:["_updateScrollPos(selected, reset)"],created:function(){ this._scrollposMap={}},_selectedChanged:function(e,s){null!=s&&(this._scrollposM ap[s]={x:this._scrollLeft,y:this._scrollTop})},_updateScrollPos:function(e,s){th is.debounce("_updateScrollPos",function(){var e=this._scrollposMap[this.selected ];null==e||this.reset?this.scroll(0,0):this.scroll(e.x,e.y)})}})</script> </dom- module> <dom-module id="app-toolbar" assetpath="/res/imp/bower_components/app-la yout/app-toolbar/"> <template> <style>:host{@apply(--layout-horizontal);@apply(- -layout-center);position:relative;height:64px;padding:0 16px;pointer-events:none ;font-size:var(--app-toolbar-font-size,20px)}::content>*{pointer-events:auto}::c ontent>paper-icon-button{font-size:0}::content>[condensed-title],::content>[main -title]{pointer-events:none;@apply(--layout-flex);}::content>[bottom-item]{posit ion:absolute;right:0;bottom:0;left:0}::content>[top-item]{position:absolute;top: 0;right:0;left:0}::content>[spacer]{margin-left:64px}</style> <content></content > </template> <script>Polymer({is:"app-toolbar"})</script> </dom-module> <dom-mo dule id="app-box" assetpath="/res/imp/bower_components/app-layout/app-box/"> <te mplate> <style>:host{position:relative;display:block}#background{@apply(--layout -fit);overflow:hidden;height:100%}#backgroundFrontLayer{min-height:100%;pointer- events:none;background-size:cover;@apply(--app-box-background-front-layer);}#con tentContainer{position:relative;width:100%;height:100%}:host([disabled]),:host([ disabled]) #backgroundFrontLayer{transition:none!important}</style> <div id="bac kground"> <div id="backgroundFrontLayer"> <content select="[background]"></conte nt> </div> </div> <div id="contentContainer"> <content id="content"></content> < /div> </template> <script>Polymer({is:"app-box",behaviors:[Polymer.AppScrollEffe ctsBehavior,Polymer.IronResizableBehavior],listeners:{"iron-resize":"_resizeHand ler"},_progress:0,attached:function(){this.resetLayout()},resetLayout:function() {this.debounce("_resetLayout",function(){if(0!==this.offsetWidth||0!==this.offse tHeight){var e=this._clampedScrollTop,t=this.disabled;this.disabled=!0,this._ele mentTop=this._getElementTop(),this._elementHeight=this.offsetHeight,this._cached ScrollTargetHeight=this._scrollTargetHeight,this._setUpEffect(),this._updateScro llState(e),this.disabled=t}},1)},_getElementTop:function(){for(var e=this,t=0;e& &e!==this.scrollTarget;)t+=e.offsetTop,e=e.offsetParent;return t},_updateScrollS tate:function(e){if(this.isOnScreen()){var t=this._elementTop-e;this._progress=1 -(t+this._elementHeight)/this._cachedScrollTargetHeight,this._runEffects(this._p rogress,e)}},isOnScreen:function(){return this._elementTop<this._scrollTop+this. _cachedScrollTargetHeight&&this._elementTop+this._elementHeight>this._scrollTop} ,_resizeHandler:function(){this.resetLayout()},_getDOMRef:function(e){return"bac kground"===e?this.$.background:"backgroundFrontLayer"===e?this.$.backgroundFront Layer:void 0},getScrollState:function(){return{progress:this._progress}}})</scri pt> </dom-module> <dom-module id="iron-flex" assetpath="/res/imp/bower_component s/iron-flex-layout/"> <template> <style>.layout.horizontal,.layout.vertical{disp lay:-ms-flexbox;display:-webkit-flex;display:flex}.layout.inline{display:-ms-inl ine-flexbox;display:-webkit-inline-flex;display:inline-flex}.layout.horizontal{- ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.layout.vert ical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:colu mn}.layout.wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.layout .no-wrap{-ms-flex-wrap:nowrap;-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.layout. center,.layout.center-center{-ms-flex-align:center;-webkit-align-items:center;al ign-items:center}.layout.center-center,.layout.center-justified{-ms-flex-pack:ce nter;-webkit-justify-content:center;justify-content:center}.flex{-ms-flex:1 1 0p x;-webkit-flex:1;flex:1;-webkit-flex-basis:0px;flex-basis:0px}.flex-auto{-ms-fle x:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto}.flex-none{-ms-flex:none;-webkit- flex:none;flex:none}</style> </template> </dom-module> <dom-module id="iron-flex -reverse" assetpath="/res/imp/bower_components/iron-flex-layout/"> <template> <s tyle>.layout.horizontal-reverse,.layout.vertical-reverse{display:-ms-flexbox;dis play:-webkit-flex;display:flex}.layout.horizontal-reverse{-ms-flex-direction:row -reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.layout.v ertical-reverse{-ms-flex-direction:column-reverse;-webkit-flex-direction:column- reverse;flex-direction:column-reverse}.layout.wrap-reverse{-ms-flex-wrap:wrap-re verse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse}</style> </template> </dom-module> <dom-module id="iron-flex-alignment" assetpath="/res/imp/bower_co mponents/iron-flex-layout/"> <template> <style>.layout.start{-ms-flex-align:star t;-webkit-align-items:flex-start;align-items:flex-start}.layout.center,.layout.c enter-center{-ms-flex-align:center;-webkit-align-items:center;align-items:center }.layout.end{-ms-flex-align:end;-webkit-align-items:flex-end;align-items:flex-en d}.layout.baseline{-ms-flex-align:baseline;-webkit-align-items:baseline;align-it ems:baseline}.layout.start-justified{-ms-flex-pack:start;-webkit-justify-content :flex-start;justify-content:flex-start}.layout.center-center,.layout.center-just ified{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center }.layout.end-justified{-ms-flex-pack:end;-webkit-justify-content:flex-end;justif y-content:flex-end}.layout.around-justified{-ms-flex-pack:distribute;-webkit-jus tify-content:space-around;justify-content:space-around}.layout.justified{-ms-fle x-pack:justify;-webkit-justify-content:space-between;justify-content:space-betwe en}.self-start{-ms-align-self:flex-start;-webkit-align-self:flex-start;align-sel f:flex-start}.self-center{-ms-align-self:center;-webkit-align-self:center;align- self:center}.self-end{-ms-align-self:flex-end;-webkit-align-self:flex-end;align- self:flex-end}.self-stretch{-ms-align-self:stretch;-webkit-align-self:stretch;al ign-self:stretch}.self-baseline{-ms-align-self:baseline;-webkit-align-self:basel ine;align-self:baseline}.layout.start-aligned{-ms-flex-line-pack:start;-ms-align -content:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.l ayout.end-aligned{-ms-flex-line-pack:end;-ms-align-content:flex-end;-webkit-alig n-content:flex-end;align-content:flex-end}.layout.center-aligned{-ms-flex-line-p ack:center;-ms-align-content:center;-webkit-align-content:center;align-content:c enter}.layout.between-aligned{-ms-flex-line-pack:justify;-ms-align-content:space -between;-webkit-align-content:space-between;align-content:space-between}.layout .around-aligned{-ms-flex-line-pack:distribute;-ms-align-content:space-around;-we bkit-align-content:space-around;align-content:space-around}</style> </template> </dom-module> <dom-module id="iron-flex-factors" assetpath="/res/imp/bower_compo nents/iron-flex-layout/"> <template> <style>.flex,.flex-1{-ms-flex:1 1 0px;-webk it-flex:1;flex:1;-webkit-flex-basis:0px;flex-basis:0px}.flex-2{-ms-flex:2;-webki t-flex:2;flex:2}.flex-3{-ms-flex:3;-webkit-flex:3;flex:3}.flex-4{-ms-flex:4;-web kit-flex:4;flex:4}.flex-5{-ms-flex:5;-webkit-flex:5;flex:5}.flex-6{-ms-flex:6;-w ebkit-flex:6;flex:6}.flex-7{-ms-flex:7;-webkit-flex:7;flex:7}.flex-8{-ms-flex:8; -webkit-flex:8;flex:8}.flex-9{-ms-flex:9;-webkit-flex:9;flex:9}.flex-10{-ms-flex :10;-webkit-flex:10;flex:10}.flex-11{-ms-flex:11;-webkit-flex:11;flex:11}.flex-1 2{-ms-flex:12;-webkit-flex:12;flex:12}</style> </template> </dom-module> <dom-mo dule id="iron-positioning" assetpath="/res/imp/bower_components/iron-flex-layout /"> <template> <style>.block{display:block}[hidden]{display:none!important}.invi sible{visibility:hidden!important}.relative{position:relative}.fit{position:abso lute;top:0;right:0;bottom:0;left:0}body.fullbleed{margin:0;height:100vh}.scroll{ -webkit-overflow-scrolling:touch;overflow:auto}.fixed-bottom,.fixed-left,.fixed- right,.fixed-top{position:fixed}.fixed-top{top:0;left:0;right:0}.fixed-right{top :0;right:0;bottom:0}.fixed-bottom{right:0;bottom:0;left:0}.fixed-left{top:0;bott om:0;left:0}</style> </template> </dom-module> <script>!function(){var e={},t={} ,i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{type:String,v alue:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged"} ,value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:Boolean,obser ver:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hidden:!0},fact oryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":case"valu e":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyC hanged:function(e,t){this._resetRegistration(t)},_valueChanged:function(e){this. _resetRegistration(this.key)},_selfChanged:function(e){e&&(this.value=this)},_ty peChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={}),this._metaDa ta=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.key,this.valu e)},byKey:function(e){return this._metaData&&this._metaData[e]},_resetRegistrati on:function(e){this._unregisterKey(e),this._registerKeyValue(this.key,this.value )},_unregisterKey:function(e){this._unregister(e,this._metaData,this.list)},_reg isterKeyValue:function(e,t){this._register(e,t,this._metaData,this.list)},_regis ter:function(e,t,i,a){e&&i&&void 0!==t&&(i[e]=t,a.push(t))},_unregister:function (e,t,i){if(e&&t&&e in t){var a=t[e];delete t[e],this.arrayDelete(i,a)}}}),Polyme r.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.IronMeta),i},P olymer.IronMetaQuery=Polymer({is:"iron-meta-query",properties:{type:{type:String ,value:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged "},value:{type:Object,notify:!0,readOnly:!0},list:{type:Array,notify:!0}},factor yImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":this[t]=e[t ]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyChanged:functio n(e){this._setValue(this._metaData&&this._metaData[e])},_typeChanged:function(i) {this._metaData=e[i],this.list=t[i],this.key&&this._keyChanged(this.key)},byKey: function(e){return this._metaData&&this._metaData[e]}})}()</script><dom-module i d="iron-icon" assetpath="/res/imp/bower_components/iron-icon/"> <template> <styl e>:host{@apply(--layout-inline);@apply(--layout-center-center);position:relative ;vertical-align:middle;fill:var(--iron-icon-fill-color,currentcolor);stroke:var( --iron-icon-stroke-color,none);width:var(--iron-icon-width,24px);height:var(--ir on-icon-height,24px);@apply(--iron-icon);}</style> </template> <script>Polymer({ is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:Stri ng},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"})}},observers:[ "_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(s rc, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_ico nChanged:function(t){var i=(t||"").split(":");this._iconName=i.pop(),this._icons etName=i.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(t ){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_upda teIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Polymer. dom(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._i conset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta .byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._icon Name,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this. listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconse t.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img .style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._ img.src=this.src,Polymer.dom(this.root).appendChild(this._img))}})</script> </do m-module> <script>Polymer({is:"iron-iconset-svg",properties:{name:{type:String,o bserver:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,v alue:!1}},attached:function(){this.style.display="none"},getIconNames:function() {return this._icons=this._createIconMap(),Object.keys(this._icons).map(function( e){return this.name+":"+e},this)},applyIcon:function(e,t){e=e.root||e,this.remov eIcon(e);var n=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(n){ var r=Polymer.dom(e);return r.insertBefore(n,r.childNodes[0]),e._svgIcon=n}retur n null},removeIcon:function(e){e=e.root||e,e._svgIcon&&(Polymer.dom(e).removeChi ld(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__ta rgetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&& "rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:f unction(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.a sync(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIco nMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelector All("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return t his._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[ e],this.size,t)},_prepareSvgClone:function(e,t,n){if(e){var r=e.cloneNode(!0),i= document.createElementNS("http://www.w3.org/2000/svg","svg"),o=r.getAttribute("v iewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; h eight: 100%;";return n&&r.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform: scale(-1,1);transform:scale(-1,1);"),i.setAttribute("viewBox",o),i.setAttribute( "preserveAspectRatio","xMidYMid meet"),i.style.cssText=s,i.appendChild(r).remove Attribute("id"),i}return null}})</script><iron-iconset-svg name="icons" size="24 "> <svg><defs> <g id="3d-rotation"><path d="M7.52 21.48C4.25 19.94 1.91 16.76 1. 55 13H.05C.56 19.16 5.71 24 12 24l.66-.03-3.81-3.81-1.33 1.32zm.89-6.52c-.19 0-. 37-.03-.52-.08-.16-.06-.29-.13-.4-.24-.11-.1-.2-.22-.26-.37-.06-.14-.09-.3-.09-. 47h-1.3c0 .36.07.68.21.95.14.27.33.5.56.69.24.18.51.32.82.41.3.1.62.15.96.15.37 0 .72-.05 1.03-.15.32-.1.6-.25.83-.44s.42-.43.55-.72c.13-.29.2-.61.2-.97 0-.19-. 02-.38-.07-.56-.05-.18-.12-.35-.23-.51-.1-.16-.24-.3-.4-.43-.17-.13-.37-.23-.61- .31.2-.09.37-.2.52-.33.15-.13.27-.27.37-.42.1-.15.17-.3.22-.46.05-.16.07-.32.07- .48 0-.36-.06-.68-.18-.96-.12-.28-.29-.51-.51-.69-.2-.19-.47-.33-.77-.43C9.1 8.0 5 8.76 8 8.39 8c-.36 0-.69.05-1 .16-.3.11-.57.26-.79.45-.21.19-.38.41-.51.67-.12 .26-.18.54-.18.85h1.3c0-.17.03-.32.09-.45s.14-.25.25-.34c.11-.09.23-.17.38-.22.1 5-.05.3-.08.48-.08.4 0 .7.1.89.31.19.2.29.49.29.86 0 .18-.03.34-.08.49-.05.15-.1 4.27-.25.37-.11.1-.25.18-.41.24-.16.06-.36.09-.58.09H7.5v1.03h.77c.22 0 .42.02.6 .07s.33.13.45.23c.12.11.22.24.29.4.07.16.1.35.1.57 0 .41-.12.72-.35.93-.23.23-.5 5.33-.95.33zm8.55-5.92c-.32-.33-.7-.59-1.14-.77-.43-.18-.92-.27-1.46-.27H12v8h2. 3c.55 0 1.06-.09 1.51-.27.45-.18.84-.43 1.16-.76.32-.33.57-.73.74-1.19.17-.47.26 -.99.26-1.57v-.4c0-.58-.09-1.1-.26-1.57-.18-.47-.43-.87-.75-1.2zm-.39 3.16c0 .42 -.05.79-.14 1.13-.1.33-.24.62-.43.85-.19.23-.43.41-.71.53-.29.12-.62.18-.99.18h- .91V9.12h.97c.72 0 1.27.23 1.64.69.38.46.57 1.12.57 1.99v.4zM12 0l-.66.03 3.81 3 .81 1.33-1.33c3.27 1.55 5.61 4.72 5.96 8.48h1.5C23.44 4.84 18.29 0 12 0z"></path ></g> <g id="accessibility"><path d="M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9- 2 2-2zm9 7h-6v13h-2v-6h-2v6H9V9H3V7h18v2z"></path></g> <g id="accessible"><circl e cx="12" cy="4" r="2"></circle><path d="M19 13v-2c-1.54.02-3.09-.75-4.07-1.83l- 1.29-1.43c-.17-.19-.38-.34-.61-.45-.01 0-.01-.01-.02-.01H13c-.35-.2-.75-.3-1.19- .26C10.76 7.11 10 8.04 10 9.09V15c0 1.1.9 2 2 2h5v5h2v-5.5c0-1.1-.9-2-2-2h-3v-3. 45c1.29 1.07 3.25 1.94 5 1.95zm-6.17 5c-.41 1.16-1.52 2-2.83 2-1.66 0-3-1.34-3-3 0-1.31.84-2.41 2-2.83V12.1c-2.28.46-4 2.48-4 4.9 0 2.76 2.24 5 5 5 2.42 0 4.44- 1.72 4.9-4h-2.07z"></path></g> <g id="account-balance"><path d="M4 10v7h3v-7H4zm 6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></pat h></g> <g id="account-balance-wallet"><path d="M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0 -2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1 .5-.67 1.5-1.5 1.5z"></path></g> <g id="account-box"><path d="M3 5v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.11 0-2 .9-2 2zm12 4c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3zm-9 8c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1H6v-1z"> </path></g> <g id="account-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34 -3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"></path></g> <g id="add"><path d="M19 13h-6v6h-2 v-6H5v-2h6V5h2v6h6v2z"></path></g> <g id="add-alert"><path d="M10.01 21.01c0 1.1 .89 1.99 1.99 1.99s1.99-.89 1.99-1.99h-3.98zm8.87-4.19V11c0-3.25-2.25-5.97-5.29- 6.69v-.72C13.59 2.71 12.88 2 12 2s-1.59.71-1.59 1.59v.72C7.37 5.03 5.12 7.75 5.1 2 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.0 1z"></path></g> <g id="add-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></pa th></g> <g id="add-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4. 48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"></path></g> <g id="add -circle-outline"><path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8- 8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="add-shopping-cart"><path d="M11 9h2 V6h3V4h-3V1h-2v3H8v2h3v3zm-4 9c-1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2- 2zm10 0c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2zm-9.83-3.25l.03-.12. 9-1.63h7.45c.75 0 1.41-.41 1.75-1.03l3.86-7.01L19.42 4h-.01l-1.1 2-2.76 5H8.53l- .13-.27L6.16 6l-.95-2-.94-2H1v2h2l3.6 7.59-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1 .9 2 2 2h12v-2H7.42c-.13 0-.25-.11-.25-.25z"></path></g> <g id="alarm"><path d=" M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1. 53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4. 02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.1 3 7 7-3.13 7-7 7z"></path></g> <g id="alarm-add"><path d="M7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM12 4c-4. 97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7- 7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm1-11h-2v3H8v2h3v3h2v-3h3v-2h-3V9z"></path></ g> <g id="alarm-off"><path d="M12 6c3.87 0 7 3.13 7 7 0 .84-.16 1.65-.43 2.4l1.5 2 1.52c.58-1.19.91-2.51.91-3.92 0-4.97-4.03-9-9-9-1.41 0-2.73.33-3.92.91L9.6 6.4 3C10.35 6.16 11.16 6 12 6zm10-.28l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM2.92 2.2 9L1.65 3.57 2.98 4.9l-1.11.93 1.42 1.42 1.11-.94.8.8C3.83 8.69 3 10.75 3 13c0 4. 97 4.02 9 9 9 2.25 0 4.31-.83 5.89-2.2l2.2 2.2 1.27-1.27L3.89 3.27l-.97-.98zm13. 55 16.1C15.26 19.39 13.7 20 12 20c-3.87 0-7-3.13-7-7 0-1.7.61-3.26 1.61-4.47l9.8 6 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g> <g id="alarm-o n"><path d="M22 5.72l-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39L6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s- 4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7zm-1.46-5.47 L8.41 12.4l-1.06 1.06 3.18 3.18 6-6-1.06-1.06-4.93 4.95z"></path></g> <g id="all -out"><path d="M16.21 4.16l4 4v-4zm4 12l-4 4h4zm-12 4l-4-4v4zm-4-12l4-4h-4zm12.9 5-.95c-2.73-2.73-7.17-2.73-9.9 0s-2.73 7.17 0 9.9 7.17 2.73 9.9 0 2.73-7.16 0-9. 9zm-1.1 8.8c-2.13 2.13-5.57 2.13-7.7 0s-2.13-5.57 0-7.7 5.57-2.13 7.7 0 2.13 5.5 7 0 7.7z"></path></g> <g id="android"><path d="M6 18c0 .55.45 1 1 1h1v3.5c0 .83. 67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h 1c.55 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17. 33 5 16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84l1.3-1.3c.2-.2.2-.51 0-. 71-.2-.2-.51-.2-.71 0l-1.48 1.48C13.85 1.23 12.95 1 12 1c-.96 0-1.86.23-2.66.63L 7.85.15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.31 1.31C6.97 3.26 6 5.01 6 7h12c0 -1.99-.97-3.75-2.47-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z"></path></g> <g id="announ cement"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1 -.9-2-2-2zm-7 9h-2V5h2v6zm0 4h-2v-2h2v2z"></path></g> <g id="apps"><path d="M4 8 h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4 h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z"></path></g> <g id="archive">< path d="M20.54 5.23l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.16.55L3 .46 5.23C3.17 5.57 3 6.02 3 6.5V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.48-.17 -.93-.46-1.27zM12 17.5L6.5 12H10v-2h4v2h3.5L12 17.5zM5.12 5l.81-1h12l.94 1H5.12z "></path></g> <g id="arrow-back"><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1. 41-1.41L7.83 13H20v-2z"></path></g> <g id="arrow-downward"><path d="M20 12l-1.41 -1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"></path></g> <g id="arrow-dro p-down"><path d="M7 10l5 5 5-5z"></path></g> <g id="arrow-drop-down-circle"><pat h d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 12l-4- 4h8l-4 4z"></path></g> <g id="arrow-drop-up"><path d="M7 14l5-5 5 5z"></path></g > <g id="arrow-forward"><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L 12 20l8-8z"></path></g> <g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20 h2V7.83l5.58 5.59L20 12l-8-8-8 8z"></path></g> <g id="aspect-ratio"><path d="M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c 1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g> <g id="as sessment"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c 0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z"></path></g> <g id= "assignment"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c- 1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm2 14H7v-2h7v2zm3-4H7v-2h10v2zm0-4H7V7h1 0v2z"></path></g> <g id="assignment-ind"><path d="M19 3h-4.18C14.4 1.84 13.3 1 1 2 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c 0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 4c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1.4c0-2 4-3.1 6-3.1s6 1.1 6 3.1V19z"></path></g> <g id="assignment-late"><path d="M19 3h-4.18C14.4 1.84 13 .3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-6 15h-2v-2h2v2zm0-4h-2V8h2v6zm-1-9c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"></path></g> <g id="assignment-return"><path d="M19 3h -4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1- 1 .45-1 1-1zm4 12h-4v3l-5-5 5-5v3h4v4z"></path></g> <g id="assignment-returned"> <path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm0 15l-5-5h3V9h4v4h3l-5 5z"></path></g> <g id="assign ment-turned-in"><path d="M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H 5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-2 14l-4-4 1.41-1.41L10 14.17l6.59-6 .59L18 9l-8 8z"></path></g> <g id="attachment"><path d="M2 12.5C2 9.46 4.46 7 7. 5 7H18c2.21 0 4 1.79 4 4s-1.79 4-4 4H9.5C8.12 15 7 13.88 7 12.5S8.12 10 9.5 10H1 7v2H9.41c-.55 0-.55 1 0 1H18c1.1 0 2-.9 2-2s-.9-2-2-2H7.5C5.57 9 4 10.57 4 12.5S 5.57 16 7.5 16H17v2H7.5C4.46 18 2 15.54 2 12.5z"></path></g> <g id="autorenew">< path d="M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c- .45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"> </path></g> <g id="backspace"><path d="M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 12.59L17.59 17 1 4 13.41 10.41 17 9 15.59 12.59 12 9 8.41 10.41 7 14 10.59 17.59 7 19 8.41 15.41 12 19 15.59z"></path></g> <g id="backup"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.7 6 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>< /g> <g id="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S 17.52 2 12 2zM4 12c0-4.42 3.58-8 8-8 1.85 0 3.55.63 4.9 1.69L5.69 16.9C4.63 15.5 5 4 13.85 4 12zm8 8c-1.85 0-3.55-.63-4.9-1.69L18.31 7.1C19.37 8.45 20 10.15 20 1 2c0 4.42-3.58 8-8 8z"></path></g> <g id="book"><path d="M18 2H6c-1.1 0-2 .9-2 2v 16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z">< /path></g> <g id="bookmark"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5 c0-1.1-.9-2-2-2z"></path></g> <g id="bookmark-border"><path d="M17 3H7c-1.1 0-1. 99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 18V5h10v13z"></path></ g> <g id="bug-report"><path d="M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5c-.49 0-.96.06-1.41.17L8.41 3 7 4.41l1 .62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .3 4.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-. 33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20V8zm-6 8h-4v-2h4v2zm0-4h-4v-2 h4v2z"></path></g> <g id="build"><path d="M22.7 19l-9.1-9.1c.9-2.3.4-5-1.5-6.9-2 -2-5-2.4-7.4-1.3L9 6 6 9 1.6 4.7C.4 7.1.9 10.1 2.9 12.1c1.9 1.9 4.6 2.4 6.9 1.5l 9.1 9.1c.4.4 1 .4 1.4 0l2.3-2.3c.5-.4.5-1.1.1-1.4z"></path></g> <g id="cached">< path d="M19 8l-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19 .54 10.43 20 12 20c4.42 0 8-3.58 8-8h3l-4-4zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97. 25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4H6z"></pa th></g> <g id="camera-enhance"><path d="M9 3L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2h-3.17L15 3H9zm3 15c-2.76 0-5-2.24-5-5s 2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-1l1.25-2.75L16 13l-2.75-1.25L12 9l-1.25 2.75 L8 13l2.75 1.25z"></path></g> <g id="cancel"><path d="M12 2C6.47 2 2 6.47 2 12s4 .47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15. 59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"></path></ g> <g id="card-giftcard"><path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3- 3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.8 9 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08 L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z"></path>< /g> <g id="card-membership"><path d="M20 2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h4v5l4-2 4 2v-5h4c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 13H4v-2h16v2zm0-5H4V4h 16v6z"></path></g> <g id="card-travel"><path d="M20 6h-3V4c0-1.11-.89-2-2-2H9c-1 .11 0-2 .89-2 2v2H4c-1.11 0-2 .89-2 2v11c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0 -1.11-.89-2-2-2zM9 4h6v2H9V4zm11 15H4v-2h16v2zm0-5H4V8h3v2h2V8h6v2h2V8h3v6z"></p ath></g> <g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 2 0h20L12 4z"></path></g> <g id="check"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"></path></g> <g id="check-box"><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L1 0 14.17l7.59-7.59L19 8l-9 9z"></path></g> <g id="check-box-outline-blank"><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0- 1.1-.9-2-2-2z"></path></g> <g id="check-circle"><path d="M12 2C6.48 2 2 6.48 2 1 2s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7 .59L19 8l-9 9z"></path></g> <g id="chevron-left"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path></g> <g id="chevron-right"><path d="M10 6L8.59 7 .41 13.17 12l-4.58 4.59L10 18l6-6z"></path></g> <g id="chrome-reader-mode"><path d="M13 12h7v1.5h-7zm0-2.5h7V11h-7zm0 5h7V16h-7zM21 4H3c-1.1 0-2 .9-2 2v13c0 1.1 .9 2 2 2h18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 15h-9V6h9v13z"></path></g> <g id= "class"><path d="M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0- 1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z"></path></g> <g id="clear"><path d="M19 6 .41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></g> <g id="close"><path d="M19 6.41L17.59 5 12 10.59 6 .41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></pa th></g> <g id="cloud"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5 .64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2. 64-2.05-4.78-4.65-4.96z"></path></g> <g id="cloud-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.5 14H8c-1.66 0-3-1.34-3- 3s1.34-3 3-3l.14.01C8.58 8.28 10.13 7 12 7c2.21 0 4 1.79 4 4h.5c1.38 0 2.5 1.12 2.5 2.5S17.88 16 16.5 16z"></path></g> <g id="cloud-done"><path d="M19.35 10.04C 18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM10 17l-3.5-3.5 1.41- 1.41L10 14.17 15.18 9l1.41 1.41L10 17z"></path></g> <g id="cloud-download"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 1 0.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-5 5-5-5h3V9h4v4h3z"></path></g> <g id="cloud-off"><path d="M19.35 10.04C18.6 7 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c 3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1 .45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73 4.27 4 3 5.27zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h1.73z"></path></g> <g id="cloud-queue"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10 .91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM19 1 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4h.71C7.37 7.69 9.48 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3s-1.34 3-3 3z"></path></g> <g id="cloud-upload"><path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 1 0.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path></g> <g id="code"><path d="M9.4 16.6L4.8 12l4.6 -4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path>< /g> <g id="compare-arrows"><path d="M9.01 14H2v2h7.01v3L13 15l-3.99-4v3zm5.98-1v -3H22V8h-7.01V5L11 9l3.99 4z"></path></g> <g id="content-copy"><path d="M16 1H4c -1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-. 9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path></g> <g id="content-cut"><path d ="M9.64 7.64c.23-.5.36-1.05.36-1.64 0-2.21-1.79-4-4-4S2 3.79 2 6s1.79 4 4 4c.59 0 1.14-.13 1.64-.36L10 12l-2.36 2.36C7.14 14.13 6.59 14 6 14c-2.21 0-4 1.79-4 4s 1.79 4 4 4 4-1.79 4-4c0-.59-.13-1.14-.36-1.64L12 14l7 7h3v-1L9.64 7.64zM6 8c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm0 12c-1.1 0-2-.89-2-2s.9-2 2-2 2 .89 2 2-.9 2-2 2zm6-7.5c-.28 0-.5-.22-.5-.5s.22-.5.5-.5.5.22.5.5-.22.5-.5.5zM19 3l-6 6 2 2 7-7V3z"></path></g> <g id="content-paste"><path d="M19 2h-4.18C14.4.84 13. 3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2 -2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5 V4h2v3h10V4h2v16z"></path></g> <g id="copyright"><path d="M10.08 10.86c.05-.33.1 6-.62.3-.87s.34-.46.59-.62c.24-.15.54-.22.91-.23.23.01.44.05.63.13.2.09.38.21.52 .36s.25.33.34.53.13.42.14.64h1.79c-.02-.47-.11-.9-.28-1.29s-.4-.73-.7-1.01-.66-. 5-1.08-.66-.88-.23-1.39-.23c-.65 0-1.22.11-1.7.34s-.88.53-1.2.92-.56.84-.71 1.36 S8 11.29 8 11.87v.27c0 .58.08 1.12.23 1.64s.39.97.71 1.35.72.69 1.2.91 1.05.34 1 .7.34c.47 0 .91-.08 1.32-.23s.77-.36 1.08-.63.56-.58.74-.94.29-.74.3-1.15h-1.79c -.01.21-.06.4-.15.58s-.21.33-.36.46-.32.23-.52.3c-.19.07-.39.09-.6.1-.36-.01-.66 -.08-.89-.23-.25-.16-.45-.37-.59-.62s-.25-.55-.3-.88-.08-.67-.08-1v-.27c0-.35.03 -.68.08-1.01zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm 0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="cr eate"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.3 9.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1 .83z"></path></g> <g id="create-new-folder"><path d="M20 6h-8l-2-2H4c-1.11 0-1.9 9.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-1 8h-3 v3h-2v-3h-3v-2h3V9h2v3h3v2z"></path></g> <g id="credit-card"><path d="M20 4H4c-1 .11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V6c0-1.11-.89-2-2-2 zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g> <g id="dashboard"><path d="M3 13h8 V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"></path></g> <g id="date- range"><path d="M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H 6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2 -2zm0 16H5V9h14v11z"></path></g> <g id="delete"><path d="M6 19c0 1.1.9 2 2 2h8c1 .1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"></path></g> <g id="delet e-forever"><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41- 1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2. 12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"></path></g> <g id="delete-sweep"><path d="M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3v10zM14 5h-3l-1-1H6L5 5H2v2h12z"></path></g> <g id="des cription"><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"></path></g> < g id="dns"><path d="M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1- 1v-6c0-.55-.45-1-1-1zM7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-. 55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0 -2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path></g> <g id="done"><path d="M9 16.2 L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"></path></g> <g id="done-all"><path d="M18 7l-1.41-1.41-6.34 6.34 1.41 1.41L18 7zm4.24-1.41L11.66 16.17 7.48 12l-1.4 1 1.41L11.66 19l12-12-1.42-1.41zM.41 13.41L6 19l1.41-1.41L1.83 12 .41 13.41z"></ path></g> <g id="donut-large"><path d="M11 5.08V2c-5 .5-9 4.81-9 10s4 9.5 9 10v- 3.08c-3-.48-6-3.4-6-6.92s3-6.44 6-6.92zM18.97 11H22c-.47-5-4-8.53-9-9v3.08C16 5. 51 18.54 8 18.97 11zM13 18.92V22c5-.47 8.53-4 9-9h-3.03c-.43 3-2.97 5.49-5.97 5. 92z"></path></g> <g id="donut-small"><path d="M11 9.16V2c-5 .5-9 4.79-9 10s4 9.5 9 10v-7.16c-1-.41-2-1.52-2-2.84s1-2.43 2-2.84zM14.86 11H22c-.48-4.75-4-8.53-9-9 v7.16c1 .3 1.52.98 1.86 1.84zM13 14.84V22c5-.47 8.52-4.25 9-9h-7.14c-.34.86-.86 1.54-1.86 1.84z"></path></g> <g id="drafts"><path d="M21.99 8c0-.72-.37-1.35-.94 -1.7L12 1 2.95 6.3C2.38 6.65 2 7.28 2 8v10c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2l-.01- 10zM12 13L3.74 7.84 12 3l8.26 4.84L12 13z"></path></g> <g id="eject"><path d="M5 17h14v2H5zm7-12L5.33 15h13.34z"></path></g> <g id="error"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h 2v6z"></path></g> <g id="error-outline"><path d="M11 15h2v2h-2zm0-8h2v6h-2zm.99- 5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> <g id="eur o-symbol"><path d="M15 18.5c-2.51 0-4.68-1.42-5.76-3.5H15v-2H8.58c-.05-.33-.08-. 66-.08-1s.03-.67.08-1H15V9H9.24C10.32 6.92 12.5 5.5 15 5.5c1.61 0 3.09.59 4.23 1 .57L21 5.3C19.41 3.87 17.3 3 15 3c-3.92 0-7.24 2.51-8.48 6H3v2h3.06c-.04.33-.06. 66-.06 1 0 .34.02.67.06 1H3v2h3.52c1.24 3.49 4.56 6 8.48 6 2.31 0 4.41-.87 6-2.3 l-1.78-1.77c-1.13.98-2.6 1.57-4.22 1.57z"></path></g> <g id="event"><path d="M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"></path></g> <g id="event- seat"><path d="M4 18v3h3v-3h10v3h3v-6H4zm15-8h3v3h-3zM2 10h3v3H2zm15 3H7V5c0-1.1 .9-2 2-2h6c1.1 0 2 .9 2 2v8z"></path></g> <g id="exit-to-app"><path d="M10.09 15 .59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9- 2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"></p ath></g> <g id="expand-less"><path d="M12 8l-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"></path></g> <g id="expand-more"><path d="M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z"></path></g> <g id="explore"><path d="M12 10.9c-.61 0-1.1.49-1.1 1.1 s.49 1.1 1.1 1.1c.61 0 1.1-.49 1.1-1.1s-.49-1.1-1.1-1.1zM12 2C6.48 2 2 6.48 2 12 s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm2.19 12.19L6 18l3.81-8.19L18 6l-3.81 8.19z"></path></g> <g id="extension"><path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3. 5C13 2.12 11.88 1 10.5 1S8 2.12 8 3.5V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2. 7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7 -2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5c1.38 0 2.5-1.12 2.5-2.5 S21.88 11 20.5 11z"></path></g> <g id="face"><path d="M9 11.75c-.69 0-1.25.56-1. 25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zm6 0c-.69 0-1.2 5.56-1.25 1.25s.56 1.25 1.25 1.25 1.25-.56 1.25-1.25-.56-1.25-1.25-1.25zM12 2C6. 48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8 -8 0-.29.02-.58.05-.86 2.36-1.05 4.23-2.98 5.21-5.37C11.07 8.33 14.05 10 17.42 1 0c.78 0 1.53-.09 2.25-.26.21.71.33 1.47.33 2.26 0 4.41-3.59 8-8 8z"></path></g> <g id="favorite"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4. 42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"></path></g> <g id="favorite-border"><p ath d="M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3 .5 0 2.89-3.14 5.74-7.9 10.05z"></path></g> <g id="feedback"><path d="M20 2H4c-1 .1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h-2v-2h2v2z m0-4h-2V6h2v4z"></path></g> <g id="file-download"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path></g> <g id="file-upload"><path d="M9 16h6v-6h4l-7-7 -7 7h4zm-4 2h14v2H5z"></path></g> <g id="filter-list"><path d="M10 18h4v-2h-4v2z M3 6v2h18V6H3zm3 7h12v-2H6v2z"></path></g> <g id="find-in-page"><path d="M20 19. 59V8l-6-6H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c.45 0 .85-.15 1.19-.4 l-4.43-4.43c-.8.52-1.74.83-2.76.83-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5c0 1.0 2-.31 1.96-.83 2.75L20 19.59zM9 13c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.3 4-3 3z"></path></g> <g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46 L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2 .28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"></path></g> <g id="fingerprin t"><path d="M17.81 4.47c-.08 0-.16-.02-.23-.06C15.66 3.42 14 3 12.01 3c-1.98 0-3 .86.47-5.57 1.41-.24.13-.54.04-.68-.2-.13-.24-.04-.55.2-.68C7.82 2.52 9.86 2 12. 01 2c2.13 0 3.99.47 6.03 1.52.25.13.34.43.21.67-.09.18-.26.28-.44.28zM3.5 9.72c- .1 0-.2-.03-.29-.09-.23-.16-.28-.47-.12-.7.99-1.4 2.25-2.5 3.75-3.27C9.98 4.04 1 4 4.03 17.15 5.65c1.5.77 2.76 1.86 3.75 3.25.16.22.11.54-.12.7-.23.16-.54.11-.7- .12-.9-1.26-2.04-2.25-3.39-2.94-2.87-1.47-6.54-1.47-9.4.01-1.36.7-2.5 1.7-3.4 2. 96-.08.14-.23.21-.39.21zm6.25 12.07c-.13 0-.26-.05-.35-.15-.87-.87-1.34-1.43-2.0 1-2.64-.69-1.23-1.05-2.73-1.05-4.34 0-2.97 2.54-5.39 5.66-5.39s5.66 2.42 5.66 5. 39c0 .28-.22.5-.5.5s-.5-.22-.5-.5c0-2.42-2.09-4.39-4.66-4.39-2.57 0-4.66 1.97-4. 66 4.39 0 1.44.32 2.77.93 3.85.64 1.15 1.08 1.64 1.85 2.42.19.2.19.51 0 .71-.11. 1-.24.15-.37.15zm7.17-1.85c-1.19 0-2.24-.3-3.1-.89-1.49-1.01-2.38-2.65-2.38-4.39 0-.28.22-.5.5-.5s.5.22.5.5c0 1.41.72 2.74 1.94 3.56.71.48 1.54.71 2.54.71.24 0 .64-.03 1.04-.1.27-.05.53.13.58.41.05.27-.13.53-.41.58-.57.11-1.07.12-1.21.12zM1 4.91 22c-.04 0-.09-.01-.13-.02-1.59-.44-2.63-1.03-3.72-2.1-1.4-1.39-2.17-3.24-2. 17-5.22 0-1.62 1.38-2.94 3.08-2.94 1.7 0 3.08 1.32 3.08 2.94 0 1.07.93 1.94 2.08 1.94s2.08-.87 2.08-1.94c0-3.77-3.25-6.83-7.25-6.83-2.84 0-5.44 1.58-6.61 4.03-. 39.81-.59 1.76-.59 2.8 0 .78.07 2.01.67 3.61.1.26-.03.55-.29.64-.26.1-.55-.04-.6 4-.29-.49-1.31-.73-2.61-.73-3.96 0-1.2.23-2.29.68-3.24 1.33-2.79 4.28-4.6 7.51-4 .6 4.55 0 8.25 3.51 8.25 7.83 0 1.62-1.38 2.94-3.08 2.94s-3.08-1.32-3.08-2.94c0- 1.07-.93-1.94-2.08-1.94s-2.08.87-2.08 1.94c0 1.71.66 3.31 1.87 4.51.95.94 1.86 1 .46 3.27 1.85.27.07.42.35.35.61-.05.23-.26.38-.47.38z"></path></g> <g id="first- page"><path d="M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"></pat h></g> <g id="flag"><path d="M14.4 6L14 4H5v17h2v-7h5.6l.4 2h7V6z"></path></g> < g id="flight-land"><path d="M2.5 19h19v2h-19zm7.18-5.73l4.35 1.16 5.31 1.42c.8.2 1 1.62-.26 1.84-1.06.21-.8-.26-1.62-1.06-1.84l-5.31-1.42-2.76-9.02L10.12 2v8.28L 5.15 8.95l-.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g> <g id="flight-t akeoff"><path d="M2.5 19h19v2h-19zm19.57-9.36c-.21-.8-1.04-1.28-1.84-1.06L14.92 10l-6.9-6.43-1.93.51 4.14 7.17-4.97 1.33-1.97-1.54-1.45.39 1.82 3.16.77 1.33 1.6 -.43 5.31-1.42 4.35-1.16L21 11.49c.81-.23 1.28-1.05 1.07-1.85z"></path></g> <g i d="flip-to-back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm 4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2 zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2 h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g> <g id="flip-to-front"><p ath d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12 h2v-2h-2v2zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1- .9-2-2-2zm0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z"></path></g> <g id="fol der"><path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V 8c0-1.1-.9-2-2-2h-8l-2-2z"></path></g> <g id="folder-open"><path d="M20 6h-8l-2- 2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm 0 12H4V8h16v10z"></path></g> <g id="folder-shared"><path d="M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm-5 3c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 8h-8v-1c0-1.33 2.67-2 4-2s4 .67 4 2v1 z"></path></g> <g id="font-download"><path d="M9.93 13.5h4.14L12 7.98zM20 2H4c-1 .1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-4.05 16.5l-1 .14-3H9.17l-1.12 3H5.96l5.11-13h1.86l5.11 13h-2.09z"></path></g> <g id="forward" ><path d="M12 8V4l8 8-8 8v-4H4V8z"></path></g> <g id="fullscreen"><path d="M7 14 H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></pat h></g> <g id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 1 1h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z"></path></g> <g id="g-translate"><path d=" M20 5h-9.12L10 2H4c-1.1 0-2 .9-2 2v13c0 1.1.9 2 2 2h7l1 3h8c1.1 0 2-.9 2-2V7c0-1 .1-.9-2-2-2zM7.17 14.59c-2.25 0-4.09-1.83-4.09-4.09s1.83-4.09 4.09-4.09c1.04 0 1 .99.37 2.74 1.07l.07.06-1.23 1.18-.06-.05c-.29-.27-.78-.59-1.52-.59-1.31 0-2.38 1.09-2.38 2.42s1.07 2.42 2.38 2.42c1.37 0 1.96-.87 2.12-1.46H7.08V9.91h3.95l.01. 07c.04.21.05.4.05.61 0 2.35-1.61 4-3.92 4zm6.03-1.71c.33.6.74 1.18 1.19 1.7l-.54 .53-.65-2.23zm.77-.76h-.99l-.31-1.04h3.99s-.34 1.31-1.56 2.74c-.52-.62-.89-1.23- 1.13-1.7zM21 20c0 .55-.45 1-1 1h-7l2-2-.81-2.77.92-.92L17.79 18l.73-.73-2.71-2.6 8c.9-1.03 1.6-2.25 1.92-3.51H19v-1.04h-3.64V9h-1.04v1.04h-1.96L11.18 6H20c.55 0 1 .45 1 1v13z"></path></g> <g id="gavel"><path d="M1 21h12v2H1zM5.245 8.07l2.83- 2.827 14.14 14.142-2.828 2.828zM12.317 1l5.657 5.656-2.83 2.83-5.654-5.66zM3.825 9.485l5.657 5.657-2.828 2.828-5.657-5.657z"></path></g> <g id="gesture"><path d ="M4.59 6.89c.7-.71 1.4-1.35 1.71-1.22.5.2 0 1.03-.3 1.52-.25.42-2.86 3.89-2.86 6.31 0 1.28.48 2.34 1.34 2.98.75.56 1.74.73 2.64.46 1.07-.31 1.95-1.4 3.06-2.77 1.21-1.49 2.83-3.44 4.08-3.44 1.63 0 1.65 1.01 1.76 1.79-3.78.64-5.38 3.67-5.38 5.37 0 1.7 1.44 3.09 3.21 3.09 1.63 0 4.29-1.33 4.69-6.1H21v-2.5h-2.47c-.15-1.65 -1.09-4.2-4.03-4.2-2.25 0-4.18 1.91-4.94 2.84-.58.73-2.06 2.48-2.29 2.72-.25.3-. 68.84-1.11.84-.45 0-.72-.83-.36-1.92.35-1.09 1.4-2.86 1.85-3.52.78-1.14 1.3-1.92 1.3-3.28C8.95 3.69 7.31 3 6.44 3 5.12 3 3.97 4 3.72 4.25c-.36.36-.66.66-.88.93l 1.75 1.71zm9.29 11.66c-.31 0-.74-.26-.74-.72 0-.6.73-2.2 2.87-2.76-.3 2.69-1.43 3.48-2.13 3.48z"></path></g> <g id="get-app"><path d="M19 9h-4V3H9v6H5l7 7 7-7zM 5 18v2h14v-2H5z"></path></g> <g id="gif"><path d="M11.5 9H13v6h-1.5zM9 9H6c-.6 0 -1 .5-1 1v4c0 .5.4 1 1 1h3c.6 0 1-.5 1-1v-2H8.5v1.5h-2v-3H10V10c0-.5-.4-1-1-1zm1 0 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g> <g id="grade"><path d="M12 17.27 L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z" ></path></g> <g id="group-work"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM8 17.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5zM9.5 8c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5-1 .12 2.5-2.5 2.5S9.5 9.38 9.5 8zm6.5 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2. 5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"></path></g> <g id="help"><path d="M12 2C6. 48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07- 7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37 -.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .8 8-.36 1.68-.93 2.25z"></path></g> <g id="help-outline"><path d="M11 18h2v-2h-2v2 zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0 -8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9- 2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4z"></path></g> <g id="highlight-off"><path d="M14.59 8L12 10.59 9.41 8 8 9.41 10.59 12 8 14.59 9.41 16 12 13.41 14.59 16 16 14.59 13.41 12 16 9.41 14.59 8zM12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8 -8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="history"><path d="M13 3c-4.97 0-9 4.03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.0 3-9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></g> <g id="home"><path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"></path></g> <g id="hourglass-empty"><pa th d="M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99h-.01L18 16l-4-4 4-3.99-. 01-.01H18V2H6zm10 14.5V20H8v-3.5l4-4 4 4zm-4-5l-4-4V4h8v3.5l-4 4z"></path></g> < g id="hourglass-full"><path d="M6 2v6h.01L6 8.01 10 12l-4 4 .01.01H6V22h12v-5.99 h-.01L18 16l-4-4 4-3.99-.01-.01H18V2H6z"></path></g> <g id="http"><path d="M4.5 11h-2V9H1v6h1.5v-2.5h2V15H6V9H4.5v2zm2.5-.5h1.5V15H10v-4.5h1.5V9H7v1.5zm5.5 0H14 V15h1.5v-4.5H17V9h-4.5v1.5zm9-1.5H18v6h1.5v-2h2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1 .5-1.5-1.5zm0 2.5h-2v-1h2v1z"></path></g> <g id="https"><path d="M18 8h-1V6c0-2. 76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V 10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c 0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></g> <g id="important -devices"><path d="M23 11.01L18 11c-.55 0-1 .45-1 1v9c0 .55.45 1 1 1h5c.55 0 1-. 45 1-1v-9c0-.55-.45-.99-1-.99zM23 20h-5v-7h5v7zM20 2H2C.89 2 0 2.89 0 4v12c0 1.1 .89 2 2 2h7v2H7v2h8v-2h-2v-2h2v-2H2V4h18v5h2V4c0-1.11-.9-2-2-2zm-8.03 7L11 6l-.9 7 3H7l2.47 1.76-.94 2.91 2.47-1.8 2.47 1.8-.94-2.91L15 9h-3.03z"></path></g> <g id="inbox"><path d="M19 3H4.99c-1.11 0-1.98.89-1.98 2L3 19c0 1.1.88 2 1.99 2H19c 1.1 0 2-.9 2-2V5c0-1.11-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H1 9v10z"></path></g> <g id="indeterminate-check-box"><path d="M19 3H5c-1.1 0-2 .9- 2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"></pat h></g> <g id="info"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-1 0S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"></path></g> <g id="info-outline"> <path d="M11 17h2v-6h-2v6zm1-15C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S1 7.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zM11 9h2V7h -2v2z"></path></g> <g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18 v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2 zM11 16l4-4-4-4v3H1v2h10v3z"></path></g> <g id="invert-colors"><path d="M17.66 7 .93L12 2.27 6.34 7.93c-3.12 3.12-3.12 8.19 0 11.31C7.9 20.8 9.95 21.58 12 21.58c 2.05 0 4.1-.78 5.66-2.34 3.12-3.12 3.12-8.19 0-11.31zM12 19.59c-1.6 0-3.11-.62-4 .24-1.76C6.62 16.69 6 15.19 6 13.59s.62-3.11 1.76-4.24L12 5.1v14.49z"></path></g > <g id="label"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5 .9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16z">< /path></g> <g id="label-outline"><path d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12l-4.37-6.16zM16 17H5V7h11l3.55 5L16 17z"></path></g> <g id="language"><path d= "M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11. 99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H 4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H 5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2- 1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-. 16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm .25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 1 4c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.2 6 2h-3.38z"></path></g> <g id="last-page"><path d="M5.59 7.41L10.18 12l-4.59 4.5 9L7 18l6-6-6-6zM16 6h2v12h-2z"></path></g> <g id="launch"><path d="M19 19H5V5h7V 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9 .83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path></g> <g id="lightbulb-outline"><pa th d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2. 38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3 -5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"></path></g> <g id="lin e-style"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v 2zm4 0h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM3 12h8v-2H3v2zm10 0h8v-2h-8v2zM3 4v4h18V4H3z"></path></g> <g id="line-weight"><path d="M3 17h18v-2 H3v2zm0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g> <g id="link"><pat h d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H 7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s -1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></g> <g id="lis t"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H 7v2zM7 7v2h14V7H7z"></path></g> <g id="lock"><path d="M18 8h-1V6c0-2.76-2.24-5-5 -5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9 -2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39 -3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"></path></g> <g id="lock-open"><path d=" M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2 v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"></path> </g> <g id="lock-outline"><path d="M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2 h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zM8.9 6c0-1.71 1.39-3.1 3.1-3.1s3.1 1.39 3.1 3.1v2H8.9V6zM18 20H6V10h12v10z"></path></g> <g id="low-priority"><path d="M14 5 h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2 h-.5C6.02 16 4 13.98 4 11.5S6.02 7 8.5 7H12V5H8.5C4.92 5 2 7.92 2 11.5z"></path> </g> <g id="loyalty"><path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0 -2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58.55 0 1.05-.22 1.41-.5 9l7-7c.37-.36.59-.86.59-1.41 0-.55-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S 4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7zm11.77 8.27L13 19.54l-4.27-4.27C8.28 14.8 1 8 14.19 8 13.5c0-1.38 1.12-2.5 2.5-2.5.69 0 1.32.28 1.77.74l.73.72.73-.73c.45- .45 1.08-.73 1.77-.73 1.38 0 2.5 1.12 2.5 2.5 0 .69-.28 1.32-.73 1.77z"></path>< /g> <g id="mail"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></g> <g id="mark unread"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2 -2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"></path></g> <g id="markunread-ma ilbox"><path d="M20 6H10v6H8V4h6V0H6v6H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2z"></path></g> <g id="menu"><path d="M3 18h18v-2H3v2 zm0-5h18v-2H3v2zm0-7v2h18V6H3z"></path></g> <g id="more-horiz"><path d="M6 10c-1 .1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2 -.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"></path></g> <g id=" more-vert"><path d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0 -2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2 -2-2z"></path></g> <g id="motorcycle"><path d="M19.44 9.03L15.41 5H11v2h3.59l2 2 H5c-2.8 0-5 2.2-5 5s2.2 5 5 5c2.46 0 4.45-1.69 4.9-4h1.65l2.77-2.77c-.21.54-.32 1.14-.32 1.77 0 2.8 2.2 5 5 5s5-2.2 5-5c0-2.65-1.97-4.77-4.56-4.97zM7.82 15C7.4 16.15 6.28 17 5 17c-1.63 0-3-1.37-3-3s1.37-3 3-3c1.28 0 2.4.85 2.82 2H5v2h2.82zM 19 17c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3z"></path></g> <g id="m ove-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H1 9c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12h-4c0 1.66-1.35 3-3 3s-3-1.34-3-3H4.99V5H 19v10zm-3-5h-2V7h-4v3H8l4 4 4-4z"></path></g> <g id="next-week"><path d="M20 7h- 4V5c0-.55-.22-1.05-.59-1.41C15.05 3.22 14.55 3 14 3h-4c-1.1 0-2 .9-2 2v2H4c-1.1 0-2 .9-2 2v11c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM10 5h4v2h-4V5zm1 13.5l-1-1 3-3-3-3 1-1 4 4-4 4z"></path></g> <g id="note-add"><path d="M14 2H6c- 1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 14h-3v3h- 2v-3H8v-2h3v-3h2v3h3v2zm-3-7V3.5L18.5 9H13z"></path></g> <g id="offline-pin"><pa th d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm5 16H7v-2h10 v2zm-6.7-4L7 10.7l1.4-1.4 1.9 1.9 5.3-5.3L17 7.3 10.3 14z"></path></g> <g id="op acity"><path d="M17.66 8L12 2.35 6.34 8C4.78 9.56 4 11.64 4 13.64s.78 4.11 2.34 5.67 3.61 2.35 5.66 2.35 4.1-.79 5.66-2.35S20 15.64 20 13.64 19.22 9.56 17.66 8z M6 14c.01-2 .62-3.27 1.76-4.4L12 5.27l4.24 4.38C17.38 10.77 17.99 12 18 14H6z">< /path></g> <g id="open-in-browser"><path d="M19 4H5c-1.11 0-2 .9-2 2v12c0 1.1.89 2 2 2h4v-2H5V8h14v10h-4v2h4c1.1 0 2-.9 2-2V6c0-1.1-.89-2-2-2zm-7 6l-4 4h3v6h2v- 6h3l-4-4z"></path></g> <g id="open-in-new"><path d="M19 19H5V5h7V3H5c-1.11 0-2 . 9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1 .41L19 6.41V10h2V3h-7z"></path></g> <g id="open-with"><path d="M10 9h4V6h3l-5-5- 5 5h3v3zm-1 1H6V7l-5 5 5 5v-3h3v-4zm14 2l-5-5v3h-3v4h3v3l5-5zm-9 3h-4v3H7l5 5 5- 5h-3v-3z"></path></g> <g id="pageview"><path d="M11.5 9C10.12 9 9 10.12 9 11.5s1 .12 2.5 2.5 2.5 2.5-1.12 2.5-2.5S12.88 9 11.5 9zM20 4H4c-1.1 0-2 .9-2 2v12c0 1.1 .9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3.21 14.21l-2.91-2.91c-.69.44-1.51 .7-2.39.7C9.01 16 7 13.99 7 11.5S9.01 7 11.5 7 16 9.01 16 11.5c0 .88-.26 1.69-.7 2.39l2.91 2.9-1.42 1.42z"></path></g> <g id="pan-tool"><path d="M23 5.5V20c0 2. 2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49 -.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5- 1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"></path></g> <g id="payment"><path d="M20 4H4c-1.11 0-1.99.89-1.99 2L2 18c0 1.11.89 2 2 2h16c1. 11 0 2-.89 2-2V6c0-1.11-.89-2-2-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g> < g id="perm-camera-mic"><path d="M20 5h-3.17L15 3H9L7.17 5H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h7v-2.09c-2.83-.48-5-2.94-5-5.91h2c0 2.21 1.79 4 4 4s4-1.79 4-4h2c0 2.97-2.17 5.43-5 5.91V21h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-6 8c0 1.1-.9 2-2 2s -2-.9-2-2V9c0-1.1.9-2 2-2s2 .9 2 2v4z"></path></g> <g id="perm-contact-calendar" ><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-7 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm6 12H6v-1c0-2 4-3.1 6-3.1s6 1.1 6 3.1v1z"></path></g> <g id="perm-data-sett ing"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.0 7-1 0-4.14 3.36-7.5 7.5-7.5zm3.71 7.99c.02-.16.04-.32.04-.49 0-.17-.01-.33-.04-. 49l1.06-.83c.09-.08.12-.21.06-.32l-1-1.73c-.06-.11-.19-.15-.31-.11l-1.24.5c-.26- .2-.54-.37-.85-.49l-.19-1.32c-.01-.12-.12-.21-.24-.21h-2c-.12 0-.23.09-.25.21l-. 19 1.32c-.3.13-.59.29-.85.49l-1.24-.5c-.11-.04-.24 0-.31.11l-1 1.73c-.06.11-.04. 24.06.32l1.06.83c-.02.16-.03.32-.03.49 0 .17.01.33.03.49l-1.06.83c-.09.08-.12.21 -.06.32l1 1.73c.06.11.19.15.31.11l1.24-.5c.26.2.54.37.85.49l.19 1.32c.02.12.12.2 1.25.21h2c.12 0 .23-.09.25-.21l.19-1.32c.3-.13.59-.29.84-.49l1.25.5c.11.04.24 0 .31-.11l1-1.73c.06-.11.03-.24-.06-.32l-1.07-.83zm-3.71 1.01c-.83 0-1.5-.67-1.5-1 .5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"></path></g> <g id="perm-devi ce-information"><path d="M13 7h-2v2h2V7zm0 4h-2v6h2v-6zm4-9.99L7 1c-1.1 0-2 .9-2 2v18c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V3c0-1.1-.9-1.99-2-1.99zM17 19H7V5h10v14z"> </path></g> <g id="perm-identity"><path d="M12 5.9c1.16 0 2.1.94 2.1 2.1s-.94 2. 1-2.1 2.1S9.9 9.16 9.9 8s.94-2.1 2.1-2.1m0 9c2.97 0 6.1 1.46 6.1 2.1v1.1H5.9V17c 0-.64 3.13-2.1 6.1-2.1M12 4C9.79 4 8 5.79 8 8s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm 0 9c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"></path></g> <g id="perm-media "><path d="M2 6H0v5h.01L0 20c0 1.1.9 2 2 2h18v-2H2V6zm20-2h-8l-2-2H6c-1.1 0-1.99 .9-1.99 2L4 16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM7 15l4.5-6 3.5 4.51 2.5-3.01L21 15H7z"></path></g> <g id="perm-phone-msg"><path d="M20 15.5c-1. 25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59 -6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c -.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM12 3 v10l3-3h6V3h-9z"></path></g> <g id="perm-scan-wifi"><path d="M12 3C6.95 3 3.15 4 .85 0 7.23L12 22 24 7.25C20.85 4.87 17.05 3 12 3zm1 13h-2v-6h2v6zm-2-8V6h2v2h-2z "></path></g> <g id="pets"><circle cx="4.5" cy="9.5" r="2.5"></circle><circle cx ="9" cy="5.5" r="2.5"></circle><circle cx="15" cy="5.5" r="2.5"></circle><circle cx="19.5" cy="9.5" r="2.5"></circle><path d="M17.34 14.86c-.87-1.02-1.6-1.89-2. 48-2.91-.46-.54-1.05-1.08-1.75-1.32-.11-.04-.22-.07-.33-.09-.25-.04-.52-.04-.78- .04s-.53 0-.79.05c-.11.02-.22.05-.33.09-.7.24-1.28.78-1.75 1.32-.87 1.02-1.6 1.8 9-2.48 2.91-1.31 1.31-2.92 2.76-2.62 4.79.29 1.02 1.02 2.03 2.33 2.32.73.15 3.06 -.44 5.54-.44h.18c2.48 0 4.81.58 5.54.44 1.31-.29 2.04-1.31 2.33-2.32.31-2.04-1. 3-3.49-2.61-4.8z"></path></g> <g id="picture-in-picture"><path d="M19 7h-8v6h8V7 zm2-4H3c-1.1 0-2 .9-2 2v14c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98V5c0-1.1-.9- 2-2-2zm0 16.01H3V4.98h18v14.03z"></path></g> <g id="picture-in-picture-alt"><pat h d="M19 11h-8v6h8v-6zm4 8V4.98C23 3.88 22.1 3 21 3H3c-1.1 0-2 .88-2 1.98V19c0 1 .1.9 2 2 2h18c1.1 0 2-.9 2-2zm-2 .02H3V4.97h18v14.05z"></path></g> <g id="play-f or-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6 s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g> <g id="polymer"><pa th d="M19 4h-4L7.11 16.63 4.5 12 9 4H5L.5 12 5 20h4l7.89-12.63L19.5 12 15 20h4l4 .5-8z"></path></g> <g id="power-settings-new"><path d="M13 3h-2v10h2V3zm4.83 2.1 7l-1.42 1.42C17.99 7.86 19 9.81 19 12c0 3.87-3.13 7-7 7s-7-3.13-7-7c0-2.19 1.01- 4.14 2.58-5.42L6.17 5.17C4.23 6.82 3 9.26 3 12c0 4.97 4.03 9 9 9s9-4.03 9-9c0-2. 74-1.23-5.18-3.17-6.83z"></path></g> <g id="pregnant-woman"><path d="M9 4c0-1.11 .89-2 2-2s2 .89 2 2-.89 2-2 2-2-.89-2-2zm7 9c-.01-1.34-.83-2.51-2-3 0-1.66-1.34- 3-3-3s-3 1.34-3 3v7h2v5h3v-5h3v-4z"></path></g> <g id="print"><path d="M19 8H5c- 1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0 -1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"></path></g> <g id="que ry-builder"><path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17. 52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8- 8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z"></path></g> <g id="question-answer" ><path d="M21 6h-2v9H6v2c0 .55.45 1 1 1h11l4 4V7c0-.55-.45-1-1-1zm-4 6V3c0-.55-. 45-1-1-1H3c-.55 0-1 .45-1 1v14l4-4h10c.55 0 1-.45 1-1z"></path></g> <g id="radio -button-checked"><path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5- 5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> <g id="radio-button -unchecked"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"></path></g> < g id="receipt"><path d="M18 17H6v-2h12v2zm0-4H6v-2h12v2zm0-4H6V7h12v2zM3 22l1.5- 1.5L6 22l1.5-1.5L9 22l1.5-1.5L12 22l1.5-1.5L15 22l1.5-1.5L18 22l1.5-1.5L21 22V2l -1.5 1.5L18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2 4.5 3.5 3 2v2 0z"></path></g> <g id="record-voice-over"><circle cx="9" cy="9" r="4"></circle>< path d="M9 15c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4zm7.76-9.64l-1.68 1.69 c.84 1.18.84 2.71 0 3.89l1.68 1.69c2.02-2.02 2.02-5.07 0-7.27zM20.07 2l-1.63 1.6 3c2.77 3.02 2.77 7.56 0 10.74L20.07 16c3.9-3.89 3.91-9.95 0-14z"></path></g> <g id="redeem"><path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1. 96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.6 9.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.1 1-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .4 5 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 11 8.76l1-1.36 1 1.36L15.38 12 17 10.83 14.92 8H20v6z"></path></g> <g id="re do"><path d="M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3. 9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7l-3.6 3.6z"></ path></g> <g id="refresh"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.9 9 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z">< /path></g> <g id="remove"><path d="M19 13H5v-2h14v2z"></path></g> <g id="remove- circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"></path></g> <g id="remove-circle-outline"><path d="M7 11v2h 10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c- 4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"></path></g> <g id="remove-s hopping-cart"><path d="M22.73 22.73L2.77 2.77 2 2l-.73-.73L0 2.54l4.39 4.39 2.21 4.66-1.35 2.45c-.16.28-.25.61-.25.96 0 1.1.9 2 2 2h7.46l1.38 1.38c-.5.36-.83.95 -.83 1.62 0 1.1.89 2 1.99 2 .67 0 1.26-.33 1.62-.84L21.46 24l1.27-1.27zM7.42 15c -.14 0-.25-.11-.25-.25l.03-.12.9-1.63h2.36l2 2H7.42zm8.13-2c.75 0 1.41-.41 1.75- 1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1-1H6.54l9.01 9zM7 18c-1.1 0-1. 99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2z"></path></g> <g id="reorder"><path d= "M3 15h18v-2H3v2zm0 4h18v-2H3v2zm0-8h18V9H3v2zm0-6v2h18V5H3z"></path></g> <g id= "reply"><path d="M10 9V5l-7 7 7 7v-4.1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"></pat h></g> <g id="reply-all"><path d="M7 8V5l-7 7 7 7v-3l-4-4 4-4zm6 1V5l-7 7 7 7v-4 .1c5 0 8.5 1.6 11 5.1-1-5-4-10-11-11z"></path></g> <g id="report"><path d="M15.7 3 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27L15.73 3zM12 17.3c-.72 0-1.3-.58- 1.3-1.3 0-.72.58-1.3 1.3-1.3.72 0 1.3.58 1.3 1.3 0 .72-.58 1.3-1.3 1.3zm1-4.3h-2 V7h2v6z"></path></g> <g id="report-problem"><path d="M1 21h22L12 2 1 21zm12-3h-2 v-2h2v2zm0-4h-2v-4h2v4z"></path></g> <g id="restore"><path d="M13 3c-4.97 0-9 4. 03-9 9H1l3.89 3.89.07.14L9 12H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0- 3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03- 9-9-9zm-1 5v5l4.28 2.54.72-1.21-3.5-2.08V8H12z"></path></g> <g id="restore-page" ><path d="M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V 8l-6-6zm-2 16c-2.05 0-3.81-1.24-4.58-3h1.71c.63.9 1.68 1.5 2.87 1.5 1.93 0 3.5-1 .57 3.5-3.5S13.93 9.5 12 9.5c-1.35 0-2.52.78-3.1 1.9l1.6 1.6h-4V9l1.3 1.3C8.69 8 .92 10.23 8 12 8c2.76 0 5 2.24 5 5s-2.24 5-5 5z"></path></g> <g id="room"><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5 c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z">< /path></g> <g id="rounded-corner"><path d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13 h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm0-4h2V3H3v2zm4 0h2V3H7v2zm8 16h2v-2h-2v2zm -4 0h2v-2h-2v2zm4 0h2v-2h-2v2zm-8 0h2v-2H7v2zm-4 0h2v-2H3v2zM21 8c0-2.76-2.24-5- 5-5h-5v2h5c1.65 0 3 1.35 3 3v5h2V8z"></path></g> <g id="rowing"><path d="M8.5 14 .5L4 19l1.5 1.5L9 17h2l-2.5-2.5zM15 1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2 zm6 20.01L18 24l-2.99-3.01V19.5l-7.1-7.09c-.31.05-.61.07-.91.07v-2.16c1.66.03 3. 61-.87 4.67-2.04l1.4-1.55c.19-.21.43-.38.69-.5.29-.14.62-.23.96-.23h.03C15.99 6. 01 17 7.02 17 8.26v5.75c0 .84-.35 1.61-.92 2.16l-3.58-3.58v-2.27c-.63.52-1.43 1. 02-2.29 1.39L16.5 18H18l3 3.01z"></path></g> <g id="save"><path d="M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7l-4-4zm-5 16c-1.66 0-3-1.34-3-3 s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm3-10H5V5h10v4z"></path></g> <g id="schedule"> <path d="M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17. 52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H1 1v6l5.25 3.15.75-1.23-4.5-2.67z"></path></g> <g id="search"><path d="M15.5 14h-. 79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.0 1 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path></g> <g id="select-all"><path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4 h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm 0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8 h6v6H9V9z"></path></g> <g id="send"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"></path></g> <g id="settings"><path d="M19.43 12.98c.04-.32.07-.64.07-.98s-.0 3-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46c-.12-.22-.39-.3-.61-.22l-2 .49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65C14.46 2.18 14.25 2 14 2h-4c-.25 0-.46. 18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1c-.23-.09-.49 0-.61.22l-2 3.4 6c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98s.03.66.07.98l-2.11 1.65c- .19.15-.24.42-.12.64l2 3.46c.12.22.39.3.61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2 .65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98 l2.49 1c.23.09.49 0 .61-.22l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65zM12 15.5c-1 .93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5z"></pa th></g> <g id="settings-applications"><path d="M12 10c-1.1 0-2 .9-2 2s.9 2 2 2 2 -.9 2-2-.9-2-2-2zm7-7H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c 0-1.1-.89-2-2-2zm-1.75 9c0 .23-.02.46-.05.68l1.48 1.16c.13.11.17.3.08.45l-1.4 2. 42c-.09.15-.27.21-.43.15l-1.74-.7c-.36.28-.76.51-1.18.69l-.26 1.85c-.03.17-.18.3 -.35.3h-2.8c-.17 0-.32-.13-.35-.29l-.26-1.85c-.43-.18-.82-.41-1.18-.69l-1.74.7c- .16.06-.34 0-.43-.15l-1.4-2.42c-.09-.15-.05-.34.08-.45l1.48-1.16c-.03-.23-.05-.4 6-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.1 5.27-.21.43-.15l1.74.7c.36-.28.76-.51 1.18-.69l.26-1.85c.03-.17.18-.3.35-.3h2.8c .17 0 .32.13.35.29l.26 1.85c.43.18.82.41 1.18.69l1.74-.7c.16-.06.34 0 .43.15l1.4 2.42c.09.15.05.34-.08.45l-1.48 1.16c.03.23.05.46.05.69z"></path></g> <g id="set tings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2 zm-2-9c-4.97 0-9 4.03-9 9H0l4 4 4-4H5c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1 .51 0-2.91-.49-4.06-1.3l-1.42 1.44C8.04 20.3 9.94 21 12 21c4.97 0 9-4.03 9-9s-4. 03-9-9-9z"></path></g> <g id="settings-bluetooth"><path d="M11 24h2v-2h-2v2zm-4 0h2v-2H7v2zm8 0h2v-2h-2v2zm2.71-18.29L12 0h-1v7.59L6.41 3 5 4.41 10.59 10 5 15.5 9 6.41 17 11 12.41V20h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 3.83l1.88 1.88L13 7.59V3 .83zm1.88 10.46L13 16.17v-3.76l1.88 1.88z"></path></g> <g id="settings-brightnes s"><path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-. 9-2-2-2zm0 16.01H3V4.99h18v14.02zM8 16h2.5l1.5 1.5 1.5-1.5H16v-2.5l1.5-1.5-1.5-1 .5V8h-2.5L12 6.5 10.5 8H8v2.5L6.5 12 8 13.5V16zm4-7c1.66 0 3 1.34 3 3s-1.34 3-3 3V9z"></path></g> <g id="settings-cell"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-2v2zm 4 0h2v-2h-2v2zM16 .01L8 0C6.9 0 6 .9 6 2v16c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V2c0-1 .1-.9-1.99-2-1.99zM16 16H8V4h8v12z"></path></g> <g id="settings-ethernet"><path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7 v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.5 4 1.28L23.18 12l-5.41-6.52z"></path></g> <g id="settings-input-antenna"><path d= "M12 5c-3.87 0-7 3.13-7 7h2c0-2.76 2.24-5 5-5s5 2.24 5 5h2c0-3.87-3.13-7-7-7zm1 9.29c.88-.39 1.5-1.26 1.5-2.29 0-1.38-1.12-2.5-2.5-2.5S9.5 10.62 9.5 12c0 1.02.6 2 1.9 1.5 2.29v3.3L7.59 21 9 22.41l3-3 3 3L16.41 21 13 17.59v-3.3zM12 1C5.93 1 1 5.93 1 12h2c0-4.97 4.03-9 9-9s9 4.03 9 9h2c0-6.07-4.93-11-11-11z"></path></g> < g id="settings-input-component"><path d="M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6 V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c 0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1- 1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2h-6v2z"></path></g> < g id="settings-input-composite"><path d="M5 2c0-.55-.45-1-1-1s-1 .45-1 1v4H1v6h6 V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c 0 1.3.84 2.4 2 2.82V23h2v-4.18C6.16 18.4 7 17.3 7 16v-2H1v2zM21 6V2c0-.55-.45-1- 1-1s-1 .45-1 1v4h-2v6h6V6h-2zm-8-4c0-.55-.45-1-1-1s-1 .45-1 1v4H9v6h6V6h-2V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2h-6v2z"></path></g> < g id="settings-input-hdmi"><path d="M18 7V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v3H5 v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z"></path></g> <g id="set tings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 1 3 6.5 13 8 12.33 8 11.5zm7-5c0-.83-.67-1.5-1.5-1.5h-3C9.67 5 9 5.67 9 6.5S9.67 8 10.5 8h3c.83 0 1.5-.67 1.5-1.5zM8.5 15c-.83 0-1.5.67-1.5 1.5S7.67 18 8.5 18s1.5 -.67 1.5-1.5S9.33 15 8.5 15zM12 1C5.93 1 1 5.93 1 12s4.93 11 11 11 11-4.93 11-11 S18.07 1 12 1zm0 20c-4.96 0-9-4.04-9-9s4.04-9 9-9 9 4.04 9 9-4.04 9-9 9zm5.5-11c -.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm-2 5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z"></path></g> <g id="settings-overscan"><path d="M12.01 5.5L10 8h4l-1.99-2.5zM18 10v4l2.5-1.99 L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-1.1 0-2 .9-2 2v14 c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></p ath></g> <g id="settings-phone"><path d="M13 9h-2v2h2V9zm4 0h-2v2h2V9zm3 6.5c-1. 25 0-2.45-.2-3.57-.57-.35-.11-.74-.03-1.02.24l-2.2 2.2c-2.83-1.44-5.15-3.75-6.59 -6.58l2.2-2.21c.28-.27.36-.66.25-1.01C8.7 6.45 8.5 5.25 8.5 4c0-.55-.45-1-1-1H4c -.55 0-1 .45-1 1 0 9.39 7.61 17 17 17 .55 0 1-.45 1-1v-3.5c0-.55-.45-1-1-1zM19 9 v2h2V9h-2z"></path></g> <g id="settings-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2 h-2v2zm2-22h-2v10h2V2zm3.56 2.44l-1.45 1.45C16.84 6.94 18 8.83 18 11c0 3.31-2.69 6-6 6s-6-2.69-6-6c0-2.17 1.16-4.06 2.88-5.12L7.44 4.44C5.36 5.88 4 8.28 4 11c0 4.42 3.58 8 8 8s8-3.58 8-8c0-2.72-1.36-5.12-3.44-6.56zM15 24h2v-2h-2v2z"></path> </g> <g id="settings-remote"><path d="M15 9H9c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1 h6c.55 0 1-.45 1-1V10c0-.55-.45-1-1-1zm-3 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM7.05 6.05l1.41 1.41C9.37 6.56 10.62 6 12 6s2.63.56 3.54 1.46l1.41-1.41C1 5.68 4.78 13.93 4 12 4s-3.68.78-4.95 2.05zM12 0C8.96 0 6.21 1.23 4.22 3.22l1.41 1.41C7.26 3.01 9.51 2 12 2s4.74 1.01 6.36 2.64l1.41-1.41C17.79 1.23 15.04 0 12 0 z"></path></g> <g id="settings-voice"><path d="M7 24h2v-2H7v2zm5-11c1.66 0 2.99- 1.34 2.99-3L15 4c0-1.66-1.34-3-3-3S9 2.34 9 4v6c0 1.66 1.34 3 3 3zm-1 11h2v-2h-2 v2zm4 0h2v-2h-2v2zm4-14h-1.7c0 3-2.54 5.1-5.3 5.1S6.7 13 6.7 10H5c0 3.41 2.72 6. 23 6 6.72V20h2v-3.28c3.28-.49 6-3.31 6-6.72z"></path></g> <g id="shop"><path d=" M16 6V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H2v13c0 1.11.89 2 2 2h16c1.11 0 2 -.89 2-2V6h-6zm-6-2h4v2h-4V4zM9 18V9l7.5 4L9 18z"></path></g> <g id="shop-two">< path d="M3 9H1v11c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2H3V9zm15-4V3c0-1.11-.89-2-2 -2h-4c-1.11 0-2 .89-2 2v2H5v11c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5h-5zm-6-2h4v 2h-4V3zm0 12V8l5.5 3-5.5 4z"></path></g> <g id="shopping-basket"><path d="M17.21 9l-4.38-6.56c-.19-.28-.51-.42-.83-.42-.32 0-.64.14-.83.43L6.79 9H2c-.55 0-1 .45 -1 1 0 .09.01.18.04.27l2.54 9.27c.23.84 1 1.46 1.92 1.46h13c.92 0 1.69-.62 1.93- 1.46l2.54-9.27L23 10c0-.55-.45-1-1-1h-4.79zM9 9l3-4.4L15 9H9zm3 8c-1.1 0-2-.9-2- 2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"></path></g> <g id="shopping-cart"><path d="M7 18c -1.1 0-1.99.9-1.99 2S5.9 22 7 22s2-.9 2-2-.9-2-2-2zM1 2v2h2l3.6 7.59-1.35 2.45c- .16.28-.25.61-.25.96 0 1.1.9 2 2 2h12v-2H7.42c-.14 0-.25-.11-.25-.25l.03-.12.9-1 .63h7.45c.75 0 1.41-.41 1.75-1.03l3.58-6.49c.08-.14.12-.31.12-.48 0-.55-.45-1-1- 1H5.21l-.94-2H1zm16 16c-1.1 0-1.99.9-1.99 2s.89 2 1.99 2 2-.9 2-2-.9-2-2-2z"></p ath></g> <g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></p ath></g> <g id="speaker-notes"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14 c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h- 5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g> <g id="speaker-notes-off"><pa th d="M10.54 11l-.54-.54L7.54 8 6 6.46 2.38 2.84 1.27 1.73 0 3l2.01 2.01L2 22l4- 4h9l5.73 5.73L22 22.46 17.54 18l-7-7zM8 14H6v-2h2v2zm-2-3V9l2 2H6zm14-9H4.08L10 7.92V6h8v2h-7.92l1 1H18v2h-4.92l6.99 6.99C21.14 17.95 22 17.08 22 16V4c0-1.1-.9- 2-2-2z"></path></g> <g id="spellcheck"><path d="M12.45 16h2.09L9.43 3H7.57L2.46 16h2.09l1.12-3h5.64l1.14 3zm-6.02-5L8.5 5.48 10.57 11H6.43zm15.16.59l-8.09 8.09L 9.83 16l-1.41 1.41 5.09 5.09L23 13l-1.41-1.41z"></path></g> <g id="star"><path d ="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.7 3L5.82 21z"></path></g> <g id="star-border"><path d="M22 9.24l-7.19-.62L12 2 9.1 9 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3 .76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"></path></g> <g id="star-half"><path d="M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4V6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"></path></g> <g id="stars"><path d="M11.9 9 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm 4.24 16L12 15.45 7.77 18l1.12-4.81-3.73-3.23 4.92-.42L12 5l1.92 4.53 4.92.42-3.7 3 3.23L16.23 18z"></path></g> <g id="store"><path d="M20 4H4v2h16V4zm1 10v-2l-1- 5H4l-1 5v2h1v6h10v-6h4v6h2v-6h1zm-9 4H6v-4h6v4z"></path></g> <g id="subdirectory -arrow-left"><path d="M11 9l1.42 1.42L8.83 14H18V4h2v12H8.83l3.59 3.58L11 21l-6- 6 6-6z"></path></g> <g id="subdirectory-arrow-right"><path d="M19 15l-6 6-1.42-1 .42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z"></path></g> <g id="subject"><pa th d="M14 17H4v2h10v-2zm6-8H4v2h16V9zM4 15h16v-2H4v2zM4 5v2h16V5H4z"></path></g> <g id="supervisor-account"><path d="M16.5 12c1.38 0 2.49-1.12 2.49-2.5S17.88 7 16.5 7C15.12 7 14 8.12 14 9.5s1.12 2.5 2.5 2.5zM9 11c1.66 0 2.99-1.34 2.99-3S10. 66 5 9 5C7.34 5 6 6.34 6 8s1.34 3 3 3zm7.5 3c-1.83 0-5.5.92-5.5 2.75V19h11v-2.25 c0-1.83-3.67-2.75-5.5-2.75zM9 13c-2.33 0-7 1.17-7 3.5V19h7v-2.25c0-.85.33-2.34 2 .37-3.47C10.5 13.1 9.66 13 9 13z"></path></g> <g id="swap-horiz"><path d="M6.99 11L3 15l3.99 4v-3H14v-2H6.99v-3zM21 9l-3.99-4v3H10v2h7.01v3L21 9z"></path></g> < g id="swap-vert"><path d="M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3L5 6.99h3V 14h2V6.99h3L9 3z"></path></g> <g id="swap-vertical-circle"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM6.5 9L10 5.5 13.5 9H11v4H 9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g> <g id="system-update-a lt"><path d="M12 16.5l4-4h-3v-9h-2v9H8l4 4zm9-13h-6v1.99h6v14.03H3V5.49h6V3.5H3c -1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-14c0-1.1-.9-2-2-2z"></path>< /g> <g id="tab"><path d="M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h10v4h8v10z"></path></g> <g id="tab-unselected"><p ath d="M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h 2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2z M9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2 v2zm-8 8h2v-2h-2v2zm4 0h2v-2h-2v2z"></path></g> <g id="text-format"><path d="M5 17v2h14v-2H5zm4.5-4.2h5l.9 2.2h2.1L12.75 4h-1.5L6.5 15h2.1l.9-2.2zM12 5.98L13.87 11h-3.74L12 5.98z"></path></g> <g id="theaters"><path d="M18 3v2h-2V3H8v2H6V3H4 v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v -2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g> <g id="thumb-down"><path d="M1 5 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c 0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.3 6.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z"></path></g> <g id="thumb-up"> <path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.7 9-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54- .5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-1.91l-.01-.01L23 10z"></path></g> <g id="thumbs-up-down"><path d="M12 6c0-.55-.45-1-1-1H5.82l.66-3.18.02-.23c0-.31 -.13-.59-.33-.8L5.38 0 .44 4.94C.17 5.21 0 5.59 0 6v6.5c0 .83.67 1.5 1.5 1.5h6.7 5c.62 0 1.15-.38 1.38-.91l2.26-5.29c.07-.17.11-.36.11-.55V6zm10.5 4h-6.75c-.62 0 -1.15.38-1.38.91l-2.26 5.29c-.07.17-.11.36-.11.55V18c0 .55.45 1 1 1h5.18l-.66 3. 18-.02.24c0 .31.13.59.33.8l.79.78 4.94-4.94c.27-.27.44-.65.44-1.06v-6.5c0-.83-.6 7-1.5-1.5-1.5z"></path></g> <g id="timeline"><path d="M23 8c0 1.1-.9 2-2 2-.18 0 -.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02 -.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16. 07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34- .07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2 z"></path></g> <g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2z m16 0h2v-2h-2v2zm0-10v2h2V7h-2zm0 6h2v-2h-2v2z"></path></g> <g id="today"><path d="M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z"></path></g> <g id="toll" ><path d="M15 4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6s2.69-6 6-6 6 2.69 6 6-2.69 6-6 6zM3 12c0-2.61 1.67-4.83 4-5.65V4.26 C3.55 5.15 1 8.27 1 12s2.55 6.85 6 7.74v-2.09c-2.33-.82-4-3.04-4-5.65z"></path>< /g> <g id="touch-app"><path d="M9 11.24V7.5C9 6.12 10.12 5 11.5 5S14 6.12 14 7.5 v3.74c1.21-.81 2-2.18 2-3.74C16 5.01 13.99 3 11.5 3S7 5.01 7 7.5c0 1.56.79 2.93 2 3.74zm9.84 4.63l-4.54-2.26c-.17-.07-.35-.11-.54-.11H13v-6c0-.83-.67-1.5-1.5-1. 5S10 6.67 10 7.5v10.74l-3.43-.72c-.08-.01-.15-.03-.24-.03-.31 0-.59.13-.79.33l-. 79.8 4.94 4.94c.27.27.65.44 1.06.44h6.79c.75 0 1.33-.55 1.44-1.28l.75-5.27c.01-. 07.02-.14.02-.2 0-.62-.38-1.16-.91-1.38z"></path></g> <g id="track-changes"><pat h d="M19.07 4.93l-1.41 1.41C19.1 7.79 20 9.79 20 12c0 4.42-3.58 8-8 8s-8-3.58-8- 8c0-4.08 3.05-7.44 7-7.93v2.02C8.16 6.57 6 9.03 6 12c0 3.31 2.69 6 6 6s6-2.69 6- 6c0-1.66-.67-3.16-1.76-4.24l-1.41 1.41C15.55 9.9 16 10.9 16 12c0 2.21-1.79 4-4 4 s-4-1.79-4-4c0-1.86 1.28-3.41 3-3.86v2.14c-.6.35-1 .98-1 1.72 0 1.1.9 2 2 2s2-.9 2-2c0-.74-.4-1.38-1-1.72V2h-1C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10c0- 2.76-1.12-5.26-2.93-7.07z"></path></g> <g id="translate"><path d="M12.87 15.07l- 2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7 .92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.5 6l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l -4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path></g> <g id="trending-down"><p ath d="M16 18l2.29-2.29-4.88-4.88-4 4L2 7.41 3.41 6l6 6 4-4 6.3 6.29L22 12v6z">< /path></g> <g id="trending-flat"><path d="M22 12l-4-4v3H3v2h15v3z"></path></g> < g id="trending-up"><path d="M16 6l2.29 2.29-4.88 4.88-4-4L2 16.59 3.41 18l6-6 4 4 6.3-6.29L22 12V6z"></path></g> <g id="turned-in"><path d="M17 3H7c-1.1 0-1.99. 9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2z"></path></g> <g id="turned-in-not"><path d="M17 3H7c-1.1 0-1.99.9-1.99 2L5 21l7-3 7 3V5c0-1.1-.9-2-2-2zm0 15l-5-2.18L7 1 8V5h10v13z"></path></g> <g id="unarchive"><path d="M20.55 5.22l-1.39-1.68C18.88 3.21 18.47 3 18 3H6c-.47 0-.88.21-1.15.55L3.46 5.22C3.17 5.57 3 6.01 3 6.5V19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6.5c0-.49-.17-.93-.45-1.28zM12 9.5l5.5 5.5H14v2h- 4v-2H6.5L12 9.5zM5.12 5l.82-1h12l.93 1H5.12z"></path></g> <g id="undo"><path d=" M12.5 8c-2.65 0-5.05.99-6.9 2.6L2 7v9h9l-3.62-3.62c1.39-1.16 3.16-1.88 5.12-1.88 3.54 0 6.55 2.31 7.6 5.5l2.37-.78C21.08 11.03 17.15 8 12.5 8z"></path></g> <g i d="unfold-less"><path d="M7.41 18.59L8.83 20 12 16.83 15.17 20l1.41-1.41L12 14l- 4.59 4.59zm9.18-13.18L15.17 4 12 7.17 8.83 4 7.41 5.41 12 10l4.59-4.59z"></path> </g> <g id="unfold-more"><path d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"></pat h></g> <g id="update"><path d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88 -.1-2.73 2.71-2.73 7.08 0 9.79 2.73 2.71 7.15 2.71 9.88 0C18.32 15.65 19 14.08 1 9 12.1h2c0 1.98-.88 4.55-2.64 6.29-3.51 3.48-9.21 3.48-12.72 0-3.5-3.47-3.53-9.1 1-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21 L11 13V8h1.5z"></path></g> <g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.8 4 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6. 59L18 9l-8 8z"></path></g> <g id="view-agenda"><path d="M20 13H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zm0-10H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1z"></path></g> <g id="vie w-array"><path d="M4 18h3V5H4v13zM18 5v13h3V5h-3zM8 18h9V5H8v13z"></path></g> <g id="view-carousel"><path d="M7 19h10V4H7v15zm-5-2h4V6H2v11zM18 6v11h4V6h-4z"></ path></g> <g id="view-column"><path d="M10 18h5V5h-5v13zm-6 0h5V5H4v13zM16 5v13h 5V5h-5z"></path></g> <g id="view-day"><path d="M2 21h19v-3H2v3zM20 8H3c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h17c.55 0 1-.45 1-1V9c0-.55-.45-1-1-1zM2 3v3h19V3H2z"></ path></g> <g id="view-headline"><path d="M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V 9H4v2zm0-6v2h16V5H4z"></path></g> <g id="view-list"><path d="M4 14h4v-4H4v4zm0 5 h4v-4H4v4zM4 9h4V5H4v4zm5 5h12v-4H9v4zm0 5h12v-4H9v4zM9 5v4h12V5H9z"></path></g> <g id="view-module"><path d="M4 11h5V5H4v6zm0 7h5v-6H4v6zm6 0h5v-6h-5v6zm6 0h5v -6h-5v6zm-6-7h5V5h-5v6zm6-6v6h5V5h-5z"></path></g> <g id="view-quilt"><path d="M 10 18h5v-6h-5v6zm-6 0h5V5H4v13zm12 0h5v-6h-5v6zM10 5v6h11V5H10z"></path></g> <g id="view-stream"><path d="M4 18h17v-6H4v6zM4 5v6h17V5H4z"></path></g> <g id="vie w-week"><path d="M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0 -.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0 -.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0 -.55-.45-1-1-1z"></path></g> <g id="visibility"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2. 76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"></path></g> <g id="visibility-off"><path d="M12 7c2. 76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1 .73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03 -.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21- .08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2 .2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1. 34-3-3-3l-.17.01z"></path></g> <g id="warning"><path d="M1 21h22L12 2 1 21zm12-3 h-2v-2h2v2zm0-4h-2v-4h2v4z"></path></g> <g id="watch-later"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm4.2 14.2L11 13V7h1.5v5.2l4.5 2.7-.8 1.3z"></path></g> <g id="weekend"><path d="M21 10c-1.1 0-2 .9-2 2v3H5v-3c 0-1.1-.9-2-2-2s-2 .9-2 2v5c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2v-5c0-1.1-.9-2-2-2zm-3 -5H6c-1.1 0-2 .9-2 2v2.15c1.16.41 2 1.51 2 2.82V14h12v-2.03c0-1.3.84-2.4 2-2.82V 7c0-1.1-.9-2-2-2z"></path></g> <g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2 h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z"></path></g> <g id="youtube-searche d-for"><path d="M17.01 14h-.8l-.27-.27c.98-1.14 1.57-2.61 1.57-4.23 0-3.59-2.91- 6.5-6.5-6.5s-6.5 3-6.5 6.5H2l3.84 4 4.16-4H6.51C6.51 7 8.53 5 11.01 5s4.5 2.01 4 .5 4.5c0 2.48-2.02 4.5-4.5 4.5-.65 0-1.26-.14-1.82-.38L7.71 15.1c.97.57 2.09.9 3 .3.9 1.61 0 3.08-.59 4.22-1.57l.27.27v.79l5.01 4.99L22 19l-4.99-5z"></path></g> <g id="zoom-in"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5 .91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v. 79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9 .5 11.99 14 9.5 14zm2.5-4h-2v2H9v-2H7V9h2V7h1v2h2v1z"></path></g> <g id="zoom-ou t"><path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9 .5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20. 49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9 .5 14zM7 9h5v1H7z"></path></g> </defs></svg> </iron-iconset-svg> <script>!functi on(){"use strict";function e(e,t){var n="";if(e){var i=e.toLowerCase();" "===i|| v.test(i)?n="space":f.test(i)?n="esc":1==i.length?t&&!u.test(i)||(n=i):n=c.test( i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function t(e){var t="";ret urn e&&(e in o?t=o[e]:h.test(e)?(e=parseInt(e.replace("U+","0x"),16),t=String.fr omCharCode(e).toLowerCase()):t=e.toLowerCase()),t}function n(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112): e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):d[e]),t}function i(i,r){ret urn i.key?e(i.key,r):i.detail&&i.detail.key?e(i.detail.key,r):t(i.keyIdentifier) ||n(i.keyCode)||""}function r(e,t){var n=i(t,e.hasModifiers);return n===e.key&&( !e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKe y==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function s(e){return 1===e.length?{comb o:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"), i=n[0],r=n[1];return i in y?(e[y[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=r||" keydown"),e},{combo:e.split(":").shift()})}function a(e){return e.trim().split(" ").map(function(e){return s(e)})}var o={"U+0008":"backspace","U+0009":"tab","U+ 001B":"esc","U+0020":"space","U+007F":"del"},d={8:"backspace",9:"tab",13:"enter" ,27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:" up",39:"right",40:"down",46:"del",106:"*"},y={shift:"shiftKey",ctrl:"ctrlKey",al t:"altKey",meta:"metaKey"},u=/[a-z0-9*]/,h=/U\+/,c=/^arrow/,v=/^space(bar)?/,f=/ ^escape$/;Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object, value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value: !1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBind ings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListene rs(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){thi s._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detac hed:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t) {this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventLis teners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._p repKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:functi on(e,t){for(var n=a(t),i=0;i<n.length;++i)if(r(n[i],e))return!0;return!1},_colle ctKeyBindings:function(){var e=this.behaviors.map(function(e){return e.keyBindin gs});return e.indexOf(this.keyBindings)===-1&&e.push(this.keyBindings),e},_prepK eyBindings:function(){this._keyBindings={},this._collectKeyBindings().forEach(fu nction(e){for(var t in e)this._addKeyBinding(t,e[t])},this);for(var e in this._i mperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(v ar t in this._keyBindings)this._keyBindings[t].sort(function(e,t){var n=e[0].has Modifiers,i=t[0].hasModifiers;return n===i?0:n?-1:1})},_addKeyBinding:function(e ,t){a(e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.even t]||[],this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:fu nction(){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEvent Listeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.key s(this._keyBindings).forEach(function(e){var t=this._keyBindings[e],n=this._onKe yBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,n] ),this.keyEventTarget.addEventListener(e,n)},this)},_unlistenKeyEventListeners:f unction(){for(var e,t,n,i;this._boundKeyHandlers.length;)e=this._boundKeyHandler s.pop(),t=e[0],n=e[1],i=e[2],t.removeEventListener(n,i)},_onKeyBindingEvent:func tion(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPr evented)for(var n=0;n<e.length;n++){var i=e[n][0],s=e[n][1];if(r(i,t)&&(this._tr iggerKeyHandler(i,s,t),t.defaultPrevented))return}},_triggerKeyHandler:function( e,t,n){var i=Object.create(e);i.keyboardEvent=n;var r=new CustomEvent(e.event,{d etail:i,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&n.preventDefaul t()}}}()</script><script>Polymer.IronControlState={properties:{focused:{type:Boo lean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolea n,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabI ndex:{type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurH andler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusB lurHandler:function(e){if(e.target===this)this._setFocused("focus"===e.type);els e if(!this.shadowRoot){var t=Polymer.dom(e).localTarget;this.isLightDescendant(t )||this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.ca ncelable})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e? "true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.t abIndex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTab Index&&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._ controlStateChanged&&this._controlStateChanged()}}</script><script>Polymer.IronB uttonStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectTo Attribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectT oAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},po interDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Bo olean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observe r:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler" ,tap:"_tapHandler"},observers:["_focusChanged(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown ":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mou se/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.ac tive=!1},_focusChanged:function(e){this._detectKeyboardFocus(e),e||this._setPres sed(!1)},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!th is.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,th is.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setP ressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._s etPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e .detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(t .preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyU pHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;t his.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1) )},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChange d:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e ,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:funct ion(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false "):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_c ontrolStateChanged:function(){this.disabled?this._setPressed(!1):this._changedBu ttonState()},_changedButtonState:function(){this._buttonStateChanged&&this._butt onStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer .IronButtonStateImpl]</script> <dom-module id="paper-ripple" assetpath="/res/imp /bower_components/paper-ripple/"> <template> <style>:host{display:block;position :absolute;border-radius:inherit;overflow:hidden;top:0;left:0;right:0;bottom:0;po inter-events:none}:host([animating]){-webkit-transform:translate(0,0);transform: translate3d(0,0,0)}#background,#waves,.wave,.wave-container{pointer-events:none; position:absolute;top:0;left:0;width:100%;height:100%}#background,.wave{opacity: 0}#waves,.wave{overflow:hidden}.wave,.wave-container{border-radius:50%}:host(.ci rcle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-c ontainer{overflow:hidden}</style> <div id="background"></div> <div id="waves"></ div> </template> </dom-module> <script>!function(){function t(t){this.element=t, this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.siz e=Math.max(this.width,this.height)}function i(t){this.element=t,this.color=windo w.getComputedStyle(t).color,this.wave=document.createElement("div"),this.waveCon tainer=document.createElement("div"),this.wave.style.backgroundColor=this.color, this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container "),Polymer.dom(this.waveContainer).appendChild(this.wave),this.resetInteractionS tate()}var e={distance:function(t,i,e,n){var s=t-e,o=i-n;return Math.sqrt(s*s+o* o)},now:window.performance&&window.performance.now?window.performance.now.bind(w indow.performance):Date.now};t.prototype={get boundingRect(){return this.element .getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.dista nce(t,i,0,0),s=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),a=e. distance(t,i,this.width,this.height);return Math.max(n,s,o,a)}},i.MAX_RADIUS=300 ,i.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var t;return this.mouseDownStart?(t =e.now()-this.mouseDownStart,this.mouseUpStart&&(t-=this.mouseUpElapsed),t):0},g et mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mo useDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeco nds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this. mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opac ityDecayVelocity},get radius(){var t=this.containerMetrics.width*this.containerM etrics.width,e=this.containerMetrics.height*this.containerMetrics.height,n=1.1*M ath.min(Math.sqrt(t+e),i.MAX_RADIUS)+5,s=1.1-.2*(n/i.MAX_RADIUS),o=this.mouseInt eractionSeconds/s,a=n*(1-Math.pow(80,-o));return Math.abs(a)},get opacity(){retu rn this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*t his.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var t=.3*this. mouseUpElapsedSeconds,i=this.opacity;return Math.max(0,Math.min(t,i))},get isOpa cityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius ,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpac ity&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isAnimationComplete (){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius },get translationFraction(){return Math.min(1,this.radius/this.containerMetrics. size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFr action*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.ySt art+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDow n(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:functi on(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,th is.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=n ew t(this.element)},draw:function(){var t,i,e;this.wave.style.opacity=this.opaci ty,t=this.radius/(this.containerMetrics.size/2),i=this.xNow-this.containerMetric s.width/2,e=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.we bkitTransform="translate("+i+"px, "+e+"px)",this.waveContainer.style.transform=" translate3d("+i+"px, "+e+"px, 0)",this.wave.style.webkitTransform="scale("+t+"," +t+")",this.wave.style.transform="scale3d("+t+","+t+",1)"},downAction:function(t ){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.rese tInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this. yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yE nd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.cont ainerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect .top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,th is.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.m axRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStar t),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetr ics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this .containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetr ics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},u pAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:functi on(){Polymer.dom(this.waveContainer.parentNode).removeChild(this.waveContainer)} },Polymer({is:"paper-ripple",behaviors:[Polymer.IronA11yKeysBehavior],properties :{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value :.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{t ype:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflec tToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownCha nged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{ty pe:Function,value:function(){return this.animate.bind(this)}}},get target(){retu rn this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:ke ydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11== this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().ho st:this.keyEventTarget=this.parentNode;var t=this.keyEventTarget;this.listen(t," up","uiUpAction"),this.listen(t,"down","uiDownAction")},detached:function(){this .unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarg et,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){fo r(var t=0;t<this.ripples.length;++t)if(!this.ripples[t].isAnimationComplete)retu rn!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(funct ion(){this.upAction()},1)},uiDownAction:function(t){this.noink||this.downAction( t)},downAction:function(t){if(!(this.holdDown&&this.ripples.length>0)){var i=thi s.addRipple();i.downAction(t),this._animating||(this._animating=!0,this.animate( ))}},uiUpAction:function(t){this.noink||this.upAction(t)},upAction:function(t){t his.holdDown||(this.ripples.forEach(function(i){i.upAction(t)}),this._animating= !0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.bac kground.style.backgroundColor=null,this.fire("transitionend")},addRipple:functio n(){var t=new i(this);return Polymer.dom(this.$.waves).appendChild(t.waveContain er),this.$.background.style.backgroundColor=t.color,this.ripples.push(t),this._s etAnimating(!0),t},removeRipple:function(t){var i=this.ripples.indexOf(t);i<0||( this.ripples.splice(i,1),t.remove(),this.ripples.length||this._setAnimating(!1)) },animate:function(){if(this._animating){var t,i;for(t=0;t<this.ripples.length;+ +t)i=this.ripples[t],i.draw(),this.$.background.style.opacity=i.outerOpacity,i.i sOpacityFullyDecayed&&!i.isRestingAtMaxRadius&&this.removeRipple(i);this.shouldK eepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAn imate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction (),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction() },_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(t,i){voi d 0!==i&&(t?this.downAction():this.upAction())}})}()</script> <script>Polymer.Pa perRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_ri ppleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.e nsureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler .call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!t his.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink ;var i=this._rippleContainer||this.root;if(i&&Polymer.dom(i).appendChild(this._r ipple),e){var n=Polymer.dom(this._rippleContainer||this),t=Polymer.dom(e).rootTa rget;n.deepContains(t)&&this._ripple.uiDownAction(e)}}},getRipple:function(){ret urn this.ensureRipple(),this._ripple},hasRipple:function(){return Boolean(this._ ripple)},_createRipple:function(){return document.createElement("paper-ripple")} ,_noinkChanged:function(e){this.hasRipple()&&(this._ripple.noink=e)}}</script><s cript>Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflec tToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFoc usFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calcu lateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4 :this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardCl ass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:funct ion(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRip ple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKey UpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e ),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Pol ymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polyme r.PaperButtonBehaviorImpl]</script><style is="custom-style">:root{--shadow-trans ition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-sh adow:none};--shadow-elevation-2dp:{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)};--shadow-elevation-3dp:{box -shadow:0 3px 4px 0 rgba(0,0,0,.14),0 1px 8px 0 rgba(0,0,0,.12),0 3px 3px -2px r gba(0,0,0,.4)};--shadow-elevation-4dp:{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)};--shadow-elevation-6dp :{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.4)};--shadow-elevation-8dp:{box-shadow:0 8px 10px 1px rgba(0,0 ,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.4)};--shadow-e levation-12dp:{box-shadow:0 12px 16px 1px rgba(0,0,0,.14),0 4px 22px 3px rgba(0, 0,0,.12),0 6px 7px -4px rgba(0,0,0,.4)};--shadow-elevation-16dp:{box-shadow:0 16 px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba( 0,0,0,.4)};--shadow-elevation-24dp:{box-shadow:0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12),0 11px 15px -7px rgba(0,0,0,.4)};}</style> <dom-mo dule id="paper-material-shared-styles" assetpath="/res/imp/bower_components/pape r-material/"> <template> <style>:host{display:block;position:relative}:host([ele vation="1"]){@apply(--shadow-elevation-2dp);}:host([elevation="2"]){@apply(--sha dow-elevation-4dp);}:host([elevation="3"]){@apply(--shadow-elevation-6dp);}:host ([elevation="4"]){@apply(--shadow-elevation-8dp);}:host([elevation="5"]){@apply( --shadow-elevation-16dp);}</style> </template> </dom-module> <style is="custom-s tyle">:root{--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:# db4437;--google-red-700:#c53929;--google-blue-100:#c6dafc;--google-blue-300:#7ba af7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1 cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8 043;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500: #f4b400;--google-yellow-700:#f09300;--google-grey-100:#f5f5f5;--google-grey-300: #e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--paper-red-50:#ffeb ee;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--pap er-red-400:#ef5350;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-7 00:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8 a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;- -paper-pink-50:#fce4ec;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper -pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-500:#e91e63;--paper-pink -600:#d81b60;--paper-pink-700:#c2185b;--paper-pink-800:#ad1457;--paper-pink-900: #880e4f;--paper-pink-a100:#ff80ab;--paper-pink-a200:#ff4081;--paper-pink-a400:#f 50057;--paper-pink-a700:#c51162;--paper-purple-50:#f3e5f5;--paper-purple-100:#e1 bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#a b47bc;--paper-purple-500:#9c27b0;--paper-purple-600:#8e24aa;--paper-purple-700:# 7b1fa2;--paper-purple-800:#6a1b9a;--paper-purple-900:#4a148c;--paper-purple-a100 :#ea80fc;--paper-purple-a200:#e040fb;--paper-purple-a400:#d500f9;--paper-purple- a700:#aa00ff;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-100:#d1c4e9;--pa per-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple- 400:#7e57c2;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--pa per-deep-purple-700:#512da8;--paper-deep-purple-800:#4527a0;--paper-deep-purple- 900:#311b92;--paper-deep-purple-a100:#b388ff;--paper-deep-purple-a200:#7c4dff;-- paper-deep-purple-a400:#651fff;--paper-deep-purple-a700:#6200ea;--paper-indigo-5 0:#e8eaf6;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-3 00:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-500:#3f51b5;--paper-indigo- 600:#3949ab;--paper-indigo-700:#303f9f;--paper-indigo-800:#283593;--paper-indigo -900:#1a237e;--paper-indigo-a100:#8c9eff;--paper-indigo-a200:#536dfe;--paper-ind igo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-blue-50:#e3f2fd;--paper-blu e-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400 :#42a5f5;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#197 6d2;--paper-blue-800:#1565c0;--paper-blue-900:#0d47a1;--paper-blue-a100:#82b1ff; --paper-blue-a200:#448aff;--paper-blue-a400:#2979ff;--paper-blue-a700:#2962ff;-- paper-light-blue-50:#e1f5fe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-20 0:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper- light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#02 88d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light -blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0 ff;--paper-light-blue-a700:#0091ea;--paper-cyan-50:#e0f7fa;--paper-cyan-100:#b2e bf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;- -paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--pape r-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cy an-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-teal -50:#e0f2f1;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:# 4db6ac;--paper-teal-400:#26a69a;--paper-teal-500:#009688;--paper-teal-600:#00897 b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--p aper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--pap er-teal-a700:#00bfa5;--paper-green-50:#e8f5e9;--paper-green-100:#c8e6c9;--paper- green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-gr een-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-gree n-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green -a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-ligh t-green-50:#f1f8e9;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1 a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light -green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f 38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light -green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#7 6ff03;--paper-light-green-a700:#64dd17;--paper-lime-50:#f9fbe7;--paper-lime-100: #f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e1 57;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;-- paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--pape r-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper- yellow-50:#fffde7;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper- yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-500:#ffeb3b;--paper -yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--pape r-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ffff00;--p aper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600;--paper-amber-50:#fff8e1;-- paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--pa per-amber-400:#ffca28;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--pape r-amber-700:#ffa000;--paper-amber-800:#ff8f00;--paper-amber-900:#ff6f00;--paper- amber-a100:#ffe57f;--paper-amber-a200:#ffd740;--paper-amber-a400:#ffc400;--paper -amber-a700:#ffab00;--paper-orange-50:#fff3e0;--paper-orange-100:#ffe0b2;--paper -orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--pape r-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--pap er-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--p aper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500 ;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-100:#ffccbc;--paper-deep-ora nge-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043; --paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-ora nge-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c; --paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-o range-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-brown-50:#efebe9;--p aper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--pap er-brown-400:#8d6e63;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper -brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-g rey-50:#fafafa;--paper-grey-100:#f5f5f5;--paper-grey-200:#eeeeee;--paper-grey-30 0:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-500:#9e9e9e;--paper-grey-600:#75 7575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121; --paper-blue-grey-50:#eceff1;--paper-blue-grey-100:#cfd8dc;--paper-blue-grey-200 :#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blu e-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;- -paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--dark-divider-opacit y:0.12;--dark-disabled-opacity:0.38;--dark-secondary-opacity:0.54;--dark-primary -opacity:0.87;--light-divider-opacity:0.12;--light-disabled-opacity:0.3;--light- secondary-opacity:0.7;--light-primary-opacity:1.0}</style> <style is="custom-sty le">:root{--primary-text-color:var(--light-theme-text-color);--primary-backgroun d-color:var(--light-theme-background-color);--secondary-text-color:var(--light-t heme-secondary-color);--disabled-text-color:var(--light-theme-disabled-color);-- divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-or ange-a700);--primary-color:var(--paper-indigo-500);--light-primary-color:var(--p aper-indigo-100);--dark-primary-color:var(--paper-indigo-700);--accent-color:var (--paper-pink-a200);--light-accent-color:var(--paper-pink-a100);--dark-accent-co lor:var(--paper-pink-a400);--light-theme-background-color:#ffffff;--light-theme- base-color:#000000;--light-theme-text-color:var(--paper-grey-900);--light-theme- secondary-color:#737373;--light-theme-disabled-color:#9b9b9b;--light-theme-divid er-color:#dbdbdb;--dark-theme-background-color:var(--paper-grey-900);--dark-them e-base-color:#ffffff;--dark-theme-text-color:#ffffff;--dark-theme-secondary-colo r:#bcbcbc;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c ;--text-primary-color:var(--dark-theme-text-color);--default-primary-color:var(- -primary-color)}</style> <dom-module id="paper-fab" assetpath="/res/imp/bower_co mponents/paper-fab/"> <template strip-whitespace=""> <style include="paper-mater ial-shared-styles">:host{@apply(--layout-vertical);@apply(--layout-center-center );background:var(--paper-fab-background,--accent-color);border-radius:50%;box-si zing:border-box;color:var(--text-primary-color);cursor:pointer;height:56px;min-w idth:0;outline:0;padding:16px;position:relative;-moz-user-select:none;-ms-user-s elect:none;-webkit-user-select:none;user-select:none;width:56px;z-index:0;-webki t-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;@apply (--paper-fab);}[hidden]{display:none!important}:host([mini]){width:40px;height:4 0px;padding:8px;@apply(--paper-fab-mini);}:host([disabled]){color:var(--paper-fa b-disabled-text,--paper-grey-500);background:var(--paper-fab-disabled-background ,--paper-grey-300);@apply(--paper-fab-disabled);}iron-icon{@apply(--paper-fab-ir on-icon);}span{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellip sis;text-align:center;@apply(--paper-fab-label);}:host(.keyboard-focus){backgrou nd:var(--paper-fab-keyboard-focus-background,--paper-pink-900)}</style> <iron-ic on id="icon" hidden$="{{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[i con]]"></iron-icon> <span hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</ span> </template> <script>Polymer({is:"paper-fab",behaviors:[Polymer.PaperButton Behavior],properties:{src:{type:String,value:""},icon:{type:String,value:""},min i:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,observer:"_la belChanged"}},_labelChanged:function(){this.setAttribute("aria-label",this.label )},_computeIsIconFab:function(e,t){return e.length>0||t.length>0}})</script> </d om-module> <script>Polymer.PaperInkyFocusBehaviorImpl={observers:["_focusedChang ed(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple (),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=P olymer.PaperRippleBehavior._createRipple();return e.id="ink",e.setAttribute("cen ter",""),e.classList.add("circle"),e}},Polymer.PaperInkyFocusBehavior=[Polymer.I ronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.Pape rInkyFocusBehaviorImpl]</script><dom-module id="paper-icon-button" assetpath="/r es/imp/bower_components/paper-icon-button/"> <template strip-whitespace=""> <sty le>:host{display:inline-block;position:relative;padding:8px;outline:0;-webkit-us er-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;curso r:pointer;z-index:0;line-height:1;width:40px;height:40px;-webkit-tap-highlight-c olor:transparent;-webkit-tap-highlight-color:transparent;box-sizing:border-box!i mportant;@apply(--paper-icon-button);}:host #ink{color:var(--paper-icon-button-i nk-color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-ic on-button-disabled-text,--disabled-text-color);pointer-events:none;cursor:auto;@ apply(--paper-icon-button-disabled);}:host(:hover){@apply(--paper-icon-button-ho ver);}iron-icon{--iron-icon-width:100%;--iron-icon-height:100%}</style> <iron-ic on id="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon> </templat e> <script>Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabinde x:"0"},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String}, icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:functio n(t,e){var r=this.getAttribute("aria-label");r&&e!=r||this.setAttribute("aria-la bel",t)}})</script> </dom-module> <script>Polymer.PaperItemBehaviorImpl={hostAtt ributes:{role:"option",tabindex:"0"}},Polymer.PaperItemBehavior=[Polymer.IronBut tonState,Polymer.IronControlState,Polymer.PaperItemBehaviorImpl]</script><style is="custom-style">:root{--paper-font-common-base:{font-family:Roboto,Noto,sans-s erif;-webkit-font-smoothing:antialiased};--paper-font-common-code:{font-family:' Roboto Mono',Consolas,Menlo,monospace;-webkit-font-smoothing:antialiased};--pape r-font-common-expensive-kerning:{text-rendering:optimizeLegibility};--paper-font -common-nowrap:{white-space:nowrap;overflow:hidden;text-overflow:ellipsis};--pap er-font-display4:{@apply(--paper-font-common-base);@apply(--paper-font-common-no wrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-height:120px}; --paper-font-display3:{@apply(--paper-font-common-base);@apply(--paper-font-comm on-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line-height:60p x};--paper-font-display2:{@apply(--paper-font-common-base);font-size:45px;font-w eight:400;letter-spacing:-.018em;line-height:48px};--paper-font-display1:{@apply (--paper-font-common-base);font-size:34px;font-weight:400;letter-spacing:-.01em; line-height:40px};--paper-font-headline:{@apply(--paper-font-common-base);font-s ize:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--paper-font-t itle:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-s ize:20px;font-weight:500;line-height:28px};--paper-font-subhead:{@apply(--paper- font-common-base);font-size:16px;font-weight:400;line-height:24px};--paper-font- body2:{@apply(--paper-font-common-base);font-size:14px;font-weight:500;line-heig ht:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-size:14px;fon t-weight:400;line-height:20px};--paper-font-caption:{@apply(--paper-font-common- base);@apply(--paper-font-common-nowrap);font-size:12px;font-weight:400;letter-s pacing:0.011em;line-height:20px};--paper-font-menu:{@apply(--paper-font-common-b ase);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:500;line-heig ht:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply(--paper-fo nt-common-nowrap);font-size:14px;font-weight:500;letter-spacing:0.018em;line-hei ght:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper-font-commo n-code);font-size:14px;font-weight:700;line-height:20px};--paper-font-code1:{@ap ply(--paper-font-common-code);font-size:14px;font-weight:500;line-height:20px};} </style> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ro boto+Mono:400,700|Roboto:400,300,300italic,400italic,500,500italic,700,700italic " crossorigin="anonymous"><dom-module id="paper-item-shared-styles" assetpath="/ res/imp/bower_components/paper-item/"> <template> <style>.paper-item,:host{displ ay:block;position:relative;min-height:var(--paper-item-min-height,48px);padding: 0 16px}.paper-item{@apply(--paper-font-subhead);border:none;outline:0;background :#fff;width:100%;text-align:left}.paper-item[hidden],:host([hidden]){display:non e!important}.paper-item.iron-selected,:host(.iron-selected){font-weight:var(--pa per-item-selected-weight,bold);@apply(--paper-item-selected);}.paper-item[disabl ed],:host([disabled]){color:var(--paper-item-disabled-color,--disabled-text-colo r);@apply(--paper-item-disabled);}.paper-item:focus,:host(:focus){position:relat ive;outline:0;@apply(--paper-item-focused);}.paper-item:focus:before,:host(:focu s):before{@apply(--layout-fit);background:currentColor;content:'';opacity:var(-- dark-divider-opacity);pointer-events:none;@apply(--paper-item-focused-before);}< /style> </template> </dom-module> <dom-module id="paper-item" assetpath="/res/im p/bower_components/paper-item/"> <template> <style include="paper-item-shared-st yles"></style> <style>:host{@apply(--layout-horizontal);@apply(--layout-center); @apply(--paper-font-subhead);@apply(--paper-item);}</style> <content></content> </template> <script>Polymer({is:"paper-item",behaviors:[Polymer.PaperItemBehavio r]})</script> </dom-module> <script>Polymer.IronSelection=function(e){this.selec tion=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){r eturn this.multi?this.selection.slice():this.selection[0]},clear:function(e){thi s.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelect ed(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},set ItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selecti on.push(e);else{var i=this.selection.indexOf(e);i>=0&&this.selection.splice(i,1) }this.selectCallback&&this.selectCallback(e,t)}},select:function(e){this.multi?t his.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemS elected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}} </script><script>Polymer.IronSelectableBehavior={properties:{attrForSelected:{ty pe:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object ,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activa teEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-select ed"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,v alue:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_ excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers :["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkF allback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filte rItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection. bind(this))},attached:function(){this._observer=this._observeItems(this),this._u pdateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListen er(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).un observeNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:f unction(e){return this.items.indexOf(e)},select:function(e){this.selected=e},sel ectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this .selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){va r e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selecte d=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue( e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdat eSelection(){return null!=this.selected},_checkFallback:function(){this._shouldU pdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(thi s,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_acti vateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this. _addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistribute dElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilter Item),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSel ection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_up dateSelected:function(){this._selectSelected(this.selected)},_selectSelected:fun ction(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackS election&&this.items.length&&void 0===this._selection.get()&&(this.selected=this .fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.l ocalName]},_valueToItem:function(e){return null==e?null:this.items[this._valueTo Index(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);f or(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToV alue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t? this._valueForItem(t):void 0},_valueForItem:function(e){var t=e[Polymer.CaseMap. dashToCamelCase(this.attrForSelected)];return void 0!=t?t:e.getAttribute(this.at trForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleCla ss(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.sel ectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"desel ect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selecti on.get())},_observeItems:function(e){return Polymer.dom(e).observeNodes(function (e){this._updateItems(),this._shouldUpdateSelection&&this._updateSelected(),this .fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:fun ction(e){for(var t=e.target,i=this.items;t&&t!=this;){var s=i.indexOf(t);if(s>=0 ){var n=this._indexToValue(s);return void this._itemActivate(n,t)}t=t.parentNode }},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{ca ncelable:!0}).defaultPrevented||this.select(e)}}</script><script>Polymer.IronMul tiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"mul tiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,read Only:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select :function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selecte dValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},g et _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValue s&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this ._shouldUpdateSelection&&(this.selectedValues=this.selectedItems.map(function(e) {return this._indexToValue(this.indexOf(e))},this).filter(function(e){return nul l!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)}, _updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):thi s._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._val uesToItems(e);this._selection.clear(t);for(var l=0;l<t.length;l++)this._selectio n.setItemSelected(t[l],!0);if(this.fallbackSelection&&this.items.length&&!this._ selection.get().length){var s=this._valueToItem(this.fallbackSelection);s&&(this .selectedValues=[this.fallbackSelection])}}else this._selection.clear()},_select ionChange:function(){var e=this._selection.get();this.multi?this._setSelectedIte ms(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:fu nction(e){var t=this.selectedValues.indexOf(e),l=t<0;l?this.push("selectedValues ",e):this.splice("selectedValues",t,1)},_valuesToItems:function(e){return null== e?null:e.map(function(e){return this._valueToItem(e)},this)}},Polymer.IronMultiS electableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBeh aviorImpl]</script><script>Polymer.IronMenuBehaviorImpl={properties:{focusedItem :{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type :String},disabled:{type:Boolean,value:!1,observer:"_disabledChanged"}},_SEARCH_R ESET_TIMEOUT_MS:1e3,_previousTabIndex:0,hostAttributes:{role:"menu"},observers:[ "_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown ","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_ onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:funct ion(){this._resetTabindices()},select:function(e){this._defaultFocusAsync&&(this .cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null);var t=this._ valueToItem(e);t&&t.hasAttribute("disabled")||(this._setFocusedItem(t),Polymer.I ronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:f unction(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.select edItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")} ,this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselect able","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEv ent:function(e){this.cancelDebouncer("_clearSearchText");var t=this._searchText| |"",i=e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode);t+=i.toLocaleL owerCase();for(var s,o=t.length,n=0;s=this.items[n];n++)if(!s.hasAttribute("disa bled")){var r=this.attrForItemTitle||"textContent",a=(s[r]||s.getAttribute(r)||" ").trim();if(!(a.length<o)&&a.slice(0,o).toLocaleLowerCase()==t){this._setFocuse dItem(s);break}}this._searchText=t,this.debounce("_clearSearchText",this._clearS earchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._sear chText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.i ndexOf(this.focusedItem)),i=1;i<e+1;i++){var s=this.items[(t-i+e)%e];if(!s.hasAt tribute("disabled")){var o=Polymer.dom(s).getOwnerRoot()||document;if(this._setF ocusedItem(s),Polymer.dom(o).activeElement==s)return}}},_focusNext:function(){fo r(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++ ){var s=this.items[(t+i)%e];if(!s.hasAttribute("disabled")){var o=Polymer.dom(s) .getOwnerRoot()||document;if(this._setFocusedItem(s),Polymer.dom(o).activeElemen t==s)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","t rue"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySe lection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribu te("tabindex","-1"),!e||e.hasAttribute("disabled")||this.disabled||(e.setAttribu te("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNod es.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAt tribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFo cusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.se tAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_ onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Pol ymer.dom(e).rootTarget;(t===this||"undefined"==typeof t.tabIndex||this.isLightDe scendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?th is.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(n ull),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:fu nction(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDown Key:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEs cKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEv entMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagati on()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandl er.call(this,e),e.stopPropagation()},_disabledChanged:function(e){e?(this._previ ousTabIndex=this.hasAttribute("tabindex")?this.tabIndex:0,this.removeAttribute(" tabindex")):this.hasAttribute("tabindex")||this.setAttribute("tabindex",this._pr eviousTabIndex)}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronM enuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Po lymer.IronMenuBehaviorImpl]</script><dom-module id="paper-menu-shared-styles" as setpath="/res/imp/bower_components/paper-menu/"> <template> <style>.selectable-c ontent>::content>.iron-selected{font-weight:700;@apply(--paper-menu-selected-ite m);}.selectable-content>::content>[disabled]{color:var(--paper-menu-disabled-col or,--disabled-text-color)}.selectable-content>::content>:focus{position:relative ;outline:0;@apply(--paper-menu-focused-item);}.selectable-content>::content>:foc us:after{@apply(--layout-fit);background:currentColor;opacity:var(--dark-divider -opacity);content:'';pointer-events:none;@apply(--paper-menu-focused-item-after) ;}.selectable-content>::content>[colored]:focus:after{opacity:.26}</style> </tem plate> </dom-module> <dom-module id="paper-menu" assetpath="/res/imp/bower_compo nents/paper-menu/"> <template> <style include="paper-menu-shared-styles"></style > <style>:host{display:block;padding:8px 0;background:var(--paper-menu-backgroun d-color,--primary-background-color);color:var(--paper-menu-color,--primary-text- color);@apply(--paper-menu);}</style> <div class="selectable-content"> <content> </content> </div> </template> <script>!function(){Polymer({is:"paper-menu",behav iors:[Polymer.IronMenuBehavior]})}()</script> </dom-module> <script>Polymer.Pape rSpinnerBehavior={listeners:{animationend:"__reset",webkitAnimationEnd:"__reset" },properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__ac tiveChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolin gDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e| |t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__ setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){e===this.ge tPropertyInfo("alt").value?this.alt=this.getAttribute("aria-label")||e:(this.__s etAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:functio n(e){var t="aria-hidden";e?this.setAttribute(t,"true"):this.removeAttribute(t)}, __reset:function(){this.active=!1,this.__coolingDown=!1}}</script><dom-module id ="paper-spinner-styles" assetpath="/res/imp/bower_components/paper-spinner/"> <t emplate> <style>:host{display:inline-block;position:relative;width:28px;height:2 8px;--paper-spinner-container-rotation-duration:1568ms;--paper-spinner-expand-co ntract-duration:1333ms;--paper-spinner-full-cycle-duration:5332ms;--paper-spinne r-cooldown-duration:400ms}#spinnerContainer{width:100%;height:100%;direction:ltr }#spinnerContainer.active{-webkit-animation:container-rotate var(--paper-spinner -container-rotation-duration) linear infinite;animation:container-rotate var(--p aper-spinner-container-rotation-duration) linear infinite}@-webkit-keyframes con tainer-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{t o{transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:1 00%;opacity:0;white-space:nowrap;border-color:var(--paper-spinner-color,--google -blue-500)}.layer-1{border-color:var(--paper-spinner-layer-1-color,--google-blue -500)}.layer-2{border-color:var(--paper-spinner-layer-2-color,--google-red-500)} .layer-3{border-color:var(--paper-spinner-layer-3-color,--google-yellow-500)}.la yer-4{border-color:var(--paper-spinner-layer-4-color,--google-green-500)}.active .spinner-layer{-webkit-animation-name:fill-unfill-rotate;-webkit-animation-dura tion:var(--paper-spinner-full-cycle-duration);-webkit-animation-timing-function: cubic-bezier(.4,0,.2,1);-webkit-animation-iteration-count:infinite;animation-nam e:fill-unfill-rotate;animation-duration:var(--paper-spinner-full-cycle-duration) ;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-iteration-count:inf inite;opacity:1}.active .spinner-layer.layer-1{-webkit-animation-name:fill-unfil l-rotate,layer-1-fade-in-out;animation-name:fill-unfill-rotate,layer-1-fade-in-o ut}.active .spinner-layer.layer-2{-webkit-animation-name:fill-unfill-rotate,laye r-2-fade-in-out;animation-name:fill-unfill-rotate,layer-2-fade-in-out}.active .s pinner-layer.layer-3{-webkit-animation-name:fill-unfill-rotate,layer-3-fade-in-o ut;animation-name:fill-unfill-rotate,layer-3-fade-in-out}.active .spinner-layer. layer-4{-webkit-animation-name:fill-unfill-rotate,layer-4-fade-in-out;animation- name:fill-unfill-rotate,layer-4-fade-in-out}@-webkit-keyframes fill-unfill-rotat e{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37 .5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{ -webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-web kit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fi ll-unfill-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37. 5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate( 675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform :rotate(1080deg)}}@-webkit-keyframes layer-1-fade-in-out{0%{opacity:1}25%{opacit y:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}to{opacity:1}}@keyframes layer-1-f ade-in-out{0%{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1} to{opacity:1}}@-webkit-keyframes layer-2-fade-in-out{0%{opacity:0}15%{opacity:0} 25%{opacity:1}50%{opacity:1}51%{opacity:0}to{opacity:0}}@keyframes layer-2-fade- in-out{0%{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}to{o pacity:0}}@-webkit-keyframes layer-3-fade-in-out{0%{opacity:0}40%{opacity:0}50%{ opacity:1}75%{opacity:1}76%{opacity:0}to{opacity:0}}@keyframes layer-3-fade-in-o ut{0%{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}to{opaci ty:0}}@-webkit-keyframes layer-4-fade-in-out{0%{opacity:0}65%{opacity:0}75%{opac ity:1}90%{opacity:1}to{opacity:0}}@keyframes layer-4-fade-in-out{0%{opacity:0}65 %{opacity:0}75%{opacity:1}90%{opacity:1}to{opacity:0}}.circle-clipper{display:in line-block;position:relative;width:50%;height:100%;overflow:hidden;border-color: inherit}.spinner-layer::after{left:45%;width:10%;border-top-style:solid}.circle- clipper::after,.spinner-layer::after{content:'';box-sizing:border-box;position:a bsolute;top:0;border-width:var(--paper-spinner-stroke-width,3px);border-color:in herit;border-radius:50%}.circle-clipper::after{bottom:0;width:200%;border-style: solid;border-bottom-color:transparent!important}.circle-clipper.left::after{left :0;border-right-color:transparent!important;-webkit-transform:rotate(129deg);tra nsform:rotate(129deg)}.circle-clipper.right::after{left:-100%;border-left-color: transparent!important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg )}.active .circle-clipper::after,.active .gap-patch::after{-webkit-animation-dur ation:var(--paper-spinner-expand-contract-duration);-webkit-animation-timing-fun ction:cubic-bezier(.4,0,.2,1);-webkit-animation-iteration-count:infinite;animati on-duration:var(--paper-spinner-expand-contract-duration);animation-timing-funct ion:cubic-bezier(.4,0,.2,1);animation-iteration-count:infinite}.active .circle-c lipper.left::after{-webkit-animation-name:left-spin;animation-name:left-spin}.ac tive .circle-clipper.right::after{-webkit-animation-name:right-spin;animation-na me:right-spin}@-webkit-keyframes left-spin{0%{-webkit-transform:rotate(130deg)}5 0%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyfram es left-spin{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transfor m:rotate(130deg)}}@-webkit-keyframes right-spin{0%{-webkit-transform:rotate(-130 deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@k eyframes right-spin{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{t ransform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container -rotate var(--paper-spinner-container-rotation-duration) linear infinite,fade-ou t var(--paper-spinner-cooldown-duration) cubic-bezier(.4,0,.2,1);animation:conta iner-rotate var(--paper-spinner-container-rotation-duration) linear infinite,fad e-out var(--paper-spinner-cooldown-duration) cubic-bezier(.4,0,.2,1)}@-webkit-ke yframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes fade-out{0%{opacity:1}to{ opacity:0}}</style> </template> </dom-module> <dom-module id="paper-spinner-lite " assetpath="/res/imp/bower_components/paper-spinner/"> <template strip-whitespa ce=""> <style include="paper-spinner-styles"></style> <div id="spinnerContainer" class-name="[[__computeContainerClasses(active, __coolingDown)]]"> <div class=" spinner-layer"> <div class="circle-clipper left"></div> <div class="circle-clipp er right"></div> </div> </div> </template> <script>Polymer({is:"paper-spinner-li te",behaviors:[Polymer.PaperSpinnerBehavior]})</script> </dom-module> <script>!f unction(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{libraryLoad ed:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{type:Strin g,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(libraryUrl)" ],_libraryUrlChanged:function(r){this._isReady&&this.libraryUrl&&this._loadLibra ry()},_libraryLoadCallback:function(r,i){r?(Polymer.Base._warn("Library load fai led:",r.message),this._setLibraryErrorMessage(r.message)):(this._setLibraryError Message(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.notify Event,i))},_loadLibrary:function(){r.require(this.libraryUrl,this._libraryLoadCa llback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this.lib raryUrl&&this._loadLibrary()}};var r={apiMap:{},require:function(r,t,e){var a=th is.nameFromUrl(r);this.apiMap[a]||(this.apiMap[a]=new i(a,r,e)),this.apiMap[a].r equestNotify(t)},nameFromUrl:function(r){return r.replace(/[\:\/\%\?\&\.\=\-\,]/ g,"_")+"_api"}},i=function(r,i,t){if(this.notifiers=[],!t){if(!(i.indexOf(this.c allbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior a % %callback%% parameter is required in libraryUrl"));t=r+"_loaded",i=i.replace(thi s.callbackMacro,t)}this.callbackName=t,window[this.callbackName]=this.success.bi nd(this),this.addScript(i)};i.prototype={callbackMacro:"%%callback%%",loaded:!1, addScript:function(r){var i=document.createElement("script");i.src=r,i.onerror=t his.handleError.bind(this);var t=document.querySelector("script")||document.body ;t.parentNode.insertBefore(i,t),this.script=i},removeScript:function(){this.scri pt.parentNode&&this.script.parentNode.removeChild(this.script),this.script=null} ,handleError:function(r){this.error=new Error("Library failed to load"),this.not ifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array.pro totype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:function() {delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEach(f unction(r){r(this.error,this.result)}.bind(this)),this.notifiers=[]},requestNoti fy:function(r){this.loaded||this.error?r(this.error,this.result):this.notifiers. push(r)}}}()</script><script>Polymer({is:"iron-jsonp-library",behaviors:[Polymer .IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:String,not ifyEvent:String}})</script><script>Polymer({is:"google-js-api",behaviors:[Polyme r.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"https://a pis.google.com/js/api.js?onload=%%callback%%"},notifyEvent:{type:String,value:"j s-api-load"}},get api(){return gapi}})</script><script>!function(){var e={appPac kageName:"apppackagename",clientId:"clientid",cookiePolicy:"cookiepolicy",hosted Domain:"hostedDomain",openidPrompt:"prompt",requestVisibleActions:"requestvisibl eactions"},t={_clientId:null,get clientId(){return this._clientId},set clientId( e){if(this._clientId&&e&&e!=this._clientId)throw new Error("clientId cannot chan ge. Values do not match. New: "+e+" Old:"+this._clientId);e&&e!=this._clientId&& (this._clientId=e,this.initAuth2())},_cookiePolicy:"single_host_origin",get cook iePolicy(){return this._cookiePolicy},set cookiePolicy(e){e&&(this._cookiePolicy =e)},_appPackageName:"",get appPackageName(){return this._appPackageName},set ap pPackageName(e){if(this._appPackageName&&e&&e!=this._appPackageName)throw new Er ror("appPackageName cannot change. Values do not match. New: "+e+" Old: "+this._ appPackageName);e&&(this._appPackageName=e)},_requestVisibleActions:"",get reque stVisibleactions(){return this._requestVisibleActions},set requestVisibleactions (e){if(this._requestVisibleActions&&e&&e!=this._requestVisibleActions)throw new Error("requestVisibleactions cannot change. Values do not match. New: "+e+" Old: "+this._requestVisibleActions);e&&(this._requestVisibleActions=e)},_hostedDomai n:"",get hostedDomain(){return this._hostedDomain},set hostedDomain(e){if(this._ hostedDomain&&e&&e!=this._hostedDomain)throw new Error("hostedDomain cannot chan ge. Values do not match. New: "+e+" Old: "+this._hostedDomain);e&&(this._hostedD omain=e)},_openidPrompt:"",get openidPrompt(){return this._openidPrompt},set ope nidPrompt(e){if("string"!=typeof e)throw new Error("openidPrompt must be a strin g. Received "+typeof e);if(e){var t=e.split(" ");t=t.map(function(e){return e.tr im()}),t=t.filter(function(e){return e});var i={none:0,login:0,consent:0,select_ account:0};t.forEach(function(e){if("none"==e&&t.length>1)throw new Error("none cannot be combined with other openidPrompt values");if(!(e in i))throw new Error ("invalid openidPrompt value "+e+". Valid values: "+Object.keys(i).join(", "))}) }this._openidPrompt=e},_offline:!1,get offline(){return this._offline},set offli ne(e){this._offline=e,this.updateAdditionalAuth()},_offlineAlwaysPrompt:!1,get o fflineAlwaysPrompt(){return this._offlineAlwaysPrompt},set offlineAlwaysPrompt(e ){this._offlineAlwaysPrompt=e,this.updateAdditionalAuth()},offlineGranted:!1,_ap iLoader:null,_requestedScopeArray:[],get requestedScopes(){return this._requeste dScopeArray.join(" ")},_signedIn:!1,_grantedScopeArray:[],_needAdditionalAuth:!0 ,_hasPlusScopes:!1,signinAwares:[],init:function(){this._apiLoader=document.crea teElement("google-js-api"),this._apiLoader.addEventListener("js-api-load",this.l oadAuth2.bind(this))},loadAuth2:function(){gapi.load("auth2",this.initAuth2.bind (this))},initAuth2:function(){if("gapi"in window&&"auth2"in window.gapi&&this.cl ientId){var e=gapi.auth2.init({client_id:this.clientId,cookie_policy:this.cookie Policy,scope:this.requestedScopes,hosted_domain:this.hostedDomain});e.currentUse r.listen(this.handleUserUpdate.bind(this)),e.then(function(){},function(e){conso le.error(e)})}},handleUserUpdate:function(e){var t=e.isSignedIn();if(t!=this._si gnedIn){this._signedIn=t;for(var i=0;i<this.signinAwares.length;i++)this.signinA wares[i]._setSignedIn(t)}this._grantedScopeArray=this.strToScopeArray(e.getGrant edScopes()),this.updateAdditionalAuth();for(var n=e.getAuthResponse(),i=0;i<this .signinAwares.length;i++)this.signinAwares[i]._updateScopeStatus(n)},setOfflineC ode:function(e){for(var t=0;t<this.signinAwares.length;t++)this.signinAwares[t]. _updateOfflineCode(e)},strToScopeArray:function(e){if(!e)return[];for(var t=e.re place(/\ +/g," ").trim().split(" "),i=0;i<t.length;i++)t[i]=t[i].toLowerCase()," https://www.googleapis.com/auth/userinfo.profile"===t[i]&&(t[i]="profile"),"http s://www.googleapis.com/auth/userinfo.email"===t[i]&&(t[i]="email");return t.filt er(function(e,t,i){return i.indexOf(e)===t})},isPlusScope:function(e){return e.i ndexOf("/auth/games")>-1||e.indexOf("auth/plus.")>-1&&e.indexOf("auth/plus.me")< 0},hasGrantedScopes:function(e){for(var t=this.strToScopeArray(e),i=0;i<t.length ;i++)if(this._grantedScopeArray.indexOf(t[i])===-1)return!1;return!0},requestSco pes:function(e){for(var t=this.strToScopeArray(e),i=!1,n=0;n<t.length;n++)this._ requestedScopeArray.indexOf(t[n])===-1&&(this._requestedScopeArray.push(t[n]),i= !0);i&&(this.updateAdditionalAuth(),this.updatePlusScopes())},updateAdditionalAu th:function(){var e=!1;if(!this.offlineAlwaysPrompt&&!this.offline||this.offline Granted){for(var t=0;t<this._requestedScopeArray.length;t++)if(this._grantedScop eArray.indexOf(this._requestedScopeArray[t])===-1){e=!0;break}}else e=!0;if(this ._needAdditionalAuth!=e){this._needAdditionalAuth=e;for(var t=0;t<this.signinAwa res.length;t++)this.signinAwares[t]._setNeedAdditionalAuth(e)}},updatePlusScopes :function(){for(var e=!1,t=0;t<this._requestedScopeArray.length;t++)if(this.isPl usScope(this._requestedScopeArray[t])){e=!0;break}if(this._hasPlusScopes!=e){thi s._hasPlusScopes=e;for(var t=0;t<this.signinAwares.length;t++)this.signinAwares[ t]._setHasPlusScopes(e)}},attachSigninAware:function(e){this.signinAwares.indexO f(e)==-1?(this.signinAwares.push(e),e._setNeedAdditionalAuth(this._needAdditiona lAuth),e._setSignedIn(this._signedIn),e._setHasPlusScopes(this._hasPlusScopes)): console.warn("signinAware attached more than once",e)},detachSigninAware:functio n(e){var t=this.signinAwares.indexOf(e);t!=-1?this.signinAwares.splice(t,1):cons ole.warn("Trying to detach unattached signin-aware")},getMissingScopes:function( ){return this._requestedScopeArray.filter(function(e){return this._grantedScopeA rray.indexOf(e)===-1}.bind(this)).join(" ")},assertAuthInitialized:function(){if (!this.clientId)throw new Error("AuthEngine not initialized. clientId has not be en configured.");if(!("gapi"in window))throw new Error("AuthEngine not initializ ed. gapi has not loaded.");if(!("auth2"in window.gapi))throw new Error("AuthEngi ne not initialized. auth2 not loaded.")},signIn:function(){this.assertAuthInitia lized();var i={scope:this.getMissingScopes()};Object.keys(e).forEach(function(t) {this[t]&&""!==this[t]&&(i[e[t]]=this[t])},this);var n,o=gapi.auth2.getAuthInsta nce().currentUser.get();this.offline||this.offlineAlwaysPrompt?(i.redirect_uri=" postmessage",this.offlineAlwaysPrompt&&(i.approval_prompt="force"),n=gapi.auth2. getAuthInstance().grantOfflineAccess(i)):n=o.getGrantedScopes()?o.grant(i):gapi. auth2.getAuthInstance().signIn(i),n.then(function(e){var i;e.code?(t.offlineGran ted=!0,i=gapi.auth2.getAuthInstance().currentUser.get(),t.setOfflineCode(e.code) ):i=e;i.getAuthResponse()},function(e){"Access denied."!==e.reason&&this.signinA wares.forEach(function(t){t.errorNotify(e)})}.bind(this))},signOut:function(){th is.assertAuthInitialized(),gapi.auth2.getAuthInstance().signOut().then(function( ){},function(e){console.error(e)})}};t.init(),Polymer({is:"google-signin-aware", properties:{appPackageName:{type:String,observer:"_appPackageNameChanged"},clien tId:{type:String,observer:"_clientIdChanged"},cookiePolicy:{type:String,observer :"_cookiePolicyChanged"},requestVisibleActions:{type:String,observer:"_requestVi sibleActionsChanged"},hostedDomain:{type:String,observer:"_hostedDomainChanged"} ,offline:{type:Boolean,value:!1,observer:"_offlineChanged"},offlineAlwaysPrompt: {type:Boolean,value:!1,observer:"_offlineAlwaysPromptChanged"},scopes:{type:Stri ng,value:"profile",observer:"_scopesChanged"},openidPrompt:{type:String,value:"" ,observer:"_openidPromptChanged"},signedIn:{type:Boolean,notify:!0,readOnly:!0}, isAuthorized:{type:Boolean,notify:!0,readOnly:!0,value:!1},needAdditionalAuth:{t ype:Boolean,notify:!0,readOnly:!0},hasPlusScopes:{type:Boolean,value:!1,notify:! 0,readOnly:!0}},attached:function(){t.attachSigninAware(this)},detached:function (){t.detachSigninAware(this)},signIn:function(){t.signIn()},signOut:function(){t .signOut()},errorNotify:function(e){this.fire("google-signin-aware-error",e)},_a ppPackageNameChanged:function(e,i){t.appPackageName=e},_clientIdChanged:function (e,i){t.clientId=e},_cookiePolicyChanged:function(e,i){t.cookiePolicy=e},_reques tVisibleActionsChanged:function(e,i){t.requestVisibleActions=e},_hostedDomainCha nged:function(e,i){t.hostedDomain=e},_offlineChanged:function(e,i){t.offline=e}, _offlineAlwaysPromptChanged:function(e,i){t.offlineAlwaysPrompt=e},_scopesChange d:function(e,i){t.requestScopes(e),this._updateScopeStatus(void 0)},_openidPromp tChanged:function(e,i){t.openidPrompt=e},_updateScopeStatus:function(e){var i=th is.signedIn&&t.hasGrantedScopes(this.scopes);i!==this.isAuthorized&&(this._setIs Authorized(i),i?this.fire("google-signin-aware-success",e):this.fire("google-sig nin-aware-signed-out",e))},_updateOfflineCode:function(e){e&&this.fire("google-s ignin-offline-success",{code:e})}})}()</script><dom-module id="auth-signin" asse tpath="/res/imp/common/"> <template> <style>#avatar{border-radius:5px}a{color:#f ff}.center{vertical-align:middle}</style> <google-signin-aware id="aware" client -id="[[client_id]]" offline="" scopes="email" on-google-signin-aware-success="_o nSignin" on-google-signin-aware-signed-out="_onSignout"> </google-signin-aware> <template is="dom-if" if="[[!signed_in]]"> <div id="signinContainer"> <a on-tap= "signIn" href="#">Sign in</a> </div> </template> <template is="dom-if" if="[[sig ned_in]]"> <img class="center" id="avatar" src="[[profile.imageUrl]]" width="30" height="30"> <span class="center">[[profile.email]]</span> <span class="center" >|</span> <a class="center" on-tap="signOut" href="#">Sign out</a> </template> < /template> <script>"use strict";Polymer({is:"auth-signin",properties:{auth_heade rs:{type:Object,computed:"_makeHeader(auth_response)",notify:!0},auth_response:{ type:Object,notify:!0},client_id:{type:String},profile:{type:Object,readOnly:!0, notify:!0},signed_in:{type:Boolean,readOnly:!0,value:!1,notify:!0}},ready:functi on(){this.client_id&&window.setTimeout(function(){if(!this.signed_in&&!this._sig ningIn)if("gapi"in window&&"auth2"in window.gapi){var i=gapi.auth2.getAuthInstan ce().currentUser.get();i&&i.getAuthResponse().access_token?this._onSignin():wind ow.setTimeout(this.ready.bind(this),50)}else window.setTimeout(this.ready.bind(t his),50)}.bind(this),50)},_onSignin:function(){this._signingIn=!0;var i=gapi.aut h2.getAuthInstance().currentUser.get(),e=i.getBasicProfile();this._setProfile({e mail:e.getEmail(),imageUrl:e.getImageUrl()}),this.set("auth_response",i.getAuthR esponse()),this._setSigned_in(!0),this.fire("auth-signin"),this.async(function() {console.log("reloading credentials"),i.reloadAuthResponse(),this._onSignin()},1 e3*this.auth_response.expires_in),this._signingIn=!1},_onSignout:function(i){thi s._setSigned_in(!1),this._setProfile(null)},_makeHeader:function(i){return i?{au thorization:i.token_type+" "+i.access_token}:{}},signIn:function(){this.$.aware. signIn()},signOut:function(){this.$.aware.signOut()}})</script> </dom-module> <d om-module id="iron-a11y-announcer" assetpath="/res/imp/bower_components/iron-a11 y-announcer/"> <template> <style>:host{display:inline-block;position:fixed;clip: rect(0,0,0,0)}</style> <div aria-live$="[[mode]]">[[_text]]</div> </template> <s cript>!function(){"use strict";Polymer.IronA11yAnnouncer=Polymer({is:"iron-a11y- announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,valu e:""}},created:function(){Polymer.IronA11yAnnouncer.instance||(Polymer.IronA11yA nnouncer.instance=this),document.body.addEventListener("iron-announce",this._onI ronAnnounce.bind(this))},announce:function(n){this._text="",this.async(function( ){this._text=n},100)},_onIronAnnounce:function(n){n.detail&&n.detail.text&&this. announce(n.detail.text)}}),Polymer.IronA11yAnnouncer.instance=null,Polymer.IronA 11yAnnouncer.requestAvailability=function(){Polymer.IronA11yAnnouncer.instance|| (Polymer.IronA11yAnnouncer.instance=document.createElement("iron-a11y-announcer" )),document.body.appendChild(Polymer.IronA11yAnnouncer.instance)}}()</script> </ dom-module> <script>Polymer.IronFitBehavior={properties:{sizingTarget:{type:Obje ct,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{ type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},vertic alAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number, value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttac h:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){var t;return t =this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRec t().width},get _fitHeight(){var t;return t=this.fitInto===window?this.fitInto.in nerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){var t;retu rn t=this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fit Top(){var t;return t=this.fitInto===window?0:this.fitInto.getBoundingClientRect( ).top},get _defaultPositionTarget(){var t=Polymer.dom(this).parentNode;return t& &t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(t=t.host),t},get _localeHorizontalAl ign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"== =this.horizontalAlign)return"right"}return this.horizontalAlign},attached:functi on(){"undefined"==typeof this._isRTL&&(this._isRTL="rtl"==window.getComputedStyl e(this).direction),this.positionTarget=this.positionTarget||this._defaultPositio nTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?se tTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.pos ition(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitIn fo){var t=window.getComputedStyle(this),i=window.getComputedStyle(this.sizingTar get);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"" ,position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget. style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:thi s.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==t.top?"top ":"auto"!==t.bottom?"bottom":null,horizontally:"auto"!==t.left?"left":"auto"!==t .right?"right":null},sizedBy:{height:"none"!==i.maxHeight,width:"none"!==i.maxWi dth,minWidth:parseInt(i.minWidth,10)||0,minHeight:parseInt(i.minHeight,10)||0},m argin:{top:parseInt(t.marginTop,10)||0,right:parseInt(t.marginRight,10)||0,botto m:parseInt(t.marginBottom,10)||0,left:parseInt(t.marginLeft,10)||0}}}},resetFit: function(){var t=this._fitInfo||{};for(var i in t.sizerInlineStyle)this.sizingTa rget.style[i]=t.sizerInlineStyle[i];for(var i in t.inlineStyle)this.style[i]=t.i nlineStyle[i];this._fitInfo=null},refit:function(){var t=this.sizingTarget.scrol lLeft,i=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget .scrollLeft=t,this.sizingTarget.scrollTop=i},position:function(){if(this.horizon talAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",t his.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.t op="0px";var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.posi tionTarget),e=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,o={w idth:t.width+n.left+n.right,height:t.height+n.top+n.bottom},h=this.__getPosition (this._localeHorizontalAlign,this.verticalAlign,o,i,e),s=h.left+n.left,l=h.top+n .top,r=Math.min(e.right-n.right,s+t.width),a=Math.min(e.bottom-n.bottom,l+t.heig ht);s=Math.max(e.left+n.left,Math.min(s,r-this._fitInfo.sizedBy.minWidth)),l=Mat h.max(e.top+n.top,Math.min(l,a-this._fitInfo.sizedBy.minHeight)),this.sizingTarg et.style.maxWidth=Math.max(r-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingT arget.style.maxHeight=Math.max(a-l,this._fitInfo.sizedBy.minHeight)+"px",this.st yle.left=s-t.left+"px",this.style.top=l-t.top+"px"}},constrain:function(){if(!th is.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var t=this._fitInf o;t.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"), t.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px") ,this.sizingTarget.style.boxSizing="border-box";var i=this.getBoundingClientRect ();t.sizedBy.height||this.__sizeDimension(i,t.positionedBy.vertically,"top","bot tom","Height"),t.sizedBy.width||this.__sizeDimension(i,t.positionedBy.horizontal ly,"left","right","Width")}},_sizeDimension:function(t,i,e,n,o){this.__sizeDimen sion(t,i,e,n,o)},__sizeDimension:function(t,i,e,n,o){var h=this._fitInfo,s=this. __getNormalizedRect(this.fitInto),l="Width"===o?s.width:s.height,r=i===n,a=r?l-t [n]:t[e],f=h.margin[r?e:n],g="offset"+o,p=this[g]-this.sizingTarget[g];this.sizi ngTarget.style["max"+o]=l-f-a-p+"px"},center:function(){if(!this.horizontalAlign &&!this.verticalAlign){this._discoverInfo();var t=this._fitInfo.positionedBy;if( !t.vertically||!t.horizontally){this.style.position="fixed",t.vertically||(this. style.top="0px"),t.horizontally||(this.style.left="0px");var i=this.getBoundingC lientRect(),e=this.__getNormalizedRect(this.fitInto);if(!t.vertically){var n=e.t op-i.top+(e.height-i.height)/2;this.style.top=n+"px"}if(!t.horizontally){var o=e .left-i.left+(e.width-i.width)/2;this.style.left=o+"px"}}}},__getNormalizedRect: function(t){return t===document.documentElement||t===window?{top:0,left:0,width: window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:windo w.innerHeight}:t.getBoundingClientRect()},__getCroppedArea:function(t,i,e){var n =Math.min(0,t.top)+Math.min(0,e.bottom-(t.top+i.height)),o=Math.min(0,t.left)+Ma th.min(0,e.right-(t.left+i.width));return Math.abs(n)*i.width+Math.abs(o)*i.heig ht},__getPosition:function(t,i,e,n,o){var h=[{verticalAlign:"top",horizontalAlig n:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verti calAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.righ t-e.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left", top:n.bottom-e.height-this.verticalOffset,left:n.left+this.horizontalOffset},{ve rticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-e.height-this.vertical Offset,left:n.right-e.width-this.horizontalOffset}];if(this.noOverlap){for(var s =0,l=h.length;s<l;s++){var r={};for(var a in h[s])r[a]=h[s][a];h.push(r)}h[0].to p=h[1].top+=n.height,h[2].top=h[3].top-=n.height,h[4].left=h[6].left+=n.width,h[ 5].left=h[7].left-=n.width}i="auto"===i?null:i,t="auto"===t?null:t;for(var f,s=0 ;s<h.length;s++){var g=h[s];if(!this.dynamicAlign&&!this.noOverlap&&g.verticalAl ign===i&&g.horizontalAlign===t){f=g;break}var p=!(i&&g.verticalAlign!==i||t&&g.h orizontalAlign!==t);if(this.dynamicAlign||p){f=f||g,g.croppedArea=this.__getCrop pedArea(g,e,o);var d=g.croppedArea-f.croppedArea;if((d<0||0===d&&p)&&(f=g),0===f .croppedArea&&p)break}}return f}}</script> <dom-module id="iron-overlay-backdrop " assetpath="/res/imp/bower_components/iron-overlay-behavior/"> <template> <styl e>:host{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var( --iron-overlay-backdrop-background-color,#000);opacity:0;transition:opacity .2s; pointer-events:none;@apply(--iron-overlay-backdrop);}:host(.opened){opacity:var( --iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-ba ckdrop-opened);}</style> <content></content> </template> </dom-module> <script>! function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{ reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listener s:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},a ttached:function(){this.opened&&this._openedChanged(this.opened)},prepare:functi on(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this) },open:function(){this.opened=!0},close:function(){this.opened=!1},complete:func tion(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode ).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.compl ete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getCompu tedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.i sAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),thi s.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.reques tAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this. opened)}.bind(this)))}})}()</script> <script>Polymer.IronOverlayManagerClass=fun ction(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer. Gestures.add(document.documentElement,"tap",null),document.addEventListener("tap ",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._on CaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureK eyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Po lymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement ||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._ backdropElement},get deepActiveElement(){for(var e=document.activeElement||docum ent.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).active Element;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e ];if(t){var r=this._overlays.length-1,a=this._overlays[r];if(a&&this._shouldBeBe hindOverlay(t,a)&&r--,!(e>=r)){var n=Math.max(this.currentOverlayZ(),this._minim umZ);for(this._getZ(t)<=n&&this._applyOverlayZ(t,n);e<r;)this._overlays[e]=this. _overlays[e+1],e++;this._overlays[r]=t}}},addOrRemoveOverlay:function(e){e.opene d?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._o verlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this. trackBackdrop();var r=this._overlays.length,a=this._overlays[r-1],n=Math.max(thi s._getZ(a),this._minimumZ),o=this._getZ(e);if(a&&this._shouldBeBehindOverlay(e,a )){this._applyOverlayZ(a,n),r--;var i=this._overlays[r-1];n=Math.max(this._getZ( i),this._minimumZ)}o<=n&&this._applyOverlayZ(e,n),this._overlays.splice(r,0,e),t his.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);t !==-1&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:functio n(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:func tion(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this ._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.curren tOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithB ackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._g etZ(e)-1,this.backdropElement.opened=!!e)},getBackdrops:function(){for(var e=[], t=0;t<this._overlays.length;t++)this._overlays[t].withBackdrop&&e.push(this._ove rlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBack drop())-1},_overlayWithBackdrop:function(){for(var e=0;e<this._overlays.length;e ++)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e) {var t=this._minimumZ;if(e){var r=Number(e.style.zIndex||window.getComputedStyle (e).zIndex);r===r&&(t=r)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyO verlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for( var t=0;t<e.length;t++)if(e[t]._manager===this)return e[t]},_onCaptureClick:func tion(e){var t=this.currentOverlay();t&&this._overlayInPath(Polymer.dom(e).path)! ==t&&t._onCaptureClick(e)},_onCaptureFocus:function(e){var t=this.currentOverlay ();t&&t._onCaptureFocus(e)},_onCaptureKeyDown:function(e){var t=this.currentOver lay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCa ptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._o nCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.al waysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass</scri pt><script>!function(){"use strict";var e=Element.prototype,t=e.matches||e.match esSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.web kitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){va r t=[],r=this._collectTabbableNodes(e,t);return r?this._sortByTabIndex(t):t},isF ocusable:function(e){return t.call(e,"input, select, textarea, button, object")? t.call(e,":not([disabled])"):t.call(e,"a[href], area[href], iframe, [tabindex], [contentEditable]")},isTabbable:function(e){return this.isFocusable(e)&&t.call(e ,':not([tabindex="-1"])')&&this._isVisible(e)},_normalizedTabIndex:function(e){i f(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}retu rn-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!th is._isVisible(e))return!1;var r=e,a=this._normalizedTabIndex(r),i=a>0;a>=0&&t.pu sh(r);var n;n="content"===r.localName?Polymer.dom(r).getDistributedNodes():Polym er.dom(r.root||r).children;for(var o=0;o<n.length;o++){var s=this._collectTabbab leNodes(n[o],t);i=i||s}return i},_isVisible:function(e){var t=e.style;return"hid den"!==t.visibility&&"none"!==t.display&&(t=window.getComputedStyle(e),"hidden"! ==t.visibility&&"none"!==t.display)},_sortByTabIndex:function(e){var t=e.length; if(t<2)return e;var r=Math.ceil(t/2),a=this._sortByTabIndex(e.slice(0,r)),i=this ._sortByTabIndex(e.slice(r));return this._mergeSortByTabIndex(a,i)},_mergeSortBy TabIndex:function(e,t){for(var r=[];e.length>0&&t.length>0;)this._hasLowerTabOrd er(e[0],t[0])?r.push(t.shift()):r.push(e.shift());return r.concat(e,t)},_hasLowe rTabOrder:function(e,t){var r=Math.max(e.tabIndex,0),a=Math.max(t.tabIndex,0);re turn 0===r||0===a?a>r:r>a}}}()</script><script>!function(){"use strict";Polymer. IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Bool ean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:B oolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noA utoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCanc elOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocu sOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Objec t,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iro n-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropEl ement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelect or("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelp er.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldR emoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__ raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){t his.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).ob serveNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserve Nodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFra me(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:functi on(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCa nceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1 },cancel:function(e){var t=this.fire("iron-overlay-canceled",e,{cancelable:!0}); t.defaultPrevented||(this._setCanceled(!0),this.opened=!1)},invalidateTabbables: function(){this.__firstFocusableNode=this.__lastFocusableNode=null},_ensureSetup :function(){this._overlaySetup||(this._overlaySetup=!0,this.style.outline="none" ,this.style.display="none")},_openedChanged:function(e){e?this.removeAttribute(" aria-hidden"):this.setAttribute("aria-hidden","true"),this.isAttached&&(this.__i sAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChang ed:function(){this.closingReason=this.closingReason||{},this.closingReason.cance led=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasA ttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabI ndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__s houldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdro p()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepA ctiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),t his.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur (),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRender Opened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpen ed:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay- opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zI ndex="",this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-closed ",this.closingReason)},_preparePositioning:function(){this.style.transition=this .style.webkitTransition="none",this.style.transform=this.style.webkitTransform=" none",this.style.display=""},_finishPositioning:function(){this.style.display="n one",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransi tion="",this.style.transform=this.style.webkitTransform="",this.style.display="" ,this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAut oFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=n ull,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.f ocus(),this.__restoreFocusNode=null;var e=this._manager.currentOverlay();e&&this !==e&&e._applyFocus()}},_onCaptureClick:function(e){this.noCancelOnOutsideClick| |this.cancel(e)},_onCaptureFocus:function(e){if(this.withBackdrop){var t=Polymer .dom(e).path;t.indexOf(this)===-1?(e.stopPropagation(),this._applyFocus()):this. _focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cance l(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocu sables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode ,s=t?this.__lastFocusableNode:this.__firstFocusableNode,o=!1;if(i===s)o=!0;else{ var n=this._manager.deepActiveElement;o=n===i||n===this}o&&(e.preventDefault(),t his._focusedChild=s,this._applyFocus())}},_onIronResize:function(){this.opened&& !this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:fun ction(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notif yResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode ||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNod e=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this. opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFo cus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus( ),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.c ancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFra me(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.Ir onFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}()< /script><dom-module id="paper-toast" assetpath="/res/imp/bower_components/paper- toast/"> <template> <style>:host{display:block;position:fixed;background-color:v ar(--paper-toast-background-color,#323232);color:var(--paper-toast-color,#f1f1f1 );min-height:48px;min-width:288px;padding:16px 24px;box-sizing:border-box;box-sh adow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;margin:12px;font-size:14px;cu rsor:default;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:tra nsform .3s,opacity .3s;opacity:0;-webkit-transform:translateY(100px);transform:t ranslateY(100px);@apply(--paper-font-common-base);}:host(.capsule){border-radius :24px}:host(.fit-bottom){width:100%;min-width:0;border-radius:0;margin:0}:host(. paper-toast-open){opacity:1;-webkit-transform:translateY(0);transform:translateY (0)}</style> <span id="label">{{text}}</span> <content></content> </template> <s cript>!function(){var e=null;Polymer({is:"paper-toast",behaviors:[Polymer.IronOv erlayBehavior],properties:{fitInto:{type:Object,value:window,observer:"_onFitInt oChanged"},horizontalAlign:{type:String,value:"left"},verticalAlign:{type:String ,value:"bottom"},duration:{type:Number,value:3e3},text:{type:String,value:""},no CancelOnOutsideClick:{type:Boolean,value:!0},noAutoFocus:{type:Boolean,value:!0} },listeners:{transitionend:"__onTransitionEnd"},get visible(){return Polymer.Bas e._warn("`visible` is deprecated, use `opened` instead"),this.opened},get _canAu toClose(){return this.duration>0&&this.duration!==1/0},created:function(){this._ autoClose=null,Polymer.IronA11yAnnouncer.requestAvailability()},show:function(e) {"string"==typeof e&&(e={text:e});for(var t in e)0===t.indexOf("_")?Polymer.Base ._warn('The property "'+t+'" is private and was not set.'):t in this?this[t]=e[t ]:Polymer.Base._warn('The property "'+t+'" is not valid.');this.open()},hide:fun ction(){this.close()},__onTransitionEnd:function(e){e&&e.target===this&&"opacity "===e.propertyName&&(this.opened?this._finishRenderOpened():this._finishRenderCl osed())},_openedChanged:function(){null!==this._autoClose&&(this.cancelAsync(thi s._autoClose),this._autoClose=null),this.opened?(e&&e!==this&&e.close(),e=this,t his.fire("iron-announce",{text:this.text}),this._canAutoClose&&(this._autoClose= this.async(this.close,this.duration))):e===this&&(e=null),Polymer.IronOverlayBeh aviorImpl._openedChanged.apply(this,arguments)},_renderOpened:function(){this.cl assList.add("paper-toast-open")},_renderClosed:function(){this.classList.remove( "paper-toast-open")},_onFitIntoChanged:function(e){this.positionTarget=e}})}()</ script> </dom-module> <dom-module id="error-toast" assetpath="/res/imp/common/"> <template> <paper-toast id="toast"></paper-toast> </template> </dom-module> <sc ript>Polymer({is:"error-toast",ready:function(){document.addEventListener("error -sk",function(t){if(this.$.toast.close(),t.detail.message){this.$.toast.text=t.d etail.message;var e=1e4;void 0!==t.detail.duration&&(e=t.detail.duration),this.$ .toast.duration=e,this.$.toast.show()}else console.log("Empty message?",t)}.bind (this))}})</script> <dom-module id="swarming-app" assetpath="/res/imp/common/"> <template> <style include="iron-flex">:host{position:absolute;top:0;bottom:0;lef t:0;right:0}app-toolbar{background-color:#1F78B4;color:#fff}app-toolbar.error{ba ckground-color:#b41f1f;color:#fff}app-toolbar a{color:#fff}.left{margin-right:15 px}.right{margin-left:15px}.main-content{padding:3px}.main-content a{color:#1F78 B4}.menu-button{min-width:40px}.small,auth-signin{font-size:.7em}#mobile_menu{z- index:10;--app-drawer-content-container:{margin-top:64px};}a[href]{color:#1F78B4 }.menu-item{padding:8px 3px;border-bottom:1px solid #CCC}paper-fab{position:fixe d;bottom:5px;right:5px;background-color:#1F78B4}paper-spinner-lite{--paper-spinn er-color:var(--google-yellow-500)}</style> <app-header-layout> <app-drawer id="m obile_menu"> <div class="menu-item"><a class="left" href="/">Home</a></div> <div class="menu-item"><a class="left" href="/botlist">Bot List</a></div> <div class ="menu-item"><a class="left" href="/tasklist">Task List</a></div> <div class="me nu-item"><a class="left" href="/oldui">Old UI</a></div> </app-drawer> <app-heade r fixed=""> <app-toolbar class$="[[_toolbarClass(client_id)]]"> <paper-icon-butt on class="menu-button" icon="icons:menu" on-tap="_toggleMobileMenu" hidden$="[[w ide_layout]]"> </paper-icon-button> <div class="title left">[[name]]</div> <pape r-spinner-lite class="left" active="[[_or(busy,_busy1,_busy2)]]"></paper-spinner -lite> <a class="left" href="/" hidden$="[[!wide_layout]]">Home</a> <a class="le ft" href="/botlist" hidden$="[[!wide_layout]]">Bot List</a> <a class="left" href ="/tasklist" hidden$="[[!wide_layout]]">Task List</a> <div class="flex" hidden$= "[[!wide_layout]]"></div> <template is="dom-if" if="[[client_id]]"> <div class=" small right"> Server: <a href$="[[_versionLink(server_details)]]"> [[server_deta ils.server_version]] </a> </div> <auth-signin class="right" client_id="[[client_ id]]" auth_headers="{{auth_headers}}" profile="{{profile}}" signed_in="{{signed_ in}}"> </auth-signin> </template> <template is="dom-if" if="[[!client_id]]"> <di v class="right">No OAauth client id found.</div> </template> </app-toolbar> </ap p-header> <div class="main-content"> <content></content> </div> <error-toast></e rror-toast> <a target="_blank" rel="noopener" href="https://bugs.chromium.org/p/ chromium/issues/entry?components=Infra%3EPlatform%3ESwarming&amp;owner=kjlubick@ chromium.org&amp;status=Assigned"> <paper-fab mini="" icon="icons:bug-report"></ paper-fab> </a> </app-header-layout> <iron-media-query query="min-width: 600px" query-matches="{{wide_layout}}"></iron-media-query> </template> <script>Polymer( {is:"swarming-app",behaviors:[SwarmingBehaviors.CommonBehavior],properties:{busy :{type:Boolean},client_id:{type:String},name:{type:String},auth_headers:{type:Ob ject,notify:!0,observer:"_load"},permissions:{type:Object,value:function(){retur n{}},notify:!0},profile:{type:Object,notify:!0},server_details:{type:Object,noti fy:!0},signed_in:{type:Boolean,value:!1,notify:!0},_busy1:{type:Boolean,value:!1 },_busy2:{type:Boolean,value:!1}},_load:function(){this._getJsonAsync("permissio ns","/api/swarming/v1/server/permissions","_busy1",this.auth_headers),this._getJ sonAsync("server_details","/api/swarming/v1/server/details","_busy2",this.auth_h eaders).catch(function(e){sk.errorMessage("Http response: "+(e.status||" ")+" "+ e.response)})},_toggleMobileMenu:function(){this.$.mobile_menu.toggle()},_toolba rClass:function(e){return e?"":"error"},_versionLink:function(e){if(e&&e.server_ version){var s=e.server_version.split("-");if(2===s.length)return"https://github .com/luci/luci-py/commit/"+s[1]}}})</script> </dom-module> <dom-module id="swarm ing-app-style" assetpath="/res/imp/common/"> <style>*{font-family:sans-serif}a[h ref]{color:#1F78B4}button{min-width:5.14em;background-color:#fff;color:#1f78b4;t ext-align:center;text-transform:uppercase;outline:0;border-radius:3px;padding:.6 em 1.2em;border:solid #d3d3d3 1px;margin:.6em;cursor:pointer}button:hover{backgr ound:#eee}button:focus{background-color:#ddd;transition:background-color .1s cub ic-bezier(.4,0,.2,1)}button.raised:active,button:active{background-color:#999;tr ansition:background-color .1s cubic-bezier(.4,0,.2,1)}button:disabled{color:#999 }button:disabled:hover{background:initial;cursor:initial}button.action:active{ba ckground-color:#A6CEE3;transition:background-color .1s color .1s cubic-bezier(.4 ,0,.2,1)}button.action{color:#fff;background:#1f78b4;border:none}button.action:d isabled{color:#fff;background:#999;border:none}button.raised{transition:box-shad ow .1s cubic-bezier(.4,0,.2,1);box-shadow:5px 5px 18px 0 rgba(0,0,0,.3)}button.r aised:active{box-shadow:2px 2px 5px 0 rgba(0,0,0,.1)}option,select{padding:.4em 1.2em;background-color:#fff;border:none;line-height:20px;vertical-align:middle}s elect{overflow-y:auto}</style> </dom-module> <dom-module id="swarming-index" ass etpath="/res/imp/index/"> <template> <style include="swarming-app-style">.comman d{font-family:monospace;margin-bottom:10px;margin-top:10px;white-space:pre-wrap; background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}</style> <swarm ing-app client_id="[[client_id]]" auth_headers="{{_auth_headers}}" permissions=" {{_permissions}}" server_details="{{_server_details}}" name="Swarming Server" bu sy="[[_or(_busy1,busy2)]]"> <h2>Service Status</h2> <div>Server Version: [[_serv er_details.server_version]]</div> <div>Bot Version: [[_server_details.bot_versio n]]</div> <ul> <li> <a href="/stats">Usage statistics</a> </li> <li> <a href="/r estricted/mapreduce/status">Map Reduce Jobs</a> </li> <li> <a href$="[[_makeInst ancesUrl(_server_details,_project_id)]]">View version's instances on Cloud Conso le</a> </li> <li> <a></a><a href$="[[_makeErrorUrl(_project_id)]]">View server e rrors on Cloud Console</a> </li> <li> <a></a><a href$="[[_makeLogUrl(_project_id )]]">View logs for HTTP 5xx on Cloud Console</a> </li> </ul> <h2>Configuration</ h2> <ul> <li> <a href="/restricted/config">View server config</a> </li> <li> <a href="/restricted/upload/bootstrap">View/upload bootstrap.py</a> </li> <li> <a h ref="/restricted/upload/bot_config">View/upload bot_config.py</a> </li> <li> <a href="/auth/groups">View/edit user groups</a> </li> </ul> <div hidden$="[[_canno tBootstrap(_permissions)]]"> <h2>Bootstrapping a bot</h2> To bootstrap a bot, ru n one of these (all links are valid for 1 hour): <ol> <li> <strong> TL;DR; </str ong> <pre class="command">python -c "import urllib; exec urllib.urlopen('[[_host _url]]/bootstrap?tok=[[_bootstrap_token]]').read()"</pre> </li> <li> Escaped ver sion to pass as a ssh argument: <pre class="command">'python -c "import urllib; exec urllib.urlopen('"'[[_host_url]]/bootstrap?tok=[[_bootstrap_token]]'"').read ()"'</pre> </li> <li> Manually: <pre class="command" style="margin-bottom:0">mkd ir bot; cd bot
5 rm -f swarming_bot.zip; curl -sSLOJ [[_host_url]]/bot_code?tok=[[_bootstrap_to ken]]
6 python swarming_bot.zip</pre> </li> </ol> </div> </swarming-app> </template> < script>Polymer({is:"swarming-index",behaviors:[SwarmingBehaviors.CommonBehavior] ,properties:{client_id:{type:String},_auth_headers:{type:String},_bootstrap_toke n:{type:String,value:"..."},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean, value:!1},_host_url:{type:String,value:function(){return location.origin}},_perm issions:{type:Object},_project_id:{type:String,value:function(){var t=location.h ostname.indexOf(".appspot.com");return location.hostname.substring(0,t)}},_serve r_details:{type:Object}},observers:["_fetchBootstrap(_permissions,_auth_headers) "],_cannotBootstrap:function(t){return!(t&&t.get_bootstrap_token)},_fetchBootstr ap:function(t,e){e&&t&&!this._cannotBootstrap(t)&&(this.set("_busy1",!0),sk.requ est("POST","/api/swarming/v1/server/token",void 0,e).then(JSON.parse).then(funct ion(t){this.set("_bootstrap_token",t.bootstrap_token),this.set("_busy1",!1)}.bin d(this)).catch(function(t){console.log("Could not get token",t),this.set("_busy1 ",!1)}.bind(this)))},_makeInstancesUrl:function(t,e){return"https://console.clou d.google.com/appengine/instances?project="+e+"&versionId="+t.server_version},_ma keErrorUrl:function(t){return"https://console.cloud.google.com/errors?project="+ t},_makeLogUrl:function(t){return"https://console.cloud.google.com/logs/viewer?f ilters=status:500..599&project="+t}})</script> </dom-module> <script>Polymer.Neo nAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{o bserver:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnim ationChanged",type:String}},_entryAnimationChanged:function(){this.animationConf ig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimatio n,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animat ionConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_ copyProperties:function(i,n){for(var t in n)i[t]=n[t]},_cloneConfig:function(i){ var n={isClone:!0};return this._copyProperties(n,i),n},_getAnimationConfigRecurs ive:function(i,n,t){if(this.animationConfig){if(this.animationConfig.value&&"fun ction"==typeof this.animationConfig.value)return void this._warn(this._logf("pla yAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));var o;if(o=i?this.animationConfig[i]:this.a nimationConfig,Array.isArray(o)||(o=[o]),o)for(var e,a=0;e=o[a];a++)if(e.animata ble)e.animatable._getAnimationConfigRecursive(e.type||i,n,t);else if(e.id){var r =n[e.id];r?(r.isClone||(n[e.id]=this._cloneConfig(r),r=n[e.id]),this._copyProper ties(r,e)):n[e.id]=e}else t.push(e)}},getAnimationConfig:function(i){var n={},t= [];this._getAnimationConfigRecursive(i,n,t);for(var o in n)t.push(n[o]);return t }}</script><script>Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations :function(n){var i=[];if(n.length>0)for(var e,t=0;e=n[t];t++){var o=document.cre ateElement(e.name);if(o.isNeonAnimation){var a=null;try{a=o.configure(e),"functi on"!=typeof a.cancel&&(a=document.timeline.play(a))}catch(n){a=null,console.warn ("Couldnt play","(",e.name,").",n)}a&&i.push({neonAnimation:o,config:e,animation :a})}else console.warn(this.is+":",e.name,"not found!")}return i},_shouldComplet e:function(n){for(var i=!0,e=0;e<n.length;e++)if("finished"!=n[e].animation.play State){i=!1;break}return i},_complete:function(n){for(var i=0;i<n.length;i++)n[i ].neonAnimation.complete(n[i].config);for(var i=0;i<n.length;i++)n[i].animation. cancel()},playAnimation:function(n,i){var e=this.getAnimationConfig(n);if(e){thi s._active=this._active||{},this._active[n]&&(this._complete(this._active[n]),del ete this._active[n]);var t=this._configureAnimations(e);if(0==t.length)return vo id this.fire("neon-animation-finish",i,{bubbles:!1});this._active[n]=t;for(var o =0;o<t.length;o++)t[o].animation.onfinish=function(){this._shouldComplete(t)&&(t his._complete(t),delete this._active[n],this.fire("neon-animation-finish",i,{bub bles:!1}))}.bind(this)}},cancelAnimation:function(){for(var n in this._animation s)this._animations[n].cancel();this._animations={}}},Polymer.NeonAnimationRunner Behavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl ]</script><script>Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog" ,tabindex:"-1"},properties:{modal:{type:Boolean,value:!1}},observers:["_modalCha nged(modal, _readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this._ _prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEsc Key=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChang ed:function(i,e){e&&(i?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutside Click,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop= this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.w ithBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this._ _prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__ prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdro p))},_updateClosingReasonConfirmed:function(i){this.closingReason=this.closingRe ason||{},this.closingReason.confirmed=i},_onDialogClick:function(i){for(var e=Po lymer.dom(i).path,o=0;o<e.indexOf(this);o++){var t=e[o];if(t.hasAttribute&&(t.ha sAttribute("dialog-dismiss")||t.hasAttribute("dialog-confirm"))){this._updateClo singReasonConfirmed(t.hasAttribute("dialog-confirm")),this.close(),i.stopPropaga tion();break}}}},Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polyme r.PaperDialogBehaviorImpl]</script> <dom-module id="paper-dialog-shared-styles" assetpath="/res/imp/bower_components/paper-dialog-behavior/"> <template> <style> :host{display:block;margin:24px 40px;background:var(--paper-dialog-background-co lor,--primary-background-color);color:var(--paper-dialog-color,--primary-text-co lor);@apply(--paper-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-d ialog);}:host>::content>*{margin-top:20px;padding:0 24px}:host>::content>.no-pad ding{padding:0}:host>::content>:first-child{margin-top:24px}:host>::content>:las t-child{margin-bottom:24px}:host>::content h2{position:relative;margin:0;@apply( --paper-font-title);@apply(--paper-dialog-title);}:host>::content .buttons{posit ion:relative;padding:8px 8px 8px 24px;margin:0;color:var(--paper-dialog-button-c olor,--primary-color);@apply(--layout-horizontal);@apply(--layout-end-justified) ;}</style> </template> </dom-module> <dom-module id="paper-dialog" assetpath="/r es/imp/bower_components/paper-dialog/"> <template> <style include="paper-dialog- shared-styles"></style> <content></content> </template> </dom-module> <script>!f unction(){Polymer({is:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Poly mer.NeonAnimationRunnerBehavior],listeners:{"neon-animation-finish":"_onNeonAnim ationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation ("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("e xit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened(): this._finishRenderClosed()}})}()</script> <dom-module id="dynamic-table-style" a ssetpath="/res/imp/common/"> <template> <style>table{border-collapse:collapse;ma rgin-left:5px}td,th{border:1px solid #DDD;padding:5px}th{position:relative}sort- toggle{position:absolute;right:0;top:.4em}</style> </template> </dom-module> <sc ript>!function(){SwarmingBehaviors.DynamicTableBehavior=[SwarmingBehaviors.Commo nBehavior,{properties:{_columns:{type:Array},_filter:{type:Function},_filteredSo rtedItems:{type:Array,computed:"_filterAndSort(_items.*,_filter.*,_sort.*)"},_it ems:{type:Array},_plainColumns:{type:Array,computed:"_stripSpecial(_columns.*)"} ,_sort:{type:Object,computed:"_makeSortObject(_sortstr)"},_sortstr:{type:String} ,_verbose:{type:Boolean}},_column:function(t,i){var n=this._columnMap[t];return n||(n=function(i){var n=this._attribute(i,t,"none");return this._verbose?n.join( " | "):n[0]}),n.bind(this)(i)},_compare:function(t,i){if(!this._sort)return 0;va r n=1;"desc"===this._sort.direction&&(n=-1);var r=this._specialSort[this._sort.n ame];if(r)return r.bind(this)(n,t,i);var e=this._column(this._sort.name,t);"none "===e&&(e="ZZZ");var o=this._column(this._sort.name,i);return"none"===o&&(o="ZZZ "),n*naturalSort(e,o)},_filterAndSort:function(){swarming.stableSort(this._items ,this._compare.bind(this));var t=this._items;return this._filter&&(t=t.filter(th is._filter.bind(this))),t},_header:function(t){return this._headerMap[t]||t},_hi de:function(t){return this._columns.indexOf(t)===-1},_makeSortObject:function(t) {if(t){var i=t.split(":");return 2!=i.length?{name:"id",direction:"asc"}:{name:i [0],direction:i[1]}}},_sortChange:function(t){t&&t.detail&&t.detail.name&&this.s et("_sortstr",t.detail.name+":"+t.detail.direction)},_stripSpecial:function(){re turn this._columns.filter(function(t){return this._specialColumns.indexOf(t)===- 1}.bind(this)).sort(function(t,i){if(!this._priorityColumns||this._priorityColum ns.indexOf(t)===-1&&this._priorityColumns.indexOf(i)===-1)return t.localeCompare (i);var n=this._priorityColumns.indexOf(t);n===-1&&(n=1e3);var r=this._priorityC olumns.indexOf(i);return r===-1&&(r=1e3),n-r}.bind(this))},_commonColumns:functi on(){return{device:function(t){var i=this._attribute(t,"device","none");i=i[0];v ar n=swarming.alias.device(i);return"unknown"===n?i:swarming.alias.apply(i,n)},d evice_type:function(t){var i=this._attribute(t,"device_type","none");i=i[0];var n=swarming.alias.android(i);return"unknown"===n?i:swarming.alias.apply(i,n)},gpu :function(t){var i=this._attribute(t,"gpu","none"),n=[],r=[];return i.forEach(fu nction(t){var i=swarming.alias.gpu(t);return"unknown"===i?(n.push(t),void(t.inde xOf(":")!==-1&&r.push(t))):(n.push(swarming.alias.apply(t,i)),void(t.indexOf(":" )!==-1&&r.push(swarming.alias.apply(t,i))))}.bind(this)),this._verbose||!r.lengt h?n.join(" | "):r.join(" | ")},os:function(t){return this._verbose?this._attribu te(t,"os","none").join(" | "):swarming.longest(this._attribute(t,"os","none"))}, pool:function(t){var i=this._attribute(t,"pool");return i.join(" | ")}}}}]}()</s cript><dom-module id="sort-toggle" assetpath="/res/imp/common/"> <template> <sty le>:host{display:inline-block;position:relative;min-width:20px;min-height:16px;v ertical-align:middle}iron-icon{position:absolute;left:0;cursor:pointer}.hidden{v isibility:hidden}</style> <span on-click="toggle"> <iron-icon style="top:0" clas s$="[[_hidden(direction,'asc')]]" icon="icons:arrow-drop-down"> </iron-icon> <ir on-icon style="bottom:0" class$="[[_hidden(direction,'desc')]]" icon="icons:arro w-drop-up"> </iron-icon> </span> </template> <script>Polymer({is:"sort-toggle",p roperties:{current:{type:Object,observer:"_resetSort"},name:{type:String,observe r:"_resetSort"},direction:{type:String,value:"",notify:!0}},toggle:function(){"a sc"===this.direction?this.set("direction","desc"):this.set("direction","asc"),th is.fire("sort_change",{direction:this.direction,name:this.name})},_hidden:functi on(t,e){return t===e?"hidden":""},_resetSort:function(){this.current&&this.curre nt.name===this.name?this.set("direction",this.current.direction):this.set("direc tion","")}})</script> </dom-module><dom-module id="url-param" assetpath="/res/im p/common/"> <template> <paper-toast id="toast"></paper-toast> </template> <scrip t>!function(){Polymer({is:"url-param",properties:{default_value:{type:String},de fault_values:{type:Array},multi:{type:Boolean,value:!1},name:{type:String},valid :{type:Array},value:{type:String,value:"",notify:!0,observer:"_valueChanged"},_l oaded:{type:Boolean,value:!1}},observers:["_valueChanged(value.splices)"],ready: function(){this._loaded=!0;var t=this._getURL();t&&this._isValid(t)?this.set("va lue",t):this.default_value&&this._isValid(this.default_value)?this.set("value",t his.default_value):this.multi&&this.default_values&&this._isValid(this.default_v alues)?this.set("value",this.default_values):this._putURL()},_getURL:function(){ var t=sk.query.toParamSet(window.location.search.substring(1))[this.name];return t?this.multi?t:t.length>1?(this._error("Multiple values provided for "+this.nam e+" but only one accepted: "+t),null):t[0]:null},_putURL:function(){var t=sk.que ry.toParamSet(window.location.search.substring(1));delete t[this.name],!this.val ue||Array.isArray(this.value)&&0==this.value.length||(this.multi?t[this.name]=th is.value:t[this.name]=[this.value]);var e=window.location.href.split("?")[0]+"?" +sk.query.fromParamSet(t);window.history.replaceState("","",e)},_isValid:functio n(t){var e=function(t){if(this.valid){for(var e=0;e<this.valid.length;e++)if(t== this.valid[e])return!0;return this._error("Invalid value for "+this.name+': "'+t +'". Must be one of: '+this.valid),!1}return!0}.bind(this);if(!this.multi)return Array.isArray(t)&&this._error("Multiple values provided for "+this.name+" but o nly one accepted: "+t),e(t);if(!Array.isArray(t))return this._error("url-param-s k: Value is not an array: "+t),!1;for(var i=0;i<t.length;i++)if(!e(t[i]))return! 1;return!0},_valueChanged:function(){this._loaded&&this._putURL()},_error:functi on(t){console.log("[ERROR] "+t),this.set("$.toast.text",t),this.$.toast.show()}} )}()</script> </dom-module> <dom-module id="pageable-data" assetpath="/res/imp/c ommon/"> <template> <style include="swarming-app-style"></style> <button on-tap= "page" disabled$="[[_noMore(_cursor)]]"> [[label]] </button> </template> <script > (function(){
7 var END = "END";
8 Polymer({
9 is: 'pageable-data',
10
11 properties: {
12 // input
13 label: {
14 type: String,
15 value: "Show More",
16 },
17 parse: {
18 type: Function,
19 value: function(){
20 return function(a){
21 return a;
22 };
23 },
24 },
25
26 // output
27 busy: {
28 type: Boolean,
29 value: false,
30 notify: true,
31 },
32 output: {
33 type: Array,
34 notify: true,
35 },
36
37 _cursor: {
38 type: String,
39 value: null,
40 },
41 _url: {
42 type: String,
43 },
44 _headers: {
45 type: Object,
46 },
47 _page_size: {
48 type: Number,
49 }
50 },
51
52 clear: function() {
53 this.set("output", []);
54 this._cursor = null;
55 this._url = "";
56 },
57
58 load: function(url, headers, pageSize) {
59 if (!url) {
60 throw "url can't be blank";
61 }
62 if (url.indexOf("?") === -1) {
63 url += "?";
64 }
65 this._url = url;
66 this._headers = headers;
67 this._page_size = pageSize;
68 this._cursor = null;
69 this.page();
70 },
71
72 page: function() {
73 if (this.busy || this._cursor === END) {
74 // ignore pages while we are loading or are at the end of the data.
75 return;
76 }
77 if (!this._url) {
78 throw "You must first call load() before calling page()";
79 }
80 this.set("busy", true);
81
82 var url = this._url;
83 if (this._page_size) {
84 if (!url.endsWith("?")) {
85 url += "&";
86 }
87 url += "limit=" + this._page_size;
88 }
89 if (this._cursor) {
90 if (!url.endsWith("?")) {
91 url += "&";
92 }
93 url += "cursor=" + this._cursor;
94 }
95
96 sk.request("GET", url, "", this._headers).then(JSON.parse).then(function (json){
97 var vals = this.parse(json);
98 // !this._cursor means this is our first load and we should empty the
99 // array
100 if (!this._cursor || !this.output) {
101 this.set("output", vals);
102 } else {
103 this.push("output", ...vals);
104 }
105 this.set("_cursor", json.cursor || END);
106 this.set("busy", false);
107 }.bind(this)).catch(function(reason){
108 console.log("Reason for failure of request to " + this._url, reason);
109 sk.errorMessage("Could not get next set of results. Try reloading the page?", 0);
110 this.set("busy", false);
111 }.bind(this));
112 },
113
114 _noMore: function(cursor) {
115 return cursor === END;
116 }
117 });
118 })(); </script> </dom-module><script>Polymer({is:"iron-a11y-keys",behaviors:[P olymer.IronA11yKeysBehavior],properties:{target:{type:Object,observer:"_targetCh anged"},keys:{type:String,reflectToAttribute:!0,observer:"_keysChanged"}},attach ed:function(){this.target||(this.target=this.parentNode)},_targetChanged:functio n(e){this.keyEventTarget=e},_keysChanged:function(){this.removeOwnKeyBindings(), this.addOwnKeyBinding(this.keys,"_fireKeysPressed")},_fireKeysPressed:function(e ){this.fire("keys-pressed",e.detail,{})}})</script><script>Polymer({is:"iron-sel ector",behaviors:[Polymer.IronMultiSelectableBehavior]})</script> <dom-module id ="paper-button" assetpath="/res/imp/bower_components/paper-button/"> <template s trip-whitespace=""> <style include="paper-material-shared-styles">:host{@apply(- -layout-inline);@apply(--layout-center-center);position:relative;box-sizing:bord er-box;min-width:5.14em;margin:0 .29em;background:0 0;-webkit-tap-highlight-colo r:transparent;-webkit-tap-highlight-color:transparent;font:inherit;text-transfor m:uppercase;outline-width:0;border-radius:3px;-moz-user-select:none;-ms-user-sel ect:none;-webkit-user-select:none;user-select:none;cursor:pointer;z-index:0;padd ing:.7em .57em;@apply(--paper-font-common-base);@apply(--paper-button);}:host([h idden]){display:none!important}:host([raised].keyboard-focus){font-weight:700;@a pply(--paper-button-raised-keyboard-focus);}:host(:not([raised]).keyboard-focus) {font-weight:700;@apply(--paper-button-flat-keyboard-focus);}:host([disabled]){b ackground:#eaeaea;color:#a8a8a8;cursor:auto;pointer-events:none;@apply(--paper-b utton-disabled);}:host([animated]){@apply(--shadow-transition);}paper-ripple{col or:var(--paper-button-ink-color)}</style> <content></content> </template> <scrip t>Polymer({is:"paper-button",behaviors:[Polymer.PaperButtonBehavior],properties: {raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevati on"}},_calculateElevation:function(){this.raised?Polymer.PaperButtonBehaviorImpl ._calculateElevation.apply(this):this._setElevation(0)}})</script> </dom-module> <script>Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavio r={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0, type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,v alue:"validator"},_validator:{type:Object,computed:"__computeValidator(validator )"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronVa lidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged: function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttr ibute("aria-invalid")},hasValidator:function(){return null!=this._validator},val idate:function(a){return this.invalid=!this._getValidity(a),!this.invalid},_getV alidity:function(a){return!this.hasValidator()||this._validator.validate(a)},__c omputeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.I ronValidatableBehaviorMeta.byKey(this.validator)}}</script><script>Polymer.IronF ormElementBehavior={properties:{name:{type:String},value:{notify:!0,type:String} ,required:{type:Boolean,value:!1},_parentForm:{type:Object}},attached:function() {this.fire("iron-form-element-register")},detached:function(){this._parentForm&& this._parentForm.fire("iron-form-element-unregister",{target:this})}}</script><s cript>Polymer.IronCheckedElementBehaviorImpl={properties:{checked:{type:Boolean, value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{ty pe:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observe r:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){ this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.dis abled||!this.required||this.checked},_requiredChanged:function(){this.required?t his.setAttribute("aria-required","true"):this.removeAttribute("aria-required")}, _checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_v alueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on") }},Polymer.IronCheckedElementBehavior=[Polymer.IronFormElementBehavior,Polymer.I ronValidatableBehavior,Polymer.IronCheckedElementBehaviorImpl]</script><script>P olymer.PaperCheckedElementBehaviorImpl={_checkedChanged:function(){Polymer.IronC heckedElementBehaviorImpl._checkedChanged.call(this),this.hasRipple()&&(this.che cked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("check ed"))},_buttonStateChanged:function(){Polymer.PaperRippleBehavior._buttonStateCh anged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},Po lymer.PaperCheckedElementBehavior=[Polymer.PaperInkyFocusBehavior,Polymer.IronCh eckedElementBehavior,Polymer.PaperCheckedElementBehaviorImpl]</script><dom-modul e id="paper-checkbox" assetpath="/res/imp/bower_components/paper-checkbox/"> <te mplate strip-whitespace=""> <style>:host{display:inline-block;white-space:nowrap ;cursor:pointer;--calculated-paper-checkbox-size:var(--paper-checkbox-size, 18px );--calculated-paper-checkbox-ink-size:var(--paper-checkbox-ink-size, -1px);@app ly(--paper-font-common-base);line-height:0;-webkit-tap-highlight-color:transpare nt}:host([hidden]){display:none!important}:host(:focus){outline:0}.hidden{displa y:none}#checkboxContainer{display:inline-block;position:relative;width:var(--cal culated-paper-checkbox-size);height:var(--calculated-paper-checkbox-size);min-wi dth:var(--calculated-paper-checkbox-size);margin:var(--paper-checkbox-margin,ini tial);vertical-align:var(--paper-checkbox-vertical-align,middle);background-colo r:var(--paper-checkbox-unchecked-background-color,transparent)}#ink{position:abs olute;top:calc(0px - (var(--calculated-paper-checkbox-ink-size) - var(--calculat ed-paper-checkbox-size))/ 2);left:calc(0px - (var(--calculated-paper-checkbox-in k-size) - var(--calculated-paper-checkbox-size))/ 2);width:var(--calculated-pape r-checkbox-ink-size);height:var(--calculated-paper-checkbox-ink-size);color:var( --paper-checkbox-unchecked-ink-color,var(--primary-text-color));opacity:.6;point er-events:none}:host-context([dir=rtl]) #ink{right:calc(0px - (var(--calculated- paper-checkbox-ink-size) - var(--calculated-paper-checkbox-size))/ 2);left:auto} #ink[checked]{color:var(--paper-checkbox-checked-ink-color,var(--primary-color)) }#checkbox{position:relative;box-sizing:border-box;height:100%;border:solid 2px; border-color:var(--paper-checkbox-unchecked-color,var(--primary-text-color));bor der-radius:2px;pointer-events:none;-webkit-transition:background-color 140ms,bor der-color 140ms;transition:background-color 140ms,border-color 140ms}#checkbox.c hecked #checkmark{-webkit-animation:checkmark-expand 140ms ease-out forwards;ani mation:checkmark-expand 140ms ease-out forwards}@-webkit-keyframes checkmark-exp and{0%{-webkit-transform:scale(0,0) rotate(45deg)}100%{-webkit-transform:scale(1 ,1) rotate(45deg)}}@keyframes checkmark-expand{0%{transform:scale(0,0) rotate(45 deg)}100%{transform:scale(1,1) rotate(45deg)}}#checkbox.checked{background-color :var(--paper-checkbox-checked-color,var(--primary-color));border-color:var(--pap er-checkbox-checked-color,var(--primary-color))}#checkmark{position:absolute;wid th:36%;height:70%;border-style:solid;border-top:none;border-left:none;border-rig ht-width:calc(2/15 * var(--calculated-paper-checkbox-size));border-bottom-width: calc(2/15 * var(--calculated-paper-checkbox-size));border-color:var(--paper-chec kbox-checkmark-color,#fff);-webkit-transform-origin:97% 86%;transform-origin:97% 86%;box-sizing:content-box}:host-context([dir=rtl]) #checkmark{-webkit-transfor m-origin:50% 14%;transform-origin:50% 14%}#checkboxLabel{position:relative;displ ay:inline-block;vertical-align:middle;padding-left:var(--paper-checkbox-label-sp acing,8px);white-space:normal;line-height:normal;color:var(--paper-checkbox-labe l-color,var(--primary-text-color));@apply(--paper-checkbox-label);}:host([checke d]) #checkboxLabel{color:var(--paper-checkbox-label-checked-color,var(--paper-ch eckbox-label-color,var(--primary-text-color)));@apply(--paper-checkbox-label-che cked);}:host-context([dir=rtl]) #checkboxLabel{padding-right:var(--paper-checkbo x-label-spacing,8px);padding-left:0}#checkboxLabel[hidden]{display:none}:host([d isabled]) #checkbox{opacity:.5;border-color:var(--paper-checkbox-unchecked-color ,var(--primary-text-color))}:host([disabled][checked]) #checkbox{background-colo r:var(--paper-checkbox-unchecked-color,var(--primary-text-color));opacity:.5}:ho st([disabled]) #checkboxLabel{opacity:.65}#checkbox.invalid:not(.checked){border -color:var(--paper-checkbox-error-color,var(--error-color))}</style> <div id="ch eckboxContainer"> <div id="checkbox" class$="[[_computeCheckboxClass(checked, in valid)]]"> <div id="checkmark" class$="[[_computeCheckmarkClass(checked)]]"></di v> </div> </div> <div id="checkboxLabel"><content></content></div> </template> < script>Polymer({is:"paper-checkbox",behaviors:[Polymer.PaperCheckedElementBehavi or],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ar iaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){var e= this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim();if("-1 px"===e){var t=parseFloat(this.getComputedStyleValue("--calculated-paper-checkbo x-size").trim()),a=Math.floor(8/3*t);a%2!==t%2&&a++,this.customStyle["--paper-ch eckbox-ink-size"]=a+"px",this.updateStyles()}},_computeCheckboxClass:function(e, t){var a="";return e&&(a+="checked "),t&&(a+="invalid"),a},_computeCheckmarkClas s:function(e){return e?"":"hidden"},_createRipple:function(){return this._ripple Container=this.$.checkboxContainer,Polymer.PaperInkyFocusBehaviorImpl._createRip ple.call(this)}})</script> </dom-module> <script>Polymer({is:"iron-input",extend s:"input",behaviors:[Polymer.IronValidatableBehavior],properties:{bindValue:{obs erver:"_bindValueChanged",type:String},preventInvalidInput:{type:Boolean},allowe dPattern:{type:String,observer:"_allowedPatternChanged"},_previousValidInput:{ty pe:String,value:""},_patternAlreadyChecked:{type:Boolean,value:!1}},listeners:{i nput:"_onInput",keypress:"_onKeypress"},registered:function(){this._canDispatchE ventOnDisabled()||(this._origDispatchEvent=this.dispatchEvent,this.dispatchEvent =this._dispatchEventFirefoxIE)},created:function(){Polymer.IronA11yAnnouncer.req uestAvailability()},_canDispatchEventOnDisabled:function(){var e=document.create Element("input"),t=!1;e.disabled=!0,e.addEventListener("feature-check-dispatch-e vent",function(){t=!0});try{e.dispatchEvent(new Event("feature-check-dispatch-ev ent"))}catch(e){}return t},_dispatchEventFirefoxIE:function(e){var t=this.disabl ed;this.disabled=!1;var i=this._origDispatchEvent(e);return this.disabled=t,i},g et _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPatter n);else switch(this.type){case"number":e=/[0-9.,e-]/}return e},ready:function(){ this.bindValue=this.value},_bindValueChanged:function(){this.value!==this.bindVa lue&&(this.value=this.bindValue||0===this.bindValue||this.bindValue===!1?this.bi ndValue:""),this.fire("bind-value-changed",{value:this.bindValue})},_allowedPatt ernChanged:function(){this.preventInvalidInput=!!this.allowedPattern},_onInput:f unction(){if(this.preventInvalidInput&&!this._patternAlreadyChecked){var e=this. _checkPatternValidity();e||(this._announceInvalidCharacter("Invalid string of ch aracters not entered."),this.value=this._previousValidInput)}this.bindValue=this .value,this._previousValidInput=this.value,this._patternAlreadyChecked=!1},_isPr intable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCo de,i=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode| |145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return !(t||0==e.charCode&&i)},_onKeypress:function(e){if(this.preventInvalidInput||"nu mber"===this.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.alt Key)){this._patternAlreadyChecked=!0;var i=String.fromCharCode(e.charCode);this. _isPrintable(e)&&!t.test(i)&&(e.preventDefault(),this._announceInvalidCharacter( "Invalid character "+i+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t<this.value.length;t++)if(!e. test(this.value[t]))return!1;return!0},validate:function(){var e=this.checkValid ity();return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Pol ymer.IronValidatableBehavior.validate.call(this,this.value))),this.invalid=!e,th is.fire("iron-input-validate"),e},_announceInvalidCharacter:function(e){this.fir e("iron-announce",{text:e})}})</script><script>Polymer.PaperInputHelper={},Polym er.PaperInputHelper.NextLabelID=1,Polymer.PaperInputHelper.NextAddonID=1,Polymer .PaperInputBehaviorImpl={properties:{label:{type:String},value:{notify:!0,type:S tring},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0 },preventInvalidInput:{type:Boolean},allowedPattern:{type:String},type:{type:Str ing},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},e rrorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type :Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:B oolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"}, autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},mi nlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String },step:{type:String},name:{type:String},placeholder:{type:String,value:""},reado nly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value :"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{t ype:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type: String,value:""},_ariaLabelledBy:{type:String,value:""}},listeners:{"addon-attac hed":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hos tAttributes:{tabindex:0},get inputElement(){return this.$.input},get _focusableE lement(){return this.inputElement},registered:function(){this._typesThatHaveText =["date","datetime","datetime-local","month","time","week","file"]},attached:fun ction(){this._updateAriaLabelledBy(),this.inputElement&&this._typesThatHaveText. indexOf(this.inputElement.type)!==-1&&(this.alwaysFloatLabel=!0)},_appendStringW ithSpace:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t= e.path?e.path[0]:e.target;if(t.id)this._ariaDescribedBy=this._appendStringWithSp ace(this._ariaDescribedBy,t.id);else{var a="paper-input-add-on-"+Polymer.PaperIn putHelper.NextAddonID++;t.id=a,this._ariaDescribedBy=this._appendStringWithSpace (this._ariaDescribedBy,a)}},validate:function(){return this.inputElement.validat e()},_focusBlurHandler:function(e){Polymer.IronControlState._focusBlurHandler.ca ll(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement.focus()} ,_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabP ressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttri bute("tabindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){ this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{ var t=this.inputElement.selectionStart;this.value=e,this.inputElement.selectionS tart=t,this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFl oatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e=Polym er.dom(this.root).querySelector("label");if(!e)return void(this._ariaLabelledBy= "");var t;e.id?t=e.id:(t="paper-input-label-"+Polymer.PaperInputHelper.NextLabel ID++,e.id=t),this._ariaLabelledBy=t},_onChange:function(e){this.shadowRoot&&this .fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelabl e})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement,t=e instanceof HTMLElement,a=t&&e!==document.body&&e!= =document.documentElement;a||this._focusableElement.focus()}}},Polymer.PaperInpu tBehavior=[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.PaperIn putBehaviorImpl]</script> <script>Polymer.PaperInputAddonBehavior={hostAttribute s:{"add-on":""},attached:function(){this.fire("addon-attached")},update:function (t){}}</script><dom-module id="paper-input-char-counter" assetpath="/res/imp/bow er_components/paper-input/"> <template> <style>:host{display:inline-block;float: right;@apply(--paper-font-caption);@apply(--paper-input-char-counter);}:host([hi dden]){display:none!important}:host-context([dir=rtl]){float:left}</style> <span >[[_charCounterStr]]</span> </template> </dom-module> <script>Polymer({is:"paper -input-char-counter",behaviors:[Polymer.PaperInputAddonBehavior],properties:{_ch arCounterStr:{type:String,value:"0"}},update:function(t){if(t.inputElement){t.va lue=t.value||"";var e=t.value.toString().length.toString();t.inputElement.hasAtt ribute("maxlength")&&(e+="/"+t.inputElement.getAttribute("maxlength")),this._cha rCounterStr=e}}})</script> <dom-module id="paper-input-container" assetpath="/re s/imp/bower_components/paper-input/"> <template> <style>:host{display:block;padd ing:8px 0;@apply(--paper-input-container);}:host([inline]){display:inline-block} :host([disabled]){pointer-events:none;opacity:.33;@apply(--paper-input-container -disabled);}:host([hidden]){display:none!important}.floated-label-placeholder{@a pply(--paper-font-caption);}.underline{height:2px;position:relative}.focused-lin e{@apply(--layout-fit);border-bottom:2px solid var(--paper-input-container-focus -color,--primary-color);-webkit-transform-origin:center center;transform-origin: center center;-webkit-transform:scale3d(0,1,1);transform:scale3d(0,1,1);@apply(- -paper-input-container-underline-focus);}.underline.is-highlighted .focused-line {-webkit-transform:none;transform:none;-webkit-transition:-webkit-transform .25s ;transition:transform .25s;@apply(--paper-transition-easing);}.underline.is-inva lid .focused-line{border-color:var(--paper-input-container-invalid-color,--error -color);-webkit-transform:none;transform:none;-webkit-transition:-webkit-transfo rm .25s;transition:transform .25s;@apply(--paper-transition-easing);}.unfocused- line{@apply(--layout-fit);border-bottom:1px solid var(--paper-input-container-co lor,--secondary-text-color);@apply(--paper-input-container-underline);}:host([di sabled]) .unfocused-line{border-bottom:1px dashed;border-color:var(--paper-input -container-color,--secondary-text-color);@apply(--paper-input-container-underlin e-disabled);}.label-and-input-container{@apply(--layout-flex-auto);@apply(--layo ut-relative);width:100%;max-width:100%}.input-content{@apply(--layout-horizontal );@apply(--layout-center);position:relative}.input-content ::content .paper-inpu t-label,.input-content ::content label{position:absolute;top:0;right:0;left:0;wi dth:100%;font:inherit;color:var(--paper-input-container-color,--secondary-text-c olor);-webkit-transition:-webkit-transform .25s,width .25s;transition:transform .25s,width .25s;-webkit-transform-origin:left top;transform-origin:left top;@app ly(--paper-font-common-nowrap);@apply(--paper-font-subhead);@apply(--paper-input -container-label);@apply(--paper-transition-easing);}.input-content.label-is-flo ating ::content .paper-input-label,.input-content.label-is-floating ::content la bel{-webkit-transform:translateY(-75%) scale(.75);transform:translateY(-75%) sca le(.75);width:133%;@apply(--paper-input-container-label-floating);}:host-context ([dir=rtl]) .input-content.label-is-floating ::content .paper-input-label,:host- context([dir=rtl]) .input-content.label-is-floating ::content label{width:100%;- webkit-transform-origin:right top;transform-origin:right top}.input-content.labe l-is-highlighted ::content .paper-input-label,.input-content.label-is-highlighte d ::content label{color:var(--paper-input-container-focus-color,--primary-color) ;@apply(--paper-input-container-label-focus);}.input-content.is-invalid ::conten t .paper-input-label,.input-content.is-invalid ::content label{color:var(--paper -input-container-invalid-color,--error-color)}.input-content.label-is-hidden ::c ontent .paper-input-label,.input-content.label-is-hidden ::content label{visibil ity:hidden}.input-content ::content .paper-input-input,.input-content ::content input,.input-content ::content iron-autogrow-textarea,.input-content ::content t extarea{position:relative;outline:0;box-shadow:none;padding:0;width:100%;max-wid th:100%;background:0 0;border:none;color:var(--paper-input-container-input-color ,--primary-text-color);-webkit-appearance:none;text-align:inherit;vertical-align :bottom;@apply(--paper-font-subhead);@apply(--paper-input-container-input);}.inp ut-content.focused ::content .paper-input-input,.input-content.focused ::content input,.input-content.focused ::content iron-autogrow-textarea,.input-content.fo cused ::content textarea{@apply(--paper-input-container-input-focus);}.input-con tent.is-invalid ::content .paper-input-input,.input-content.is-invalid ::content input,.input-content.is-invalid ::content iron-autogrow-textarea,.input-content .is-invalid ::content textarea{@apply(--paper-input-container-input-invalid);}.i nput-content ::content input::-webkit-inner-spin-button,.input-content ::content input::-webkit-outer-spin-button{@apply(--paper-input-container-input-webkit-sp inner);}::content [prefix]{@apply(--paper-font-subhead);@apply(--paper-input-pre fix);@apply(--layout-flex-none);}::content [suffix]{@apply(--paper-font-subhead) ;@apply(--paper-input-suffix);@apply(--layout-flex-none);}.input-content ::conte nt input{min-width:0}.input-content ::content textarea{resize:none}.add-on-conte nt{position:relative}.add-on-content.is-invalid ::content *{color:var(--paper-in put-container-invalid-color,--error-color)}.add-on-content.is-highlighted ::cont ent *{color:var(--paper-input-container-focus-color,--primary-color)}</style> <t emplate is="dom-if" if="[[!noLabelFloat]]"> <div class="floated-label-placeholde r" aria-hidden="true">&nbsp;</div> </template> <div class$="[[_computeInputConte ntClass(noLabelFloat,alwaysFloatLabel,focused,invalid,_inputHasContent)]]"> <con tent select="[prefix]" id="prefix"></content> <div class="label-and-input-contai ner" id="labelAndInputContainer"> <content select=":not([add-on]):not([prefix]): not([suffix])"></content> </div> <content select="[suffix]"></content> </div> <d iv class$="[[_computeUnderlineClass(focused,invalid)]]"> <div class="unfocused-l ine"></div> <div class="focused-line"></div> </div> <div class$="[[_computeAddOn ContentClass(focused,invalid)]]"> <content id="addOnContent" select="[add-on]">< /content> </div> </template> </dom-module> <script>Polymer({is:"paper-input-cont ainer",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:B oolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{typ e:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},f ocused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_input HasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,text area,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return t his._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return th is._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return thi s._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){retur n this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttach ed","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){retur n this.attrForValue+"-changed"},get _propertyForValue(){return Polymer.CaseMap.d ashToCamelCase(this.attrForValue)},get _inputElement(){return Polymer.dom(this). querySelector(this._inputSelector)},get _inputElementValue(){return this._inputE lement[this._propertyForValue]||this._inputElement.value},ready:function(){this. _addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0), this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.att rForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boun dValueChanged):this.addEventListener("input",this._onInput),""!=this._inputEleme ntValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(t his._inputElement)},_onAddonAttached:function(t){this._addons||(this._addons=[]) ;var n=t.target;this._addons.indexOf(n)===-1&&(this._addons.push(n),this.isAttac hed&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocuse d(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate( this._inputElement)},_onInput:function(t){this._handleValueAndAutoValidate(t.tar get)},_onValueChanged:function(t){this._handleValueAndAutoValidate(t.target)},_h andleValue:function(t){var n=this._inputElementValue;n||0===n||"number"===t.type &&!t.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.upda teAddons({inputElement:t,value:n,invalid:this.invalid})},_handleValueAndAutoVali date:function(t){if(this.autoValidate){var n;n=t.validate?t.validate(this._input ElementValue):t.checkValidity(),this.invalid=!n}this._handleValue(t)},_onIronInp utValidate:function(t){this.invalid=this._inputElement.invalid},_invalidChanged: function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons :function(t){for(var n,e=0;n=this._addons[e];e++)n.update(t)},_computeInputConte ntClass:function(t,n,e,i,a){var u="input-content";if(t)a&&(u+=" label-is-hidden" ),i&&(u+=" is-invalid");else{var l=this.querySelector("label");n||a?(u+=" label- is-floating",this.$.labelAndInputContainer.style.position="static",i?u+=" is-inv alid":e&&(u+=" label-is-highlighted")):(l&&(this.$.labelAndInputContainer.style. position="relative"),i&&(u+=" is-invalid"))}return e&&(u+=" focused"),u},_comput eUnderlineClass:function(t,n){var e="underline";return n?e+=" is-invalid":t&&(e+ =" is-highlighted"),e},_computeAddOnContentClass:function(t,n){var e="add-on-con tent";return n?e+=" is-invalid":t&&(e+=" is-highlighted"),e}})</script> <dom-mod ule id="paper-input-error" assetpath="/res/imp/bower_components/paper-input/"> < template> <style>:host{display:inline-block;visibility:hidden;color:var(--paper- input-container-invalid-color,--error-color);@apply(--paper-font-caption);@apply (--paper-input-error);position:absolute;left:0;right:0}:host([invalid]){visibili ty:visible};</style> <content></content> </template> </dom-module> <script>Polym er({is:"paper-input-error",behaviors:[Polymer.PaperInputAddonBehavior],propertie s:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){ this._setInvalid(e.invalid)}})</script> <dom-module id="paper-input" assetpath=" /res/imp/bower_components/paper-input/"> <template> <style>:host{display:block}: host([focused]){outline:0}:host([hidden]){display:none!important}input::-webkit- inner-spin-button,input::-webkit-outer-spin-button{@apply(--paper-input-containe r-input-webkit-spinner);}input::-webkit-clear-button{@apply(--paper-input-contai ner-input-webkit-clear);}input::-webkit-input-placeholder{color:var(--paper-inpu t-container-color,--secondary-text-color)}input:-moz-placeholder{color:var(--pap er-input-container-color,--secondary-text-color)}input::-moz-placeholder{color:v ar(--paper-input-container-color,--secondary-text-color)}input::-ms-clear{@apply (--paper-input-container-ms-clear);}input:-ms-input-placeholder{color:var(--pape r-input-container-color,--secondary-text-color)}label{pointer-events:none}</styl e> <paper-input-container no-label-float="[[noLabelFloat]]" always-float-label=" [[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[au toValidate]]" disabled$="[[disabled]]" invalid="[[invalid]]"> <content select="[ prefix]"></content> <label hidden$="[[!label]]" aria-hidden="true" for="input">[ [label]]</label> <input is="iron-input" id="input" aria-labelledby$="[[_ariaLabe lledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" titl e$="[[title]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-inpu t="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[va lidator]]" type$="[[type]]" pattern$="[[pattern]]" required$="[[required]]" auto complete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode] ]" minlength$="[[minlength]]" maxlength$="[[maxlength]]" min$="[[min]]" max$="[[ max]]" step$="[[step]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly $="[[readonly]]" list$="[[list]]" size$="[[size]]" autocapitalize$="[[autocapita lize]]" autocorrect$="[[autocorrect]]" on-change="_onChange" tabindex$="[[tabind ex]]" autosave$="[[autosave]]" results$="[[results]]" accept$="[[accept]]" multi ple$="[[multiple]]"> <content select="[suffix]"></content> <template is="dom-if" if="[[errorMessage]]"> <paper-input-error aria-live="assertive">[[errorMessage] ]</paper-input-error> </template> <template is="dom-if" if="[[charCounter]]"> <p aper-input-char-counter></paper-input-char-counter> </template> </paper-input-co ntainer> </template> </dom-module> <script>Polymer({is:"paper-input",behaviors:[ Polymer.IronFormElementBehavior,Polymer.PaperInputBehavior]})</script> <dom-modu le id="query-column-filter-style" assetpath="/res/imp/common/"> <template> <styl e>:host{display:block;font-family:sans-serif}#filter{margin:0 5px}.container{min -height:120px;width:100%}.item{border-bottom:1px solid #EEE;max-width:250px;min- height:1em;min-width:100px;padding:.1em .2em;line-height:1.5em}.header{height:2e m;padding:.25em;line-height:2em}.selector{border:1px solid #000;margin:0 5px;max -height:200px;min-height:130px;min-width:275px;overflow-y:auto}.pointable,.selec table{cursor:pointer}.selectable:hover{background-color:#A6CEE3}.iron-selected{b ackground-color:#1F78B4;color:#fff}.icons{cursor:pointer;height:20px;margin:2px; width:20px;flex-shrink:0}.side-by-side{display:inline-block;vertical-align:top}. bold{font-weight:700}paper-checkbox{max-height:2em;margin:2px;--paper-checkbox-c hecked-color:black;--paper-checkbox-checked-ink-color:black;--paper-checkbox-unc hecked-color:black;--paper-checkbox-unchecked-ink-color:black;--paper-checkbox-l abel-color:black}</style> </template> </dom-module> <script>!function(){var r=": ",i=function(r,i){if(!i)return{idx:0,part:""};if(!r)return{idx:-1};i=i.trim().to LocaleLowerCase(),r=r.toLocaleLowerCase();for(var t=i.split(" "),e=0;e<t.length; e++){var n=r.indexOf(t[e]);if(n!==-1)return{idx:n,part:t[e]}}return{idx:-1}},t=f unction(i,t,e){if(!t)return!0;if(!i)return!1;if(i=i.toLocaleLowerCase(),t=t.trim ().toLocaleLowerCase(),t.indexOf(" ")!==-1||t.indexOf(":")===-1)return!1;var n=t .split(r,1)[0],a=t.substring(n.length+r.length);return e?i===n:i.startsWith(a)}; SwarmingBehaviors.QueryColumnFilter=[SwarmingBehaviors.CommonBehavior,{propertie s:{dimensions:{type:Array},primary_map:{type:Object},primary_arr:{type:Array},sp ecial_columns:{type:Array,value:function(){return[]}},filter:{type:Function,comp uted:"_makeFilter(_filters.*)",notify:!0},FILTER_SEP:{type:String,value:r},_filt ers:{type:Array},_limit:{type:Number},_primaryItems:{type:Array,computed:"_prima ry(_query, primary_map, primary_arr, columns.*)"},_primarySelected:{type:String, value:""},_query:{type:String},_secondaryItems:{type:Array,computed:"_secondary( _primarySelected, _query, primary_map)"}},_addFilter:function(r){var i=r.model.i tem;if(!this._cantAddFilter(this._primarySelected,i)){var t=this._primarySelecte d+this.FILTER_SEP+i;this.push("_filters",t)}},_removeFilter:function(r){var i=r. model.fil;if(!this._cantRemoveFilter(i)){var t=this._filters.indexOf(i);t!==-1&& this.splice("_filters",t,1)}},_cantAddFilter:function(r,i){if(!r||!i)return!0;va r t=r+this.FILTER_SEP+i;return this._filters.indexOf(t)!==-1},_cantRemoveFilter: function(r){return!r||this._filters.indexOf(r)===-1},_makeFilter:function(){var r={};this._filters.forEach(function(i){var t=i.indexOf(this.FILTER_SEP),e=i.slic e(0,t),n=i.slice(t+this.FILTER_SEP.length),a=r[e]||[];a.push(n),r[e]=a}.bind(thi s));var i=this._filterMap||{};return function(t){var e=!0;for(primary in r){var n=r[primary],a=i[primary];a||(a=function(r,i){var t=this._attribute(r,primary);r eturn t.indexOf(i)!==-1}.bind(this)),a&&n.forEach(function(r){e=e&&a.bind(this)( t,r)}.bind(this))}return e}},_manuallyAddFilter:function(){var r=this._query.tri m(),i=r.indexOf(this.FILTER_SEP);if(i===-1)return void sk.errorMessage('Invalid filter. Should be like "foo:bar"',5e3);var t=r.slice(0,i),e=r.slice(i+this.FILT ER_SEP.length);return swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(t)!==-1&&(e =swarming.alias.apply(e,t)),r=t+this.FILTER_SEP+e,this._filters.indexOf(r)!==-1? void sk.errorMessage('Filter "'+r+'" is already active',5e3):(this.push("_filter s",r),void this.set("_query",""))},_toggleColumn:function(r){var i=r.model.item; if(!this._cantToggleColumn(i)){if(this._columnState(i)){var t=this.columns.index Of(i);return void(t!==-1&&this.splice("columns",t,1))}this.push("columns",i)}},_ cantToggleColumn:function(r){return!1},_columnState:function(r){return!!r&&this. columns.indexOf(r)!==-1},_primary:function(r,e,n){var a=this.primary_arr.filter( function(n){if(t(n,r,!0))return!0;if(i(n,r).idx!==-1)return!0;for(var a=e[n]||[] ,s=0;s<a.length;s++)if(i(a[s],r).idx!==-1)return!0;return!1});return r&&a.length >0&&a.indexOf(this._primarySelected)===-1&&this.set("_primarySelected",a[0]),a.s ort(function(r,i){var t=this._columnState(r),e=this._columnState(i);if(t&&!e)ret urn-1;if(e&&!t)return 1;if(t&&e){if(t=this.special_columns.indexOf(r),e=this.spe cial_columns.indexOf(i),t!==-1&&e===-1)return-1;if(t===-1&&e!==-1)return 1;if(t! ==-1&&e!==-1)return t-e}return naturalSort(r,i)}.bind(this)),a},_secondary:funct ion(r,e,n){if(requestAnimationFrame(function(){this.$.secondaryList.render()}.bi nd(this)),!r)return[];var a=n[r]||[];return t(r,e,!0)?a.sort(function(r,i){var n =t(r,e,!1),a=t(i,e,!1);return n===a?naturalSort(r,i):a-n}):i(r,e).idx!==-1?a.sor t(function(r,t){var n=i(r,e).idx!==-1,a=i(t,e).idx!==-1;return n===a?naturalSort (r,t):a-n}):a.filter(function(r){return i(r,e).idx!==-1})},_beforeBold:function( r,t){var e=i(r,t.replace(":"," "));return e.idx===-1?r:r.substring(0,e.idx)},_bo ld:function(r,t){var e=i(r,t.replace(":"," "));return e.idx===-1?"":r.substring( e.idx,e.idx+e.part.length)},_afterBold:function(r,t){var e=i(r,t.replace(":"," " ));return e.idx===-1?"":r.substring(e.idx+e.part.length)},_commonFilters:functio n(){return{android_devices:function(r,i){var t=this._attribute(r,"android_device s","0");return t.indexOf(i)!==-1},device_os:function(r,i){var t=this._attribute( r,"device_os","none");return t.indexOf(i)!==-1},device_type:function(r,i){var t= this._attribute(r,"device_type","none");return t.indexOf(swarming.alias.unapply( i))!==-1},device:function(r,i){var t=this._attribute(r,"device","none");return t .indexOf(swarming.alias.unapply(i))!==-1},gpu:function(r,i){var t=this._attribut e(r,"gpu","none");return t.indexOf(swarming.alias.unapply(i))!==-1}}}}]}()</scri pt> <script>!function(){var e="unknown";SwarmingBehaviors.BotListBehavior=[Swarm ingBehaviors.CommonBehavior,{properties:{BOT_PROPERTIES:{type:Array,value:functi on(){return["disk_space","uptime","running_time","task","status","version","exte rnal_ip","internal_ip","mp_lease_id","mp_lease_expires","last_seen","first_seen" ,"battery_level","battery_voltage","battery_temperature","battery_status","batte ry_health","bot_temperature","device_temperature","is_mp_bot"]}}},_attribute:fun ction(t,i,n){return n=n||e,this._dimension(t,i)||this._state(t,i)||[n]},_devices :function(e){return e.state.devices||[]},_deviceType:function(e){return e.device _type.toLowerCase()},_dimension:function(e,t){if(e&&e.dimensions&&t)for(var i=0; i<e.dimensions.length;i++)if(e.dimensions[i].key===t)return e.dimensions[i].valu e},_state:function(e,t){if(e&&e.state&&e.state[t]){var i=e.state[t];return Array .isArray(i)?i:[i]}},_taskId:function(e){return e&&e.task_id?e.task_id:"idle"}}]} ()</script><dom-module id="bot-filters" assetpath="/res/imp/botlist/"> <template > <style is="custom-style" include="iron-flex iron-flex-alignment iron-positioni ng query-column-filter-style swarming-app-style">.delete-button{display:block;ma rgin-top:5px}</style> <url-param name="f" value="{{_filters}}" default_values="[ ]" multi=""> </url-param> <url-param name="c" value="{{columns}}" default_values ="[&quot;id&quot;,&quot;os&quot;,&quot;task&quot;,&quot;status&quot;]" multi=""> </url-param> <url-param name="q" value="{{_query}}" default_value=""> </url-par am> <url-param name="v" value="{{verbose}}"> </url-param> <url-param name="l" de fault_value="100" value="{{_limit}}"> </url-param> <div class="container horizon tal layout"> <div class="narrow-down-selector"> <div> <iron-a11y-keys target="[[ _filter_input]]" keys="enter" on-keys-pressed="_manuallyAddFilter"></iron-a11y-k eys> <paper-input id="filter" label="Search columns and filters or supply a filt er and press enter" placeholder="gpu nvidia pool:Chrome" value="{{_query::input} }"> </paper-input> </div> <div class="selector side-by-side" title="This shows a ll bot dimension names and other interesting bot properties. Mark the check box to add as a column. Select the row to see filter options."> <iron-selector attr- for-selected="label" selected="{{_primarySelected}}"> <template is="dom-repeat" items="[[_primaryItems]]" as="item"> <div class="selectable item horizontal layo ut" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span class="bold">[[_bo ld(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <span class="flex"></ span> <paper-checkbox noink="" disabled$="[[_cantToggleColumn(item)]]" checked=" [[_columnState(item,columns.*)]]" on-change="_toggleColumn"> </paper-checkbox> < /div> </template> </iron-selector> </div> <div class="selector side-by-side" tit le="These are all options (if any) that the bot list can be filtered on."> <temp late is="dom-repeat" id="secondaryList" items="[[_secondaryItems]]" as="item"> < div class="item horizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_q uery)]]<span class="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query) ]]</span> <span class="flex"></span> <iron-icon class="icons" icon="icons:arrow- forward" hidden="[[_cantAddFilter(_primarySelected,item,_filters.*)]]" on-tap="_ addFilter"> </iron-icon> </div> </template> <template is="dom-if" if="[[_showDim ensionMessage(_primarySelected,_secondaryItems.length)]]"> <div class="item"> On ly dimensions can be used for filtering. <i>"[[_primarySelected]]"</i> is a part of the bot's state and is informational only. </div> </template> </div> <div cl ass="selector side-by-side" title="These filters are AND'd together and applied to all bots in
119 the fleet."> <template is="dom-repeat" items="[[_filters]]" as="fil"> <div class ="item horizontal layout" label="[[fil]]"> <span>[[fil]]</span> <span class="fle x"></span> <iron-icon class="icons" icon="icons:remove-circle-outline" hidden="[ [_cantRemoveFilter(fil,_filters.*)]]" on-tap="_removeFilter"> </iron-icon> </div > </template> </div> <div class="side-by-side"> <paper-checkbox checked="{{verbo se}}">Verbose Entries</paper-checkbox> <paper-input id="_limit" label="Limit Res ults" auto-validate="" min="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> < /paper-input> <a href$="[[_matchingTasksLink(query_params)]]">View Matching Task s</a> <template is="dom-if" if="[[permissions.delete_bot]]"> <paper-button class ="delete-button" raised="" on-tap="_promptDelete"> Delete All Dead bots </paper- button> </template> </div> </div> </div> </template> <script>!function(){var i={ disk_space:function(i,t){return!0},id:function(i,t){return!0},is_mp_bot:function (i,t){return"true"===t?!!i.lease_id:"false"!==t||!i.lease_id},status:function(i, t){return"quarantined"===t?i.quarantined:"dead"===t?i.is_dead:!i.quarantined&&!i .is_dead},task:function(i,t){return"idle"===t?"idle"===this._taskId(i):"idle"!== this._taskId(i)}};Polymer({is:"bot-filters",behaviors:[SwarmingBehaviors.BotList Behavior,SwarmingBehaviors.QueryColumnFilter],properties:{columns:{type:Array,no tify:!0},permissions:{type:Object},query_params:{type:Object,computed:"_extractQ ueryParams(dimensions.*,_filters.*, _limit)",notify:!0},verbose:{type:Boolean,no tify:!0},_filter_input:{type:Object,value:function(){return this.$.filter}},_fil terMap:{type:Object,value:function(){var t=this._commonFilters();for(var e in i) t[e]=i[e];return t}}},_cantToggleColumn:function(i){return!i||"id"===i},_extract QueryParams:function(){var i={},t=[];this._filters.forEach(function(e){var s=e.s plit(this.FILTER_SEP,1),n=s[0],r=e.substring(n.length+this.FILTER_SEP.length);th is.dimensions.indexOf(n)!==-1?(swarming.alias.DIMENSIONS_WITH_ALIASES.indexOf(n) !==-1&&(r=swarming.alias.unapply(r)),t.push(n+this.FILTER_SEP+r)):"status"===n?" alive"===r?(i.is_dead=["FALSE"],i.quarantined=["FALSE"]):"quarantined"===r?i.qua rantined=["TRUE"]:"dead"===r&&(i.is_dead=["TRUE"]):"is_mp_bot"===n&&("true"===r? i.is_mp=["TRUE"]:"false"===r&&(i.is_mp=["FALSE"]))}.bind(this)),i.dimensions=t;v ar e=parseInt(this._limit);return Number.isInteger(e)&&(e=Math.max(e,1),e=Math.m in(1e3,e),i.limit=[e],this._limit!=e&&this.set("_limit",e)),i},_matchingTasksLin k:function(i){var t=["name","state","created_ts"];return i.dimensions?(i.dimensi ons.forEach(function(i){var e=i.split(this.FILTER_SEP,1)[0];t.indexOf(e)===-1&&t .push(e)}.bind(this)),this._taskListLink(i.dimensions,t)):this._taskListLink([], t)},_promptDelete:function(){return this.query_params.dimensions&&this.query_par ams.dimensions.length?void this.fire("delete-all",{dimensions:this.query_params. dimensions}):void sk.errorMessage("You must specify at least one dimension to fi lter by first.",8e3)},_showDimensionMessage:function(i,t){return i&&"id"!==i&&!t }})}()</script> </dom-module><dom-module id="bot-list-data" assetpath="/res/imp/ botlist/"> <script>!function(){function e(e){if(!e)return{};var t=[],s=0;for(k i n e)t.push(k+": "+e[k]),s+=e[k];return s/=t.length,s=s?s.toFixed(1):"unknown",{a verage:s,zones:t.join(" | ")||"unknown"}}var t="available",s=["quarantined","err or"],n=["first_seen_ts","last_seen_ts","lease_expiration_ts"];Polymer({is:"bot-l ist-data",behaviors:[SwarmingBehaviors.BotListBehavior],properties:{auth_headers :{type:Object,observer:"signIn"},bots:{type:Array,computed:"parseBots(_list)",no tify:!0},busy:{type:Boolean,computed:"_or(_busy2,_busy1)",notify:!0},dimensions: {type:Array,computed:"_makeArray(_dimensions)",notify:!0},fleet:{type:Object,com puted:"_fleet(_count)",notify:!0},primary_map:{type:Object,computed:"_primaryMap (_dimensions)",notify:!0},primary_arr:{type:Array,computed:"_primaryArr(dimensio ns, BOT_PROPERTIES)",notify:!0},_busy1:{type:Boolean,value:!1},_busy2:{type:Bool ean,value:!1},_count:{type:Object},_dimensions:{type:Object},_list:{type:Object} },signIn:function(){this._getJsonAsync("_count","/api/swarming/v1/bots/count","_ busy2",this.auth_headers),this._getJsonAsync("_dimensions","/api/swarming/v1/bot s/dimensions","_busy1",this.auth_headers)},parseBots:function(s){return s&&s.ite ms?(s.items.forEach(function(s){s.state=s.state||"{}",s.state=JSON.parse(s.state )||{};var i=s.state.disks||{},a=Object.keys(i);if(a.length){s.disks=[];for(var o =0;o<a.length;o++)s.disks.push({id:a[o],mb:i[a[o]].free_mb});s.disks.sort(functi on(e,t){return t.mb-e.mb})}else s.disks=[{id:"unknown",mb:0}];s.state.temp=e(s.s tate.temp);var r=[],u=s&&s.state&&s.state.devices||{};for(key in u){var _=u[key] ;_.serial=key,_.okay=_.state===t;var d=this._dimension(s,"device_type")||["unkno wn"];_.device_type=d[0],_.temp=e(_.temp),r.push(_)}s.state.devices=r,n.forEach(f unction(e){swarming.sanitizeAndHumanizeTime(s,e)})}.bind(this)),s.items):[]},_fl eet:function(){return this._count?{all:this._count.count||-1,alive:this._count.c ount-this._count.dead||-1,busy:this._count.busy||-1,idle:this._count.count-this. _count.busy||-1,dead:this._count.dead||-1,quarantined:this._count.quarantined||- 1}:{}},_makeArray:function(e){if(!e||!e.bots_dimensions)return[];var t=[];return e.bots_dimensions.forEach(function(e){s.indexOf(e.key)===-1&&t.push(e.key)}),t. push("id"),t.sort(),t},_primaryArr:function(e,t){return e.concat(t)},_primaryMap :function(e){e=e.bots_dimensions||[];var t={};return e.forEach(function(e){if(sw arming.alias.DIMENSIONS_WITH_ALIASES.indexOf(e.key)===-1)t[e.key]=e.value;else{v ar s=[];e.value.forEach(function(t){s.push(swarming.alias.apply(t,e.key))}),t[e. key]=s}}),t.android_devices&&t.android_devices.push("0"),t.device_os&&t.device_o s.push("none"),t.device_type&&t.device_type.push("none"),t.id=[],t.disk_space=[] ,t.task=["busy","idle"],t.status=["alive","dead","quarantined"],t.is_mp_bot=["tr ue","false"],t}})}()</script> </dom-module><dom-module id="bot-list-summary" ass etpath="/res/imp/botlist/"> <template> <style include="swarming-app-style">:host {display:block;border-left:1px solid #000;padding:5px 5px;font-family:sans-serif }.header{font-size:1.2em;font-weight:700}.header.buffer{margin-top:5px}.right{te xt-align:right}.left{text-align:left}</style> <div class="header">Fleet</div> <t able> <tbody><tr> <td class="right"> <a href$="[[_makeURL('','',columns.*,sort,v erbose)]]">All</a>: </td> <td class="left">[[fleet.all]]</td> </tr> <tr> <td cla ss="right"> <a href$="[[_makeURL('alive','',columns.*,sort,verbose)]]">Alive</a> : </td> <td class="left">[[fleet.alive]]</td> </tr> <tr> <td class="right"> <a h ref$="[[_makeURL('busy','',columns.*,sort,verbose)]]">Busy</a>: </td> <td class= "left">[[fleet.busy]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('i dle','',columns.*,sort,verbose)]]">Idle</a>: </td> <td class="left">[[fleet.idle ]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('dead','',columns.*,s ort,verbose)]]">Dead</a>: </td> <td class="left">[[fleet.dead]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('quarantined','',columns.*,sort,verbose) ]]">Quarantined</a>: </td> <td class="left">[[fleet.quarantined]]</td> </tr> </t body></table> <div class="header buffer">Selected</div> <table> <tbody><tr> <td class="right"> Displayed: </td> <td class="left">[[num_bots]]</td> </tr> <tr> <t d class="right"> All: </td> <td class="left">[[_count_query.count]]</td> </tr> < tr> <td class="right"> <a href$="[[_makeURL('alive','true',columns.*,sort,verbos e)]]">Alive</a>: </td> <td class="left">[[_computeAlive(_count_query.*)]]</td> < /tr> <tr> <td class="right"> <a href$="[[_makeURL('busy','true',columns.*,sort,v erbose)]]">Busy</a>: </td> <td class="left">[[_count_query.busy]]</td> </tr> <tr > <td class="right"> <a href$="[[_makeURL('idle','true',columns.*,sort,verbose)] ]">Idle</a>: </td> <td class="left">[[_computeIdle(_count_query.*)]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('dead','true',columns.*,sort,verbos e)]]">Dead</a>: </td> <td class="left">[[_count_query.dead]]</td> </tr> <tr> <td class="right"> <a href$="[[_makeURL('quarantined','true',columns.*,sort,verbose )]]">Quarantined</a>: </td> <td class="left">[[_count_query.quarantined]]</td> < /tr> </tbody></table> </template> <script>Polymer({is:"bot-list-summary",behavio rs:[SwarmingBehaviors.BotListBehavior],properties:{auth_headers:{type:Object},co lumns:{type:Array},count_params:{type:Object},fleet:{type:Object},num_bots:{type :Number},sort:{type:String},verbose:{type:Boolean},busy:{type:Boolean,value:!1,n otify:!0},_count_query:{type:Object}},observers:["_recountTotal(auth_headers.*,c ount_params.*)"],_computeAlive:function(){return this._count_query.count-this._c ount_query.dead},_computeIdle:function(){return this._count_query.count-this._co unt_query.busy},_getFilterStr:function(t){return t?"alive"===t||"dead"===t||"qua rantined"===t?"status:"+t:"task:"+t:""},_makeURL:function(t,e){if(!e){var r={s:[ this.sort],c:this.columns,v:[this.verbose]};return t&&(r.f=[this._getFilterStr(t )]),window.location.href.split("?")[0]+"?"+sk.query.fromParamSet(r)}var o=encode URIComponent(this._getFilterStr(t));if(window.location.href.indexOf(o)===-1)retu rn window.location.href+"&f="+o},_recountTotal:function(){this.auth_headers&&thi s.count_params&&this._getJsonAsync("_count_query","/api/swarming/v1/bots/count", "busy",this.auth_headers,this.count_params)}})</script> </dom-module><dom-module id="bot-mass-delete" assetpath="/res/imp/botlist/"> <template> <style>.containe r{padding:5px;max-width:800px}.delete-button{background-color:red;color:#fff;fon t-weight:700}.delete[disabled]{background-color:grey}</style> <div class="contai ner"> <div> You are about to delete all DEAD bots with the following dimensions: <ul> <template is="dom-repeat" items="[[dimensions]]" as="dim"> <li>[[dim]]</li > </template> </ul> This is about [[_estimated_count]] bots. [[_note_about_max]] Once you start the process, the only way to partially stop it is to close this browser window. If that sounds good, click the button below. </div> <paper-butto n class="delete-button" raised="" disabled$="[[!_ready_to_delete]]" hidden$="[[s tarted_deleting]]" on-tap="_delete"> Delete the bots </paper-button> <div> <div hidden$="[[!started_deleting]]">Progress: [[_deleted_count]] deleted</div> <div> Note: the bot deletion is being done in browser - closing the window will stop t he mass deletion.</div> </div> </div> </template> <script> (function(){
120 Polymer({
121 is: "bot-mass-delete",
122
123 properties: {
124 // input
125 auth_headers: {
126 type: Object,
127 },
128 dimensions: {
129 type: Array,
130 },
131 // output
132 finished_deleting: {
133 type: Boolean,
134 value: false,
135 notify: true,
136 },
137 started_deleting: {
138 type: Boolean,
139 value: false,
140 notify: true,
141 },
142
143
144 _deleted_count: {
145 type : Number,
146 value: 0,
147 },
148
149 _estimated_count: {
150 type: String,
151 value: "(counting...please wait)",
152 },
153 _note_about_max: {
154 type: String,
155 value: "",
156 },
157 _ready_to_delete: {
158 type: Boolean,
159 value: false,
160 },
161 _to_delete: {
162 type: Array,
163 }
164 },
165
166 _args: function() {
167 var args = "?is_dead=TRUE&dimensions=";
168 var dims = this.dimensions || [];
169 return args + dims.join("&dimensions=");
170 },
171
172 _delete: function() {
173 this.started_deleting = true;
174
175 // get list of bots that match
176 var toDeleteURL = "/api/swarming/v1/bots/list" + this._args();
177 sk.request("GET", toDeleteURL, null, this.auth_headers)
178 .then(JSON.parse).then(function(json){
179 this._to_delete = json.items;
180 this._deleted_count = 0;
181 this.async(this._deleteNext);
182 }.bind(this))
183 .catch(function(e){
184 console.log(e);
185 sk.errorMessage(e);
186 });
187
188 },
189
190 _deleteNext: function() {
191 if (!this._to_delete) {
192 return;
193 }
194 if (this._deleted_count >= this._to_delete.length) {
195 this.finished_deleting = true;
196 return;
197 }
198 var id = this._to_delete[this._deleted_count].bot_id;
199 if (!id) {
200 console.log("Skipping empty id in slot ",this._deleted_count);
201 }
202
203 sk.request("POST", `/api/swarming/v1/bot/${id}/delete`,
204 "", this.auth_headers)
205 .then(function(){
206 this._deleted_count += 1;
207 this.async(this._deleteNext);
208 }.bind(this))
209 .catch(function(e){
210 console.log(e);
211 sk.errorMessage(e);
212 });
213
214 },
215
216 prompt: function(){
217 this.started_deleting = false;
218 this.finished_deleting = false;
219 this._ready_to_delete = false;
220
221 var countUrl = "/api/swarming/v1/bots/count" + this._args();
222 sk.request("GET", countUrl, null, this.auth_headers)
223 .then(JSON.parse).then(function(json){
224 this._ready_to_delete = true;
225 this._estimated_count = json.dead;
226 }.bind(this))
227 .catch(function(e){
228 console.log(e);
229 sk.errorMessage(e);
230 });
231 },
232 });
233 })() </script> </dom-module><dom-module id="bot-list" assetpath="/res/imp/botl ist/"> <template> <style include="iron-flex iron-flex-alignment iron-positioning swarming-app-style dynamic-table-style">bot-filters,bot-list-summary{margin-bot tom:8px;margin-right:10px}.old_version{background-color:#ffd}.bad-device,.quaran tined{background-color:#fdd}.dead{background-color:#ccc}.alt{background-color:#f 8f8f8}.bot-list th>span{padding-right:30px}</style> <url-param name="s" value="{ {_sortstr}}" default_value="id:asc"> </url-param> <swarming-app client_id="[[cli ent_id]]" auth_headers="{{_auth_headers}}" permissions="{{_permissions}}" signed _in="{{_signed_in}}" server_details="{{_server_details}}" busy="[[_or(_busy1,_bu sy2,_busy3)]]" name="Swarming Bot List"> <h2 hidden$="[[_signed_in]]">You must s ign in to see anything useful.</h2> <div hidden$="[[_not(_signed_in)]]"> <div cl ass="horizontal layout"> <bot-filters dimensions="[[_dimensions]]" primary_map=" [[_primary_map]]" primary_arr="[[_primary_arr]]" special_columns="[[_specialColu mns]]" permissions="[[_permissions]]" columns="{{_columns}}" query_params="{{_qu ery_params}}" filter="{{_filter}}" verbose="{{_verbose}}" on-delete-all="_prompt DeleteAll"> </bot-filters> <bot-list-summary auth_headers="[[_auth_headers]]" co lumns="[[_columns]]" count_params="[[_query_params]]" fleet="[[_fleet]]" num_bot s="[[_filteredSortedItems.length]]" sort="[[_sortstr]]" verbose="[[_verbose]]" b usy="{{_busy3}}"> </bot-list-summary> </div> <bot-list-data id="data" auth_heade rs="[[_auth_headers]]" query_params="[[_query_params]]" busy="{{_busy1}}" dimens ions="{{_dimensions}}" fleet="{{_fleet}}" primary_map="{{_primary_map}}" primary _arr="{{_primary_arr}}"> </bot-list-data> <table class="bot-list"> <thead on-sor t_change="_sortChange"> <tr> <th> <span>Bot Id</span> <sort-toggle name="id" cur rent="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('mp_lease_id', _colu mns.*)]]"> <span>Machine Provider Lease Id</span> <sort-toggle name="mp_lease_id " current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('task', _column s.*)]]"> <span>Current Task</span> <sort-toggle name="task" current="[[_sort]]"> </sort-toggle> </th> <template is="dom-repeat" items="[[_plainColumns]]" as="c" > <th hidden$="[[_hide(c)]]"> <span>[[_header(c)]]</span> <sort-toggle name="[[c ]]" current="[[_sort]]"> </sort-toggle> </th> </template> </tr> </thead> <tbody> <template id="bot_table" is="dom-repeat" items="[[_filteredSortedItems]]" as="b ot" initial-count="50"> <tr class$="[[_botClass(bot,_server_details.bot_version) ]]"> <td> <a class="center" href$="[[_botLink(bot.bot_id)]]" target="_blank" rel ="noopener"> [[bot.bot_id]] </a> </td> <td hidden$="[[_hide('mp_lease_id', _colu mns.*)]]"> <a href$="[[_mpLink(bot, _server_details.machine_provider_template)]] "> [[_column('mp_lease_id', bot,_verbose)]] </a> </td> <td hidden$="[[_hide('tas k', _columns.*)]]"> <a href$="[[_taskLink(bot.task_id)]]">[[_taskId(bot)]]</a> < /td> <template is="dom-repeat" items="[[_plainColumns]]" as="c"> <td hidden$="[[ _hide(c)]]"> [[_column(c, bot, _verbose)]] </td> </template> </tr> <template is= "dom-repeat" items="[[_devices(bot)]]" as="device"> <tr hidden$="[[_hide('androi d_devices', _columns.*)]]" class$="[[_deviceClass(device,index)]]"> <td></td> <t d hidden$="[[_hide('mp_lease_id', _columns.*)]]"></td> <td hidden$="[[_hide('tas k', _columns.*)]]"></td> <template is="dom-repeat" items="[[_plainColumns]]" as= "c"> <td hidden$="[[_hide(c)]]"> [[_deviceColumn(c, device, _verbose)]] </td> </ template> </tr> </template> </template> </tbody> </table> <pageable-data id="pag e_bots" busy="{{_busy2}}" label="Show more bots" output="{{_items}}" parse="[[_p arseBots]]"> </pageable-data> </div> </swarming-app> <paper-dialog id="delete_al l_dialog" modal=""> <bot-mass-delete id="mass_delete" auth_headers="[[_auth_head ers]]" started_deleting="{{_started_deleting}}" finished_deleting="{{_finished_d eleting}}"> </bot-mass-delete> <div class="buttons"> <paper-button dialog-dismis s="" autofocus="" hidden$="[[_started_deleting]]"> Go Back - Don't Delete Anythi ng </paper-button> <paper-button dialog-dismiss="" autofocus="" hidden$="[[!_fin ished_deleting]]" on-tap="_reload"> Done </paper-button> </div> </paper-dialog> </template> <script> (function(){
234 var UNKNOWN = "unknown";
235 // see dynamic-table for more information on specialColumns, headerMap,
236 // columnMap, and specialSort
237 var specialColumns = ["id", "mp_lease_id", "task"];
238
239 var deviceColumns = ["battery_health", "battery_level", "battery_status", "b attery_temperature", "battery_voltage", "device_temperature"];
240
241 var headerMap = {
242 // "id", "task" and other special columns don't go here. They have their
243 // headers hard-coded above.
244 "android_devices": "Android Devices",
245 "battery_health": "Battery Health",
246 "battery_level": "Battery Level (%)",
247 "battery_status": "Battery Status",
248 "battery_temperature": "Battery Temp (°C)",
249 "battery_voltage": "Battery Voltage (mV)",
250 "bot_temperature": "Bot Temp (°C)",
251 "cores": "Cores",
252 "cpu": "CPU",
253 "device": "Non-android Device",
254 "device_os": "Device OS",
255 "device_temperature": "Device Temp (°C)",
256 "device_type": "Device Type",
257 "disk_space": "Free Space (MB)",
258 "external_ip": "External IP",
259 "first_seen": "First Seen",
260 "gpu": "GPU",
261 "internal_ip": "Internal or Local IP",
262 "last_seen": "Last Seen",
263 "mp_lease_expires": "Machine Provider Lease Expires",
264 "os": "OS",
265 "pool": "Pool",
266 "running_time": "Swarming Uptime",
267 "status": "Status",
268 "uptime": "Bot Uptime",
269 "xcode_version": "XCode Version",
270 };
271
272 var columnMap = {
273 android_devices: function(bot) {
274 var devs = this._attribute(bot, "android_devices", "0");
275 if (this._verbose) {
276 return devs.join(" | ") + " devices available";
277 }
278 // max() works on strings as long as they can be coerced to Number.
279 return Math.max(...devs) + " devices available";
280 },
281 battery_health: function(){
282 return "";
283 },
284 battery_level: function(){
285 return "";
286 },
287 battery_status: function(){
288 return "";
289 },
290 battery_temperature: function(){
291 return "";
292 },
293 battery_voltage: function(){
294 return "";
295 },
296 bot_temperature: function(bot){
297 if (this._verbose) {
298 return bot.state.temp.zones || UNKNOWN;
299 }
300 return bot.state.temp.average || UNKNOWN;
301 },
302 device_temperature: function(){
303 return "";
304 },
305 device_os: function(bot) {
306 if (this._verbose) {
307 return this._attribute(bot, "device_os", "none").join(" | ");
308 }
309 // This assumes that all devices hooked up to a bot are the same OS.
310 return swarming.longest(this._attribute(bot, "device_os", "none"));
311 },
312 disk_space: function(bot) {
313 var aliased = [];
314 bot.disks.forEach(function(disk){
315 var alias = sk.human.bytes(disk.mb, sk.MB);
316 aliased.push(swarming.alias.apply(disk.mb, disk.id + " "+ alias));
317 }.bind(this));
318 if (this._verbose) {
319 return aliased.join(" | ");
320 }
321 return aliased[0];
322 },
323 external_ip: function(bot) {
324 return bot.external_ip || "none";
325 },
326 first_seen: function(bot) {
327 return sk.human.localeTime(bot.first_seen_ts)
328 },
329 id: function(bot) {
330 return bot.bot_id;
331 },
332 internal_ip: function(bot) {
333 return this._attribute(bot, "ip", "none")[0];
334 },
335 last_seen: function(bot) {
336 if (this._verbose) {
337 return sk.human.localeTime(bot.last_seen_ts);
338 }
339 return this._timeDiffApprox(bot.last_seen_ts) + " ago";
340 },
341 mp_lease_id: function(bot) {
342 var id = bot.lease_id || "none";
343 if (this._verbose) {
344 return id;
345 }
346 return id.substring(0, 10);
347 },
348 mp_lease_expires: function(bot) {
349 if (!bot.lease_expiration_ts) {
350 return "N/A";
351 }
352 if (this._verbose) {
353 return sk.human.localeTime(bot.lease_expiration_ts);
354 }
355 if (bot.lease_expiration_ts < new Date()) {
356 return this._timeDiffApprox(bot.lease_expiration_ts) + " ago";
357 }
358 return "in " + this._timeDiffApprox(bot.lease_expiration_ts);
359 },
360 running_time: function(bot) {
361 var u = this._state(bot, "running_time");
362 if (!u) {
363 return "unknown";
364 }
365 return sk.human.strDuration(u);
366 },
367 status: function(bot) {
368 // If a bot is both dead and quarantined, show the deadness over the
369 // quarentinedness.
370 if (bot.is_dead) {
371 return "Dead. Last seen " + sk.human.diffDate(bot.last_seen_ts) +
372 " ago";
373 }
374 if (bot.quarantined) {
375 var msg = this._state(bot, "quarantined");
376 if (msg) {
377 msg = msg[0];
378 };
379 // Sometimes, the quarantined message is actually in "error". This
380 // happens when the bot code has thrown an exception.
381 if (!msg || msg === "true" || msg === true) {
382 msg = this._attribute(bot, "error")[0];
383 }
384 // Othertimes, the bot has reported it is quarantined by setting the
385 // dimension "quarantined" to be something.
386 if (msg === UNKNOWN) {
387 msg = this._dimension(bot, "quarantined") || UNKNOWN;
388 }
389 var errs = [];
390 // Show all the errors that are active on devices to make it more
391 // clear if this is a transient error (e.g. device is too hot)
392 // or if it is requires human interaction (e.g. device is unauthorized )
393 this._devices(bot).forEach(function(d){
394 if (d.state !== "available") {
395 errs.push(d.state);
396 }
397 });
398 if (errs.length) {
399 msg += " ["+errs.join(",")+"]";
400 }
401 return "Quarantined: " + msg;
402 }
403 return "Alive";
404 },
405 task: function(bot) {
406 return this._taskId(bot);
407 },
408 uptime: function(bot) {
409 var u = this._state(bot, "uptime");
410 if (!u) {
411 return "unknown";
412 }
413 return sk.human.strDuration(u);
414 },
415 version: function(bot) {
416 var v = bot.version || UNKNOWN
417 return v.substring(0, 10);
418 }
419 };
420
421 var deviceColumnMap = {
422 android_devices: function(device) {
423 var str = this._androidAliasDevice(device);
424 if (device.okay) {
425 str = swarming.alias.apply(this._deviceType(device), str);
426 }
427 str += " S/N:";
428 str += device.serial;
429 return str;
430 },
431 battery_health: function(device){
432 var h = (device.battery && device.battery.health) || UNKNOWN;
433 return swarming.alias.apply(h, "battery_health");
434 },
435 battery_level: function(device){
436 return (device.battery && device.battery.level) || UNKNOWN;
437 },
438 battery_status: function(device){
439 var s = (device.battery && device.battery.status) || UNKNOWN;
440 return swarming.alias.apply(s, "battery_status");
441 },
442 battery_temperature: function(device){
443 // Battery temps are in tenths of degrees C - convert to more human rang e.
444 return (device.battery && device.battery.temperature / 10) || UNKNOWN
445 },
446 battery_voltage: function(device){
447 return (device.battery && device.battery.voltage) || UNKNOWN;
448 },
449 device_temperature: function(device){
450 if (this._verbose) {
451 return device.temp.zones || UNKNOWN;
452 }
453 return device.temp.average || UNKNOWN;
454 },
455 device_os: function(device) {
456 if (device.build) {
457 return device.build["build.id"];
458 }
459 return UNKNOWN;
460 },
461 status: function(device) {
462 return device.state;
463 }
464 }
465
466
467 function deviceAverage(col) {
468 return function(dir, botA, botB) {
469 // sort by average of all devices or 0 if no devices.
470 var avgA = 0;
471 var avgB = 0;
472 var devsA = this._devices(botA);
473 devsA.forEach(function(device) {
474 var v = deviceColumnMap[col](device);
475 v = parseFloat(swarming.alias.unapply(v)) || 0;
476 avgA += v / devsA.length;
477 }.bind(this));
478 var devsB = this._devices(botB);
479 devsB.forEach(function(device) {
480 var v = deviceColumnMap[col](device);
481 v = parseFloat(swarming.alias.unapply(v)) || 0;
482 avgB += v / devsB.length;
483 }.bind(this));
484 return dir * naturalSort(avgA, avgB);
485 };
486 }
487
488 var specialSort = {
489 android_devices: function(dir, botA, botB) {
490 // We sort on the number of attached devices. Note that this
491 // may not be the same as android_devices, because _devices().length
492 // counts all devices plugged into the bot, whereas android_devices
493 // counts just devices ready for work.
494 var botACol = this._devices(botA).length;
495 var botBCol = this._devices(botB).length;
496 return dir * naturalSort(botACol, botBCol);
497 },
498
499 battery_health: deviceAverage("battery_health"),
500 battery_level: deviceAverage("battery_level"),
501 battery_status: deviceAverage("battery_status"),
502 battery_temperature: deviceAverage("battery_temperature"),
503 battery_voltage: deviceAverage("battery_voltage"),
504 device_temperature: deviceAverage("device_temperature"),
505
506 bot_temperature: function(dir, botA, botB) {
507 // Sort by average temperature.
508 var botACol = botA.state.temp.average || 0;
509 var botBCol = botB.state.temp.average || 0;
510 return dir * naturalSort(botACol, botBCol);
511 },
512 disk_space: function(dir, botA, botB) {
513 // We sort based on the raw number of MB of the first disk.
514 var botACol = botA.disks[0].mb;
515 var botBCol = botB.disks[0].mb;
516 return dir * naturalSort(botACol, botBCol);
517 },
518 first_seen: function(dir, botA, botB) {
519 var botACol = botA.first_seen_ts;
520 var botBCol = botB.first_seen_ts;
521 return dir * naturalSort(botACol, botBCol);
522 },
523 last_seen: function(dir, botA, botB) {
524 var botACol = botA.last_seen_ts;
525 var botBCol = botB.last_seen_ts;
526 return dir * naturalSort(botACol, botBCol)
527 },
528 running_time: function(dir, botA, botB) {
529 var botACol = this._state(botA, "running_time") || 0;
530 var botBCol = this._state(botB, "running_time") || 0;
531 return dir * naturalSort(botACol, botBCol)
532 },
533 uptime: function(dir, botA, botB) {
534 var botACol = this._state(botA, "uptime") || 0;
535 var botBCol = this._state(botB, "uptime") || 0;
536 return dir * naturalSort(botACol, botBCol)
537 },
538 };
539
540 Polymer({
541 is: 'bot-list',
542
543 // The order behaviors are applied in matters - later ones overwrite
544 // attributes of earlier ones
545 behaviors: [
546 SwarmingBehaviors.BotListBehavior,
547 SwarmingBehaviors.DynamicTableBehavior,
548 ],
549
550 properties: {
551 client_id: {
552 type: String,
553 },
554
555 _busy1: {
556 type: Boolean,
557 value: false
558 },
559 _busy2: {
560 type: Boolean,
561 value: false
562 },
563 _parseBots: {
564 type: Function,
565 value: function() {
566 return this.$.data.parseBots.bind(this);
567 }
568 },
569
570 // For dynamic table.
571 _columnMap: {
572 type: Object,
573 value: function() {
574 var base = this._commonColumns();
575 for (var attr in columnMap) {
576 base[attr] = columnMap[attr];
577 }
578 return base;
579 },
580 },
581 _headerMap: {
582 type: Object,
583 value: headerMap,
584 },
585 _specialColumns: {
586 type: Array,
587 value: specialColumns,
588 },
589 _specialSort: {
590 type: Object,
591 value: specialSort,
592 },
593 },
594
595 observers:[
596 "_reload(_query_params,_auth_headers)",
597 "_checkDeviceColumns(_columns.*)"
598 ],
599
600 _androidAliasDevice: function(device) {
601 if (device.notReady) {
602 return UNAUTHENTICATED.toUpperCase();
603 }
604 return swarming.alias.android(this._deviceType(device));
605 },
606
607 _botClass: function(bot, serverVersion) {
608 var classes = "";
609 if (bot.is_dead) {
610 classes += "dead ";
611 }
612 if (bot.quarantined) {
613 classes += "quarantined ";
614 }
615 if (bot.version !== serverVersion) {
616 classes += "old_version";
617 }
618 return classes;
619 },
620
621 _checkDeviceColumns: function() {
622 var shouldAdd = false;
623 for (var i = 0; i< this._columns.length; i++) {
624 var col = this._columns[i];
625 if (col === "android_devices") {
626 return;
627 }
628 if (deviceColumns.indexOf(col) !== -1) {
629 shouldAdd = true;
630 }
631 }
632 if (shouldAdd) {
633 this.push("_columns", "android_devices");
634 sk.errorMessage("Some of the columns selected require 'android_devices ' to be displayed. It has been automatically added.", 4000);
635 }
636 },
637
638 _deviceColumn: function(col, device) {
639 var f = deviceColumnMap[col];
640 if (!f || !device) {
641 return "";
642 }
643 return f.bind(this)(device);
644 },
645
646 _deviceClass: function(device, idx) {
647 if (!device.okay) {
648 return "bad-device";
649 }
650 if (idx % 2 === 0){
651 return "alt";
652 }
653 return "";
654 },
655
656 _mpLink: function(bot, template) {
657 if (!bot || !bot.lease_id || !template) {
658 return false;
659 }
660 return template.replace("%s", bot.lease_id);
661 },
662
663 _promptDeleteAll: function(e) {
664 this.$.mass_delete.dimensions = e.detail.dimensions;
665 this.$.mass_delete.prompt();
666 this.$.delete_all_dialog.open();
667 },
668
669 _reload: function() {
670 if (!this._auth_headers || !this._query_params) {
671 return;
672 }
673 var url = "/api/swarming/v1/bots/list?" + sk.query.fromParamSet(this._qu ery_params);
674 this.$.page_bots.load(url,this._auth_headers);
675 }
676
677 });
678 })(); </script> </dom-module> <style is="custom-style" include="paper-time-pic ker-dialog-style"></style> <dom-module id="neon-animated-pages" assetpath="/res/ imp/bower_components/neon-animation/"> <template> <style>:host{display:block;pos ition:relative}:host>::content>*{position:absolute;top:0;left:0;bottom:0;right:0 }:host>::content>:not(.iron-selected):not(.neon-animating){display:none!importan t}:host>::content>.neon-animating{pointer-events:none}</style> <content id="cont ent"></content> </template> </dom-module> <script>!function(){Polymer({is:"neon- animated-pages",behaviors:[Polymer.IronResizableBehavior,Polymer.IronSelectableB ehavior,Polymer.NeonAnimationRunnerBehavior],properties:{activateEvent:{type:Str ing,value:""},animateInitialSelection:{type:Boolean,value:!1}},listeners:{"iron- select":"_onIronSelect","neon-animation-finish":"_onNeonAnimationFinish"},_onIro nSelect:function(i){var e=i.detail.item;if(!(this.items.indexOf(e)<0)){var t=thi s._valueToItem(this._prevSelected)||!1;if(this._prevSelected=this.selected,!t&&! this.animateInitialSelection)return void this._completeSelectedChanged();this.an imationConfig=[],this.entryAnimation?this.animationConfig.push({name:this.entryA nimation,node:e}):e.getAnimationConfig&&this.animationConfig.push({animatable:e, type:"entry"}),t&&(t.classList.contains("neon-animating")&&(this._squelchNextFin ishEvent=!0,this.cancelAnimation(),this._completeSelectedChanged(),this._squelch NextFinishEvent=!1),this.exitAnimation?this.animationConfig.push({name:this.exit Animation,node:t}):t.getAnimationConfig&&this.animationConfig.push({animatable:t ,type:"exit"}),t.classList.add("neon-animating")),e.classList.add("neon-animatin g"),this.animationConfig.length>=1?this.isAttached?this.playAnimation(void 0,{fr omPage:t,toPage:e}):this.async(function(){this.playAnimation(void 0,{fromPage:nu ll,toPage:e})}):this._completeSelectedChanged(t,e)}},_completeSelectedChanged:fu nction(i,e){if(e&&e.classList.remove("neon-animating"),i&&i.classList.remove("ne on-animating"),!e||!i)for(var t,n=Polymer.dom(this.$.content).getDistributedNode s(),a=0;t=n[a];a++)t.classList&&t.classList.remove("neon-animating");this.async( this._notifyPageResize)},_onNeonAnimationFinish:function(i){return this._squelch NextFinishEvent?void(this._squelchNextFinishEvent=!1):void this._completeSelecte dChanged(i.detail.fromPage,i.detail.toPage)},_notifyPageResize:function(){var i= this.selectedItem||this._valueToItem(this.selected);this.resizerShouldNotify=fun ction(e){return e==i},this.notifyResize()}})}()</script> <dom-module id="neon-an imatable" assetpath="/res/imp/bower_components/neon-animation/"> <template> <sty le>:host{display:block}</style> <content></content> </template> </dom-module> <s cript>Polymer({is:"neon-animatable",behaviors:[Polymer.NeonAnimatableBehavior,Po lymer.IronResizableBehavior]})</script> <script>Polymer.NeonAnimationBehavior={p roperties:{animationTiming:{type:Object,value:function(){return{duration:500,eas ing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFrom Config:function(i){if(i.timing)for(var n in i.timing)this.animationTiming[n]=i.t iming[n];return this.animationTiming},setPrefixedProperty:function(i,n,r){for(va r t,o={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webk itTransformOrigin"]},e=o[n],m=0;t=e[m];m++)i.style[t]=r;i.style[n]=r},complete:f unction(){}}</script><script>!function(a,b){var c={},d={},e={},f=null;!function( t,e){function i(t){if("number"==typeof t)return t;var e={};for(var i in t)e[i]=t [i];return e}function n(){this._delay=0,this._endDelay=0,this._fill="none",this. _iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this. _direction="normal",this._easing="linear",this._easingFunction=x}function r(){re turn t.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions w ill be thrown instead.",!0)}function o(e,i,r){var o=new n;return i&&(o.fill="bot h",o.duration="auto"),"number"!=typeof e||isNaN(e)?void 0!==e&&Object.getOwnProp ertyNames(e).forEach(function(i){if("auto"!=e[i]){if(("number"==typeof o[i]||"du ration"==i)&&("number"!=typeof e[i]||isNaN(e[i])))return;if("fill"==i&&-1==w.ind exOf(e[i]))return;if("direction"==i&&-1==T.indexOf(e[i]))return;if("playbackRate "==i&&1!==e[i]&&t.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28" ,"Use Animation.playbackRate instead."))return;o[i]=e[i]}}):o.duration=e,o}funct ion a(t){return"number"==typeof t&&(t=isNaN(t)?{duration:0}:{duration:t}),t}func tion s(e,i){return e=t.numericTimingToObject(e),o(e,i)}function u(t,e,i,n){retur n t<0||t>1||i<0||i>1?x:function(r){function o(t,e,i){return 3*t*(1-i)*(1-i)*i+3* e*(1-i)*i*i+i*i*i}if(r<=0){var a=0;return t>0?a=e/t:!e&&i>0&&(a=n/i),a*r}if(r>=1 ){var s=0;return i<1?s=(n-1)/(i-1):1==i&&t<1&&(s=(e-1)/(t-1)),1+s*(r-1)}for(var u=0,c=1;u<c;){var f=(u+c)/2,l=o(t,i,f);if(Math.abs(r-l)<1e-5)return o(e,n,f);l<r ?u=f:c=f}return o(e,n,f)}}function c(t,e){return function(i){if(i>=1)return 1;va r n=1/t;return(i+=e*n)-i%n}}function f(t){k||(k=document.createElement("div").st yle),k.animationTimingFunction="",k.animationTimingFunction=t;var e=k.animationT imingFunction;if(""==e&&r())throw new TypeError(t+" is not a valid value for eas ing");return e}function l(t){if("linear"==t)return x;var e=N.exec(t);if(e)return u.apply(this,e.slice(1).map(Number));var i=O.exec(t);return i?c(Number(i[1]),{s tart:E,middle:A,end:P}[i[2]]):j[t]||x}function h(t){return Math.abs(m(t)/t.playb ackRate)}function m(t){return 0===t.duration||0===t.iterations?0:t.duration*t.it erations}function d(t,e,i){if(null==e)return S;var n=i.delay+t+i.endDelay;return e<Math.min(i.delay,n)?C:e>=Math.min(i.delay+t,n)?D:F}function p(t,e,i,n,r){swit ch(n){case C:return"backwards"==e||"both"==e?0:null;case F:return i-r;case D:ret urn"forwards"==e||"both"==e?t:null;case S:return null}}function _(t,e,i,n,r){var o=r;return 0===t?e!==C&&(o+=i):o+=n/t,o}function g(t,e,i,n,r,o){var a=t===1/0?e %1:t%1;return 0!==a||i!==D||0===n||0===r&&0!==o||(a=1),a}function b(t,e,i,n){ret urn t===D&&e===1/0?1/0:1===i?Math.floor(n)-1:Math.floor(n)}function v(t,e,i){var n=t;if("normal"!==t&&"reverse"!==t){var r=e;"alternate-reverse"===t&&(r+=1),n=" normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?i:1-i}function y(t,e,i ){var n=d(t,e,i),r=p(t,i.fill,e,n,i.delay);if(null===r)return null;var o=_(i.dur ation,n,i.iterations,r,i.iterationStart),a=g(o,i.iterationStart,n,i.iterations,r ,i.duration),s=b(n,i.iterations,a,o),u=v(i.direction,s,a);return i._easingFuncti on(u)}var w="backwards|forwards|both|none".split("|"),T="reverse|alternate|alter nate-reverse".split("|"),x=function(t){return t};n.prototype={_setMember:functio n(e,i){this["_"+e]=i,this._effect&&(this._effect._timingInput[e]=i,this._effect. _timing=t.normalizeTimingInput(this._effect._timingInput),this._effect.activeDur ation=t.calculateActiveDuration(this._effect._timing),this._effect._animation&&t his._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(t){this._setMember("delay",t)},get delay(){return this._delay},set endDelay(t){this._setMember("endDelay",t)},get endDelay(){retu rn this._endDelay},set fill(t){this._setMember("fill",t)},get fill(){return this ._fill},set iterationStart(t){if((isNaN(t)||t<0)&&r())throw new TypeError("itera tionStart must be a non-negative number, received: "+timing.iterationStart);this ._setMember("iterationStart",t)},get iterationStart(){return this._iterationStar t},set duration(t){if("auto"!=t&&(isNaN(t)||t<0)&&r())throw new TypeError("durat ion must be non-negative or auto, received: "+t);this._setMember("duration",t)}, get duration(){return this._duration},set direction(t){this._setMember("directio n",t)},get direction(){return this._direction},set easing(t){this._easingFunctio n=l(f(t)),this._setMember("easing",t)},get easing(){return this._easing},set ite rations(t){if((isNaN(t)||t<0)&&r())throw new TypeError("iterations must be non-n egative, received: "+t);this._setMember("iterations",t)},get iterations(){return this._iterations}};var E=1,A=.5,P=0,j={ease:u(.25,.1,.25,1),"ease-in":u(.42,0,1 ,1),"ease-out":u(0,0,.58,1),"ease-in-out":u(.42,0,.58,1),"step-start":c(1,E),"st ep-middle":c(1,A),"step-end":c(1,P)},k=null,R="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s *",N=new RegExp("cubic-bezier\\("+R+","+R+","+R+","+R+"\\)"),O=/steps\(\s*(\d+)\ s*,\s*(start|middle|end)\s*\)/,S=0,C=1,D=2,F=3;t.cloneTimingInput=i,t.makeTiming =o,t.numericTimingToObject=a,t.normalizeTimingInput=s,t.calculateActiveDuration= h,t.calculateIterationProgress=y,t.calculatePhase=d,t.normalizeEasing=f,t.parseE asingFunction=l}(c),function(t,e){function i(t,e){return t in f?f[t][e]||e:e}fun ction n(t){return"display"===t||0===t.lastIndexOf("animation",0)||0===t.lastInde xOf("transition",0)}function r(t,e,r){if(!n(t)){var o=s[t];if(o){u.style[t]=e;fo r(var a in o){var c=o[a],f=u.style[c];r[c]=i(c,f)}}else r[t]=i(t,e)}}function o( t){var e=[];for(var i in t)if(!(i in["easing","offset","composite"])){var n=t[i] ;Array.isArray(n)||(n=[n]);for(var r,o=n.length,a=0;a<o;a++)r={},r.offset="offse t"in t?t.offset:1==o?1:a/(o-1),"easing"in t&&(r.easing=t.easing),"composite"in t &&(r.composite=t.composite),r[i]=n[a],e.push(r)}return e.sort(function(t,e){retu rn t.offset-e.offset}),e}function a(e){function i(){var t=n.length;null==n[t-1]. offset&&(n[t-1].offset=1),t>1&&null==n[0].offset&&(n[0].offset=0);for(var e=0,i= n[0].offset,r=1;r<t;r++){var o=n[r].offset;if(null!=o){for(var a=1;a<r-e;a++)n[e +a].offset=i+(o-i)*a/(r-e);e=r,i=o}}}if(null==e)return[];window.Symbol&&Symbol.i terator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArr ay(e)||(e=o(e));for(var n=e.map(function(e){var i={};for(var n in e){var o=e[n]; if("offset"==n){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Key frame offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offse ts must be between 0 and 1.")}}else if("composite"==n){if("add"==o||"accumulate" ==o)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:" add compositing is not supported"};if("replace"!=o)throw new TypeError("Invalid composite mode "+o+".")}else o="easing"==n?t.normalizeEasing(o):""+o;r(n,o,i)}re turn void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}) ,a=!0,s=-1/0,u=0;u<n.length;u++){var c=n[u].offset;if(null!=c){if(c<s)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets." );s=c}else a=!1}return n=n.filter(function(t){return t.offset>=0&&t.offset<=1}), a||i(),n}var s={background:["backgroundImage","backgroundPosition","backgroundSi ze","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip ","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth", "borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","bo rderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","border LeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomC olor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","bor derLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor" ],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightR adius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightSty le","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopC olor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","bor derLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fo ntSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop" ,"marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyl e","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","padding Left"]},u=document.createElementNS("http://www.w3.org/1999/xhtml","div"),c={thin :"1px",medium:"3px",thick:"5px"},f={borderBottomWidth:c,borderLeftWidth:c,border RightWidth:c,borderTopWidth:c,fontSize:{"xx-small":"60%","x-small":"75%",small:" 89%",medium:"100%",large:"120%","x-large":"150%","xx-large":"200%"},fontWeight:{ normal:"400",bold:"700"},outlineWidth:c,textShadow:{none:"0px 0px 0px transparen t"},boxShadow:{none:"0px 0px 0px 0px transparent"}};t.convertToArrayForm=o,t.nor malizeKeyframes=a}(c),function(t){var e={};t.isDeprecated=function(t,i,n,r){var o=r?"are":"is",a=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(a<s& &(t in e||console.warn("Web Animations: "+t+" "+o+" deprecated and will stop wor king on "+s.toDateString()+". "+n),e[t]=!0,1))},t.deprecated=function(e,i,n,r){v ar o=r?"are":"is";if(t.isDeprecated(e,i,n,r))throw new Error(e+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=docu ment.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reve rse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function( t){void 0===a[t]&&(b=!0)})),!b)return}!function(t,e,i){function n(t){for(var e={ },i=0;i<t.length;i++)for(var n in t[i])if("offset"!=n&&"easing"!=n&&"composite"! =n){var r={offset:t[i].offset,easing:t[i].easing,value:t[i][n]};e[n]=e[n]||[],e[ n].push(r)}for(var o in e){var a=e[o];if(0!=a[0].offset||1!=a[a.length-1].offset )throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Par tial keyframes are not supported"}}return e}function r(i){var n=[];for(var r in i)for(var o=i[r],a=0;a<o.length-1;a++){var s=a,u=a+1,c=o[s].offset,f=o[u].offset ,l=c,h=f;0==a&&(l=-1/0,0==f&&(u=s)),a==o.length-2&&(h=1/0,1==c&&(s=u)),n.push({a pplyFrom:l,applyTo:h,startOffset:o[s].offset,endOffset:o[u].offset,easingFunctio n:t.parseEasingFunction(o[s].easing),property:r,interpolation:e.propertyInterpol ation(r,o[s].value,o[u].value)})}return n.sort(function(t,e){return t.startOffse t-e.startOffset}),n}e.convertEffectInput=function(i){var o=t.normalizeKeyframes( i),a=n(o),s=r(a);return function(t,i){if(null!=i)s.filter(function(t){return i>= t.applyFrom&&i<t.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffs et-n.startOffset,a=0==o?0:n.easingFunction(r/o);e.apply(t,n.property,n.interpola tion(a))});else for(var n in a)"offset"!=n&&"easing"!=n&&"composite"!=n&&e.clear (t,n)}}}(c,d),function(t,e,i){function n(t){return t.replace(/-(.)/g,function(t, e){return e.toUpperCase()})}function r(t,e,i){s[i]=s[i]||[],s[i].push([t,e])}fun ction o(t,e,i){for(var o=0;o<i.length;o++)r(t,e,n(i[o]))}function a(i,r,o){var a =i;/-/.test(i)&&!t.isDeprecated("Hyphenated property names","2016-03-22","Use ca melCase instead.",!0)&&(a=n(i)),"initial"!=r&&"initial"!=o||("initial"==r&&(r=u[ a]),"initial"==o&&(o=u[a]));for(var c=r==o?[]:s[a],f=0;c&&f<c.length;f++){var l= c[f][0](r),h=c[f][0](o);if(void 0!==l&&void 0!==h){var m=c[f][1](l,h);if(m){var d=e.Interpolation.apply(null,m);return function(t){return 0==t?r:1==t?o:d(t)}}}} return e.Interpolation(!1,!0,function(t){return t?o:r})}var s={};e.addProperties Handler=o;var u={backgroundColor:"transparent",backgroundPosition:"0% 0%",border BottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius: "0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3p x",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",bo rderTopColor:"currentColor",borderTopLeftRadius:"0px",borderTopRightRadius:"0px" ,borderTopWidth:"3px",bottom:"auto",clip:"rect(0px, 0px, 0px, 0px)",color:"black ",fontSize:"100%",fontWeight:"400",height:"auto",left:"auto",letterSpacing:"norm al",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marg inTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opac ity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBo ttom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",st rokeDasharray:"none",strokeDashoffset:"0px",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visibl e",width:"auto",wordSpacing:"normal",zIndex:"auto"};e.propertyInterpolation=a}(c ,d),function(t,e,i){function n(e){var i=t.calculateActiveDuration(e),n=function( n){return t.calculateIterationProgress(i,n,e)};return n._totalDuration=e.delay+i +e.endDelay,n}e.KeyframeEffect=function(i,r,o,a){var s,u=n(t.normalizeTimingInpu t(o)),c=e.convertEffectInput(r),f=function(){c(i,s)};return f._update=function(t ){return null!==(s=u(t))},f._clear=function(){c(i,null)},f._hasSameTarget=functi on(t){return i===t},f._target=i,f._totalDuration=u._totalDuration,f._id=a,f}}(c, d),function(t,e){t.apply=function(e,i,n){e.style[t.propertyName(i)]=n},t.clear=f unction(e,i){e.style[t.propertyName(i)]=""}}(d),function(t){window.Element.proto type.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(t. KeyframeEffect(this,e,i,n))}}(d),function(t,e){function i(t,e,n){if("number"==ty peof t&&"number"==typeof e)return t*(1-n)+e*n;if("boolean"==typeof t&&"boolean"= =typeof e)return n<.5?t:e;if(t.length==e.length){for(var r=[],o=0;o<t.length;o++ )r.push(i(t[o],e[o],n));return r}throw"Mismatched interpolation arguments "+t+": "+e}t.Interpolation=function(t,e,n){return function(r){return n(i(t,e,r))}}}(d), function(t,e,i){t.sequenceNumber=0;var n=function(t,e,i){this.target=t,this.curr entTime=e,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable =!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGE T,this.timeStamp=Date.now()};e.Animation=function(e){this.id="",e&&e._id&&(this. id=e._id),this._sequenceNumber=t.sequenceNumber++,this._currentTime=0,this._star tTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finish edFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=e,this._inEffe ct=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},e.Animatio n.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?t his._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this. currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTim eline=!0,e.timeline._animations.push(this))},_tickCurrentTime:function(t,e){t!=t his._currentTime&&(this._currentTime=t,this._isFinished&&!e&&(this._currentTime= this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTim e(){return this._idle||this._currentTimePending?null:this._currentTime},set curr entTime(t){t=+t,isNaN(t)||(e.restart(),this._paused||null==this._startTime||(thi s._startTime=this._timeline.currentTime-t/this._playbackRate),this._currentTimeP ending=!1,this._currentTime!=t&&(this._idle&&(this._idle=!1,this._paused=!0),thi s._tickCurrentTime(t,!0),e.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(t){t=+t,isNaN(t)||this._paused||this._idle||(thi s._startTime=t,this._tickCurrentTime((this._timeline.currentTime-this._startTime )*this.playbackRate),e.applyDirtiedAnimation(this))},get playbackRate(){return t his._playbackRate},set playbackRate(t){if(t!=this._playbackRate){var i=this.curr entTime;this._playbackRate=t,this._startTime=null,"paused"!=this.playState&&"idl e"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.a pplyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){re turn!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration|| this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._e ffect._totalDuration},get playState(){return this._idle?"idle":null==this._start Time&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":th is._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if (this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))th row new DOMException("Unable to rewind negative playback rate animation with inf inite duration","InvalidStateError");this._currentTime=this._totalDuration}},pla y:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),thi s._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),e.app lyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this. _idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,thi s._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTi me=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuratio n-this.currentTime,this._currentTimePending=!1,e.applyDirtiedAnimation(this))},c ancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=! 1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime= null,this._effect._update(null),e.applyDirtiedAnimation(this))},reverse:function (){this.playbackRate*=-1,this.play()},addEventListener:function(t,e){"function"= =typeof e&&"finish"==t&&this._finishHandlers.push(e)},removeEventListener:functi on(t,e){if("finish"==t){var i=this._finishHandlers.indexOf(e);i>=0&&this._finish Handlers.splice(i,1)}},_fireEvents:function(t){if(this._isFinished){if(!this._fi nishedFlag){var e=new n(this,this._currentTime,t),i=this._finishHandlers.concat( this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(t){t. call(e.target,e)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick: function(t,e){this._idle||this._paused||(null==this._startTime?e&&(this.startTim e=t-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime ((t-this._startTime)*this.playbackRate)),e&&(this._currentTimePending=!1,this._f ireEvents(t))},get _needsTick(){return this.playState in{pending:1,running:1}||! this._finishedFlag},_targetAnimations:function(){var t=this._effect._target;retu rn t._activeAnimations||(t._activeAnimations=[]),t._activeAnimations},_markTarge t:function(){var t=this._targetAnimations();-1===t.indexOf(this)&&t.push(this)}, _unmarkTarget:function(){var t=this._targetAnimations(),e=t.indexOf(this);-1!==e &&t.splice(e,1)}}}(c,d),function(t,e,i){function n(t){var e=c;c=[],t<_.currentTi me&&(t=_.currentTime),_._animations.sort(r),_._animations=s(t,!0,_._animations)[ 0],e.forEach(function(e){e[1](t)}),a(),l=void 0}function r(t,e){return t._sequen ceNumber-e._sequenceNumber}function o(){this._animations=[],this.currentTime=win dow.performance&&performance.now?performance.now():0}function a(){d.forEach(func tion(t){t()}),d.length=0}function s(t,i,n){p=!0,m=!1,e.timeline.currentTime=t,h= !1;var r=[],o=[],a=[],s=[];return n.forEach(function(e){e._tick(t,i),e._inEffect ?(o.push(e._effect),e._markTarget()):(r.push(e._effect),e._unmarkTarget()),e._ne edsTick&&(h=!0);var n=e._inEffect||e._needsTick;e._inTimeline=n,n?a.push(e):s.pu sh(e)}),d.push.apply(d,r),d.push.apply(d,o),h&&requestAnimationFrame(function(){ }),p=!1,[a,s]}var u=window.requestAnimationFrame,c=[],f=0;window.requestAnimatio nFrame=function(t){var e=f++;return 0==c.length&&u(n),c.push([e,t]),e},window.ca ncelAnimationFrame=function(t){c.forEach(function(e){e[0]==t&&(e[1]=function(){} )})},o.prototype={_play:function(i){i._timing=t.normalizeTimingInput(i.timing);v ar n=new e.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push (n),e.restart(),e.applyDirtiedAnimation(n),n}};var l=void 0,h=!1,m=!1;e.restart= function(){return h||(h=!0,requestAnimationFrame(function(){}),m=!0),m},e.applyD irtiedAnimation=function(t){if(!p){t._markTarget();var i=t._targetAnimations();i .sort(r),s(e.timeline.currentTime,!1,i.slice())[1].forEach(function(t){var e=_._ animations.indexOf(t);-1!==e&&_._animations.splice(e,1)}),a()}};var d=[],p=!1,_= new o;e.timeline=_}(c,d),function(t){function e(t,e){var i=t.exec(e);if(i)return i=t.ignoreCase?i[0].toLowerCase():i[0],[i,e.substr(i.length)]}function i(t,e){e =e.replace(/^\s*/,"");var i=t(e);if(i)return[i[0],i[1].replace(/^\s*/,"")]}funct ion n(t,n,r){t=i.bind(null,t);for(var o=[];;){var a=t(r);if(!a)return[o,r];if(o. push(a[0]),r=a[1],!(a=e(n,r))||""==a[1])return[o,r];r=a[1]}}function r(t,e){for( var i=0,n=0;n<e.length&&(!/\s|,/.test(e[n])||0!=i);n++)if("("==e[n])i++;else if( ")"==e[n]&&(i--,0==i&&n++,i<=0))break;var r=t(e.substr(0,n));return void 0==r?vo id 0:[r,e.substr(n)]}function o(t,e){for(var i=t,n=e;i&&n;)i>n?i%=n:n%=i;return i=t*e/(i+n)}function a(t){return function(e){var i=t(e);return i&&(i[0]=void 0), i}}function s(t,e){return function(i){return t(i)||[e,i]}}function u(e,i){for(va r n=[],r=0;r<e.length;r++){var o=t.consumeTrimmed(e[r],i);if(!o||""==o[0])return ;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n}function c(t,e,i,n,r){for( var a=[],s=[],u=[],c=o(n.length,r.length),f=0;f<c;f++){var l=e(n[f%n.length],r[f %r.length]);if(!l)return;a.push(l[0]),s.push(l[1]),u.push(l[2])}return[a,s,funct ion(e){var n=e.map(function(t,e){return u[e](t)}).join(i);return t?t(n):n}]}func tion f(t,e,i){for(var n=[],r=[],o=[],a=0,s=0;s<i.length;s++)if("function"==typeo f i[s]){var u=i[s](t[a],e[a++]);n.push(u[0]),r.push(u[1]),o.push(u[2])}else!func tion(t){n.push(!1),r.push(!1),o.push(function(){return i[t]})}(s);return[n,r,fun ction(t){for(var e="",i=0;i<t.length;i++)e+=o[i](t[i]);return e}]}t.consumeToken =e,t.consumeTrimmed=i,t.consumeRepeated=n,t.consumeParenthesised=r,t.ignore=a,t. optional=s,t.consumeList=u,t.mergeNestedRepeated=c.bind(null,null),t.mergeWrappe dNestedRepeated=c,t.mergeList=f}(d),function(t){function e(e){function i(e){var i=t.consumeToken(/^inset/i,e);if(i)return n.inset=!0,i;var i=t.consumeLengthOrPe rcent(e);if(i)return n.lengths.push(i[0]),i;var i=t.consumeColor(e);return i?(n. color=i[0],i):void 0}var n={inset:!1,lengths:[],color:null},r=t.consumeRepeated( i,/^/,e);if(r&&r[0].length)return[n,r[1]]}function i(i){var n=t.consumeRepeated( e,/^,/,i);if(n&&""==n[1])return n[0]}function n(e,i){for(;e.lengths.length<Math. max(e.lengths.length,i.lengths.length);)e.lengths.push({px:0});for(;i.lengths.le ngth<Math.max(e.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(e.in set==i.inset&&!!e.color==!!i.color){for(var n,r=[],o=[[],0],a=[[],0],s=0;s<e.len gths.length;s++){var u=t.mergeDimensions(e.lengths[s],i.lengths[s],2==s);o[0].pu sh(u[0]),a[0].push(u[1]),r.push(u[2])}if(e.color&&i.color){var c=t.mergeColors(e .color,i.color);o[1]=c[0],a[1]=c[1],n=c[2]}return[o,a,function(t){for(var i=e.in set?"inset ":" ",o=0;o<r.length;o++)i+=r[o](t[0][o])+" ";return n&&(i+=n(t[1])), i}]}}function r(e,i,n,r){function o(t){return{inset:t,color:[0,0,0,0],lengths:[{ px:0},{px:0},{px:0},{px:0}]}}for(var a=[],s=[],u=0;u<n.length||u<r.length;u++){v ar c=n[u]||o(r[u].inset),f=r[u]||o(n[u].inset);a.push(c),s.push(f)}return t.merg eNestedRepeated(e,i,a,s)}var o=r.bind(null,n,", ");t.addPropertiesHandler(i,o,[" box-shadow","text-shadow"])}(d),function(t,e){function i(t){return t.toFixed(3). replace(/0+$/,"").replace(/\.$/,"")}function n(t,e,i){return Math.min(e,Math.max (t,i))}function r(t){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(t))return Number(t)}func tion o(t,e){return[t,e,i]}function a(t,e){if(0!=t)return u(0,1/0)(t,e)}function s(t,e){return[t,e,function(t){return Math.round(n(1,1/0,t))}]}function u(t,e){re turn function(r,o){return[r,o,function(r){return i(n(t,e,r))}]}}function c(t){va r e=t.trim().split(/\s*[\s,]\s*/);if(0!==e.length){for(var i=[],n=0;n<e.length;n ++){var o=r(e[n]);if(void 0===o)return;i.push(o)}return i}}function f(t,e){if(t. length==e.length)return[t,e,function(t){return t.map(i).join(" ")}]}function l(t ,e){return[t,e,Math.round]}t.clamp=n,t.addPropertiesHandler(c,f,["stroke-dasharr ay"]),t.addPropertiesHandler(r,u(0,1/0),["border-image-width","line-height"]),t. addPropertiesHandler(r,u(0,1),["opacity","shape-image-threshold"]),t.addProperti esHandler(r,a,["flex-grow","flex-shrink"]),t.addPropertiesHandler(r,s,["orphans" ,"widows"]),t.addPropertiesHandler(r,l,["z-index"]),t.parseNumber=r,t.parseNumbe rList=c,t.mergeNumbers=o,t.numberToString=i}(d),function(t,e){function i(t,e){if ("visible"==t||"visible"==e)return[0,1,function(i){return i<=0?t:i>=1?e:"visible "}]}t.addPropertiesHandler(String,i,["visibility"])}(d),function(t,e){function i (t){t=t.trim(),o.fillStyle="#000",o.fillStyle=t;var e=o.fillStyle;if(o.fillStyle ="#fff",o.fillStyle=t,e==o.fillStyle){o.fillRect(0,0,1,1);var i=o.getImageData(0 ,0,1,1).data;o.clearRect(0,0,1,1);var n=i[3]/255;return[i[0]*n,i[1]*n,i[2]*n,n]} }function n(e,i){return[e,i,function(e){function i(t){return Math.max(0,Math.min (255,t))}if(e[3])for(var n=0;n<3;n++)e[n]=Math.round(i(e[n]/e[3]));return e[3]=t .numberToString(t.clamp(0,1,e[3])),"rgba("+e.join(",")+")"}]}var r=document.crea teElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r. getContext("2d");t.addPropertiesHandler(i,n,["background-color","border-bottom-c olor","border-left-color","border-right-color","border-top-color","color","fill" ,"flood-color","lighting-color","outline-color","stop-color","stroke","text-deco ration-color"]),t.consumeColor=t.consumeParenthesised.bind(null,i),t.mergeColors =n}(d),function(a,b){function c(a,b){if("0"==(b=b.trim().toLowerCase())&&"px".se arch(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");v ar c={};b=b.replace(a,function(t){return c[t]=null,"U"+t});for(var d="U("+a.sour ce+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").r eplace(/\s[+-]\s/g,"O").replace(/\s/g,""),f=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/ g,/\((N|D)\)/g],g=0;g<f.length;)f[g].test(e)?(e=e.replace(f[g],"$1"),g=0):g++;if ("D"==e){for(var h in c){var i=eval(b.replace(new RegExp("U"+h,"g"),"").replace( new RegExp(d,"g"),"*0"));if(!isFinite(i))return;c[h]=i}return c}}}function d(t,i ){return e(t,i,!0)}function e(t,e,i){var n,r=[];for(n in t)r.push(n);for(n in e) r.indexOf(n)<0&&r.push(n);return t=r.map(function(e){return t[e]||0}),e=r.map(fu nction(t){return e[t]||0}),[t,e,function(t){var e=t.map(function(e,n){return 1== t.length&&i&&(e=Math.max(e,0)),a.numberToString(e)+r[n]}).join(" + ");return t.l ength>1?"calc("+e+")":e}]}var f="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc" ,g=c.bind(null,new RegExp(f,"g")),h=c.bind(null,new RegExp(f+"|%","g")),i=c.bind (null,/deg|rad|grad|turn/g);a.parseLength=g,a.parseLengthOrPercent=h,a.consumeLe ngthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensio ns=e;var j=a.consumeParenthesised.bind(null,g),k=a.consumeRepeated.bind(void 0,j ,/^/),l=a.consumeRepeated.bind(void 0,k,/^,/);a.consumeSizePairList=l;var m=func tion(t){var e=l(t);if(e&&""==e[1])return e[0]},n=a.mergeNestedRepeated.bind(void 0,d," "),o=a.mergeNestedRepeated.bind(void 0,n,",");a.mergeNonNegativeSizePair= n,a.addPropertiesHandler(m,o,["background-size"]),a.addPropertiesHandler(h,d,["b order-bottom-width","border-image-width","border-left-width","border-right-width ","border-top-width","flex-basis","font-size","height","line-height","max-height ","max-width","outline-width","width"]),a.addPropertiesHandler(h,e,["border-bott om-left-radius","border-bottom-right-radius","border-top-left-radius","border-to p-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left"," margin-right","margin-top","min-height","min-width","outline-offset","padding-bo ttom","padding-left","padding-right","padding-top","perspective","right","shape- margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"] )}(d,f),function(t,e){function i(e){return t.consumeLengthOrPercent(e)||t.consum eToken(/^auto/,e)}function n(e){var n=t.consumeList([t.ignore(t.consumeToken.bin d(null,/^rect/)),t.ignore(t.consumeToken.bind(null,/^\(/)),t.consumeRepeated.bin d(null,i,/^,/),t.ignore(t.consumeToken.bind(null,/^\)/))],e);if(n&&4==n[0].lengt h)return n[0]}function r(e,i){return"auto"==e||"auto"==i?[!0,!1,function(n){var r=n?e:i;if("auto"==r)return"auto";var o=t.mergeDimensions(r,r);return o[2](o[0]) }]:t.mergeDimensions(e,i)}function o(t){return"rect("+t+")"}var a=t.mergeWrapped NestedRepeated.bind(null,o,r,", ");t.parseBox=n,t.mergeBoxes=a,t.addPropertiesHa ndler(n,a,["clip"])}(d),function(t,e){function i(t){return function(e){var i=0;r eturn t.map(function(t){return t===f?e[i++]:t})}}function n(t){return t}function r(e){if("none"==(e=e.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^) ]*)\)/g,r=[],o=0;i=n.exec(e);){if(i.index!=o)return;o=i.index+i[0].length;var a= i[1],s=m[a];if(!s)return;var u=i[2].split(","),c=s[0];if(c.length<u.length)retur n;for(var f=[],d=0;d<c.length;d++){var p,_=u[d],g=c[d];if(void 0===(p=_?{A:funct ion(e){return"0"==e.trim()?h:t.parseAngle(e)},N:t.parseNumber,T:t.parseLengthOrP ercent,L:t.parseLength}[g.toUpperCase()](_):{a:h,n:f[0],t:l}[g]))return;f.push(p )}if(r.push({t:a,d:f}),n.lastIndex==e.length)return r}}function o(t){return t.to Fixed(6).replace(".000000","")}function a(e,i){if(e.decompositionPair!==i){e.dec ompositionPair=i;var n=t.makeMatrixDecomposition(e)}if(i.decompositionPair!==e){ i.decompositionPair=e;var r=t.makeMatrixDecomposition(i)}return null==n[0]||null ==r[0]?[[!1],[!0],function(t){return t?i[0].d:e[0].d}]:(n[0].push(0),r[0].push(1 ),[n,r,function(e){var i=t.quat(n[0][3],r[0][3],e[5]);return t.composeMatrix(e[0 ],e[1],e[2],i,e[4]).map(o).join(",")}])}function s(t){return t.replace(/[xy]/,"" )}function u(t){return t.replace(/(x|y|z|3d)?$/,"3d")}function c(e,i){var n=t.ma keMatrixDecomposition&&!0,r=!1;if(!e.length||!i.length){e.length||(r=!0,e=i,i=[] );for(var o=0;o<e.length;o++){var c=e[o].t,f=e[o].d,l="scale"==c.substr(0,5)?1:0 ;i.push({t:c,d:f.map(function(t){if("number"==typeof t)return l;var e={};for(var i in t)e[i]=l;return e})})}}var h=function(t,e){return"perspective"==t&&"perspe ctive"==e||("matrix"==t||"matrix3d"==t)&&("matrix"==e||"matrix3d"==e)},d=[],p=[] ,_=[];if(e.length!=i.length){if(!n)return;var g=a(e,i);d=[g[0]],p=[g[1]],_=[["ma trix",[g[2]]]]}else for(var o=0;o<e.length;o++){var c,b=e[o].t,v=i[o].t,y=e[o].d ,w=i[o].d,T=m[b],x=m[v];if(h(b,v)){if(!n)return;var g=a([e[o]],[i[o]]);d.push(g[ 0]),p.push(g[1]),_.push(["matrix",[g[2]]])}else{if(b==v)c=b;else if(T[2]&&x[2]&& s(b)==s(v))c=s(b),y=T[2](y),w=x[2](w);else{if(!T[1]||!x[1]||u(b)!=u(v)){if(!n)re turn;var g=a(e,i);d=[g[0]],p=[g[1]],_=[["matrix",[g[2]]]];break}c=u(b),y=T[1](y) ,w=x[1](w)}for(var E=[],A=[],P=[],j=0;j<y.length;j++){var k="number"==typeof y[j ]?t.mergeNumbers:t.mergeDimensions,g=k(y[j],w[j]);E[j]=g[0],A[j]=g[1],P.push(g[2 ])}d.push(E),p.push(A),_.push([c,P])}}if(r){var R=d;d=p,p=R}return[d,p,function( t){return t.map(function(t,e){var i=t.map(function(t,i){return _[e][1][i](t)}).j oin(",");return"matrix"==_[e][0]&&16==i.split(",").length&&(_[e][0]="matrix3d"), _[e][0]+"("+i+")"}).join(" ")}]}var f=null,l={px:0},h={deg:0},m={matrix:["NNNNNN ",[f,f,0,0,f,f,0,0,0,0,1,0,f,f,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:[" A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L" ],scale:["Nn",i([f,f,1]),n],scalex:["N",i([f,1,1]),i([f,1])],scaley:["N",i([1,f, 1]),i([1,f])],scalez:["N",i([1,1,f])],scale3d:["NNN",n],skew:["Aa",null,n],skewx :["A",null,i([f,h])],skewy:["A",null,i([h,f])],translate:["Tt",i([f,f,l]),n],tra nslatex:["T",i([f,l,l]),i([f,l])],translatey:["T",i([l,f,l]),i([l,f])],translate z:["L",i([l,l,f])],translate3d:["TTL",n]};t.addPropertiesHandler(r,c,["transform "])}(d),function(t,e){function i(t,e){e.concat([t]).forEach(function(e){e in doc ument.documentElement.style&&(n[t]=e)})}var n={};i("transform",["webkitTransform ","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective" ,["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),t.pro pertyName=function(t){return n[t]||t}}(d)}(),function(){if(void 0===document.cre ateElement("div").animate([]).oncancel){var t;if(window.performance&&performance .now)var t=function(){return performance.now();
679 };else var t=function(){return Date.now()};var e=function(t,e,i){this.target=t,t his.currentTime=e,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.ca ncelable=!1,this.currentTarget=t,this.defaultPrevented=!1,this.eventPhase=Event. AT_TARGET,this.timeStamp=Date.now()},i=window.Element.prototype.animate;window.E lement.prototype.animate=function(n,r){var o=i.call(this,n,r);o._cancelHandlers= [],o.oncancel=null;var a=o.cancel;o.cancel=function(){a.call(this);var i=new e(t his,null,t()),n=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);se tTimeout(function(){n.forEach(function(t){t.call(i.target,i)})},0)};var s=o.addE ventListener;o.addEventListener=function(t,e){"function"==typeof e&&"cancel"==t? this._cancelHandlers.push(e):s.call(this,t,e)};var u=o.removeEventListener;retur n o.removeEventListener=function(t,e){if("cancel"==t){var i=this._cancelHandlers .indexOf(e);i>=0&&this._cancelHandlers.splice(i,1)}else u.call(this,t,e)},o}}}() ,function(t){var e=document.documentElement,i=null,n=!1;try{var r=getComputedSty le(e).getPropertyValue("opacity"),o="0"==r?"1":"0";i=e.animate({opacity:[o,o]},{ duration:1}),i.currentTime=0,n=getComputedStyle(e).getPropertyValue("opacity")== o}catch(t){}finally{i&&i.cancel()}if(!n){var a=window.Element.prototype.animate; window.Element.prototype.animate=function(e,i){return window.Symbol&&Symbol.iter ator&&Array.prototype.from&&e[Symbol.iterator]&&(e=Array.from(e)),Array.isArray( e)||null===e||(e=t.convertToArrayForm(e)),a.call(this,e,i)}}}(c),function(t,e,i) {function n(t){var i=e.timeline;i.currentTime=t,i._discardAnimations(),0==i._ani mations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame; window.requestAnimationFrame=function(t){return r(function(i){e.timeline._update AnimationsPromises(),t(i),e.timeline._updateAnimationsPromises()})},e.AnimationT imeline=function(){this._animations=[],this.currentTime=void 0},e.AnimationTimel ine.prototype={getAnimations:function(){return this._discardAnimations(),this._a nimations.slice()},_updateAnimationsPromises:function(){e.animationsWithPromises =e.animationsWithPromises.filter(function(t){return t._updatePromises()})},_disc ardAnimations:function(){this._updateAnimationsPromises(),this._animations=this. _animations.filter(function(t){return"finished"!=t.playState&&"idle"!=t.playStat e})},_play:function(t){var i=new e.Animation(t,this);return this._animations.pus h(i),e.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i. _updatePromises(),i},play:function(t){return t&&t.remove(),this._play(t)}};var o =!1;e.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n)) };var a=new e.AnimationTimeline;e.timeline=a;try{Object.defineProperty(window.do cument,"timeline",{configurable:!0,get:function(){return a}})}catch(t){}try{wind ow.document.timeline=a}catch(t){}}(0,e),function(t,e,i){e.animationsWithPromises =[],e.Animation=function(e,i){if(this.id="",e&&e._id&&(this.id=e._id),this.effec t=e,e&&(e._animation=this),!i)throw new Error("Animation with null timeline is n ot supported");this._timeline=i,this._sequenceNumber=t.sequenceNumber++,this._ho ldTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimat ions=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAni mation(),this._animation.cancel(),this._updatePromises()},e.Animation.prototype= {_updatePromises:function(){var t=this._oldPlayState,e=this.playState;return thi s._readyPromise&&e!==t&&("idle"==e?(this._rejectReadyPromise(),this._readyPromis e=void 0):"pending"==t?this._resolveReadyPromise():"pending"==e&&(this._readyPro mise=void 0)),this._finishedPromise&&e!==t&&("idle"==e?(this._rejectFinishedProm ise(),this._finishedPromise=void 0):"finished"==e?this._resolveFinishedPromise() :"finished"==t&&(this._finishedPromise=void 0)),this._oldPlayState=this.playStat e,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:functio n(){this._updatePromises();var t,i,n,r,o=!!this._animation;o&&(t=this.playbackRa te,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),t his._animation._wrapper=null,this._animation=null),(!this.effect||this.effect in stanceof window.KeyframeEffect)&&(this._animation=e.newUnderlyingAnimationForKey frameEffect(this.effect),e.bindAnimationForKeyframeEffect(this)),(this.effect in stanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(thi s._animation=e.newUnderlyingAnimationForGroup(this.effect),e.bindAnimationForGro up(this)),this.effect&&this.effect._onsample&&e.bindAnimationForCustomEffect(thi s),o&&(1!=t&&(this.playbackRate=t),null!==n?this.startTime=n:null!==r?this.curre ntTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause( )),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=th is.playState){var t=this.effect._timing.delay;this._childAnimations.forEach(func tion(i){this._arrangeChildren(i,t),this.effect instanceof window.SequenceEffect& &(t+=e.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:functi on(t){if(this.effect&&this._isGroup)for(var e=0;e<this.effect.children.length;e+ +)this.effect.children[e]._animation=t,this._childAnimations[e]._setExternalAnim ation(t)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){va r t=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children .forEach(function(i){var n=e.timeline._play(i);this._childAnimations.push(n),n.p laybackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._ animation,this._arrangeChildren(n,t),this.effect instanceof window.SequenceEffec t&&(t+=e.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(t,e){nu ll===this.startTime?t.currentTime=this.currentTime-e/this.playbackRate:t.startTi me!==this.startTime+e/this.playbackRate&&(t.startTime=this.startTime+e/this.play backRate)},get timeline(){return this._timeline},get playState(){return this._an imation?this._animation.playState:"idle"},get finished(){return window.Promise?( this._finishedPromise||(-1==e.animationsWithPromises.indexOf(this)&&e.animations WithPromises.push(this),this._finishedPromise=new Promise(function(t,e){this._re solveFinishedPromise=function(){t(this)},this._rejectFinishedPromise=function(){ e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==thi s.playState&&this._resolveFinishedPromise()),this._finishedPromise):(console.war n("Animation Promises require JavaScript Promise constructor"),null)},get ready( ){return window.Promise?(this._readyPromise||(-1==e.animationsWithPromises.index Of(this)&&e.animationsWithPromises.push(this),this._readyPromise=new Promise(fun ction(t,e){this._resolveReadyPromise=function(){t(this)},this._rejectReadyPromis e=function(){e({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"p ending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):(cons ole.warn("Animation Promises require JavaScript Promise constructor"),null)},get onfinish(){return this._animation.onfinish},set onfinish(t){this._animation.onf inish="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind(this): t},get oncancel(){return this._animation.oncancel},set oncancel(t){this._animati on.oncancel="function"==typeof t?function(e){e.target=this,t.call(this,e)}.bind( this):t},get currentTime(){this._updatePromises();var t=this._animation.currentT ime;return this._updatePromises(),t},set currentTime(t){this._updatePromises(),t his._animation.currentTime=isFinite(t)?t:Math.sign(t)*Number.MAX_VALUE,this._reg ister(),this._forEachChild(function(e,i){e.currentTime=t-i}),this._updatePromise s()},get startTime(){return this._animation.startTime},set startTime(t){this._up datePromises(),this._animation.startTime=isFinite(t)?t:Math.sign(t)*Number.MAX_V ALUE,this._register(),this._forEachChild(function(e,i){e.startTime=t+i}),this._u pdatePromises()},get playbackRate(){return this._animation.playbackRate},set pla ybackRate(t){this._updatePromises();var e=this.currentTime;this._animation.playb ackRate=t,this._forEachChild(function(e){e.playbackRate=t}),null!==e&&(this.curr entTime=e),this._updatePromises()},play:function(){this._updatePromises(),this._ paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&t his._timeline._animations.push(this),this._register(),e.awaitStartTime(this),thi s._forEachChild(function(t){var e=t.currentTime;t.play(),t.currentTime=e}),this. _updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(th is._holdTime=this.currentTime),this._animation.pause(),this._register(),this._fo rEachChild(function(t){t.pause()}),this._paused=!0,this._updatePromises()},finis h:function(){this._updatePromises(),this._animation.finish(),this._register(),th is._updatePromises()},cancel:function(){this._updatePromises(),this._animation.c ancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},r everse:function(){this._updatePromises();var t=this.currentTime;this._animation. reverse(),this._forEachChild(function(t){t.reverse()}),null!==t&&(this.currentTi me=t),this._updatePromises()},addEventListener:function(t,e){var i=e;"function"= =typeof e&&(i=function(t){t.target=this,e.call(this,t)}.bind(this),e._wrapper=i) ,this._animation.addEventListener(t,i)},removeEventListener:function(t,e){this._ animation.removeEventListener(t,e&&e._wrapper||e)},_removeChildAnimations:functi on(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_f orEachChild:function(e){var i=0;if(this.effect.children&&this._childAnimations.l ength<this.effect.children.length&&this._constructChildAnimations(),this._childA nimations.forEach(function(t){e.call(this,t,i),this.effect instanceof window.Seq uenceEffect&&(i+=t.effect.activeDuration)}.bind(this)),"pending"!=this.playState ){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=t.calculateIteration Progress(t.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChi ldAnimations()}}},window.Animation=e.Animation}(c,e),function(t,e,i){function n( e){this._frames=t.normalizeKeyframes(e)}function r(){for(var t=!1;u.length;)u.sh ift()._updateChildren(),t=!0;return t}var o=function(t){if(t._animation=void 0,t instanceof window.SequenceEffect||t instanceof window.GroupEffect)for(var e=0;e <t.children.length;e++)o(t.children[e])};e.removeMulti=function(t){for(var e=[], i=0;i<t.length;i++){var n=t[i];n._parent?(-1==e.indexOf(n._parent)&&e.push(n._pa rent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null, o(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation. effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callba ck._animation=null),n._animation._rebuildUnderlyingAnimation(),o(n))}for(i=0;i<e .length;i++)e[i]._rebuild()},e.KeyframeEffect=function(e,i,r,o){return this.targ et=e,this._parent=null,r=t.numericTimingToObject(r),this._timingInput=t.cloneTim ingInput(r),this._timing=t.normalizeTimingInput(r),this.timing=t.makeTiming(r,!1 ,this),this.timing._effect=this,"function"==typeof i?(t.deprecated("Custom Keyfr ameEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalized Keyframes=i):this._normalizedKeyframes=new n(i),this._keyframes=i,this.activeDur ation=t.calculateActiveDuration(this._timing),this._id=o,this},e.KeyframeEffect. prototype={getFrames:function(){return"function"==typeof this._normalizedKeyfram es?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(t){ if("function"==typeof this.getFrames())throw new Error("Setting onsample on cust om effect KeyframeEffect is not supported.");this._onsample=t,this._animation&&t his._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent}, clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var e=new KeyframeEffect(this.target,[],t.cl oneTimingInput(this._timingInput),this._id);return e._normalizedKeyframes=this._ normalizedKeyframes,e._keyframes=this._keyframes,e},remove:function(){e.removeMu lti([this])}};var a=Element.prototype.animate;Element.prototype.animate=function (t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(new e.KeyframeEffect(th is,t,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div") ;e.newUnderlyingAnimationForKeyframeEffect=function(t){if(t){var e=t.target||s,i =t._keyframes;"function"==typeof i&&(i=[]);var n=t._timingInput;n.id=t._id}else var e=s,i=[],n=0;return a.apply(e,[i,n])},e.bindAnimationForKeyframeEffect=funct ion(t){t.effect&&"function"==typeof t.effect._normalizedKeyframes&&e.bindAnimati onForCustomEffect(t)};var u=[];e.awaitStartTime=function(t){null===t.startTime&& t._isGroup&&(0==u.length&&requestAnimationFrame(r),u.push(t))};var c=window.getC omputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,en umerable:!0,value:function(){e.timeline._updateAnimationsPromises();var t=c.appl y(this,arguments);return r()&&(t=c.apply(this,arguments)),e.timeline._updateAnim ationsPromises(),t}}),window.KeyframeEffect=e.KeyframeEffect,window.Element.prot otype.getAnimations=function(){return document.timeline.getAnimations().filter(f unction(t){return null!==t.effect&&t.effect.target==this}.bind(this))}}(c,e),fun ction(t,e,i){function n(t){t._registered||(t._registered=!0,a.push(t),s||(s=!0,r equestAnimationFrame(r)))}function r(t){var e=a;a=[],e.sort(function(t,e){return t._sequenceNumber-e._sequenceNumber}),e=e.filter(function(t){t();var e=t._anima tion?t._animation.playState:"idle";return"running"!=e&&"pending"!=e&&(t._registe red=!1),t._registered}),a.push.apply(a,e),a.length?(s=!0,requestAnimationFrame(r )):s=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0) ;e.bindAnimationForCustomEffect=function(e){var i,r=e.effect.target,a="function" ==typeof e.effect.getFrames();i=a?e.effect.getFrames():e.effect._onsample;var s= e.effect.timing,u=null;s=t.normalizeTimingInput(s);var c=function(){var n=c._ani mation?c._animation.currentTime:null;null!==n&&(n=t.calculateIterationProgress(t .calculateActiveDuration(s),n,s),isNaN(n)&&(n=null)),n!==u&&(a?i(n,r,e.effect):i (n,e.effect,e.effect._animation)),u=n};c._animation=e,c._registered=!1,c._sequen ceNumber=o++,e._callback=c,n(c)};var a=[],s=!1;e.Animation.prototype._register=f unction(){this._callback&&n(this._callback)}}(c,e),function(t,e,i){function n(t) {return t._timing.delay+t.activeDuration+t._timing.endDelay}function r(e,i,n){th is._id=n,this._parent=null,this.children=e||[],this._reparent(this.children),i=t .numericTimingToObject(i),this._timingInput=t.cloneTimingInput(i),this._timing=t .normalizeTimingInput(i,!0),this.timing=t.makeTiming(i,!0,this),this.timing._eff ect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDurat ion)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffec t=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(t){for(v ar e=this;null!==e;){if(e==t)return!0;e=e._parent}return!1},_rebuild:function(){ for(var t=this;t;)"auto"===t.timing.duration&&(t._timing.duration=t.activeDurati on),t=t._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()}, _reparent:function(t){e.removeMulti(t);for(var i=0;i<t.length;i++)t[i]._parent=t his},_putChild:function(t,e){for(var i=e?"Cannot append an ancestor or self":"Ca nnot prepend an ancestor or self",n=0;n<t.length;n++)if(this._isAncestor(t[n]))t hrow{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",messag e:i};for(var n=0;n<t.length;n++)e?this.children.push(t[n]):this.children.unshift (t[n]);this._reparent(t),this._rebuild()},append:function(){this._putChild(argum ents,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return t his._parent},get firstChild(){return this.children.length?this.children[0]:null} ,get lastChild(){return this.children.length?this.children[this.children.length- 1]:null},clone:function(){for(var e=t.cloneTimingInput(this._timingInput),i=[],n =0;n<this.children.length;n++)i.push(this.children[n].clone());return this insta nceof GroupEffect?new GroupEffect(i,e):new SequenceEffect(i,e)},remove:function( ){e.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.protot ype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get :function(){var t=0;return this.children.forEach(function(e){t+=n(e)}),Math.max( t,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.definePro perty(window.GroupEffect.prototype,"activeDuration",{get:function(){var t=0;retu rn this.children.forEach(function(e){t=Math.max(t,n(e))}),t}}),e.newUnderlyingAn imationForGroup=function(i){var n,r=null,o=function(e){var i=n._wrapper;if(i&&"p ending"!=i.playState&&i.effect)return null==e?void i._removeChildAnimations():0= =e&&i.playbackRate<0&&(r||(r=t.normalizeTimingInput(i.effect.timing)),e=t.calcul ateIterationProgress(t.calculateActiveDuration(r),-1,r),isNaN(e)||null==e)?(i._f orEachChild(function(t){t.currentTime=-1}),void i._removeChildAnimations()):void 0},a=new KeyframeEffect(null,[],i._timing,i._id);return a.onsample=o,n=e.timeli ne._play(a)},e.bindAnimationForGroup=function(t){t._animation._wrapper=t,t._isGr oup=!0,e.awaitStartTime(t),t._constructChildAnimations(),t._setExternalAnimation (t)},e.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}())</scrip t><script>Polymer({is:"fade-in-animation",behaviors:[Polymer.NeonAnimationBehavi or],configure:function(i){var e=i.node;return this._effect=new KeyframeEffect(e, [{opacity:"0"},{opacity:"1"}],this.timingFromConfig(i)),this._effect}})</script> <script>Polymer({is:"fade-out-animation",behaviors:[Polymer.NeonAnimationBehavi or],configure:function(e){var i=e.node;return this._effect=new KeyframeEffect(i, [{opacity:"1"},{opacity:"0"}],this.timingFromConfig(e)),this._effect}})</script> <script>"document"in self&&("classList"in document.createElement("_")&&(!docume nt.createElementNS||"classList"in document.createElementNS("http://www.w3.org/20 00/svg","g"))||!function(t){"use strict";if("Element"in t){var e="classList",n=" prototype",i=t.Element[n],s=Object,r=String[n].trim||function(){return this.repl ace(/^\s+|\s+$/g,"")},o=Array[n].indexOf||function(t){for(var e=0,n=this.length; n>e;e++)if(e in this&&this[e]===t)return e;return-1},c=function(t,e){this.name=t ,this.code=DOMException[t],this.message=e},a=function(t,e){if(""===e)throw new c ("SYNTAX_ERR","An invalid or illegal string was specified");if(/\s/.test(e))thro w new c("INVALID_CHARACTER_ERR","String contains an invalid character");return o .call(t,e)},l=function(t){for(var e=r.call(t.getAttribute("class")||""),n=e?e.sp lit(/\s+/):[],i=0,s=n.length;s>i;i++)this.push(n[i]);this._updateClassName=funct ion(){t.setAttribute("class",""+this)}},u=l[n]=[],h=function(){return new l(this )};if(c[n]=Error[n],u.item=function(t){return this[t]||null},u.contains=function (t){return t+="",-1!==a(this,t)},u.add=function(){var t,e=arguments,n=0,i=e.leng th,s=!1;do t=e[n]+"",-1===a(this,t)&&(this.push(t),s=!0);while(++n<i);s&&this._u pdateClassName()},u.remove=function(){var t,e,n=arguments,i=0,s=n.length,r=!1;do for(t=n[i]+"",e=a(this,t);-1!==e;)this.splice(e,1),r=!0,e=a(this,t);while(++i<s );r&&this._updateClassName()},u.toggle=function(t,e){t+="";var n=this.contains(t ),i=n?e!==!0&&"remove":e!==!1&&"add";return i&&this[i](t),e===!0||e===!1?e:!n},u .toString=function(){return this.join(" ")},s.defineProperty){var f={get:h,enume rable:!0,configurable:!0};try{s.defineProperty(i,e,f)}catch(t){(void 0===t.numbe r||-2146823252===t.number)&&(f.enumerable=!1,s.defineProperty(i,e,f))}}else s[n] .__defineGetter__&&i.__defineGetter__(e,h)}}(self),function(){"use strict";var t =document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains ("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype [t]=function(t){var n,i=arguments.length;for(n=0;i>n;n++)t=arguments[n],e.call(t his,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contain s("c3")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=funct ion(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}t=null}( ))</script><dom-module id="paper-clock-selector" assetpath="/res/imp/bower_compo nents/paper-time-picker/"> <template> <style>:host *{-webkit-tap-highlight-color :transparent}:host{display:block;@apply(--paper-font-body1);-webkit-touch-callou t:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-m s-user-select:none;user-select:none;pointer-events:none;@apply(--layout-horizont al);@apply(--layout-center-center);}#clock{display:block;overflow:visible}#clock *{pointer-events:fill}#face{fill:var(--divider-color);cursor:default}.line{stro ke-width:2}.dot{fill:var(--default-primary-color)}.line{stroke:var(--default-pri mary-color)}.clock-hand{z-index:1}.disc-large{z-index:2;fill:var(--default-prima ry-color)}.disc-small{fill:var(--text-primary-color)}.clock-hand.no-dot .disc-sm all{fill:none;stroke:none}.number text{z-index:3;fill:var(--primary-text-color); @apply(--paper-font-subhead);pointer-events:none;dominant-baseline:middle;text-a lign:center;text-anchor:middle}.number text.clipped{z-index:4;fill:var(--text-pr imary-color)}.select-area{cursor:pointer;fill-opacity:0}</style> <svg version="1 .1" id="clock"> <defs> <clipPath id="handClip[[_instanceId]]"> <circle id="clipC ircle" r$="{{_selectorSize}}" cx$="{{_handX}}" cy$="{{_handY}}"></circle> </clip Path> </defs> <circle id="face" class="bg" r$="{{_radius}}" cx$="{{_radius}}" cy $="{{_radius}}"></circle> <g id="clockHand" class="clock-hand"> <circle class="d ot" r="2" cx$="{{_radius}}" cy$="{{_radius}}"></circle> <line class="line" x1$=" {{_radius}}" y1$="{{_radius}}" x2$="{{_handX}}" y2$="{{_handY}}"></line> <circle class="disc-large" r$="{{_selectorSize}}" cx$="{{_handX}}" cy$="{{_handY}}"></c ircle> <circle class="disc-small" r$="{{_selectorDotSize}}" cx$="{{_handX}}" cy$ ="{{_handY}}"></circle> </g> <g id="numbers"></g> <path class="select-area" on-t ap="_onTouch" on-track="_onTouch" d$="{{_getSelectArea(_radius, _selectorInner, _selectorOuter)}}"></path> </svg> </template> <script>!function(){function t(t,e ){var i,s=0;return t=t||0,i=o(t),i<180&&e>i+180&&(s=-360),i>=180&&e<=i-180&&(s=3 60),t+s+(e-i)}var e="http://www.w3.org/2000/svg",i=Math.PI/180,s=150,n=12,a=0,o= function(t){return t=t?t%360:0,t<0?t+360:t};Polymer({is:"paper-clock-selector",p roperties:{selected:{type:Number,notify:!0,value:0,observer:"_selectedChanged"}, count:{type:Number,value:0},step:{type:Number,value:1,observer:"_stepChanged"},u seZero:{type:Boolean,value:!1},zeroPad:{type:Boolean,value:!1},animated:{type:Bo olean,value:!1}},listeners:{"iron-resize":"_updateSize"},observers:["_populate(c ount, step, useZero, _instanceId)","_zeroPadChanged(zeroPad, _numbers)"],behavio rs:[Polymer.IronResizableBehavior],ready:function(){this._currentAngle=0,this._p opulate(),this._selectedChanged(this.selected),this._instanceId=a++},setClockHan d:function(e,i,s){e=o(e),i="undefined"==typeof i?this.animated:i,i=!!this._radiu s&&i;var n=this._currentAngle,a=t(n,e);return o(a)===n?this._setHandRotation(n,i ):(i&&this._once("paper-clock-transition-end",function(){s&&s()}.bind(this)),voi d this.async(function(){this._setHandRotation(a,i)}))},_performRotation:function (t,e){if(this._animationFrame&&window.cancelAnimationFrame(this._animationFrame) ,e){var i=this._currentAngle,n=t-i,a=null,o=function(t){a||(a=t);var e=t-a,r=Mat h.min(e/s,1);this._currentAngle=i+this._applyAnimationEasing(r)*n,this._updateHa ndPositions(),1===r?(this._animationFrame=null,this.fire("paper-clock-transition -end")):this._animationFrame=window.requestAnimationFrame(o)}.bind(this);this._a nimationFrame=window.requestAnimationFrame(o)}else this._currentAngle=t,this._up dateHandPositions()},_applyAnimationEasing:function(t){return Math.pow(t,2)},_se tHandRotation:function(t,e){var i=t/360*this.count%this.step===0;this.$.clockHan d.classList[["remove","add"][+i]]("no-dot"),this._performRotation(t,e)},_selecte dChanged:function(t){if(this.count&&!isNaN(t)){var e=t%this.count,i=e;if(0!==i|| this.useZero||(e=this.count),e!==this.selected)return void(this.selected=e);this ._vibrate(),this.setClockHand(360/this.count*this.selected)}},_stepChanged:funct ion(t,e){if(this._step=e,this.count&&!isNaN(t)){var i=Math.ceil(this.count/n);t< i&&(t=i),this._step=t}},_populate:function(){delete this._resizedCache;var t,e,i ,s=this.$.numbers;for(this.set("_numbers",[]),this._stepChanged(this.step);s.fir stChild;)s.removeChild(s.firstChild);for(var n=[],a=0;a<this.count;a++)e=a,t=nul l,0!==a||this.useZero||(e=this.count),i={index:a,value:e,display:e%this._step=== 0,x:0,y:0,label:this._formatNumber(e)},i.dom=this._createNumberElement(i),n.push (i),s.appendChild(i.dom.g);this.set("_numbers",n),this._positionClockPoints(),th is._updateHandPositions()},_updateNumber:function(t){var e=t.dom;e&&t.x&&t.y&&e. text&&(e.text.setAttributeNS(null,"x",t.x),e.text.setAttributeNS(null,"y",t.y),e .text.textContent=this._formatNumber(t.value),e.textClipped.setAttributeNS(null, "x",t.x),e.textClipped.setAttributeNS(null,"y",t.y),e.textClipped.textContent=th is._formatNumber(t.value))},_createNumberElement:function(t){function i(t,i){var s=document.createElementNS(e,t);return i&&i.forEach(function(t){s.classList.add (t)}),Polymer.Settings.useNativeShadow||(s.classList.add("style-scope"),s.classL ist.add("paper-clock-selector")),s}var s=i("g",["number"]),n=null,a=null;return t.display&&(n=i("text"),n.textContent=t.label,s.appendChild(n),a=i("text",["clip ped"]),a.textContent=t.label,a.setAttribute("clip-path","url(#handClip"+this._in stanceId+")"),s.appendChild(a)),{g:s,text:n,textClipped:a}},_updateSize:function (){var t=Math.min(this.offsetWidth,this.offsetHeight)/2;this._radius=t,this._sel ectorSize=20,this._selectorDotSize=3,this._padding=2,this._positionClockPoints() ,this._resizedCache=this._radius,this.$.clock.style.width=2*t+"px",this.$.clock. style.height=2*t+"px",this._updateHandPositions(),this.async(function(){this._bo unds=this.$.face.getBoundingClientRect(),this._bounds={top:this._bounds.top+wind ow.pageYOffset,right:this._bounds.right+window.pageXOffset,bottom:this._bounds.b ottom+window.pageYOffset,left:this._bounds.left+window.pageXOffset,width:this._b ounds.width}}.bind(this),150)},_positionClockPoints:function(){if(this._radius){ this._selectorOuter=this._radius-2*this._padding,this._selectorInner=this._selec torOuter-2*this._selectorSize,this._selectorCenter=this._selectorOuter-this._sel ectorSize;for(var t,e,s=this._numbers,n=360/this.count*i,a=0;a<this.count;a++)t= n*a,e=s[a],e.x=this._radius+Math.sin(t)*this._selectorCenter,e.y=this._radius-Ma th.cos(t)*this._selectorCenter,this._updateNumber(e)}},_notifyNumberChanged:func tion(t){for(var e,i=["x","y"],s=0;s<i.length;s++)e=t+"."+i[s],this.get(e)&&this. notifyPath(e,this.get(e))},_getSelectArea:function(t,e,i){return"\nM "+(t-e)+" " +t+"\nA "+e+" "+e+" 0 0 0 "+(t+e)+" "+t+"\nA "+e+" "+e+" 0 0 0 "+(t-e)+" "+t+"\n M "+(t-i)+" "+t+"\nA "+i+" "+i+" 0 0 1 "+(t+i)+" "+t+"\nA "+i+" "+i+" 0 0 1 "+(t -i)+" "+t},_onTouch:function(t){var e=t.detail.x+window.pageXOffset-this._bounds .left-this._radius,s=t.detail.y+window.pageYOffset-this._bounds.top-this._radius ,n=Math.abs(Math.sqrt(Math.pow(e,2)+Math.pow(s,2)));if(!(n<this._selectorInner|| n>this._selectorOuter)){this.animated="track"!==t.type;var a=Math.atan(s/e);a=Ma th.PI/2+(e<0?a+Math.PI:a);var o=360/this.count*i;this.selected=Math.round(a/o)," tap"!==t.type&&"end"!==t.detail.state||this.fire("paper-clock-selected",{value:t his.selected,animated:this.animated})}},_formatNumber:function(t){return this.ze roPad?("0"+t).substr(-2):t.toString()},_getNumberClass:function(t,e,i){var s=t;r eturn i.value===e.value&&(s+=" selected"),s},_vibrate:function(){this.debounce(" vibrate",function(){navigator.vibrate&&navigator.vibrate(10)})},_zeroPadChanged: function(){this._numbers.forEach(function(t){this._updateNumber(t)}.bind(this))} ,_once:function(t,e,i){function s(){i.removeEventListener(t,s),e.apply(null,argu ments)}i=i||this,i.addEventListener(t,s)},_updateHandPositions:function(){if(thi s._radius){var t=this._currentAngle*i;this._handX=this._radius+Math.sin(t)*this. _selectorCenter,this._handY=this._radius-Math.cos(t)*this._selectorCenter}}})}() </script> </dom-module> <style is="custom-style">:root{--paper-time-picker-dialo g:{margin:0;max-height:520px!important};--paper-time-picker-dialog-picker:{margi n-top:0!important;padding:0};--paper-time-picker-dialog-calendar:{padding-bottom :0};--paper-time-picker-dialog-heading:{margin-bottom:-56px};}</style> <dom-modu le id="paper-time-picker-dialog-style" assetpath="/res/imp/bower_components/pape r-time-picker/"> <template> <style>.paper-time-picker-dialog{@apply(--paper-time -picker-dialog);}.paper-time-picker-dialog>paper-time-picker{--paper-calendar:{@ apply(--paper-time-picker-dialog-calendar);};@apply(--paper-time-picker-dialog-p icker);}.paper-time-picker-dialog>paper-time-picker:not([narrow]){--paper-time-p icker-heading:{@apply(--paper-time-picker-dialog-heading);};}</style> </template > </dom-module> <dom-module id="paper-time-picker" assetpath="/res/imp/bower_com ponents/paper-time-picker/"> <template> <style>:host *{-webkit-tap-highlight-col or:transparent}:host{display:block;background-color:var(--primary-background-col or);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none; -moz-user-select:none;-ms-user-select:none;user-select:none;@apply(--paper-font- body1);font-size:14px}#timePicker{width:512px;height:304px;@apply(--layout-horiz ontal);@apply(--paper-time-picker);}#heading{width:168px;padding:16px;@apply(--l ayout-vertical);@apply(--paper-time-picker-heading);}:host([enable-seconds]) #he ading{width:200px}#clockArea{padding:20px}:host([narrow]) #timePicker{width:328p x;height:428px;@apply(--layout-vertical);}:host([narrow]) #heading{width:auto;he ight:96px;padding:0 48px;@apply(--layout-horizontal);@apply(--layout-end-justifi ed);}:host([enable-seconds][narrow]) #heading{padding:0 16px}:host([narrow]) #he ading .time{margin-top:6px;@apply(--paper-font-display3);}:host([narrow]) #timeP icker #heading .time{font-size:60px;letter-spacing:.1ex!important}:host([narrow] ) #heading .period{margin-left:12px;margin-top:12px}:host([narrow]) #clockArea{p adding:16px;@apply(--paper-time-picker-clock);}#heading{box-sizing:border-box;co lor:var(--light-primary-color);background:var(--default-primary-color);@apply(-- layout-vertical);@apply(--layout-center-center);}#heading>iron-selector{margin-t op:10px}#heading .time{@apply(--paper-font-display2);@apply(--layout-horizontal) ;@apply(--layout-end-justified);width:5.34ex;letter-spacing:.13ex!important}:hos t([enable-seconds]) #heading .time{width:8.5ex;font-size:40px}#heading .iron-sel ected{color:var(--text-primary-color)}#heading .period{font-weight:600;@apply(-- paper-font-subhead);}#heading .period div,#heading .time div{cursor:pointer}#clo ckArea{background:var(--default-background-color);overflow:hidden;@apply(--layou t-flex);@apply(--paper-time-picker-clock);@apply(--layout-vertical);}#clockArea> div{@apply(--layout-flex);position:relative}.clock{@apply(--layout-fit);}.clock- animatable{@apply(--layout-fit);}</style> <iron-media-query query="{{_getMediaQu ery(forceNarrow, responsiveWidth)}}" query-matches="{{_queryMatches}}"></iron-me dia-query> <div id="timePicker"> <div id="heading"> <iron-selector class="time" selectable="[name]" attr-for-selected="name" selected="{{view}}"> <div name="hou rs" class="hour">{{hour12}}</div> <div class="sep">:</div> <div name="minutes" c lass="minute">{{_zeroPad(minute, 2)}}</div> <template is="dom-if" if="[[ enableS econds ]]"> <div class="sep">:</div> <div name="seconds" class="second">{{_zeroP ad(second, 2)}}</div> </template> </iron-selector> <iron-selector class="period" attr-for-selected="name" selected="{{period}}"> <div name="AM">AM</div> <div na me="PM">PM</div> </iron-selector> </div> <div id="clockArea"> <div> <neon-animat ed-pages id="pages" class="clock-animatable" attr-for-selected="name" selected=" {{view}}" entry-animation="fade-in-animation" exit-animation="fade-out-animation "> <neon-animatable class="clock-animatable" name="hours"> <paper-clock-selector class="clock" id="hourClock" count="12" step="1" animated="[[animated]]" select ed="{{hour12}}"></paper-clock-selector> </neon-animatable> <neon-animatable clas s="clock-animatable" name="minutes"> <paper-clock-selector class="clock" id="min uteClock" count="60" step="5" animated="[[animated]]" use-zero="" zero-pad="" se lected="{{minute}}"></paper-clock-selector> </neon-animatable> <template is="dom -if" if="[[ enableSeconds ]]"> <neon-animatable class="clock-animatable" name="s econds"> <paper-clock-selector class="clock" id="secondClock" count="60" step="5 " animated="[[animated]]" use-zero="" zero-pad="" selected="{{second}}"></paper- clock-selector> </neon-animatable> </template> </neon-animated-pages> </div> </d iv> </div> </template> <script>!function(){function e(){window.console&&console. warn.apply(console,arguments)}Polymer({is:"paper-time-picker",properties:{time:{ type:String,value:"00:00",notify:!0,observer:"_timeChanged"},rawValue:{type:Numb er,value:0,notify:!0,observer:"_rawValueChanged"},hour:{type:Number,observer:"_h ourChanged",notify:!0,value:0},hour12:{type:Number,notify:!0,observer:"_hour12Ch anged"},minute:{type:Number,notify:!0,observer:"_minuteChanged",value:0},second: {type:Number,notify:!0,observer:"_secondChanged",value:0},period:{type:String,no tify:!0,observer:"_periodChanged",value:"AM"},view:{type:String,notify:!0,value: "hours",observer:"_viewChanged"},responsiveWidth:{type:String,value:"560px"},for ceNarrow:{type:Boolean,value:!1},animated:{type:Boolean,value:!1},narrow:{type:B oolean,reflectToAttribute:!0,value:!1,notify:!0},isTouch:{type:Boolean,value:!1, reflectToAttribute:!0},enableSeconds:{type:Boolean,value:!1},_queryMatches:{type :Boolean,value:!1,observer:"_computeNarrow"}},behaviors:[Polymer.IronResizableBe havior],observers:["_updateTime(hour, minute, second)"],listeners:{"iron-resize" :"_resizeHandler","paper-clock-selected":"_onClockSelected"},ready:function(){th is.isTouch="ontouchstart"in window,this.view="hours"},_timeChanged:function(e){i f(!e)return void(this.rawValue=0);var t=this.parseTime(e),i=this.formatTime(t.ho ur,t.minute,t.second);if(i!==e)return void(this.time=i);var n=60*t.hour+t.minute ;this.enableSeconds&&(n=60*n+t.second),this.rawValue=n},_updateTime:function(e,t ,i){var n=60*e+t;this.enableSeconds&&(n=60*n+i),this.rawValue=n},formatTime:func tion(e,t,i){var n=e%24<12?"AM":"PM";return e=e%12||12,t=("0"+t).substr(-2),i=("0 "+i).substr(-2),this.enableSeconds&&(t+=":"+i),e+":"+t+" "+n},parseTime:function (t){var i=/^\s*(\d{1,2}):?(\d{2})(:?(\d{2}))?(\s*([AaPp])\.?[Mm]\.?|[A-Z])?\s*$/ ,n=t.match(i);if(!n)return void e("Invalid time:",t);var s=parseInt(n[1]),o=pars eInt(n[2]),r=n[4]?parseInt(n[4]):0,a=n[6]?n[6][0].toUpperCase()+"M":"AM";return" PM"===a&&s<12?s=(s+12)%24:"AM"===a&&12===s&&(s=0),{hour:s,minute:o,second:r}},to gglePeriod:function(){this.period="AM"===this.period?"PM":"AM"},_rawValueChanged :function(e,t){return isNaN(parseInt(e))?void(this.rawValue=t):(this.enableSecon ds?(this.hour=Math.floor(e/3600),this.minute=Math.floor(e/60)%60,this.second=e%6 0):(this.hour=Math.floor(e/60),this.minute=e%60,this.second=0),void(this.time=th is.formatTime(this.hour,this.minute,this.second)))},_hour12Changed:function(e){v ar t="PM"===this.period?12:0;this.hour=(e%12+t)%24},_hourChanged:function(t,i){i f(t=parseInt(t),!isNaN(t)||t){if(isNaN(t))return e("Invalid number:",t),void(thi s.hour=i);t=parseFloat(t)%24,this.hour=t,this.hour12=this._twelveHour(t),this.pe riod=["PM","AM"][+(t<12)]}},_minuteChanged:function(e){e=parseFloat(e)%60,this.m inute=e},_secondChanged:function(e){e=parseFloat(e)%60,this.second=e},_periodCha nged:function(e){isNaN(parseInt(this.hour))||isNaN(parseInt(this.minute))||("AM" ===e&&this.hour>=12?this.hour-=12:"PM"===e&&this.hour<12&&(this.hour+=12))},_zer oPad:function(e,t){if(void 0!==e&&!isNaN(e)&&!isNaN(t))return("0"+e).substr(-t)} ,_twelveHour:function(e){return e%12||12},_isEqual:function(e,t){return e===t},_ getMediaQuery:function(e,t){return"(max-width: "+(e?"":t)+")"},_computeNarrow:fu nction(){this.set("narrow",this._queryMatches||this.forceNarrow)},_viewChanged:f unction(e,t){if(this.$.pages._notifyPageResize(),!this._selecting&&t&&e&&this.an imated){var i={hours:this.$.hourClock,minutes:this.$.minuteClock,seconds:this.$. secondClock},n=i[t],s=i[e],o=360/n.count*n.selected,r=360/s.count*s.selected;s.s etClockHand(o,!1),n.setClockHand(r),this.async(function(){s.setClockHand(r,!0,fu nction(){this.async(function(){n.setClockHand(o,!1)},200)}.bind(this))}.bind(thi s))}},_onClockSelected:function(e){if("hours"===this.view){var t=function(){this .async(function(){this._selecting=!0,this.view="minutes",this._selecting=!1}.bin d(this),100),this.$.hourClock.removeEventListener("paper-clock-transition-end",t )}.bind(this);e.detail.animated?this.$.hourClock.addEventListener("paper-clock-t ransition-end",t):t(),this.hour12!==e.detail.value?this.hour12=e.detail.value:t( )}else if("minutes"===this.view&&this.enableSeconds){var i=function(){this.async (function(){this._selecting=!0,this.view="seconds",this._selecting=!1}.bind(this ),100),this.$.minuteClock.removeEventListener("paper-clock-transition-end",i)}.b ind(this);e.detail.animated?this.$.minuteClock.addEventListener("paper-clock-tra nsition-end",i):i(),this.minute!==e.detail.value?this.minute=e.detail.value:i()} },_resizeHandler:function(){this.offsetWidth&&!this._resizing&&(this.updateStyle s(),this.async(function(){this._resizing=!0,this.$.pages._notifyPageResize(),thi s._resizing=!1}.bind(this)))}})}()</script> </dom-module> <style is="custom-styl e" include="paper-date-picker-dialog-style"></style> <script>!function(e,a){"obj ect"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"== typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";f unction e(){return yn.apply(null,arguments)}function a(e){yn=e}function t(e){ret urn e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}fun ction s(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e) }function n(e){var a;for(a in e)return!1;return!0}function r(e){return void 0=== e}function d(e){return"number"==typeof e||"[object Number]"===Object.prototype.t oString.call(e)}function _(e){return e instanceof Date||"[object Date]"===Object .prototype.toString.call(e)}function i(e,a){var t,s=[];for(t=0;t<e.length;++t)s. push(a(e[t],t));return s}function o(e,a){return Object.prototype.hasOwnProperty. call(e,a)}function m(e,a){for(var t in a)o(a,t)&&(e[t]=a[t]);return o(a,"toStrin g")&&(e.toString=a.toString),o(a,"valueOf")&&(e.valueOf=a.valueOf),e}function u( e,a,t,s){return ya(e,a,t,s,!0).utc()}function l(){return{empty:!1,unusedTokens:[ ],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,inva lidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822: !1,weekdayMismatch:!1}}function M(e){return null==e._pf&&(e._pf=l()),e._pf}funct ion h(e){if(null==e._isValid){var a=M(e),t=pn.call(a.parsedDateParts,function(e) {return null!=e}),s=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidMo nth&&!a.invalidWeekday&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a. meridiem||a.meridiem&&t);if(e._strict&&(s=s&&0===a.charsLeftOver&&0===a.unusedTo kens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))retur n s;e._isValid=s}return e._isValid}function L(e){var a=u(NaN);return null!=e?m(M (a),e):M(a).userInvalidated=!0,a}function c(e,a){var t,s,n;if(r(a._isAMomentObje ct)||(e._isAMomentObject=a._isAMomentObject),r(a._i)||(e._i=a._i),r(a._f)||(e._f =a._f),r(a._l)||(e._l=a._l),r(a._strict)||(e._strict=a._strict),r(a._tzm)||(e._t zm=a._tzm),r(a._isUTC)||(e._isUTC=a._isUTC),r(a._offset)||(e._offset=a._offset), r(a._pf)||(e._pf=M(a)),r(a._locale)||(e._locale=a._locale),Dn.length>0)for(t=0;t <Dn.length;t++)s=Dn[t],n=a[s],r(n)||(e[s]=n);return e}function Y(a){c(this,a),th is._d=new Date(null!=a._d?a._d.getTime():NaN),this.isValid()||(this._d=new Date( NaN)),kn===!1&&(kn=!0,e.updateOffset(this),kn=!1)}function y(e){return e instanc eof Y||null!=e&&null!=e._isAMomentObject}function f(e){return e<0?Math.ceil(e)|| 0:Math.floor(e)}function p(e){var a=+e,t=0;return 0!==a&&isFinite(a)&&(t=f(a)),t }function D(e,a,t){var s,n=Math.min(e.length,a.length),r=Math.abs(e.length-a.len gth),d=0;for(s=0;s<n;s++)(t&&e[s]!==a[s]||!t&&p(e[s])!==p(a[s]))&&d++;return d+r }function k(a){e.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&& console.warn&&console.warn("Deprecation warning: "+a)}function T(a,t){var s=!0;r eturn m(function(){if(null!=e.deprecationHandler&&e.deprecationHandler(null,a),s ){for(var n,r=[],d=0;d<arguments.length;d++){if(n="","object"==typeof arguments[ d]){n+="\n["+d+"] ";for(var _ in arguments[0])n+=_+": "+arguments[0][_]+", ";n=n .slice(0,-2)}else n=arguments[d];r.push(n)}k(a+"\nArguments: "+Array.prototype.s lice.call(r).join("")+"\n"+(new Error).stack),s=!1}return t.apply(this,arguments )},t)}function g(a,t){null!=e.deprecationHandler&&e.deprecationHandler(a,t),Tn[a ]||(k(t),Tn[a]=!0)}function w(e){return e instanceof Function||"[object Function ]"===Object.prototype.toString.call(e)}function v(e){var a,t;for(t in e)a=e[t],w (a)?this[t]=a:this["_"+t]=a;this._config=e,this._dayOfMonthOrdinalParseLenient=n ew RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/ \d{1,2}/.source)}function H(e,a){var t,n=m({},e);for(t in a)o(a,t)&&(s(e[t])&&s( a[t])?(n[t]={},m(n[t],e[t]),m(n[t],a[t])):null!=a[t]?n[t]=a[t]:delete n[t]);for( t in e)o(e,t)&&!o(a,t)&&s(e[t])&&(n[t]=m({},n[t]));return n}function S(e){null!= e&&this.set(e)}function b(e,a,t){var s=this._calendar[e]||this._calendar.sameEls e;return w(s)?s.call(a,t):s}function j(e){var a=this._longDateFormat[e],t=this._ longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.replac e(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}fu nction x(){return this._invalidDate}function P(e){return this._ordinal.replace(" %d",e)}function O(e,a,t,s){var n=this._relativeTime[t];return w(n)?n(e,a,t,s):n. replace(/%d/i,e)}function W(e,a){var t=this._relativeTime[e>0?"future":"past"];r eturn w(t)?t(a):t.replace(/%s/i,a)}function E(e,a){var t=e.toLowerCase();On[t]=O n[t+"s"]=On[a]=e}function A(e){return"string"==typeof e?On[e]||On[e.toLowerCase( )]:void 0}function F(e){var a,t,s={};for(t in e)o(e,t)&&(a=A(t),a&&(s[a]=e[t])); return s}function z(e,a){Wn[e]=a}function J(e){var a=[];for(var t in e)a.push({u nit:t,priority:Wn[t]});return a.sort(function(e,a){return e.priority-a.priority} ),a}function R(a,t){return function(s){return null!=s?(C(this,a,s),e.updateOffse t(this,t),this):N(this,a)}}function N(e,a){return e.isValid()?e._d["get"+(e._isU TC?"UTC":"")+a]():NaN}function C(e,a,t){e.isValid()&&e._d["set"+(e._isUTC?"UTC": "")+a](t)}function I(e){return e=A(e),w(this[e])?this[e]():this}function G(e,a){ if("object"==typeof e){e=F(e);for(var t=J(e),s=0;s<t.length;s++)this[t[s].unit]( e[t[s].unit])}else if(e=A(e),w(this[e]))return this[e](a);return this}function U (e,a,t){var s=""+Math.abs(e),n=a-s.length,r=e>=0;return(r?t?"+":"":"-")+Math.pow (10,Math.max(0,n)).toString().substr(1)+s}function V(e,a,t,s){var n=s;"string"== typeof s&&(n=function(){return this[s]()}),e&&(zn[e]=n),a&&(zn[a[0]]=function(){ return U(n.apply(this,arguments),a[1],a[2])}),t&&(zn[t]=function(){return this.l ocaleData().ordinal(n.apply(this,arguments),e)})}function $(e){return e.match(/\ [[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function K(e){var a,t,s=e .match(En);for(a=0,t=s.length;a<t;a++)zn[s[a]]?s[a]=zn[s[a]]:s[a]=$(s[a]);return function(a){var n,r="";for(n=0;n<t;n++)r+=w(s[n])?s[n].call(a,e):s[n];return r} }function Z(e,a){return e.isValid()?(a=q(a,e.localeData()),Fn[a]=Fn[a]||K(a),Fn[ a](e)):e.localeData().invalidDate()}function q(e,a){function t(e){return a.longD ateFormat(e)||e}var s=5;for(An.lastIndex=0;s>=0&&An.test(e);)e=e.replace(An,t),A n.lastIndex=0,s-=1;return e}function B(e,a,t){tr[e]=w(a)?a:function(e,s){return e&&t?t:a}}function Q(e,a){return o(tr,e)?tr[e](a._strict,a._locale):new RegExp(X (e))}function X(e){return ee(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[ ]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n}))}function ee(e){return e.r eplace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ae(e,a){var t,s=a;for("string"= =typeof e&&(e=[e]),d(a)&&(s=function(e,t){t[a]=p(e)}),t=0;t<e.length;t++)sr[e[t] ]=s}function te(e,a){ae(e,function(e,t,s,n){s._w=s._w||{},a(e,s._w,s,n)})}functi on se(e,a,t){null!=a&&o(sr,e)&&sr[e](a,t._a,t,e)}function ne(e,a){return new Dat e(Date.UTC(e,a+1,0)).getUTCDate()}function re(e,a){return e?t(this._months)?this ._months[e.month()]:this._months[(this._months.isFormat||hr).test(a)?"format":"s tandalone"][e.month()]:t(this._months)?this._months:this._months.standalone}func tion de(e,a){return e?t(this._monthsShort)?this._monthsShort[e.month()]:this._mo nthsShort[hr.test(a)?"format":"standalone"][e.month()]:t(this._monthsShort)?this ._monthsShort:this._monthsShort.standalone}function _e(e,a,t){var s,n,r,d=e.toLo caleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsP arse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=u([2e3,s]),this._shortMonthsPar se[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.m onths(r,"").toLocaleLowerCase();return t?"MMM"===a?(n=Mr.call(this._shortMonthsP arse,d),n!==-1?n:null):(n=Mr.call(this._longMonthsParse,d),n!==-1?n:null):"MMM"= ==a?(n=Mr.call(this._shortMonthsParse,d),n!==-1?n:(n=Mr.call(this._longMonthsPar se,d),n!==-1?n:null)):(n=Mr.call(this._longMonthsParse,d),n!==-1?n:(n=Mr.call(th is._shortMonthsParse,d),n!==-1?n:null))}function ie(e,a,t){var s,n,r;if(this._mo nthsParseExact)return _e.call(this,e,a,t);for(this._monthsParse||(this._monthsPa rse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=u( [2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+ this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp( "^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(r ="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegE xp(r.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))retur n s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._mon thsParse[s].test(e))return s}}function oe(e,a){var t;if(!e.isValid())return e;if ("string"==typeof a)if(/^\d+$/.test(a))a=p(a);else if(a=e.localeData().monthsPar se(a),!d(a))return e;return t=Math.min(e.date(),ne(e.year(),a)),e._d["set"+(e._i sUTC?"UTC":"")+"Month"](a,t),e}function me(a){return null!=a?(oe(this,a),e.updat eOffset(this,!0),this):N(this,"Month")}function ue(){return ne(this.year(),this. month())}function le(e){return this._monthsParseExact?(o(this,"_monthsRegex")||h e.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(o(this,"_mo nthsShortRegex")||(this._monthsShortRegex=Yr),this._monthsShortStrictRegex&&e?th is._monthsShortStrictRegex:this._monthsShortRegex)}function Me(e){return this._m onthsParseExact?(o(this,"_monthsRegex")||he.call(this),e?this._monthsStrictRegex :this._monthsRegex):(o(this,"_monthsRegex")||(this._monthsRegex=yr),this._months StrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function he(){function e(e,a){return a.length-e.length}var a,t,s=[],n=[],r=[];for(a=0;a<12;a++)t=u([2e 3,a]),s.push(this.monthsShort(t,"")),n.push(this.months(t,"")),r.push(this.month s(t,"")),r.push(this.monthsShort(t,""));for(s.sort(e),n.sort(e),r.sort(e),a=0;a< 12;a++)s[a]=ee(s[a]),n[a]=ee(n[a]);for(a=0;a<24;a++)r[a]=ee(r[a]);this._monthsRe gex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRege x,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShort StrictRegex=new RegExp("^("+s.join("|")+")","i")}function Le(e){return ce(e)?366 :365}function ce(e){return e%4===0&&e%100!==0||e%400===0}function Ye(){return ce (this.year())}function ye(e,a,t,s,n,r,d){var _=new Date(e,a,t,s,n,r,d);return e< 100&&e>=0&&isFinite(_.getFullYear())&&_.setFullYear(e),_}function fe(e){var a=ne w Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(a.getUTCFull Year())&&a.setUTCFullYear(e),a}function pe(e,a,t){var s=7+a-t,n=(7+fe(e,0,s).get UTCDay()-a)%7;return-n+s-1}function De(e,a,t,s,n){var r,d,_=(7+t-s)%7,i=pe(e,s,n ),o=1+7*(a-1)+_+i;return o<=0?(r=e-1,d=Le(r)+o):o>Le(e)?(r=e+1,d=o-Le(e)):(r=e,d =o),{year:r,dayOfYear:d}}function ke(e,a,t){var s,n,r=pe(e.year(),a,t),d=Math.fl oor((e.dayOfYear()-r-1)/7)+1;return d<1?(n=e.year()-1,s=d+Te(n,a,t)):d>Te(e.year (),a,t)?(s=d-Te(e.year(),a,t),n=e.year()+1):(n=e.year(),s=d),{week:s,year:n}}fun ction Te(e,a,t){var s=pe(e,a,t),n=pe(e+1,a,t);return(Le(e)-s+n)/7}function ge(e) {return ke(e,this._week.dow,this._week.doy).week}function we(){return this._week .dow}function ve(){return this._week.doy}function He(e){var a=this.localeData(). week(this);return null==e?a:this.add(7*(e-a),"d")}function Se(e){var a=ke(this,1 ,4).week;return null==e?a:this.add(7*(e-a),"d")}function be(e,a){return"string"! =typeof e?e:isNaN(e)?(e=a.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e ,10)}function je(e,a){return"string"==typeof e?a.weekdaysParse(e)%7||7:isNaN(e)? null:e}function xe(e,a){return e?t(this._weekdays)?this._weekdays[e.day()]:this. _weekdays[this._weekdays.isFormat.test(a)?"format":"standalone"][e.day()]:t(this ._weekdays)?this._weekdays:this._weekdays.standalone}function Pe(e){return e?thi s._weekdaysShort[e.day()]:this._weekdaysShort}function Oe(e){return e?this._week daysMin[e.day()]:this._weekdaysMin}function We(e,a,t){var s,n,r,d=e.toLocaleLowe rCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysPa rse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=u([2e3,1]).day(s),this._minWeekda ysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s ]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekd ays(r,"").toLocaleLowerCase();return t?"dddd"===a?(n=Mr.call(this._weekdaysParse ,d),n!==-1?n:null):"ddd"===a?(n=Mr.call(this._shortWeekdaysParse,d),n!==-1?n:nul l):(n=Mr.call(this._minWeekdaysParse,d),n!==-1?n:null):"dddd"===a?(n=Mr.call(thi s._weekdaysParse,d),n!==-1?n:(n=Mr.call(this._shortWeekdaysParse,d),n!==-1?n:(n= Mr.call(this._minWeekdaysParse,d),n!==-1?n:null))):"ddd"===a?(n=Mr.call(this._sh ortWeekdaysParse,d),n!==-1?n:(n=Mr.call(this._weekdaysParse,d),n!==-1?n:(n=Mr.ca ll(this._minWeekdaysParse,d),n!==-1?n:null))):(n=Mr.call(this._minWeekdaysParse, d),n!==-1?n:(n=Mr.call(this._weekdaysParse,d),n!==-1?n:(n=Mr.call(this._shortWee kdaysParse,d),n!==-1?n:null)))}function Ee(e,a,t){var s,n,r;if(this._weekdaysPar seExact)return We.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse =[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysPars e=[]),s=0;s<7;s++){if(n=u([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this. _fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".",".?")+"$"," i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace( ".",".?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n," ").replace(".",".?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(n,"" )+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[ s]=new RegExp(r.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s]. test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;i f(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysP arse[s].test(e))return s}}function Ae(e){if(!this.isValid())return null!=e?this: NaN;var a=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=be( e,this.localeData()),this.add(e-a,"d")):a}function Fe(e){if(!this.isValid())retu rn null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return nu ll==e?a:this.add(e-a,"d")}function ze(e){if(!this.isValid())return null!=e?this: NaN;if(null!=e){var a=je(e,this.localeData());return this.day(this.day()%7?a:a-7 )}return this.day()||7}function Je(e){return this._weekdaysParseExact?(o(this,"_ weekdaysRegex")||Ce.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex): (o(this,"_weekdaysRegex")||(this._weekdaysRegex=gr),this._weekdaysStrictRegex&&e ?this._weekdaysStrictRegex:this._weekdaysRegex)}function Re(e){return this._week daysParseExact?(o(this,"_weekdaysRegex")||Ce.call(this),e?this._weekdaysShortStr ictRegex:this._weekdaysShortRegex):(o(this,"_weekdaysShortRegex")||(this._weekda ysShortRegex=wr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRege x:this._weekdaysShortRegex)}function Ne(e){return this._weekdaysParseExact?(o(th is,"_weekdaysRegex")||Ce.call(this),e?this._weekdaysMinStrictRegex:this._weekday sMinRegex):(o(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=vr),this._weekd aysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}functi on Ce(){function e(e,a){return a.length-e.length}var a,t,s,n,r,d=[],_=[],i=[],o= [];for(a=0;a<7;a++)t=u([2e3,1]).day(a),s=this.weekdaysMin(t,""),n=this.weekdaysS hort(t,""),r=this.weekdays(t,""),d.push(s),_.push(n),i.push(r),o.push(s),o.push( n),o.push(r);for(d.sort(e),_.sort(e),i.sort(e),o.sort(e),a=0;a<7;a++)_[a]=ee(_[a ]),i[a]=ee(i[a]),o[a]=ee(o[a]);this._weekdaysRegex=new RegExp("^("+o.join("|")+" )","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this ._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),t his._weekdaysShortStrictRegex=new RegExp("^("+_.join("|")+")","i"),this._weekday sMinStrictRegex=new RegExp("^("+d.join("|")+")","i")}function Ie(){return this.h ours()%12||12}function Ge(){return this.hours()||24}function Ue(e,a){V(e,0,0,fun ction(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}funct ion Ve(e,a){return a._meridiemParse}function $e(e){return"p"===(e+"").toLowerCas e().charAt(0)}function Ke(e,a,t){return e>11?t?"pm":"PM":t?"am":"AM"}function Ze (e){return e?e.toLowerCase().replace("_","-"):e}function qe(e){for(var a,t,s,n,r =0;r<e.length;){for(n=Ze(e[r]).split("-"),a=n.length,t=Ze(e[r+1]),t=t?t.split("- "):null;a>0;){if(s=Be(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&D(n,t, !0)>=a-1)break;a--}r++}return null}function Be(e){var a=null;if(!xr[e]&&"undefin ed"!=typeof module&&module&&module.exports)try{a=Hr._abbr,require("./locale/"+e) ,Qe(a)}catch(e){}return xr[e]}function Qe(e,a){var t;return e&&(t=r(a)?aa(e):Xe( e,a),t&&(Hr=t)),Hr._abbr}function Xe(e,a){if(null!==a){var t=jr;if(a.abbr=e,null !=xr[e])g("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/defi ne-locale/ for more info."),t=xr[e]._config;else if(null!=a.parentLocale){if(nul l==xr[a.parentLocale])return Pr[a.parentLocale]||(Pr[a.parentLocale]=[]),Pr[a.pa rentLocale].push({name:e,config:a}),null;t=xr[a.parentLocale]._config}return xr[ e]=new S(H(t,a)),Pr[e]&&Pr[e].forEach(function(e){Xe(e.name,e.config)}),Qe(e),xr [e]}return delete xr[e],null}function ea(e,a){if(null!=a){var t,s=jr;null!=xr[e] &&(s=xr[e]._config),a=H(s,a),t=new S(a),t.parentLocale=xr[e],xr[e]=t,Qe(e)}else null!=xr[e]&&(null!=xr[e].parentLocale?xr[e]=xr[e].parentLocale:null!=xr[e]&&del ete xr[e]);return xr[e]}function aa(e){var a;if(e&&e._locale&&e._locale._abbr&&( e=e._locale._abbr),!e)return Hr;if(!t(e)){if(a=Be(e))return a;e=[e]}return qe(e) }function ta(){return vn(xr)}function sa(e){var a,t=e._a;return t&&M(e).overflow ===-2&&(a=t[rr]<0||t[rr]>11?rr:t[dr]<1||t[dr]>ne(t[nr],t[rr])?dr:t[_r]<0||t[_r]> 24||24===t[_r]&&(0!==t[ir]||0!==t[or]||0!==t[mr])?_r:t[ir]<0||t[ir]>59?ir:t[or]< 0||t[or]>59?or:t[mr]<0||t[mr]>999?mr:-1,M(e)._overflowDayOfYear&&(a<nr||a>dr)&&( a=dr),M(e)._overflowWeeks&&a===-1&&(a=ur),M(e)._overflowWeekday&&a===-1&&(a=lr), M(e).overflow=a),e}function na(e){var a,t,s,n,r,d,_=e._i,i=Or.exec(_)||Wr.exec(_ );if(i){for(M(e).iso=!0,a=0,t=Ar.length;a<t;a++)if(Ar[a][1].exec(i[1])){n=Ar[a][ 0],s=Ar[a][2]!==!1;break}if(null==n)return void(e._isValid=!1);if(i[3]){for(a=0, t=Fr.length;a<t;a++)if(Fr[a][1].exec(i[3])){r=(i[2]||" ")+Fr[a][0];break}if(null ==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(i[4] ){if(!Er.exec(i[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),ua(e )}else e._isValid=!1}function ra(e){var a,t,s,n,r,d,_,i,o={" GMT":" +0000"," EDT ":" -0400"," EST":" -0500"," CDT":" -0500"," CST":" -0600"," MDT":" -0600"," MST ":" -0700"," PDT":" -0700"," PST":" -0800"},m="YXWVUTSRQPONZABCDEFGHIKLM";if(a=e ._i.replace(/\([^\)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s|\s$/g ,""),t=Jr.exec(a)){if(s=t[1]?"ddd"+(5===t[1].length?", ":" "):"",n="D MMM "+(t[2 ].length>10?"YYYY ":"YY "),r="HH:mm"+(t[4]?":ss":""),t[1]){var u=new Date(t[2]), l=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][u.getDay()];if(t[1].substr(0,3)!== l)return M(e).weekdayMismatch=!0,void(e._isValid=!1)}switch(t[5].length){case 2: 0===i?_=" +0000":(i=m.indexOf(t[5][1].toUpperCase())-12,_=(i<0?" -":" +")+(""+i) .replace(/^-?/,"0").match(/..$/)[0]+"00");break;case 4:_=o[t[5]];break;default:_ =o[" GMT"]}t[5]=_,e._i=t.splice(1).join(""),d=" ZZ",e._f=s+n+r+d,ua(e),M(e).rfc2 822=!0}else e._isValid=!1}function da(a){var t=zr.exec(a._i);return null!==t?voi d(a._d=new Date(+t[1])):(na(a),void(a._isValid===!1&&(delete a._isValid,ra(a),a. _isValid===!1&&(delete a._isValid,e.createFromInputFallback(a)))))}function _a(e ,a,t){return null!=e?e:null!=a?a:t}function ia(a){var t=new Date(e.now());return a._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(), t.getMonth(),t.getDate()]}function oa(e){var a,t,s,n,r=[];if(!e._d){for(s=ia(e), e._w&&null==e._a[dr]&&null==e._a[rr]&&ma(e),null!=e._dayOfYear&&(n=_a(e._a[nr],s [nr]),(e._dayOfYear>Le(n)||0===e._dayOfYear)&&(M(e)._overflowDayOfYear=!0),t=fe( n,0,e._dayOfYear),e._a[rr]=t.getUTCMonth(),e._a[dr]=t.getUTCDate()),a=0;a<3&&nul l==e._a[a];++a)e._a[a]=r[a]=s[a];for(;a<7;a++)e._a[a]=r[a]=null==e._a[a]?2===a?1 :0:e._a[a];24===e._a[_r]&&0===e._a[ir]&&0===e._a[or]&&0===e._a[mr]&&(e._nextDay= !0,e._a[_r]=0),e._d=(e._useUTC?fe:ye).apply(null,r),null!=e._tzm&&e._d.setUTCMin utes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[_r]=24)}}function ma(e){var a,t,s,n,r,d,_,i;if(a=e._w,null!=a.GG||null!=a.W||null!=a.E)r=1,d=4,t=_a(a.GG,e._ a[nr],ke(fa(),1,4).year),s=_a(a.W,1),n=_a(a.E,1),(n<1||n>7)&&(i=!0);else{r=e._lo cale._week.dow,d=e._locale._week.doy;var o=ke(fa(),r,d);t=_a(a.gg,e._a[nr],o.yea r),s=_a(a.w,o.week),null!=a.d?(n=a.d,(n<0||n>6)&&(i=!0)):null!=a.e?(n=a.e+r,(a.e <0||a.e>6)&&(i=!0)):n=r}s<1||s>Te(t,r,d)?M(e)._overflowWeeks=!0:null!=i?M(e)._ov erflowWeekday=!0:(_=De(t,s,n,r,d),e._a[nr]=_.year,e._dayOfYear=_.dayOfYear)}func tion ua(a){if(a._f===e.ISO_8601)return void na(a);if(a._f===e.RFC_2822)return vo id ra(a);a._a=[],M(a).empty=!0;var t,s,n,r,d,_=""+a._i,i=_.length,o=0;for(n=q(a. _f,a._locale).match(En)||[],t=0;t<n.length;t++)r=n[t],s=(_.match(Q(r,a))||[])[0] ,s&&(d=_.substr(0,_.indexOf(s)),d.length>0&&M(a).unusedInput.push(d),_=_.slice(_ .indexOf(s)+s.length),o+=s.length),zn[r]?(s?M(a).empty=!1:M(a).unusedTokens.push (r),se(r,s,a)):a._strict&&!s&&M(a).unusedTokens.push(r);M(a).charsLeftOver=i-o,_ .length>0&&M(a).unusedInput.push(_),a._a[_r]<=12&&M(a).bigHour===!0&&a._a[_r]>0& &(M(a).bigHour=void 0),M(a).parsedDateParts=a._a.slice(0),M(a).meridiem=a._merid iem,a._a[_r]=la(a._locale,a._a[_r],a._meridiem),oa(a),sa(a)}function la(e,a,t){v ar s;return null==t?a:null!=e.meridiemHour?e.meridiemHour(a,t):null!=e.isPM?(s=e .isPM(t),s&&a<12&&(a+=12),s||12!==a||(a=0),a):a}function Ma(e){var a,t,s,n,r;if( 0===e._f.length)return M(e).invalidFormat=!0,void(e._d=new Date(NaN));for(n=0;n< e._f.length;n++)r=0,a=c({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n ],ua(a),h(a)&&(r+=M(a).charsLeftOver,r+=10*M(a).unusedTokens.length,M(a).score=r ,(null==s||r<s)&&(s=r,t=a));m(e,t||a)}function ha(e){if(!e._d){var a=F(e._i);e._ a=i([a.year,a.month,a.day||a.date,a.hour,a.minute,a.second,a.millisecond],functi on(e){return e&&parseInt(e,10)}),oa(e)}}function La(e){var a=new Y(sa(ca(e)));re turn a._nextDay&&(a.add(1,"d"),a._nextDay=void 0),a}function ca(e){var a=e._i,s= e._f;return e._locale=e._locale||aa(e._l),null===a||void 0===s&&""===a?L({nullIn put:!0}):("string"==typeof a&&(e._i=a=e._locale.preparse(a)),y(a)?new Y(sa(a)):( _(a)?e._d=a:t(s)?Ma(e):s?ua(e):Ya(e),h(e)||(e._d=null),e))}function Ya(a){var n= a._i;r(n)?a._d=new Date(e.now()):_(n)?a._d=new Date(n.valueOf()):"string"==typeo f n?da(a):t(n)?(a._a=i(n.slice(0),function(e){return parseInt(e,10)}),oa(a)):s(n )?ha(a):d(n)?a._d=new Date(n):e.createFromInputFallback(a)}function ya(e,a,r,d,_ ){var i={};return r!==!0&&r!==!1||(d=r,r=void 0),(s(e)&&n(e)||t(e)&&0===e.length )&&(e=void 0),i._isAMomentObject=!0,i._useUTC=i._isUTC=_,i._l=r,i._i=e,i._f=a,i. _strict=d,La(i)}function fa(e,a,t,s){return ya(e,a,t,s,!1)}function pa(e,a){var s,n;if(1===a.length&&t(a[0])&&(a=a[0]),!a.length)return fa();for(s=a[0],n=1;n<a. length;++n)a[n].isValid()&&!a[n][e](s)||(s=a[n]);return s}function Da(){var e=[] .slice.call(arguments,0);return pa("isBefore",e)}function ka(){var e=[].slice.ca ll(arguments,0);return pa("isAfter",e)}function Ta(e){for(var a in e)if(Ir.index Of(a)===-1||null!=e[a]&&isNaN(e[a]))return!1;for(var t=!1,s=0;s<Ir.length;++s)if (e[Ir[s]]){if(t)return!1;parseFloat(e[Ir[s]])!==p(e[Ir[s]])&&(t=!0)}return!0}fun ction ga(){return this._isValid}function wa(){return Ga(NaN)}function va(e){var a=F(e),t=a.year||0,s=a.quarter||0,n=a.month||0,r=a.week||0,d=a.day||0,_=a.hour|| 0,i=a.minute||0,o=a.second||0,m=a.millisecond||0;this._isValid=Ta(a),this._milli seconds=+m+1e3*o+6e4*i+1e3*_*60*60,this._days=+d+7*r,this._months=+n+3*s+12*t,th is._data={},this._locale=aa(),this._bubble()}function Ha(e){return e instanceof va}function Sa(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function ba(e,a){ V(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+U(~~( e/60),2)+a+U(~~e%60,2)})}function ja(e,a){var t=(a||"").match(e);if(null===t)ret urn null;var s=t[t.length-1]||[],n=(s+"").match(Gr)||["-",0,0],r=+(60*n[1])+p(n[ 2]);return 0===r?0:"+"===n[0]?r:-r}function xa(a,t){var s,n;return t._isUTC?(s=t .clone(),n=(y(a)||_(a)?a.valueOf():fa(a).valueOf())-s.valueOf(),s._d.setTime(s._ d.valueOf()+n),e.updateOffset(s,!1),s):fa(a).local()}function Pa(e){return 15*-M ath.round(e._d.getTimezoneOffset()/15)}function Oa(a,t,s){var n,r=this._offset|| 0;if(!this.isValid())return null!=a?this:NaN;if(null!=a){if("string"==typeof a){ if(a=ja(Xn,a),null===a)return this}else Math.abs(a)<16&&!s&&(a*=60);return!this. _isUTC&&t&&(n=Pa(this)),this._offset=a,this._isUTC=!0,null!=n&&this.add(n,"m"),r !==a&&(!t||this._changeInProgress?Za(this,Ga(a-r,"m"),1,!1):this._changeInProgre ss||(this._changeInProgress=!0,e.updateOffset(this,!0),this._changeInProgress=nu ll)),this}return this._isUTC?r:Pa(this)}function Wa(e,a){return null!=e?("string "!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}function Ea(e){r eturn this.utcOffset(0,e)}function Aa(e){return this._isUTC&&(this.utcOffset(0,e ),this._isUTC=!1,e&&this.subtract(Pa(this),"m")),this}function Fa(){if(null!=thi s._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=j a(Qn,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}functio n za(e){return!!this.isValid()&&(e=e?fa(e).utcOffset():0,(this.utcOffset()-e)%60 ===0)}function Ja(){return this.utcOffset()>this.clone().month(0).utcOffset()||t his.utcOffset()>this.clone().month(5).utcOffset()}function Ra(){if(!r(this._isDS TShifted))return this._isDSTShifted;var e={};if(c(e,this),e=ca(e),e._a){var a=e. _isUTC?u(e._a):fa(e._a);this._isDSTShifted=this.isValid()&&D(e._a,a.toArray())>0 }else this._isDSTShifted=!1;return this._isDSTShifted}function Na(){return!!this .isValid()&&!this._isUTC}function Ca(){return!!this.isValid()&&this._isUTC}funct ion Ia(){return!!this.isValid()&&this._isUTC&&0===this._offset}function Ga(e,a){ var t,s,n,r=e,_=null;return Ha(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:d (e)?(r={},a?r[a]=e:r.milliseconds=e):(_=Ur.exec(e))?(t="-"===_[1]?-1:1,r={y:0,d: p(_[dr])*t,h:p(_[_r])*t,m:p(_[ir])*t,s:p(_[or])*t,ms:p(Sa(1e3*_[mr]))*t}):(_=Vr. exec(e))?(t="-"===_[1]?-1:1,r={y:Ua(_[2],t),M:Ua(_[3],t),w:Ua(_[4],t),d:Ua(_[5], t),h:Ua(_[6],t),m:Ua(_[7],t),s:Ua(_[8],t)}):null==r?r={}:"object"==typeof r&&("f rom"in r||"to"in r)&&(n=$a(fa(r.from),fa(r.to)),r={},r.ms=n.milliseconds,r.M=n.m onths),s=new va(r),Ha(e)&&o(e,"_locale")&&(s._locale=e._locale),s}function Ua(e, a){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*a}function Va(e, a){var t={milliseconds:0,months:0};return t.months=a.month()-e.month()+12*(a.yea r()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds= +a-+e.clone().add(t.months,"M"),t}function $a(e,a){var t;return e.isValid()&&a.i sValid()?(a=xa(a,e),e.isBefore(a)?t=Va(e,a):(t=Va(a,e),t.milliseconds=-t.millise conds,t.months=-t.months),t):{milliseconds:0,months:0}}function Ka(e,a){return f unction(t,s){var n,r;return null===s||isNaN(+s)||(g(a,"moment()."+a+"(period, nu mber) is deprecated. Please use moment()."+a+"(number, period). See http://momen tjs.com/guides/#/warnings/add-inverted-param/ for more info."),r=t,t=s,s=r),t="s tring"==typeof t?+t:t,n=Ga(t,s),Za(this,n,e),this}}function Za(a,t,s,n){var r=t. _milliseconds,d=Sa(t._days),_=Sa(t._months);a.isValid()&&(n=null==n||n,r&&a._d.s etTime(a._d.valueOf()+r*s),d&&C(a,"Date",N(a,"Date")+d*s),_&&oe(a,N(a,"Month")+_ *s),n&&e.updateOffset(a,d||_))}function qa(e,a){var t=e.diff(a,"days",!0);return t<-6?"sameElse":t<-1?"lastWeek":t<0?"lastDay":t<1?"sameDay":t<2?"nextDay":t<7?" nextWeek":"sameElse"}function Ba(a,t){var s=a||fa(),n=xa(s,this).startOf("day"), r=e.calendarFormat(this,n)||"sameElse",d=t&&(w(t[r])?t[r].call(this,s):t[r]);ret urn this.format(d||this.localeData().calendar(r,this,fa(s)))}function Qa(){retur n new Y(this)}function Xa(e,a){var t=y(e)?e:fa(e);return!(!this.isValid()||!t.is Valid())&&(a=A(r(a)?"millisecond":a),"millisecond"===a?this.valueOf()>t.valueOf( ):t.valueOf()<this.clone().startOf(a).valueOf())}function et(e,a){var t=y(e)?e:f a(e);return!(!this.isValid()||!t.isValid())&&(a=A(r(a)?"millisecond":a),"millise cond"===a?this.valueOf()<t.valueOf():this.clone().endOf(a).valueOf()<t.valueOf() )}function at(e,a,t,s){return s=s||"()",("("===s[0]?this.isAfter(e,t):!this.isBe fore(e,t))&&(")"===s[1]?this.isBefore(a,t):!this.isAfter(a,t))}function tt(e,a){ var t,s=y(e)?e:fa(e);return!(!this.isValid()||!s.isValid())&&(a=A(a||"millisecon d"),"millisecond"===a?this.valueOf()===s.valueOf():(t=s.valueOf(),this.clone().s tartOf(a).valueOf()<=t&&t<=this.clone().endOf(a).valueOf()))}function st(e,a){re turn this.isSame(e,a)||this.isAfter(e,a)}function nt(e,a){return this.isSame(e,a )||this.isBefore(e,a)}function rt(e,a,t){var s,n,r,d;return this.isValid()?(s=xa (e,this),s.isValid()?(n=6e4*(s.utcOffset()-this.utcOffset()),a=A(a),"year"===a|| "month"===a||"quarter"===a?(d=dt(this,s),"quarter"===a?d/=3:"year"===a&&(d/=12)) :(r=this-s,d="second"===a?r/1e3:"minute"===a?r/6e4:"hour"===a?r/36e5:"day"===a?( r-n)/864e5:"week"===a?(r-n)/6048e5:r),t?d:f(d)):NaN):NaN}function dt(e,a){var t, s,n=12*(a.year()-e.year())+(a.month()-e.month()),r=e.clone().add(n,"months");ret urn a-r<0?(t=e.clone().add(n-1,"months"),s=(a-r)/(r-t)):(t=e.clone().add(n+1,"mo nths"),s=(a-r)/(t-r)),-(n+s)||0}function _t(){return this.clone().locale("en").f ormat("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function it(){if(!this.isValid())retur n null;var e=this.clone().utc();return e.year()<0||e.year()>9999?Z(e,"YYYYYY-MM- DD[T]HH:mm:ss.SSS[Z]"):w(Date.prototype.toISOString)?this.toDate().toISOString() :Z(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")}function ot(){if(!this.isValid())return"mom ent.invalid(/* "+this._i+" */)";var e="moment",a="";this.isLocal()||(e=0===this. utcOffset()?"moment.utc":"moment.parseZone",a="Z");var t="["+e+'("]',s=0<=this.y ear()&&this.year()<=9999?"YYYY":"YYYYYY",n="-MM-DD[T]HH:mm:ss.SSS",r=a+'[")]';re turn this.format(t+s+n+r)}function mt(a){a||(a=this.isUtc()?e.defaultFormatUtc:e .defaultFormat);var t=Z(this,a);return this.localeData().postformat(t)}function ut(e,a){return this.isValid()&&(y(e)&&e.isValid()||fa(e).isValid())?Ga({to:this, from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()}func tion lt(e){return this.from(fa(),e)}function Mt(e,a){return this.isValid()&&(y(e )&&e.isValid()||fa(e).isValid())?Ga({from:this,to:e}).locale(this.locale()).huma nize(!a):this.localeData().invalidDate()}function ht(e){return this.to(fa(),e)}f unction Lt(e){var a;return void 0===e?this._locale._abbr:(a=aa(e),null!=a&&(this ._locale=a),this)}function ct(){return this._locale}function Yt(e){switch(e=A(e) ){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":cas e"isoWeek":case"day":case"date":this.hours(0);case"hour":this.minutes(0);case"mi nute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e&&this.w eekday(0),"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.flo or(this.month()/3)),this}function yt(e){return e=A(e),void 0===e||"millisecond"= ==e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).su btract(1,"ms"))}function ft(){return this._d.valueOf()-6e4*(this._offset||0)}fun ction pt(){return Math.floor(this.valueOf()/1e3)}function Dt(){return new Date(t his.valueOf())}function kt(){var e=this;return[e.year(),e.month(),e.date(),e.hou r(),e.minute(),e.second(),e.millisecond()]}function Tt(){var e=this;return{years :e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),sec onds:e.seconds(),milliseconds:e.milliseconds()}}function gt(){return this.isVali d()?this.toISOString():null}function wt(){return h(this)}function vt(){
680 return m({},M(this))}function Ht(){return M(this).overflow}function St(){return{ input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._ strict}}function bt(e,a){V(0,[e,e.length],0,a)}function jt(e){return Wt.call(thi s,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._we ek.doy)}function xt(e){return Wt.call(this,e,this.isoWeek(),this.isoWeekday(),1, 4)}function Pt(){return Te(this.year(),1,4)}function Ot(){var e=this.localeData( )._week;return Te(this.year(),e.dow,e.doy)}function Wt(e,a,t,s,n){var r;return n ull==e?ke(this,s,n).year:(r=Te(e,s,n),a>r&&(a=r),Et.call(this,e,a,t,s,n))}functi on Et(e,a,t,s,n){var r=De(e,a,t,s,n),d=fe(r.year,0,r.dayOfYear);return this.year (d.getUTCFullYear()),this.month(d.getUTCMonth()),this.date(d.getUTCDate()),this} function At(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+t his.month()%3)}function Ft(e){var a=Math.round((this.clone().startOf("day")-this .clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")}function z t(e,a){a[mr]=p(1e3*("0."+e))}function Jt(){return this._isUTC?"UTC":""}function Rt(){return this._isUTC?"Coordinated Universal Time":""}function Nt(e){return fa (1e3*e)}function Ct(){return fa.apply(null,arguments).parseZone()}function It(e) {return e}function Gt(e,a,t,s){var n=aa(),r=u().set(s,a);return n[t](r,e)}functi on Ut(e,a,t){if(d(e)&&(a=e,e=void 0),e=e||"",null!=a)return Gt(e,a,t,"month");va r s,n=[];for(s=0;s<12;s++)n[s]=Gt(e,s,t,"month");return n}function Vt(e,a,t,s){" boolean"==typeof e?(d(a)&&(t=a,a=void 0),a=a||""):(a=e,t=a,e=!1,d(a)&&(t=a,a=voi d 0),a=a||"");var n=aa(),r=e?n._week.dow:0;if(null!=t)return Gt(a,(t+r)%7,s,"day ");var _,i=[];for(_=0;_<7;_++)i[_]=Gt(a,(_+r)%7,s,"day");return i}function $t(e, a){return Ut(e,a,"months")}function Kt(e,a){return Ut(e,a,"monthsShort")}functio n Zt(e,a,t){return Vt(e,a,t,"weekdays")}function qt(e,a,t){return Vt(e,a,t,"week daysShort")}function Bt(e,a,t){return Vt(e,a,t,"weekdaysMin")}function Qt(){var e=this._data;return this._milliseconds=sd(this._milliseconds),this._days=sd(this ._days),this._months=sd(this._months),e.milliseconds=sd(e.milliseconds),e.second s=sd(e.seconds),e.minutes=sd(e.minutes),e.hours=sd(e.hours),e.months=sd(e.months ),e.years=sd(e.years),this}function Xt(e,a,t,s){var n=Ga(a,t);return e._millisec onds+=s*n._milliseconds,e._days+=s*n._days,e._months+=s*n._months,e._bubble()}fu nction es(e,a){return Xt(this,e,a,1)}function as(e,a){return Xt(this,e,a,-1)}fun ction ts(e){return e<0?Math.floor(e):Math.ceil(e)}function ss(){var e,a,t,s,n,r= this._milliseconds,d=this._days,_=this._months,i=this._data;return r>=0&&d>=0&&_ >=0||r<=0&&d<=0&&_<=0||(r+=864e5*ts(rs(_)+d),d=0,_=0),i.milliseconds=r%1e3,e=f(r /1e3),i.seconds=e%60,a=f(e/60),i.minutes=a%60,t=f(a/60),i.hours=t%24,d+=f(t/24), n=f(ns(d)),_+=n,d-=ts(rs(n)),s=f(_/12),_%=12,i.days=d,i.months=_,i.years=s,this} function ns(e){return 4800*e/146097}function rs(e){return 146097*e/4800}function ds(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if(e=A(e),"mon th"===e||"year"===e)return a=this._days+s/864e5,t=this._months+ns(a),"month"===e ?t:t/12;switch(a=this._days+Math.round(rs(this._months)),e){case"week":return a/ 7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute" :return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}}function _s(){ return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6 +31536e6*p(this._months/12):NaN}function is(e){return function(){return this.as( e)}}function os(e){return e=A(e),this.isValid()?this[e+"s"]():NaN}function ms(e) {return function(){return this.isValid()?this._data[e]:NaN}}function us(){return f(this.days()/7)}function ls(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}fun ction Ms(e,a,t){var s=Ga(e).abs(),n=fd(s.as("s")),r=fd(s.as("m")),d=fd(s.as("h") ),_=fd(s.as("d")),i=fd(s.as("M")),o=fd(s.as("y")),m=n<=pd.ss&&["s",n]||n<pd.s&&[ "ss",n]||r<=1&&["m"]||r<pd.m&&["mm",r]||d<=1&&["h"]||d<pd.h&&["hh",d]||_<=1&&["d "]||_<pd.d&&["dd",_]||i<=1&&["M"]||i<pd.M&&["MM",i]||o<=1&&["y"]||["yy",o];retur n m[2]=a,m[3]=+e>0,m[4]=t,ls.apply(null,m)}function hs(e){return void 0===e?fd:" function"==typeof e&&(fd=e,!0)}function Ls(e,a){return void 0!==pd[e]&&(void 0== =a?pd[e]:(pd[e]=a,"s"===e&&(pd.ss=a-1),!0))}function cs(e){if(!this.isValid())re turn this.localeData().invalidDate();var a=this.localeData(),t=Ms(this,!e,a);ret urn e&&(t=a.pastFuture(+this,t)),a.postformat(t)}function Ys(){if(!this.isValid( ))return this.localeData().invalidDate();var e,a,t,s=Dd(this._milliseconds)/1e3, n=Dd(this._days),r=Dd(this._months);e=f(s/60),a=f(e/60),s%=60,e%=60,t=f(r/12),r% =12;var d=t,_=r,i=n,o=a,m=e,u=s,l=this.asSeconds();return l?(l<0?"-":"")+"P"+(d? d+"Y":"")+(_?_+"M":"")+(i?i+"D":"")+(o||m||u?"T":"")+(o?o+"H":"")+(m?m+"M":"")+( u?u+"S":""):"P0D"}function ys(e,a){var t=e.split("_");return a%10===1&&a%100!==1 1?t[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?t[1]:t[2]}function fs(e,a,t){var s={mm:a?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:a?"гадзіна_гадзіны_ гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",y y:"год_гады_гадоў"};return"m"===t?a?"хвіліна":"хвіліну":"h"===t?a?"гадзіна":"гад зіну":e+" "+ys(s[t],+e)}function ps(e,a,t){var s={mm:"munutenn",MM:"miz",dd:"dev ezh"};return e+" "+Ts(s[t],e)}function Ds(e){switch(ks(e)){case 1:case 3:case 4: case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}function ks(e){return e>9?ks(e%10):e}function Ts(e,a){return 2===a?gs(e):e}function gs(e){var a={m:"v ",b:"v",d:"z"};return void 0===a[e.charAt(0)]?e:a[e.charAt(0)]+e.substring(1)}fu nction ws(e,a,t){var s=e+" ";switch(t){case"m":return a?"jedna minuta":"jedne mi nute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";ca se"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3 ===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1== =e?"godina":2===e||3===e||4===e?"godine":"godina"}}function vs(e){return e>1&&e< 5&&1!==~~(e/10)}function Hs(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?" pár sekund":"pár sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case" mm":return a||s?n+(vs(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina ":s?"hodinu":"hodinou";case"hh":return a||s?n+(vs(e)?"hodiny":"hodin"):n+"hodina mi";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(vs(e)?"dny":"dní"): n+"dny";case"M":return a||s?"měsíc":"měsícem";case"MM":return a||s?n+(vs(e)?"měs íce":"měsíců"):n+"měsíci";case"y":return a||s?"rok":"rokem";case"yy":return a||s ?n+(vs(e)?"roky":"let"):n+"lety"}}function Ss(e,a,t,s){var n={m:["eine Minute"," einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+ " Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"], y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1 ]}function bs(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde", "einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Mona t","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[ e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function js(e,a,t,s){var n={m: ["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","ei nem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate ",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function xs(e,a,t,s){var n={s:["mõne sekundi","mõni sekund","p aar sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["üh e tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta" ,"aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return a?n[t][2]?n[t][2]:n[t] [1]:s?n[t][0]:n[t][1]}function Ps(e,a,t,s){var n="";switch(t){case"s":return s?" muutaman sekunnin":"muutama sekunti";case"m":return s?"minuutin":"minuutti";case "mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh" :n=s?"tunnin":"tuntia";break;case"d":return s?"päivän":"päivä";case"dd":n=s?"päi vän":"päivää";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukau den":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":" vuotta"}return n=Os(e,s)+" "+n}function Os(e,a){return e<10?a?Qd[e]:Bd[e]:e}func tion Ws(e,a,t,s){var n={s:["thodde secondanim","thodde second"],m:["eka mintan", "ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" hor anim",e+" hor"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoi nean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"], yy:[e+" vorsanim",e+" vorsam"]};return a?n[t][0]:n[t][1]}function Es(e,a,t){var s=e+" ";switch(t){case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"s ati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2== =e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3= ==e||4===e?"godine":"godina"}}function As(e,a,t,s){var n=e;switch(t){case"s":ret urn s||a?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(s||a?" perc ":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a? " óra":" órája");case"hh":return n+(s||a?" óra":" órája");case"d":return"egy"+(s ||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy "+(s||a?" hónap":" hónapja");case"MM":return n+(s||a?" hónap":" hónapja");case"y ":return"egy"+(s||a?" év":" éve");case"yy":return n+(s||a?" év":" éve")}return"" }function Fs(e){return(e?"":"[múlt] ")+"["+i_[this.day()]+"] LT[-kor]"}function zs(e){return e%100===11||e%10!==1}function Js(e,a,t,s){var n=e+" ";switch(t){cas e"s":return a||s?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return a?"mínúta" :"mínútu";case"mm":return zs(e)?n+(a||s?"mínútur":"mínútum"):a?n+"mínúta":n+"mín útu";case"hh":return zs(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustu nd";case"d":return a?"dagur":s?"dag":"degi";case"dd":return zs(e)?a?n+"dagar":n+ (s?"daga":"dögum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"mánuður":s?" mánuð":"mánuði";case"MM":return zs(e)?a?n+"mánuðir":n+(s?"mánuði":"mánuðum"):a?n +"mánuður":n+(s?"mánuð":"mánuði");case"y":return a||s?"ár":"ári";case"yy":return zs(e)?n+(a||s?"ár":"árum"):n+(a||s?"ár":"ári")}}function Rs(e,a,t,s){var n={m:[ "eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem D ag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n [t][1]}function Ns(e){var a=e.substr(0,e.indexOf(" "));return Is(a)?"a "+e:"an " +e}function Cs(e){var a=e.substr(0,e.indexOf(" "));return Is(a)?"viru "+e:"virun "+e}function Is(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<1 0)return 4<=e&&e<=7;if(e<100){var a=e%10,t=e/10;return Is(0===a?t:a)}if(e<1e4){f or(;e>=10;)e/=10;return Is(e)}return e/=1e3,Is(e)}function Gs(e,a,t,s){return a? "kelios sekundės":s?"kelių sekundžių":"kelias sekundes"}function Us(e,a,t,s){ret urn a?$s(t)[0]:s?$s(t)[1]:$s(t)[2]}function Vs(e){return e%10===0||e>10&&e<20}fu nction $s(e){return M_[e].split("_")}function Ks(e,a,t,s){var n=e+" ";return 1== =e?n+Us(e,a,t[0],s):a?n+(Vs(e)?$s(t)[1]:$s(t)[0]):s?n+$s(t)[1]:n+(Vs(e)?$s(t)[1] :$s(t)[2])}function Zs(e,a,t){return t?a%10===1&&a%100!==11?e[2]:e[3]:a%10===1&& a%100!==11?e[0]:e[1]}function qs(e,a,t){return e+" "+Zs(h_[t],e,a)}function Bs(e ,a,t){return Zs(h_[t],e,a)}function Qs(e,a){return a?"dažas sekundes":"dažām sek undēm"}function Xs(e,a,t,s){var n="";if(a)switch(t){case"s":n="काही सेकंद";break ;case"m":n="एक मिनिट";break;case"mm":n="%d मिनिटे";break;case"h":n="एक तास";brea k;case"hh":n="%d तास";break;case"d":n="एक दिवस";break;case"dd":n="%d दिवस";break ;case"M":n="एक महिना";break;case"MM":n="%d महिने";break;case"y":n="एक वर्ष";brea k;case"yy":n="%d वर्षे"}else switch(t){case"s":n="काही सेकंदां";break;case"m":n= "एका मिनिटा";break;case"mm":n="%d मिनिटां";break;case"h":n="एका तासा";break;case "hh":n="%d तासां";break;case"d":n="एका दिवसा";break;case"dd":n="%d दिवसां";break ;case"M":n="एका महिन्या";break;case"MM":n="%d महिन्यां";break;case"y":n="एका वर् षा";break;case"yy":n="%d वर्षां"}return n.replace(/%d/i,e)}function en(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function an(e,a,t){var s=e+" ";switch(t){case"m ":return a?"minuta":"minutę";case"mm":return s+(en(e)?"minuty":"minut");case"h": return a?"godzina":"godzinę";case"hh":return s+(en(e)?"godziny":"godzin");case"M M":return s+(en(e)?"miesiące":"miesięcy");case"yy":return s+(en(e)?"lata":"lat") }}function tn(e,a,t){var s={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},n =" ";return(e%100>=20||e>=100&&e%100===0)&&(n=" de "),e+n+s[t]}function sn(e,a){ var t=e.split("_");return a%10===1&&a%100!==11?t[0]:a%10>=2&&a%10<=4&&(a%100<10| |a%100>=20)?t[1]:t[2]}function nn(e,a,t){var s={mm:a?"минута_минуты_минут":"мину ту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев ",yy:"год_года_лет"};return"m"===t?a?"минута":"минуту":e+" "+sn(s[t],+e)}functio n rn(e){return e>1&&e<5}function dn(e,a,t,s){var n=e+" ";switch(t){case"s":retur n a||s?"pár sekúnd":"pár sekundami";case"m":return a?"minúta":s?"minútu":"minúto u";case"mm":return a||s?n+(rn(e)?"minúty":"minút"):n+"minútami";case"h":return a ?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(rn(e)?"hodiny":"hodín"):n +"hodinami";case"d":return a||s?"deň":"dňom";case"dd":return a||s?n+(rn(e)?"dni" :"dní"):n+"dňami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n +(rn(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";cas e"yy":return a||s?n+(rn(e)?"roky":"rokov"):n+"rokmi"}}function _n(e,a,t,s){var n =e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"m":re turn a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2= ==e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami ";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2= ==e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a ||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?" dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem"; case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e <5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto" :"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"le toma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}function on(e){var a=e;return a= e.indexOf("jaj")!==-1?a.slice(0,-3)+"leS":e.indexOf("jar")!==-1?a.slice(0,-3)+"w aQ":e.indexOf("DIS")!==-1?a.slice(0,-3)+"nem":a+" pIq"}function mn(e){var a=e;re turn a=e.indexOf("jaj")!==-1?a.slice(0,-3)+"Hu’":e.indexOf("jar")!==-1?a.slice(0 ,-3)+"wen":e.indexOf("DIS")!==-1?a.slice(0,-3)+"ben":a+" ret"}function un(e,a,t, s){var n=ln(e);switch(t){case"mm":return n+" tup";case"hh":return n+" rep";case" dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}function ln(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),s=e%10,n="";return a>0& &(n+=I_[a]+"vatlh"),t>0&&(n+=(""!==n?" ":"")+I_[t]+"maH"),s>0&&(n+=(""!==n?" ":" ")+I_[s]),""===n?"pagh":n}function Mn(e,a,t,s){var n={s:["viensas secunds","'ien sas secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",""+e+" míuts"],h:["'n þo ra","'iensa þora"],hh:[e+" þoras",""+e+" þoras"],d:["'n ziua","'iensa ziua"],dd: [e+" ziuas",""+e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",""+e+" mesen" ],y:["'n ar","'iens ar"],yy:[e+" ars",""+e+" ars"]};return s?n[t][0]:a?n[t][0]:n [t][1]}function hn(e,a){var t=e.split("_");return a%10===1&&a%100!==11?t[0]:a%10 >=2&&a%10<=4&&(a%100<10||a%100>=20)?t[1]:t[2]}function Ln(e,a,t){var s={mm:a?"хв илина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:a?"година_години_годин":"годин у_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років "};return"m"===t?a?"хвилина":"хвилину":"h"===t?a?"година":"годину":e+" "+hn(s[t] ,+e)}function cn(e,a){var t={nominative:"неділя_понеділок_вівторок_середа_четвер _п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер _п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга _п’ятниці_суботи".split("_")};if(!e)return t.nominative;var s=/(\[[ВвУу]\]) ?ddd d/.test(a)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(a)?"genitive" :"nominative";return t[s][e.day()]}function Yn(e){return function(){return e+"о" +(11===this.hours()?"б":"")+"] LT"}}var yn,fn;fn=Array.prototype.some?Array.prot otype.some:function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1};var pn=fn,Dn=e.momentProperties=[], kn=!1,Tn={};e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;var gn;gn =Object.keys?Object.keys:function(e){var a,t=[];for(a in e)o(e,a)&&t.push(a);ret urn t};var wn,vn=gn,Hn={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextW eek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sa meElse:"L"},Sn={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL :"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},bn="Invalid date",jn="% d",xn=/\d{1,2}/,Pn={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d second s",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days" ,M:"a month",MM:"%d months",y:"a year",yy:"%d years"},On={},Wn={},En=/(\[[^\[]*\ ])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|Y YYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|z z?|ZZ?|.)/g,An=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Fn={},zn={},Jn=/\d/, Rn=/\d\d/,Nn=/\d{3}/,Cn=/\d{4}/,In=/[+-]?\d{6}/,Gn=/\d\d?/,Un=/\d\d\d\d?/,Vn=/\d \d\d\d\d\d?/,$n=/\d{1,3}/,Kn=/\d{1,4}/,Zn=/[+-]?\d{1,6}/,qn=/\d+/,Bn=/[+-]?\d+/, Qn=/Z|[+-]\d\d:?\d\d/gi,Xn=/Z|[+-]\d\d(?::?\d\d)?/gi,er=/[+-]?\d+(\.\d{1,3})?/,a r=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u0 6FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,tr={},sr={},nr=0,rr=1,dr=2,_r=3,ir=4,or=5,m r=6,ur=7,lr=8;wn=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var a;for(a=0;a<this.length;++a)if(this[a]===e)return a;return-1};var Mr=wn;V("M",[ "MM",2],"Mo",function(){return this.month()+1}),V("MMM",0,0,function(e){return t his.localeData().monthsShort(this,e)}),V("MMMM",0,0,function(e){return this.loca leData().months(this,e)}),E("month","M"),z("month",8),B("M",Gn),B("MM",Gn,Rn),B( "MMM",function(e,a){return a.monthsShortRegex(e)}),B("MMMM",function(e,a){return a.monthsRegex(e)}),ae(["M","MM"],function(e,a){a[rr]=p(e)-1}),ae(["MMM","MMMM"] ,function(e,a,t,s){var n=t._locale.monthsParse(e,s,t._strict);null!=n?a[rr]=n:M( t).invalidMonth=e});var hr=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Lr="January_February_ March_April_May_June_July_August_September_October_November_December".split("_") ,cr="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Yr=ar,yr=ar;V(" Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),V(0,["YY",2],0,f unction(){return this.year()%100}),V(0,["YYYY",4],0,"year"),V(0,["YYYYY",5],0,"y ear"),V(0,["YYYYYY",6,!0],0,"year"),E("year","y"),z("year",1),B("Y",Bn),B("YY",G n,Rn),B("YYYY",Kn,Cn),B("YYYYY",Zn,In),B("YYYYYY",Zn,In),ae(["YYYYY","YYYYYY"],n r),ae("YYYY",function(a,t){t[nr]=2===a.length?e.parseTwoDigitYear(a):p(a)}),ae(" YY",function(a,t){t[nr]=e.parseTwoDigitYear(a)}),ae("Y",function(e,a){a[nr]=pars eInt(e,10)}),e.parseTwoDigitYear=function(e){return p(e)+(p(e)>68?1900:2e3)};var fr=R("FullYear",!0);V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"), E("week","w"),E("isoWeek","W"),z("week",5),z("isoWeek",5),B("w",Gn),B("ww",Gn,Rn ),B("W",Gn),B("WW",Gn,Rn),te(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0, 1)]=p(e)});var pr={dow:0,doy:6};V("d",0,"do","day"),V("dd",0,0,function(e){retur n this.localeData().weekdaysMin(this,e)}),V("ddd",0,0,function(e){return this.lo caleData().weekdaysShort(this,e)}),V("dddd",0,0,function(e){return this.localeDa ta().weekdays(this,e)}),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),E("day","d" ),E("weekday","e"),E("isoWeekday","E"),z("day",11),z("weekday",11),z("isoWeekday ",11),B("d",Gn),B("e",Gn),B("E",Gn),B("dd",function(e,a){return a.weekdaysMinReg ex(e)}),B("ddd",function(e,a){return a.weekdaysShortRegex(e)}),B("dddd",function (e,a){return a.weekdaysRegex(e)}),te(["dd","ddd","dddd"],function(e,a,t,s){var n =t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:M(t).invalidWeekday=e}),te (["d","e","E"],function(e,a,t,s){a[s]=p(e)});var Dr="Sunday_Monday_Tuesday_Wedne sday_Thursday_Friday_Saturday".split("_"),kr="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split ("_"),Tr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),gr=ar,wr=ar,vr=ar;V("H",["HH",2],0,"h our"),V("h",["hh",2],0,Ie),V("k",["kk",2],0,Ge),V("hmm",0,0,function(){return""+ Ie.apply(this)+U(this.minutes(),2)}),V("hmmss",0,0,function(){return""+Ie.apply( this)+U(this.minutes(),2)+U(this.seconds(),2)}),V("Hmm",0,0,function(){return""+ this.hours()+U(this.minutes(),2)}),V("Hmmss",0,0,function(){return""+this.hours( )+U(this.minutes(),2)+U(this.seconds(),2)}),Ue("a",!0),Ue("A",!1),E("hour","h"), z("hour",13),B("a",Ve),B("A",Ve),B("H",Gn),B("h",Gn),B("k",Gn),B("HH",Gn,Rn),B(" hh",Gn,Rn),B("kk",Gn,Rn),B("hmm",Un),B("hmmss",Vn),B("Hmm",Un),B("Hmmss",Vn),ae( ["H","HH"],_r),ae(["k","kk"],function(e,a,t){var s=p(e);a[_r]=24===s?0:s}),ae([" a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),ae(["h","hh"], function(e,a,t){a[_r]=p(e),M(t).bigHour=!0}),ae("hmm",function(e,a,t){var s=e.le ngth-2;a[_r]=p(e.substr(0,s)),a[ir]=p(e.substr(s)),M(t).bigHour=!0}),ae("hmmss", function(e,a,t){var s=e.length-4,n=e.length-2;a[_r]=p(e.substr(0,s)),a[ir]=p(e.s ubstr(s,2)),a[or]=p(e.substr(n)),M(t).bigHour=!0}),ae("Hmm",function(e,a,t){var s=e.length-2;a[_r]=p(e.substr(0,s)),a[ir]=p(e.substr(s))}),ae("Hmmss",function(e ,a,t){var s=e.length-4,n=e.length-2;a[_r]=p(e.substr(0,s)),a[ir]=p(e.substr(s,2) ),a[or]=p(e.substr(n))});var Hr,Sr=/[ap]\.?m?\.?/i,br=R("Hours",!0),jr={calendar :Hn,longDateFormat:Sn,invalidDate:bn,ordinal:jn,dayOfMonthOrdinalParse:xn,relati veTime:Pn,months:Lr,monthsShort:cr,week:pr,weekdays:Dr,weekdaysMin:Tr,weekdaysSh ort:kr,meridiemParse:Sr},xr={},Pr={},Or=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W \d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-] \d\d(?::?\d\d)?|\s*Z)?)?$/,Wr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d |\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)? |\s*Z)?)?$/,Er=/Z|[+-]\d\d(?::?\d\d)?/,Ar=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/ ],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]W W",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YY YYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG [W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Fr=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d \d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],[ "HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\ d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],zr=/^\/ ?Date\((\-?\d+)/i,Jr=/^((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d?\d\s(?:Jan|Feb| Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(?:\d\d)?\d\d\s)(\d\d:\d\d)(\:\d\d)?(\ s(?:UT|GMT|[ECMP][SD]T|[A-IK-Za-ik-z]|[+-]\d{4}))$/;e.createFromInputFallback=T( "value provided is not in a recognized RFC2822 or ISO format. moment constructio n falls back to js Date(), which is not reliable across all browsers and version s. Non RFC2822/ISO date formats are discouraged and will be removed in an upcomi ng major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),e.ISO_8 601=function(){},e.RFC_2822=function(){};var Rr=T("moment().min is deprecated, u se moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function( ){var e=fa.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this: e:L()}),Nr=T("moment().max is deprecated, use moment.min instead. http://momentj s.com/guides/#/warnings/min-max/",function(){var e=fa.apply(null,arguments);retu rn this.isValid()&&e.isValid()?e>this?this:e:L()}),Cr=function(){return Date.now ?Date.now():+new Date},Ir=["year","quarter","month","week","day","hour","minute" ,"second","millisecond"];ba("Z",":"),ba("ZZ",""),B("Z",Xn),B("ZZ",Xn),ae(["Z","Z Z"],function(e,a,t){t._useUTC=!0,t._tzm=ja(Xn,e)});var Gr=/([\+\-]|\d\d)/gi;e.up dateOffset=function(){};var Ur=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d* )?)?$/,Vr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0- 9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Ga.fn=va .prototype,Ga.invalid=wa;var $r=Ka(1,"add"),Kr=Ka(-1,"subtract");e.defaultFormat ="YYYY-MM-DDTHH:mm:ssZ",e.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Zr=T("mo ment().lang() is deprecated. Instead, use moment().localeData() to get the langu age configuration. Use moment().locale() to change languages.",function(e){retur n void 0===e?this.localeData():this.locale(e)});V(0,["gg",2],0,function(){return this.weekYear()%100}),V(0,["GG",2],0,function(){return this.isoWeekYear()%100}) ,bt("gggg","weekYear"),bt("ggggg","weekYear"),bt("GGGG","isoWeekYear"),bt("GGGGG ","isoWeekYear"),E("weekYear","gg"),E("isoWeekYear","GG"),z("weekYear",1),z("iso WeekYear",1),B("G",Bn),B("g",Bn),B("GG",Gn,Rn),B("gg",Gn,Rn),B("GGGG",Kn,Cn),B(" gggg",Kn,Cn),B("GGGGG",Zn,In),B("ggggg",Zn,In),te(["gggg","ggggg","GGGG","GGGGG" ],function(e,a,t,s){a[s.substr(0,2)]=p(e)}),te(["gg","GG"],function(a,t,s,n){t[n ]=e.parseTwoDigitYear(a)}),V("Q",0,"Qo","quarter"),E("quarter","Q"),z("quarter", 7),B("Q",Jn),ae("Q",function(e,a){a[rr]=3*(p(e)-1)}),V("D",["DD",2],"Do","date") ,E("date","D"),z("date",9),B("D",Gn),B("DD",Gn,Rn),B("Do",function(e,a){return e ?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),a e(["D","DD"],dr),ae("Do",function(e,a){a[dr]=p(e.match(Gn)[0],10)});var qr=R("Da te",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),E("dayOfYear","DDD"),z("dayOfYear ",4),B("DDD",$n),B("DDDD",Nn),ae(["DDD","DDDD"],function(e,a,t){t._dayOfYear=p(e )}),V("m",["mm",2],0,"minute"),E("minute","m"),z("minute",14),B("m",Gn),B("mm",G n,Rn),ae(["m","mm"],ir);var Br=R("Minutes",!1);V("s",["ss",2],0,"second"),E("sec ond","s"),z("second",15),B("s",Gn),B("ss",Gn,Rn),ae(["s","ss"],or);var Qr=R("Sec onds",!1);V("S",0,0,function(){return~~(this.millisecond()/100)}),V(0,["SS",2],0 ,function(){return~~(this.millisecond()/10)}),V(0,["SSS",3],0,"millisecond"),V(0 ,["SSSS",4],0,function(){return 10*this.millisecond()}),V(0,["SSSSS",5],0,functi on(){return 100*this.millisecond()}),V(0,["SSSSSS",6],0,function(){return 1e3*th is.millisecond()}),V(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()} ),V(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),V(0,["SSSSSSSS S",9],0,function(){return 1e6*this.millisecond()}),E("millisecond","ms"),z("mill isecond",16),B("S",$n,Jn),B("SS",$n,Rn),B("SSS",$n,Nn);var Xr;for(Xr="SSSS";Xr.l ength<=9;Xr+="S")B(Xr,qn);for(Xr="S";Xr.length<=9;Xr+="S")ae(Xr,zt);var ed=R("Mi lliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var ad=Y.prototype; ad.add=$r,ad.calendar=Ba,ad.clone=Qa,ad.diff=rt,ad.endOf=yt,ad.format=mt,ad.from =ut,ad.fromNow=lt,ad.to=Mt,ad.toNow=ht,ad.get=I,ad.invalidAt=Ht,ad.isAfter=Xa,ad .isBefore=et,ad.isBetween=at,ad.isSame=tt,ad.isSameOrAfter=st,ad.isSameOrBefore= nt,ad.isValid=wt,ad.lang=Zr,ad.locale=Lt,ad.localeData=ct,ad.max=Nr,ad.min=Rr,ad .parsingFlags=vt,ad.set=G,ad.startOf=Yt,ad.subtract=Kr,ad.toArray=kt,ad.toObject =Tt,ad.toDate=Dt,ad.toISOString=it,ad.inspect=ot,ad.toJSON=gt,ad.toString=_t,ad. unix=pt,ad.valueOf=ft,ad.creationData=St,ad.year=fr,ad.isLeapYear=Ye,ad.weekYear =jt,ad.isoWeekYear=xt,ad.quarter=ad.quarters=At,ad.month=me,ad.daysInMonth=ue,ad .week=ad.weeks=He,ad.isoWeek=ad.isoWeeks=Se,ad.weeksInYear=Ot,ad.isoWeeksInYear= Pt,ad.date=qr,ad.day=ad.days=Ae,ad.weekday=Fe,ad.isoWeekday=ze,ad.dayOfYear=Ft,a d.hour=ad.hours=br,ad.minute=ad.minutes=Br,ad.second=ad.seconds=Qr,ad.millisecon d=ad.milliseconds=ed,ad.utcOffset=Oa,ad.utc=Ea,ad.local=Aa,ad.parseZone=Fa,ad.ha sAlignedHourOffset=za,ad.isDST=Ja,ad.isLocal=Na,ad.isUtcOffset=Ca,ad.isUtc=Ia,ad .isUTC=Ia,ad.zoneAbbr=Jt,ad.zoneName=Rt,ad.dates=T("dates accessor is deprecated . Use date instead.",qr),ad.months=T("months accessor is deprecated. Use month i nstead",me),ad.years=T("years accessor is deprecated. Use year instead",fr),ad.z one=T("moment().zone is deprecated, use moment().utcOffset instead. http://momen tjs.com/guides/#/warnings/zone/",Wa),ad.isDSTShifted=T("isDSTShifted is deprecat ed. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information" ,Ra);var td=S.prototype;td.calendar=b,td.longDateFormat=j,td.invalidDate=x,td.or dinal=P,td.preparse=It,td.postformat=It,td.relativeTime=O,td.pastFuture=W,td.set =v,td.months=re,td.monthsShort=de,td.monthsParse=ie,td.monthsRegex=Me,td.monthsS hortRegex=le,td.week=ge,td.firstDayOfYear=ve,td.firstDayOfWeek=we,td.weekdays=xe ,td.weekdaysMin=Oe,td.weekdaysShort=Pe,td.weekdaysParse=Ee,td.weekdaysRegex=Je,t d.weekdaysShortRegex=Re,td.weekdaysMinRegex=Ne,td.isPM=$e,td.meridiem=Ke,Qe("en" ,{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10,t =1===p(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t}}),e.lang =T("moment.lang is deprecated. Use moment.locale instead.",Qe),e.langData=T("mom ent.langData is deprecated. Use moment.localeData instead.",aa);var sd=Math.abs, nd=is("ms"),rd=is("s"),dd=is("m"),_d=is("h"),id=is("d"),od=is("w"),md=is("M"),ud =is("y"),ld=ms("milliseconds"),Md=ms("seconds"),hd=ms("minutes"),Ld=ms("hours"), cd=ms("days"),Yd=ms("months"),yd=ms("years"),fd=Math.round,pd={ss:44,s:45,m:45,h :22,d:26,M:11},Dd=Math.abs,kd=va.prototype;kd.isValid=ga,kd.abs=Qt,kd.add=es,kd. subtract=as,kd.as=ds,kd.asMilliseconds=nd,kd.asSeconds=rd,kd.asMinutes=dd,kd.asH ours=_d,kd.asDays=id,kd.asWeeks=od,kd.asMonths=md,kd.asYears=ud,kd.valueOf=_s,kd ._bubble=ss,kd.get=os,kd.milliseconds=ld,kd.seconds=Md,kd.minutes=hd,kd.hours=Ld ,kd.days=cd,kd.weeks=us,kd.months=Yd,kd.years=yd,kd.humanize=cs,kd.toISOString=Y s,kd.toString=Ys,kd.toJSON=Ys,kd.locale=Lt,kd.localeData=ct,kd.toIsoString=T("to IsoString() is deprecated. Please use toISOString() instead (notice the capitals )",Ys),kd.lang=Zr,V("X",0,0,"unix"),V("x",0,0,"valueOf"),B("x",Bn),B("X",er),ae( "X",function(e,a,t){t._d=new Date(1e3*parseFloat(e,10))}),ae("x",function(e,a,t) {t._d=new Date(p(e))}),e.version="2.18.1",a(fa),e.fn=ad,e.min=Da,e.max=ka,e.now= Cr,e.utc=u,e.unix=Nt,e.months=$t,e.isDate=_,e.locale=Qe,e.invalid=L,e.duration=G a,e.isMoment=y,e.weekdays=Zt,e.parseZone=Ct,e.localeData=aa,e.isDuration=Ha,e.mo nthsShort=Kt,e.weekdaysMin=Bt,e.defineLocale=Xe,e.updateLocale=ea,e.locales=ta,e .weekdaysShort=qt,e.normalizeUnits=A,e.relativeTimeRounding=hs,e.relativeTimeThr eshold=Ls,e.calendarFormat=qa,e.prototype=ad,e.defineLocale("af",{months:"Januar ie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Des ember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des". split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag". split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"S o_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^ nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},lon gDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MM MM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT ",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWe ek:"[Laas] dddd [om] LT",
681 sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes ",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:" 'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1, 2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week: {dow:1,doy:4}}),e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_ جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس _أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأ حد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_ اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:" DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:m m"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",next Week:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على ال ساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"د قيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أ شهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months: "يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_ "),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_ دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت" .split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),wee kdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH :mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL :"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غ دا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT" ,lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past :"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}});var Td= {1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},gd=function(e){ret urn 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},wd={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:[" أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيق ة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d س اعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم" ],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:[ "أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},vd=fu nction(e){return function(a,t,s,n){var r=gd(a),d=wd[e][gd(a)];return 2===r&&(d=d [t?0:1]),d.replace(/%d/i,a)}},Hd=["يناير","فبراير","مارس","أبريل","مايو","يونيو" ,"يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar-ly",{mo nths:Hd,monthsShort:Hd,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_ا لسبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_" ),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{L T:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm" ,LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"== =e},meridiem:function(e,a,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastD ay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeT ime:{future:"بعد %s",past:"منذ %s",s:vd("s"),m:vd("m"),mm:vd("m"),h:vd("h"),hh:v d("h"),d:vd("d"),dd:vd("d"),M:vd("M"),MM:vd("M"),y:vd("y"),yy:vd("y")},preparse: function(e){return e.replace(/\u200f/g,"").replace(/،/g,",")},postformat:functio n(e){return e.replace(/\d/g,function(e){return Td[e]}).replace(/,/g,"،")},week:{ dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يوني و_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس _أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد _الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_ات نين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_ "),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY ",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calend ar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT", sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:" %d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سن ة",yy:"%d سنوات"},week:{dow:6,doy:12}});var Sd={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6: "٦",7:"٧",8:"٨",9:"٩",0:"٠"},bd={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6" ,"٧":"7","٨":"8","٩":"9","٠":"0"};e.defineLocale("ar-sa",{months:"يناير_فبراير_م ارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsS hort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر ".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".spli t("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdays Min:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm", LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ddd d D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridi em:function(e,a,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT ",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس عل ى الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future :"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d :"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:functio n(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return bd[e]}).replace(/،/g,", ")},postformat:function(e){return e.replace(/\d/g,function(e){return Sd[e]}).rep lace(/,/g,"،")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"جانفي_فيفري _مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsSh ort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".spl it("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_" ),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:" ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:" HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D M MMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الس اعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek: "dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s", s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:" شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});var jd={1:"١",2:"٢ ",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},xd={"١":"1","٢":"2","٣":"3"," ٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},Pd=function(e){return 0= ==e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},Od={s:["أقل من ثانية" ,"ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h: ["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"], d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:[" أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل م ن عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},Wd=function (e){return function(a,t,s,n){var r=Pd(a),d=Od[e][Pd(a)];return 2===r&&(d=d[t?0:1 ]),d.replace(/%d/i,a)}},Ed=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسا ن أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشري ن الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"];e.defineLocale("ar", {months:Ed,monthsShort:Ed,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمع ة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split( "_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat :{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH: mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م "===e},meridiem:function(e,a,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم ع ند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",la stDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relati veTime:{future:"بعد %s",past:"منذ %s",s:Wd("s"),m:Wd("m"),mm:Wd("m"),h:Wd("h"),h h:Wd("h"),d:Wd("d"),dd:Wd("d"),M:Wd("M"),MM:Wd("M"),y:Wd("y"),yy:Wd("y")},prepar se:function(e){return e.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e ){return xd[e]}).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/ g,function(e){return jd[e]}).replace(/,/g,"،")},week:{dow:6,doy:12}});var Ad={1: "-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50 :"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu" ,60:"-ıncı",90:"-ıncı"};e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_ma y_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_f ev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert əsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"B az_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split( "_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YY YY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},cal endar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həft ə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT", sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə ",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün ",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz| axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,a, t){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"- ıncı";var a=e%10,t=e%100-a,s=e>=100?100:null;return e+(Ad[a]||Ad[t]||Ad[s])},wee k:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_ красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".spl it("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівен ь_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_кр ас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_п анядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_п анядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?( ?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_" ),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:" HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"d ddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў ] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWe ek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"} ,relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:fs,mm:fs,h: fs,hh:fs,d:"дзень",dd:fs,M:"месяц",MM:fs,y:"год",yy:fs},meridiemParse:/ночы|рані цы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:functio n(e,a,t){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalP arse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD ":case"w":case"W":return e%10!==2&&e%10!==3||e%100===12||e%100===13?e+"-ы":e+"-і ";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}}),e.defineLocale( "bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_н оември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт _ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_с ъбота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekday sMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L :"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:m m"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT" ,lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:cas e 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изм иналия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",d d:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinal Parse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,t=e%100;retur n 0===e?e+"-ев":0===t?e+"-ен":t>10&&t<20?e+"-ти":1===a?e+"-ви":2===a?e+"-ри":7== =a||8===a?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});var Fd={1:"১",2:"২",3:"৩",4:"৪", 5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},zd={"১":"1","২":"2","৩":"3","৪":"4","৫":"5" ,"৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারী_ ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর". split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে". split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার". split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekd aysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm স ময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay: "[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT ",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",m:" এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/ [১২৩৪৫৬৭৮৯০]/g,function(e){return zd[e]})},postformat:function(e){return e.repla ce(/\d/g,function(e){return Fd[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,me ridiemHour:function(e,a){return 12===e&&(e=0),"রাত"===a&&e>=4||"দুপুর"===a&&e<5| |"বিকাল"===a?e+12:e},meridiem:function(e,a,t){return e<4?"রাত":e<10?"সকাল":e<17? "দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}});var Jd={1:"༡",2:"༢",3:"༣",4:"༤" ,5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},Rd={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5 ","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};e.defineLocale("bo",{months:"ཟླ་བ་དང་ པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒ ྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsSho rt:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུ ན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_ "),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_ག ཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_ སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་ པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar: {sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",la stDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTim e:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚ ོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:" ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,funct ion(e){return Rd[e]})},postformat:function(e){return e.replace(/\d/g,function(e) {return Jd[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemH our:function(e,a){return 12===e&&(e=0),"མཚན་མོ"===a&&e>=4||"ཉིན་གུང"===a&&e<5||" དགོང་དག"===a?e+12:e},meridiem:function(e,a,t){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས" :e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}}),e.defineLocale("br ",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_ Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_K er".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"), weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer _Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h [e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e ]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT" ,lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",pa st:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:ps,h:"un eur",hh:"%d eu r",d:"un devezh",dd:ps,M:"ur miz",MM:ps,y:"ur bloaz",yy:Ds},dayOfMonthOrdinalPar se:/\d{1,2}(añ|vet)/,ordinal:function(e){var a=1===e?"añ":"vet";return e+a},week :{dow:1,doy:4}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni _juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._f eb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExa ct:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split ("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin: "ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm ",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"d ddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT" ,nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";cas e 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:functi on(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return "[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi" ,m:ws,mm:ws,h:ws,hh:ws,d:"dan",dd:ws,M:"mjesec",MM:ws,y:"godinu",yy:ws},dayOfMon thOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ca ",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_o ctubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_ de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre" .split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_j uny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diume nge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort :"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".spl it("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/Y YYY",LL:"[el] D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"[el] D MMMM [de] YYYY [a le s] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"[el] dddd D MMMM [de] YYYY [a les] H:mm",l lll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==t his.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.ho urs()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours() ?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les" :"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours( )?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s ",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un di a",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdi nalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,a){var t=1===e?"r":2===e?"n":3= ==e?"r":4===e?"t":"è";return"w"!==a&&"W"!==a||(t="a"),e+t},week:{dow:1,doy:4}}); var Nd="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad _prosinec".split("_"),Cd="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split ("_");e.defineLocale("cs",{months:Nd,monthsShort:Cd,monthsParse:function(e,a){va r t,s=[];for(t=0;t<12;t++)s[t]=new RegExp("^"+e[t]+"$|^"+a[t]+"$","i");return s} (Nd,Cd),shortMonthsParse:function(e){var a,t=[];for(a=0;a<12;a++)t[a]=new RegExp ("^"+e[a]+"$","i");return t}(Cd),longMonthsParse:function(e){var a,t=[];for(a=0; a<12;a++)t[a]=new RegExp("^"+e[a]+"$","i");return t}(Nd),weekdays:"neděle_ponděl í_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá _so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT :"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",L LLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nex tDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedě li v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT"; case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){ca se 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";ca se 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";ca se 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s", past:"před %s",s:Hs,m:Hs,mm:Hs,h:Hs,hh:Hs,d:Hs,dd:Hs,M:Hs,MM:Hs,y:Hs,yy:Hs},dayO fMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale ("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".sp lit("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_" ),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".s plit("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_ тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM -YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calend ar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [се хетре]",sameElse:"L"},relativeTime:{future:function(e){var a=/сехет$/i.exec(e)?" рен":/ҫул$/i.exec(e)?"тан":"ран";return e+a},past:"%s каялла",s:"пӗр-ик ҫеккунт" ,m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун" ,M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1 ,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}}),e.defineLocale("cy",{months:"Iona wr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagf yr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag". split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd G wener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split ("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDa teFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",n extDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:" dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod" ,dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrd inalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a=e,t="",s= ["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg", "fed","eg","eg","fed","eg","fed"];return a>20?t=40===a||50===a||60===a||80===a|| 100===a?"fed":"ain":a>0&&(t=s[a]),e+t},week:{dow:1,doy:4}}),e.defineLocale("da", {months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_novem ber_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_no v_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag". split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"s ø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/ MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",ne xtWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT" ,sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"e t minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"e n måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\. /,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"Jänner_Febr uar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split(" _"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".s plit("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donners tag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".spli t("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longD ateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MM MM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr] ",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relat iveTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:Ss,mm:"%d Minuten" ,h:Ss,hh:"%d Stunden",d:Ss,dd:Ss,M:Ss,MM:Ss,y:Ss,yy:Ss},dayOfMonthOrdinalParse:/ \d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Ja nuar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember ".split("_"),monthsShort:"Jan._Febr._März_April_Mai_Juni_Juli_Aug._Sept._Okt._No v._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwo ch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".s plit("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,lo ngDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH.mm",LLLL:"dddd, D. MMMM YYYY HH.mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [U hr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},re lativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:bs,mm:"%d Minut en",h:bs,hh:"%d Stunden",d:bs,dd:bs,M:bs,MM:bs,y:bs,yy:bs},dayOfMonthOrdinalPars e:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Ja nuar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember ".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov ._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoc h_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._ Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact :!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",L LL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heu te um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr ]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:js,mm:"%d Minuten",h:js,hh:"%d Stunden",d:js,dd:js,M:js,MM:js,y:js,yy:js},dayOfMonthOrdin alParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Id=["ޖެނުއަރީ","ފެބްރ ުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓ ޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],Gd=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސ ްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:Id,monthsShort:Id,weekda ys:Gd,weekdaysShort:Gd,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_ "),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:" D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:fun ction(e){return"މފ"===e},meridiem:function(e,a,t){return e<12?"މކ":"މފ"},calenda r:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއް ޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގަ އި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއި ރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަ ހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postfor mat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}}),e.defineLocale ("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος _Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),months GenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούσ του_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,a){ return e?/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.mon th()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort: "Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή _Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δ ευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_") ,meridiem:function(e,a,t){return e>11?t?"μμ":"ΜΜ":t?"πμ":"ΠΜ"},isPM:function(e){ return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateForma t:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",ne xtDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:fu nction(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default :return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){v ar t=this._calendarEl[e],s=a&&a.hours();return w(t)&&(t=t.apply(a)),t.replace("{ }",s%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δ ευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",d d:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfM onthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}),e.defineLocale("e n-au",{months:"January_February_March_April_May_June_July_August_September_Octob er_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Se p_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Fri day_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"), weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h :mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT" ,nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m :"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:" a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2 }(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st ":2===a?"nd":3===a?"rd":"th";
682 return e+t},week:{dow:1,doy:4}}),e.defineLocale("en-ca",{months:"January_Februar y_March_April_May_June_July_August_September_October_November_December".split("_ "),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),week days:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekd aysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr _Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"M MMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calenda r:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",la stDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeT ime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes" ,h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:" a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:fun ction(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th ";return e+t}}),e.defineLocale("en-gb",{months:"January_February_March_April_May _June_July_August_September_October_November_December".split("_"),monthsShort:"J an_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Mond ay_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon _Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),l ongDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] L T",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT ",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past :"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hour s",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},d ayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1= ==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow: 1,doy:4}}),e.defineLocale("en-ie",{months:"January_February_March_April_May_June _July_August_September_October_November_December".split("_"),monthsShort:"Jan_Fe b_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tu esday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_ Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDa teFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nex tDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",last Week:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s a go",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:" a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMo nthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e %100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy: 4}}),e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_ August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_ Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_ Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Th u_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateForm at:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",next Day:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastW eek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ag o",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMon thOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e% 100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy:4 }}),e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_ aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar _apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_m erkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_v en_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat: {LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:fun ction(e,a,t){return e>11?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{same Day:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[ Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{fut ure:"post %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",h h:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d j aroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var Ud="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Vd=" ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");e.defineLocale("es-d o",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre _noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test (a)?Vd[e.month()]:Ud[e.month()]:Ud},monthsParseExact:!0,weekdays:"domingo_lunes_ martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar. _mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),w eekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY", LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==thi s.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hour s()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s" :"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"" )+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segu ndos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse: /\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});var $d="ene._feb._mar._abr._may._j un._jul._ago._sep._oct._nov._dic.".split("_"),Kd="ene_feb_mar_abr_may_jun_jul_ag o_sep_oct_nov_dic".split("_");e.defineLocale("es",{months:"enero_febrero_marzo_a bril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"), monthsShort:function(e,a){return e?/-MMM-/.test(a)?Kd[e.month()]:$d[e.month()]:$ d},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_s ábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"), weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateForm at:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de ] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDa y:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:functio n(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){r eturn"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[a yer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{fut ure:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"un a hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año ",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy: 4}}),e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_ august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr _märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_ esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort: "P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat :{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:m m",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homm e,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] d ddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:xs,m:x s,mm:xs,h:xs,hh:xs,d:xs,dd:"%d päeva",M:xs,MM:xs,y:xs,yy:xs},dayOfMonthOrdinalPa rse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("eu",{months:" urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_az aroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ir a._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_a steartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._a l._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_") ,weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD", LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYY Y[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MM M D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[ etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[et an]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s b arru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu b at",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:" urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{d ow:1,doy:7}});var Zd={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰ "},qd={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"," ۰":"0"};e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_س پتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژ وئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_س ه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌ شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split(" _"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYY Y",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meri diemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},m eridiem:function(e,a,t){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay :"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[ دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{futu re:"در %s",past:"%s پیش",s:"چند ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh :"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"} ,preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return qd[e]}).repla ce(/،/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Z d[e]}).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{ dow:6,doy:12}});var Bd="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahde ksan yhdeksän".split(" "),Qd=["nolla","yhden","kahden","kolmen","neljän","viiden ","kuuden",Bd[7],Bd[8],Bd[9]];e.defineLocale("fi",{months:"tammikuu_helmikuu_maa liskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulu kuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_ loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_ torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".spli t("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm", LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY" ,lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{ sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] L T",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"} ,relativeTime:{future:"%s päästä",past:"%s sitten",s:Ps,m:Ps,mm:Ps,h:Ps,hh:Ps,d: Ps,dd:Ps,M:Ps,MM:Ps,y:Ps,yy:Ps},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d." ,week:{dow:1,doy:4}}),e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai _juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"j an_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_ mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekd aysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr _le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D M MMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sam eDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastD ay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime :{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir", h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mán aðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",w eek:{dow:1,doy:4}}),e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_m ai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort :"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),mon thsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi". split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekday sMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT: "HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",L LLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[D emain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernie r à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelqu es secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un j our",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrd inalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q ":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+( 1===e?"re":"e")}}}),e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_m ai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort :"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),mon thsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi". split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekday sMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT: "HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",L LLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[D emain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernie r à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelqu es secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un j our",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrd inalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q ":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+( 1===e?"re":"e")}},week:{dow:1,doy:4}}),e.defineLocale("fr",{months:"janvier_févr ier_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split( "_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc. ".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_v endredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".sp lit("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,lon gDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MM MM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWe ek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans "},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D" :return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1= ==e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});v ar Xd="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),e_ ="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy ",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_ oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/ .test(a)?e_[e.month()]:Xd[e.month()]:Xd},monthsParseExact:!0,weekdays:"snein_moa ndei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),we ekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL: "D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{s ameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:" [juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{fut ure:"oer %s",past:"%s lyn",s:"in pear sekonden",m:"ien minút",mm:"%d minuten",h: "ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen ",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal :function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});var a_=["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmh ios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],t_=["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","D àmh","Samh","Dùbh"],s_=["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin ","Dihaoine","Disathairne"],n_=["Did","Dil","Dim","Dic","Dia","Dih","Dis"],r_=[" Dò","Lu","Mà","Ci","Ar","Ha","Sa"];e.defineLocale("gd",{months:a_,monthsShort:t_ ,monthsParseExact:!0,weekdays:s_,weekdaysShort:n_,weekdaysMin:r_,longDateFormat: {LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:m m",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay :"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWee k:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",pa st:"bho chionn %s",s:"beagan diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh: "%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){var a= 1===e?"d":e%10===2?"na":"mh";return e+a},week:{dow:1,doy:4}}),e.defineLocale("gl ",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_ novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ag o._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_ma rtes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér. _xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekda ysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de ] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":" á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT" },nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay :function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function( ){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},re lativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"h ai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas ",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayO fMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale( "gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_No vembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set ._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_ Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre ._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysPa rseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM -YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sam eDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[ Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",p ast:"%s adim",s:Ws,m:Ws,mm:Ws,h:Ws,hh:Ws,d:Ws,dd:Ws,M:Ws,MM:Ws,y:Ws,yy:Ws},dayOf MonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e +"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week: {dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function( e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokalli"===a?e:"donparam"===a?e >12?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e <12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}}),e.defineLocale("he",{months :"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split ("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".sp lit("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShor t:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longD ateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY ",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",las tWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s ",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){retu rn 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימ ים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:func tion(e){return 2===e?"שנתיים":e%10===0&&10!==e?e+" שנה":e+" שנים"}},meridiemPars e:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function( e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,a,t){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?t?'לפנה"צ':"לפני הצהריים":e<18?t?'אחה"צ':"אחר י הצהריים":"בערב"}});var d_={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:" ९",0:"०"},__={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९ ":"9","०":"0"};e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुल ाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_ अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,week days:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysS hort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_ श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY" ,LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay: "[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में ",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंट े",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},p reparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return __[e]})} ,postformat:function(e){return e.replace(/\d/g,function(e){return d_[e]})},merid iemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,a){return 12===e&&(e=0),"र ात"===a?e<4?e:e+12:"सुबह"===a?e:"दोपहर"===a?e>=10?e:e+12:"शाम"===a?e+12:void 0}, meridiem:function(e,a,t){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"र ात"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"siječnja_veljače_ ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca ".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_k olovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu. _tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,we ekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),we ekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_u t_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H :mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWee k:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:retu rn"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4 :case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){swi tch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle ] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sa meElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:Es,mm :Es,h:Es,hh:Es,d:"dan",dd:Es,M:"mjesec",MM:Es,y:"godinu",yy:Es},dayOfMonthOrdina lParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var i_="vasárnap hétfőn ke dden szerdán csütörtökön pénteken szombaton".split(" ");e.defineLocale("hu",{mon ths:"január_február_március_április_május_június_július_augusztus_szeptember_okt óber_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug _szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_pé ntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_" ),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:m m:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MM MM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt( 1).toLowerCase()},meridiem:function(e,a,t){return e<12?t===!0?"de":"DE":t===!0?" du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek :function(){return Fs.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:functi on(){return Fs.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past :"%s",s:As,m:As,mm:As,h:As,hh:As,d:As,dd:As,M:As,MM:As,y:As,yy:As},dayOfMonthOrd inalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("hy-am", {months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_ սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվ ար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր ".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".spli t("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ". split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:" կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:s s",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay :"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function() {return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո ",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ", d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գի շերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.t est(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա" :"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e ,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ"; default:return e}},week:{dow:1,doy:7}}),e.defineLocale("id",{months:"Januari_Feb ruari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".spl it("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_") ,weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort: "Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".spli t("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY" ,LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridie mParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0)," pagi"===a?e:"siang"===a?e>=11?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridi em:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar :{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul ] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"} ,relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semen it",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:" %d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("is",{m onths:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_ desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_de s".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagu r_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau" .split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H: mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm" ,LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDa y:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek :"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"f yrir %s síðan",s:Js,m:Js,mm:Js,h:"klukkustund",hh:Js,d:Js,dd:Js,M:Js,MM:Js,y:Js, yy:Js},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.d efineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_ago sto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr _mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_m ercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_v en_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat: {LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:m m",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[ Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:fun ction(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:ret urn"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e) {return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m :"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni", M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1, 2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("ja",{months:"1月_2月_3月_4月 _5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
683 monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜 日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekd aysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"Y YYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"Y YYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},mer idiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,a,t){re turn e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週 ]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdin alParse:/\d{1,2}日/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":ret urn e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分" ,mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}}) ,e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus _September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Me i_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kem is_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split(" _"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS :"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL :"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,m eridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?e>=11 ?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e <11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten pun iko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay: "[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relat iveTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik", m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd: "%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7 }}),e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაის ი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),form at:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომ ბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგ ვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხ შაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekd aysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა _შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{ sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",next Week:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relative Time:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/," ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replac e(/(ი|ე)$/,"ის უკან"):/წელი/.test(e)?e.replace(/წელი$/,"წლის უკან"):void 0},s:"რ ამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე" ,M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d {1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&& e%20===0||e%100===0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}});var o_={0:"-ші",1:"-ші" ,2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-ш ы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};e.d efineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыр күйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_ші л_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_ бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".spli t("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm", LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ddd d, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең саға т] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен апт аның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s б ұрын",s:"бірнеше секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат" ,d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMon thOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){var a=e%10,t=e>=100?100:nul l;return e+(o_[e]||o_[a]||o_[t])},week:{dow:1,doy:7}}),e.defineLocale("km",{mont hs:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".spli t("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច ្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍" .split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split ("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),lo ngDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D M MMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង ] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោ ង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future :"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh :"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្ន ាំ"},week:{dow:1,doy:4}});var m_={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮ ",9:"೯",0:"೦"},u_={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":" 8","೯":"9","೦":"0"};e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮ ೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsSh ort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬ_ಅಕ್ಟೋಬ_ನವೆಂಬ_ಡಿಸೆಂ ಬ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರು ವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನ ಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT: "A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:m m",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳ ೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sa meElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",m:" ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M: "ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){re turn e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return u_[e]})},postformat:function(e ){return e.replace(/\d/g,function(e){return m_[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,a){return 12===e&&(e=0),"ರಾತ್ರಿ"===a? e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===a?e:"ಮಧ್ಯಾಹ್ನ"===a?e>=10?e:e+12:"ಸಂಜೆ"===a?e+12:void 0}, meridiem:function(e,a,t){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<2 0?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){ret urn e+"ನೇ"},week:{dow:0,doy:6}}),e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월 _7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11 월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShor t:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateForm at:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMM M D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD",ll:"YYYY년 MMMM D일", lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:" 오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT" ,sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",m m:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},da yOfMonthOrdinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:functio n(e){return"오후"===e},meridiem:function(e,a,t){return e<12?"오전":"오후"}});var l_={0 :"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",1 0:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу", 100:"-чү"};e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль _август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_ап р_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейш емби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бе й_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateForm at:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H H:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDa y:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek: "[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s и чинде",past:"%s мурун",s:"бирнече секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саа т",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var a= e%10,t=e>=100?100:null;return e+(l_[e]||l_[a]||l_[t])},week:{dow:1,doy:7}}),e.de fineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_Septem ber_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_ Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"So nndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekd aysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr _Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm :ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL :"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L" ,nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastW eek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT"; default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:Ns,past:Cs,s:"e p uer Sekonnen",m:Rs,mm:"%d Minutten",h:Rs,hh:"%d Stonnen",d:Rs,dd:"%d Deeg",M:Rs, MM:"%d Méint",y:Rs,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d. ",week:{dow:1,doy:4}}),e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະ ພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກ ຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),w eekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"), weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",L L:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridi emParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function (e,a,t){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nex tDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອ ີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"% d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}} );var M_={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_vala ndos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_d ienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_me tų_metus",yy:"metai_metų_metus"};e.defineLocale("lt",{months:{format:"sausio_vas ario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_g ruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_li epa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[ ^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal _geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmad ienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),sta ndalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktad ienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_ Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysPars eExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [ d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m. ] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},ca lendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay: "[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"p o %s",past:"prieš %s",s:Gs,m:Us,mm:Ks,h:Us,hh:Ks,d:Us,dd:Ks,M:Us,MM:Ks,y:Us,yy:K s},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},wee k:{dow:1,doy:4}});var h_={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minū tes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split( "_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_diena s".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēne sis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_ga diem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};e.defineLocale ("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_sept embris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai _jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_ trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C _Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0 ,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. M MMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"} ,calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:" dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pul ksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:Qs,m:Bs ,mm:qs,h:Bs,hh:qs,d:Bs,dd:qs,M:Bs,MM:qs,y:Bs,yy:qs},dayOfMonthOrdinalParse:/\d{1 ,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var L_={words:{m:["jedan minut","jedno g minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat ","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:[ "godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a [0]:e>=2&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=L_.words[t];return 1== =t.length?a?s[0]:s[1]:e+" "+L_.correctGrammaticalCase(e,s)}};e.defineLocale("me" ,{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novemba r_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._ok t._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utor ak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._ čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekday sParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMM M YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDa y:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){ case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6: return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"} },lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedjelje] [u] LT", "[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [sub ote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",p ast:"prije %s",s:"nekoliko sekundi",m:L_.translate,mm:L_.translate,h:L_.translat e,hh:L_.translate,d:"dan",dd:L_.translate,M:"mjesec",MM:L_.translate,y:"godinu", yy:L_.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,do y:7}}),e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga- whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa- ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_ Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-? ){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortR egex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u 0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_ Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin :"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L: "DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYY Y [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",n extWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] L T",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"% d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalPars e:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("mk",{months:"јан уари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декемвр и".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".spli t("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_ "),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL :"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{s ameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastD ay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:r eturn"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s: "неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse :/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,t=e%100;return 0== =e?e+"-ев":0===t?e+"-ен":t>10&&t<20?e+"-ти":1===a?e+"-ви":2===a?e+"-ри":7===a||8 ===a?e+"-ми":e+"-ти"},week:{dow:1,doy:7}}),e.defineLocale("ml",{months:"ജനുവരി_ഫ െബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ". split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക് ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_ത ിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY" ,LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",las tDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{futu re:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ് റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",M M:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ് |വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,a){return 12===e&&(e=0),"രാത്രി"=== a&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===a||"വൈകുന്നേരം"===a?e+12:e},meridiem:function(e,a,t){r eturn e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"} });var c_={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},Y_={"१": "1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.d efineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप् टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप ्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseEx act:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_" ),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_म ं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता" ,L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D M MMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWe ek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relat iveTime:{future:"%sमध्ये",past:"%sपूर्वी",s:Xs,m:Xs,mm:Xs,h:Xs,hh:Xs,d:Xs,dd:Xs, M:Xs,MM:Xs,y:Xs,yy:Xs},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,fun ction(e){return Y_[e]})},postformat:function(e){return e.replace(/\d/g,function( e){return c_[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:fun ction(e,a){return 12===e&&(e=0),"रात्री"===a?e<4?e:e+12:"सकाळी"===a?e:"दुपारी"== =a?e>=10?e:e+12:"सायंकाळी"===a?e+12:void 0},meridiem:function(e,a,t){return e<4? "रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6} }),e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos _September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Me i_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khami s_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_" ),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:" HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:" dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,me ridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?e>=11 ?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e <11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmar in pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{futur e:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h: "sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun ",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("ms",{months:"Januari_Febru ari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_") ,monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekda ys:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Is n_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"), longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse: /pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"p agi"===a?e:"tengahari"===a?e>=11?e:e+12:"petang"===a||"malam"===a?e+12:void 0},m eridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam "},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"d ddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",s ameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa sa at",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"s ebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});var y_={1: "၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},f_={"၁":"1","၂":"2"," ၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};e.defineLocale(" my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တ ိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စ က်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး _သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),week daysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH :mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMM M YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]" ,nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော % s က",s:"စက္ကန်.အနည်းငယ်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:" တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:functi on(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return f_[e]})},postformat:fu nction(e){return e.replace(/\d/g,function(e){return y_[e]})},week:{dow:1,doy:4}} ),e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_se ptember_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_ mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays: "søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"s ø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split( "_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YY YY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl .] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWe ek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",s ameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"e tt minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M :"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1, 2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var p_={1:"१",2:"२",3:"३",4:"४",5:"५",6 :"६",7:"७",8:"८",9:"९",0:"०"},D_={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6 ","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_ मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_") ,monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिस े.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिब ार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र. _शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysPar seExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY ",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){ret urn D_[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return p_ [e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,a){return 12===e&&(e=0),"राति"===a?e<4?e:e+12:"बिहान"===a?e:"दिउँसो"===a?e>=10?e:e+12:"साँ झ"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"राति":e<12?"बिहान":e<16 ?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",ne xtWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sam eElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",m:"एक मिनेट ",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",M M:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}});var k_="jan._feb._mr t._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),T_="jan_feb_mrt_apr_m ei_jun_jul_aug_sep_okt_nov_dec".split("_"),g_=[/^jan/i,/^feb/i,/^maart|mrt.?$/i, /^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^d ec/i],w_=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|ok tober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\ .?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april _mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsSh ort:function(e,a){return e?/-MMM-/.test(a)?T_[e.month()]:k_[e.month()]:k_},month sRegex:w_,monthsShortRegex:w_,monthsStrictRegex:/^(januari|februari|maart|mei|ju [nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictReg ex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\ .?)/i,monthsParse:g_,longMonthsParse:g_,shortMonthsParse:g_,weekdays:"zondag_maa ndag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_" ),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY" ,LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calenda r:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",la stDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relat iveTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut" ,mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand" ,MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste| de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1, doy:4}});var v_="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".spl it("_"),H_="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),S_=[/^ja n/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/ i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],b_=/^(januari|februari|maart|april|mei|april| ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.? |ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"ja nuari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_dec ember".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?H_[e.month( )]:v_[e.month()]:v_},monthsRegex:b_,monthsShortRegex:b_,monthsStrictRegex:/^(jan uari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|decemb er)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.? |sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:S_,longMonthsParse:S_,shortMonthsPar se:S_,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".spli t("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma _Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS :"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT", nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [o m] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paa r seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",d d:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonth OrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20 ?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("nn",{months:"januar_februar_m ars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),m onthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays :"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:" sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split ("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY" ,LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{s ameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka ] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameE lse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit mi nutt",
684 mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad ",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordi nal:"%d.",week:{dow:1,doy:4}});var j_={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭" ,8:"੮",9:"੯",0:"੦"},x_={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7", "੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈ ਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵ ਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:" ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort :"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/M M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",l astDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future: "%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh :"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"% d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return x_[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return j_[e] })},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,a){return 12=== e&&(e=0),"ਰਾਤ"===a?e<4?e:e+12:"ਸਵੇਰ"===a?e:"ਦੁਪਹਿਰ"===a?e>=10?e:e+12:"ਸ਼ਾਮ"===a? e+12:void 0},meridiem:function(e,a,t){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ" :e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}});var P_="styczeń_luty_marzec_kwiecień_ma j_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),O_ ="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_październi ka_listopada_grudnia".split("_");e.defineLocale("pl",{months:function(e,a){retur n e?""===a?"("+O_[e.month()]+"|"+P_[e.month()]+")":/D MMMM/.test(a)?O_[e.month() ]:P_[e.month()]:P_},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru ".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobot a".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"N d_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD. MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm" },calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:retur n"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return" [W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},r elativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:an,mm:an,h:an,hh:a n,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:an,y:"rok",yy:an},dayOfMonthOrdinalPars e:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("pt-br",{months: "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro _Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_D ez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-f eira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb". split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,l ongDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYY Y",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"ddd d [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6= ==this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},rela tiveTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"% d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"} ),e.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Ag osto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr _Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Ter ça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort: "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".spli t("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/ YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã à s] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){retur n 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT" },sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um min uto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mê s",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordi nal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_m artie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".s plit("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._ dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_ vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_" ),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H :mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMM M YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:" dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L "},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un mi nut",mm:tn,h:"o oră",hh:tn,d:"o zi",dd:tn,M:"o lună",MM:tn,y:"un an",yy:tn},week :{dow:1,doy:7}});var W_=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^ию л/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e.defineLocale("ru",{months:{format :"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_дека бря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сент ябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._ап р._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._м арт_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standal one:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),f ormat:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_") ,isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн _вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),months Parse:W_,longMonthsParse:W_,shortMonthsParse:W_,monthsRegex:/^(январ[ья]|янв\.?| феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья] |июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\. ?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?| марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг \.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?) /i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл [яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRe gex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.| нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},ca lendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT", nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в ] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.we ek())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day( )){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый ] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:" L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:nn,mm :nn,h:"час",hh:nn,d:"день",dd:nn,M:"месяц",MM:nn,y:"год",yy:nn},meridiemParse:/н очи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem: function(e,a,t){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrd inalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,a){switch(a){case"M":case"d":cas e"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";defaul t:return e}},week:{dow:1,doy:7}});var E_=["جنوري","فيبروري","مارچ","اپريل","مئي" ,"جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],A_=["آچر","سومر","اڱا رو","اربع","خميس","جمع","ڇنڇر"];e.defineLocale("sd",{months:E_,monthsShort:E_,we ekdays:A_,weekdaysShort:A_,weekdaysMin:A_,longDateFormat:{LT:"HH:mm",LTS:"HH:mm: ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM Y YYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:f unction(e,a,t){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀ اڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s: "چند سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){r eturn e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},we ek:{dow:1,doy:4}}),e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukča mánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golg gotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mie s_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga _maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort: "sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split( "_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] Y YYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH: mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [t i] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},rel ativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",m:"okta minuh ta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beai vvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdin alParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("si",{mont hs:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_ නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_ සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින ්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන" .split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,lo ngDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"Y YYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay :"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]", lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past: "%sකට පෙර",s:"තත්පර කිහිපය",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d :"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalP arse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු |පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:f unction(e,a,t){return e>11?t?"ප.ව.":"පස් වරු":t?"පෙ.ව.":"පෙර වරු"}});var F_="jan uár_február_marec_apríl_máj_jún_júl_august_september_október_november_december". split("_"),z_="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");e.def ineLocale("sk",{months:F_,monthsShort:z_,weekdays:"nedeľa_pondelok_utorok_streda _štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_ "),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:" H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWee k:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:ret urn"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v čera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o ] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:dn,m:dn,mm:dn ,h:dn,hh:dn,d:dn,dd:dn,M:dn,MM:dn,y:dn,yy:dn},dayOfMonthOrdinalParse:/\d{1,2}\./ ,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("sl",{months:"januar_februar_ marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_ "),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".spl it("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_pet ek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split(" _"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDate Format:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YY YY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextD ay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [ned eljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob ] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob ] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [sob oto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},same Else:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:_n,m:_n,mm:_n,h:_n,hh:_ n,d:_n,dd:_n,M:_n,MM:_n,y:_n,yy:_n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:" %d.",week:{dow:1,doy:7}}),e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_M aj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Ja n_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hën ë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën _Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekd aysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)} ,meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS: "HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextW eek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameEl se:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një m inutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një m uaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,o rdinal:"%d.",week:{dow:1,doy:4}});var J_={words:{m:["један минут","једне минуте" ],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата", "сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","го дине","година"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:e>=2&&e< =4?a[1]:a[2]},translate:function(e,a,t){var s=J_.words[t];return 1===t.length?a? s[0]:s[1]:e+" "+J_.correctGrammaticalCase(e,s)}};e.defineLocale("sr-cyrl",{month s:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децем бар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов. _дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_че твртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб .".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:! 0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:" D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return" [у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу ] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у ] LT",lastWeek:function(){var e=["[прошле] [недеље] [у] LT","[прошлог] [понедељк а] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [чет вртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return e[t his.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:J_.translate,mm:J_.translate,h:J_.translate,hh:J_.translate,d:"дан", dd:J_.translate,M:"месец",MM:J_.translate,y:"годину",yy:J_.translate},dayOfMonth OrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var R_={words:{m:["j edan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jedno g sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca", "meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){ return 1===e?a[0]:e>=2&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=R_.words [t];return 1===t.length?a?s[0]:s[1]:e+" "+R_.correctGrammaticalCase(e,s)}};e.def ineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_o ktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_ju l_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_pon edeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._ uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_ "),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY", LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calend ar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(thi s.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";c ase 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u ] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [sred e] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [s ubote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s" ,past:"pre %s",s:"nekoliko sekundi",m:R_.translate,mm:R_.translate,h:R_.translat e,hh:R_.translate,d:"dan",dd:R_.translate,M:"mesec",MM:R_.translate,y:"godinu",y y:R_.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy :7}}),e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa _Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"), monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekday s:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_ "),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_ Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h :mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] L T",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile ] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s: "emizuzwana lomcane",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"li langa",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka "},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){ret urn e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:functi on(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?e>=11?e:e+12:"entsambam a"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordi nal:"%d",week:{dow:1,doy:4}}),e.defineLocale("sv",{months:"januari_februari_mars _april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),mon thsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:" söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön _mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_ "),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL :"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY H H:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorg on] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sa meElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder", m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar ",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d {1,2}(e|a)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"e":1===a?"a":2=== a?"a":"e";return e+t},week:{dow:1,doy:4}}),e.defineLocale("sw",{months:"Januari_ Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".spl it("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_") ,weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_ "),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3 _J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS :"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",ne xtWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopi ta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d :"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"mi aka %d"},week:{dow:1,doy:7}});var N_={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭", 8:"௮",9:"௯",0:"௦"},C_={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7"," ௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல ்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsS hort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம ்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_ப ுதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிற ு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு _வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL :"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calenda r:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று ] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இ ல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒ ரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"% d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/ ,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩ ௪௫௬௭௮௯௦]/g,function(e){return C_[e]})},postformat:function(e){return e.replace(/ \d/g,function(e){return N_[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு |மாலை/,meridiem:function(e,a,t){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e< 14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,a){ return 12===e&&(e=0),"யாமம்"===a?e<2?e:e+12:"வைகறை"===a||"காலை"===a?e:"நண்பகல்"= ==a&&e>=10?e:e+12},week:{dow:0,doy:6}}),e.defineLocale("te",{months:"జనవరి_ఫిబ్ర వరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".spl it("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ. _డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవార ం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శు క్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{ LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[ రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",same Else:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M: "ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalPars e:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridi emHour:function(e,a){return 12===e&&(e=0),"రాత్రి"===a?e<4?e:e+12:"ఉదయం"===a?e:" మధ్యాహ్నం"===a?e>=10?e:e+12:"సాయంత్రం"===a?e+12:void 0},meridiem:function(e,a,t) {return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week :{dow:0,doy:6}}),e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Mai u_Juniu_Juliu_Augustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort :"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Aug_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_ Segunda_Tersa_Kuarta_Kinta_Sexta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_ Kua_Kint_Sext_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Sex_Sa".split("_"),lo ngDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D M MMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT ",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",l astWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha % s",past:"%s liuba",s:"minutu balun",m:"minutu ida",mm:"minutus %d",h:"horas ida" ,hh:"horas %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:functi on(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";r eturn e+t},week:{dow:1,doy:4}}),e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_ม ีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม". split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย ._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส บดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์ _เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParse Exact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY" ,LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemPa rse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:fu nction(e,a,t){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เ มื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativ eTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที" ,h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y :"1 ปี",yy:"%d ปี"}}),e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_ Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),months Short:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Lin ggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"L in_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split ("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY", LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",last Day:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTi me:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang mi nuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:" isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/ \d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var I_="pagh_wa’_cha ’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");e.defineLocale("tlh",{months:"ter a’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar j av_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’m aH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_j ar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_ja r wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_pov jaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_p ovjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LT S:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextW eek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{futur e:on,past:mn,s:"puS lup",m:"wa’ tup",mm:un,h:"wa’ rep",hh:un,d:"wa’ jaj",dd:un,M :"wa’ jar",MM:un,y:"wa’ DIS",yy:un},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:" %d.",week:{dow:1,doy:4}});var G_={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"' inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"' ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr", {months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Ara lık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".sp lit("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split( "_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_S a_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYY Y",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},cale ndar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dd dd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameEls e:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir d akika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir a y",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci |üncü|ncı|uncu|ıncı)/,ordinal:function(e){if(0===e)return e+"'ıncı";var a=e%10,t =e%100-a,s=e>=100?100:null;return e+(G_[a]||G_[t]||G_[s])},week:{dow:1,doy:7}}), e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Se temvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G ün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xh úadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".spl it("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm" ,LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d \'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){r eturn e>11?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay: "[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] d ddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s: Mn,m:Mn,mm:Mn,h:Mn,hh:Mn,d:Mn,dd:Mn,M:Mn,MM:Mn,y:Mn,yy:Mn},dayOfMonthOrdinalPars e:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{mont hs:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbi r_dwjnbir".split("_"),
685 monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbr ˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas _asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍ yas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".sp lit("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYY Y",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[as dkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT", lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past: "yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:" %d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12} }),e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ _ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉ ⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:" ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰ ⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ _ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:" HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D M MMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek: "dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relati veTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h: "ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ" ,yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}}),e.defineLocale("uk",{months:{format:"січн я_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_груд ня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_ серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_ квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:cn,weekdaysShort :"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_") ,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LL L:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay: Yn("[Сьогодні "),nextDay:Yn("[Завтра "),lastDay:Yn("[Вчора "),nextWeek:Yn("[У] d ddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:retur n Yn("[Минулої] dddd [").call(this);case 1:case 2:case 4:return Yn("[Минулого] d ddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s :"декілька секунд",m:Ln,mm:Ln,h:"годину",hh:Ln,d:"день",dd:Ln,M:"місяць",MM:Ln,y :"рік",yy:Ln},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дн я|вечора)$/.test(e)},meridiem:function(e,a,t){return e<4?"ночі":e<12?"ранку":e<1 7?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,a){ switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});var U_=["جنوری","فروری","مارچ", "اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],V_=["اتوار ","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];return e.defineLocale("ur",{months: U_,monthsShort:U_,weekdays:V_,weekdaysShort:V_,weekdaysMin:V_,longDateFormat:{LT :"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm", LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return" شام"===e},meridiem:function(e,a,t){return e<12?"صبح":"شام"},calendar:{sameDay:"[ آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ رو ز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future :"%s بعد",past:"%s قبل",s:"چند سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:" %d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"} ,preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}}),e.defineLocale("uz-latn",{months:"Yanv ar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_ "),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),we ekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_") ,weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_S e_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/Y YYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},ca lendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [ku ni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d so at",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week: {dow:1,doy:7}}),e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл _август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май _июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чорша нба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан". split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH: mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL: "D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эр тага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]" ,lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future: "Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика ",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}}),e.defineLocale("vi",{months:"tháng 1_thá ng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_t háng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th 10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_t hứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".s plit("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,me ridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e ,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm :ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"d ddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:m m",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[ Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",l astWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",pas t:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"m ột ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOf MonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e .defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé ~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsS hort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),mo nthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~ Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát ".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExa ct:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYY Y HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nex tDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT ",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",pa st:"%s á~gó",s:"á ~féw ~sécó~ñds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr" ,hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýé ár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:functi on(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";r eturn e+t},week:{dow:1,doy:4}}),e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_") ,monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".spl it("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_ "),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"A ̀ì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A", L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"ddd d [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [n i] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aa yá die",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfM onthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}}),e.define Locale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),months Short:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_ 星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),week daysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:" YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l :"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日dddd HH:mm" },meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){return 12===e&&(e =0),"凌晨"===a||"早上"===a||"上午"===a?e:"下午"===a||"晚上"===a?e+12:e>=11?e:e+12},meridie m:function(e,a,t){var s=100*e+a;return s<600?"凌晨":s<900?"早上":s<1130?"上午":s<1230? "中午":s<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下] ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalPar se:/\d{1,2}(日|月|周)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":re turn e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}}, relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4} }),e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split( "_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星 期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".spli t("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH :mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY年MMMD日dd dd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YYYY年MMMD日 dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){return 12===e&&(e=0),"凌晨"===a||"早上"===a||"上午"===a?e:"中午"===a?e>=11?e:e+12:"下午"===a||"晚 上"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"凌晨":s<9 00?"早上":s<1130?"上午":s<1230?"中午":s<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nex tDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameEls e:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){switch(a){c ase"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":retur n e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘" ,mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy :"%d 年"}}),e.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月 ".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),wee kdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_ 週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm" ,LTS:"HH:mm:ss",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日 HH:mm",LLLL:"YYYY 年MMMD日dddd HH:mm",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日 HH:mm",llll:"YY YY年MMMD日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a ){return 12===e&&(e=0),"凌晨"===a||"早上"===a||"上午"===a?e:"中午"===a?e>=11?e:e+12:"下午" ===a||"晚上"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600? "凌晨":s<900?"早上":s<1130?"上午":s<1230?"中午":s<1800?"下午":"晚上"},calendar:{sameDay:"[今天 ]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT" ,sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){swi tch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case" W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒", m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y: "1 年",yy:"%d 年"}}),e.locale("en"),e})</script><iron-iconset-svg size="24" name=" date-picker"> <svg> <defs> <g id="chevron-left"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path></g> <g id="chevron-right"><path d="M10 6L8.59 7. 41 13.17 12l-4.58 4.59L10 18l6-6z"></path></g> </defs> </svg> </iron-iconset-svg > <dom-module id="paper-calendar" assetpath="/res/imp/bower_components/polymer-p aper-date-picker/"> <template> <style>:host{display:block;box-sizing:border-box; padding:12px 0;position:relative;width:100%;height:100%;min-width:160px;min-heig ht:160px;color:var(--primary-text-color);-webkit-font-smoothing:antialiased;-web kit-tap-highlight-color:transparent;--ease-in-sine:cubic-bezier(0.47, 0, 0.745, 0.715);--ease-out-sine:cubic-bezier(0.39, 0.575, 0.565, 1);@apply(--paper-font-b ody1);@apply(--paper-calendar);overflow:hidden;-webkit-touch-callout:none;-webki t-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select :none;user-select:none;@apply(--paper-calendar);}#calendar{position:relative;wid th:100%;height:100%;@apply(--layout-horizontal);}#months{height:100%;@apply(--la yout-horizontal);}#months.animating .month-nav{opacity:1}#months.animating{trans ition-property:transform,opacity;transition-duration:.3s}#months.animating.swipe {transition-timing-function:var(--ease-in-sine);--webkit-transition-timing-funct ion:var(--ease-in-sine)}#months.animating.reset{transition-timing-function:var(- -ease-out-sine);--webkit-transition-timing-function:var(--ease-out-sine)}.month{ height:100%;@apply(--layout-vertical);@apply(--layout-justified);@apply(--layout -flex);}.month-nav,.month-row{height:calc(100%/8);box-sizing:border-box;padding: 0 calc(100%/36)}.month-col{position:relative;@apply(--layout-vertical);@apply(-- layout-flex);}.month-nav{position:absolute;top:0;left:0;width:100%;opacity:1;@ap ply(--layout-horizontal);@apply(--layout-center);}.month-nav .col{position:relat ive;@apply(--layout-vertical);@apply(--layout-center-center);}.month-nav .btn .i con{cursor:pointer}.month-nav .btn .ripple{position:absolute;width:48px;height:4 8px;top:50%;left:50%;transform:translate(-50%,-50%)}.month-nav .btn.right{text-a lign:right}.month-name{line-height:24px;vertical-align:middle;text-align:center; font-weight:700;@apply(--paper-font-body2);@apply(--layout-horizontal);@apply(-- layout-center);@apply(--layout-center-justified);@apply(--layout-flex);}.month-w eekdays{color:var(--secondary-text-color);@apply(--layout-horizontal);@apply(--l ayout-justified);@apply(--layout-flex);}.month-days{@apply(--layout-horizontal); @apply(--layout-justified);@apply(--layout-flex);}.month-col .day{cursor:default ;pointer-events:none;@apply(--layout-fit);@apply(--layout-vertical);@apply(--lay out-center-center);}.month-col{position:relative;width:100%;height:100%;@apply(- -layout-center-center);}.day-item{border-radius:100%;width:100%;height:100%}.day -item::selection{background:0 0}.day-item.selected{background:var(--default-prim ary-color)}.day-item.selected .day{color:var(--text-primary-color)}.day-item:not ([disabled]){cursor:pointer}.day-item[disabled] .day{color:var(--text-disabled-c olor,#9d9d9d)}.day-item.today .day{color:var(--default-primary-color)}.day-item. selected.today .day{color:var(--text-primary-color)}.flex{@apply(--layout-flex); }.flex-5{@apply(--layout-flex-5);}</style> <div id="calendar"> <div id="months" on-track="_onTrack" class$="{{_contentClass}}"> <template is="dom-repeat" items= "{{_months}}" as="month"> <div class$="{{_getMonthClass('month', month)}}"> <div class="month-row month-name"> <span>{{dateFormat(month.date, 'MMMM YYYY', local e)}}</span> </div> <div class="month-row month-weekdays week"> <template is="dom -repeat" items="{{_weekdays}}"> <div class="month-col layout vertical flex"> <di v class="day">{{item.0}}</div> </div> </template> </div> <template is="dom-repea t" items="{{month.weeks}}" as="row"> <div class="month-row month-days"> <templat e is="dom-repeat" items="{{row}}"> <div class="month-col"> <div class$="{{_getDa yClass('day-item selection', item.date, today, date)}}" disabled$="{{_isDisabled (item.day, item.date, minDate, maxDate)}}" on-tap="_tapDay" date$="{{item.name}} "> <div class="day">{{item.day}}</div> </div> </div> </template> </div> </templa te> </div> </template> </div> <div id="monthNav" class="month-nav"> <div class=" flex col self-stretch"> <div class="btn" on-tap="_swipePrevMonth"> <paper-ripple center="" class="ripple circle"></paper-ripple> <iron-icon class="icon flex" ic on="date-picker:chevron-left"></iron-icon> </div> </div> <div class="flex-5"></d iv> <div class="flex col self-stretch"> <div class="btn" on-tap="_swipeNextMonth "> <paper-ripple center="" class="ripple circle"></paper-ripple> <iron-icon clas s="icon flex" icon="date-picker:chevron-right"></iron-icon> </div> </div> </div> </div> </template> <script>!function(){function t(t,e){return t=new Date(t.getT ime()),e=new Date(e.getTime()),t.setHours(0,0,0,0),e.setHours(0,0,0,0),(t.getTim e()-e.getTime())/864e5}var e=4,i=e*e,n=.5,s=40,a=2,r=1;Polymer({is:"paper-calend ar",properties:{date:{type:Date,notify:!0,value:function(){return new Date},obse rver:"_dateChanged"},locale:{type:String,value:"en",notify:!0,observer:"_localeC hanged"},minDate:{type:Date,value:null},maxDate:{type:Date,value:null},currentMo nth:{type:Number},currentYear:{type:Number},_contentClass:String,_months:Array,_ firstDayOfWeek:Number},behaviors:[Polymer.IronResizableBehavior],observers:["_po pulate(currentYear, currentMonth, minDate, maxDate, locale)"],listeners:{"iron-r esize":"_resizeHandler",swiped:"_onSwipe"},ready:function(){this._updateToday(), this.currentMonth=this.date.getMonth()+1,this.currentYear=this.date.getFullYear( ),this._transitionEvent=this._whichTransitionEnd()},dateFormat:function(t,e,i){i f(!t)return"";var n=moment(t);return n.locale(i||this.locale),n.format(e)},_loca leChanged:function(t){var e=moment();e.locale(t);for(var i=[],n=0;n<7;n++)i.push (e.weekday(n).format("dd"));this._weekdays=i,this._firstDayOfWeek=e.weekday(0).f ormat("d")},_populate:function(t,e,i,n){var s,a,h,o,l,u,d,_=[];if(i&&new Date(t, e,0)<i)return this.currentYear=i.getFullYear(),void(this.currentMonth=i.getMonth ()+1);if(n&&new Date(t,e-1,1)>n)return this.currentYear=n.getFullYear(),void(thi s.currentMonth=n.getMonth()+1);for(var c=-r;c<=r;c++)if(h=[[]],o=1,s=new Date(t, e-1+c,1),a=s.getMonth(),d={year:s.getFullYear(),month:s.getMonth()+1,date:new Da te(s)},this._monthWithinValidRange(d.year,d.month)){var m=s.getDay()-this._first DayOfWeek;for(m<0&&(m=7+m),l=0;l<m;l++)h[0].push({day:null,date:null});for(;s.ge tMonth()===a;)h[0].length&&l%7===0&&h.push([]),u={date:new Date(s.getFullYear(), a,o),name:this.dateFormat(s,"YYYY-MM-DD"),year:t,month:a,day:o},h[h.length-1].pu sh(u),s.setDate(++o),l++;for(;l<42;)l%7===0&&h.push([]),h[h.length-1].push({day: null,date:null}),l+=1;d.weeks=h,_.push(d)}_.length&&(this.set("_months",_),this. async(function(){this._updateSelection(),this._positionSlider()}))},_getDayClass :function(e,i){return i&&(0===t(i,this.today)&&(e+=" today"),0===t(i,this.date)& &(e+=" selected",this.async(function(){this._updateSelection()}))),e},_isDisable d:function(t,e){return!t||!this._withinValidRange(e)},_getMonthClass:function(t, e){return t+" month-"+e.year+"-"+e.month},_onTrack:function(t){var e=t.detail.dx ,r=t.detail.dy,h=Math.abs(e),o=Math.abs(r),l=this._containerWidth;switch(t.detai l.state){case"start":this._trackStartTime=(new Date).getTime(),this._startPos=th is._currentPos,this._moveQueue=[];break;case"track":this._moveQueue.length>=4&&t his._moveQueue.shift(),this._moveQueue.push(t);var u=e*e+r*r;if(!this._gesture&& u>i&&(this._gesture=h>o?"pan-x":"pan-y"),"pan-x"!==this._gesture)return;this._dr agging=!0;var d=l*this._months.length,_=this._startPos+e;if(_>0||_<-d+l){isNaN(p arseInt(this._resistStart,10))&&(this._resistStart=h);var c,m,f=h-this._resistSt art,g=s;c=f>l?1:f/l,m=g*(1-Math.pow(1-c,a)),_=e<0?-this._scrollWidth+l-m:m}else this._resistStart=null;this._translateX(_);break;case"end":this._resistStart=nul l;var p=this._getMonthIdx(this._startPos),y=this._getMonthIdx(this._currentPos), v=this._getFastestMovement(t).v,w=y!==p||v>n;if(!this._resistStart&&"pan-x"===th is._gesture&&w){if(v>n){var D=l-h,M=D/v;M>300&&(M=300),this._transitionDuration= M}e>0?this._swipePrevMonth():this._swipeNextMonth()}else this._translateX(this._ startPos,"reset");this._gesture=null}},_swipePrevMonth:function(){this._translat eX(0,"swipe",function(){this.set("_contentClass",""),this.transform("translateX( "+this._startPos+"px)",this.$.months),this.fire("swiped",{direction:"right"})}.b ind(this))},_swipeNextMonth:function(){(!this.maxDate||this.currentMonth<this.ma xDate.getMonth()+1)&&this._translateX(2*-this._containerWidth,"swipe",function() {this.set("_contentClass",""),this.transform("translateX("+this._startPos+"px)", this.$.months),this.fire("swiped",{direction:"left"})}.bind(this))},_getMonthIdx :function(t){var e=this._containerWidth,i=Math.floor((-t+e/2)/e);return i<0?0:i} ,_translateX:function(t,e,i){if(isNaN(parseInt(t,10)))throw new Error("Not a num ber: "+t);this._currentPos=t,e&&(this._transitionDuration&&(this.$.months.style. transitionDuration=this._transitionDuration+"ms"),this._once(this._transitionEve nt,function(){this.set("_contentClass",""),this.$.months.style.transitionDuratio n="",this._transitionDuration=null,this.$.monthNav.style.removeProperty("opacity "),i&&i()}.bind(this),this.$.months),this.set("_contentClass","animating "+e),th is.$.monthNav.style.removeProperty("opacity"),this._once("touchstart",function() {})),window.requestAnimationFrame(function(){if(!e){var i=this._containerWidth/2 ,n=Math.abs(this._startPos-t),s=100*(1-n/i);s=(100-Math.pow(s,2))/100/100;var a= Math.abs(parseFloat(s).toFixed(2));this.$.monthNav.style.opacity=a}this.transfor m("translateX("+t+"px)",this.$.months)}.bind(this))},_getFastestMovement:functio n(t){for(var e,i,n,s,a,r=this._moveQueue.length,h=0,o=0,l=0,u=0;u<r&&(a=this._mo veQueue[u]);u++)e=t.timeStamp-a.timeStamp,i=(t.detail.x-a.detail.x)/e,n=(t.detai l.y-a.detail.y)/e,s=i*i+n*n,s>l&&(h=i,o=n,l=s);return{x:h,y:o,v:Math.sqrt(l)}},_ onSwipe:function(t){"right"===t.detail.direction?this._prevMonth():this._nextMon th()},_once:function(t,e,i){function n(){i.removeEventListener(t,n),e.apply(null ,arguments)}i=i||this,i.addEventListener(t,n)},_incrMonth:function(t){var e=new Date(this.currentYear,this.currentMonth-1+t),i=e.getFullYear(),n=e.getMonth()+1; this._monthWithinValidRange(i,n)&&(this.currentYear=i,this.currentMonth=n)},_pre vMonth:function(){this._incrMonth(-1)},_nextMonth:function(){this._incrMonth(1)} ,_dateChanged:function(t,e){this._isValidDate(t)||(console.warn("Invalid date: " +t),this.date=t=e),this._withinValidRange(t)||(console.warn("Date outside of val id range: "+t),this.date=t=e),this.currentYear=t.getFullYear(),this.currentMonth =t.getMonth()+1,e&&t.getTime&&e.getTime&&t.getTime()===e.getTime()||this._update Selection()},_tapDay:function(t){if(!this._withinValidRange(t.model.item.date))r eturn!1;var e=t.model.item,i=new Date(this.date.getTime());i.setYear(e.year),i.s etMonth(e.month),i.setDate(e.day),this.date=i},_isValidDate:function(t){return t &&t.getTime&&!isNaN(t.getTime())},_withinValidRange:function(t){return!!this._is ValidDate(t)&&((!this.minDate||t>=this.minDate)&&(!this.maxDate||t<=this.maxDate ))},_monthWithinValidRange:function(t,e){var i=new Date(t,e-1,1),n=new Date(t,e, 0);return this._withinValidRange(i)||this._withinValidRange(n)},_positionSlider: function(){if(this._months&&this._containerWidth){this._scrollWidth=this.$.calen dar.offsetWidth*this._months.length,this.$.months.style.minWidth=this._scrollWid th+"px";var t=12*this.currentYear+this.currentMonth-(12*this._months[0].year+thi s._months[0].month);this._translateX(-t*this._containerWidth)}},_updateSelection :function(){var t=this.$$(".day-item.selected");if(t){t.style.height="",t.style. width="";var e=t.parentElement.offsetWidth,i=t.parentElement.offsetHeight;t.styl e.flex="",window.requestAnimationFrame(function(){e>0&&e<i?t.style.height=e+"px" :i>0&&(t.style.width=i+"px")})}},_resizeHandler:function(){this._containerWidth= this.$.calendar.offsetWidth,this._positionSlider(),this._updateSelection()},_get DayName:function(t){return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()} ,_updateToday:function(){this.today=new Date,this.today.setHours(0,0,0,0)},_whic hTransitionEnd:function(){var t={WebkitTransition:"webkitTransitionEnd",MozTrans ition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"tr ansitionend"};for(var e in t)if(void 0!==this.style[e])return t[e]}})}()</script > </dom-module> <style is="custom-style">:root{--paper-date-picker-dialog:{margi n:0;max-height:520px!important;overflow:hidden};--paper-date-picker-dialog-picke r:{margin-top:0!important;padding:0};--paper-date-picker-dialog-calendar:{paddin g-bottom:0};--paper-date-picker-dialog-heading:{margin-bottom:-62px};}</style> < dom-module id="paper-date-picker-dialog-style" assetpath="/res/imp/bower_compone nts/polymer-paper-date-picker/"> <template> <style>.paper-date-picker-dialog{@ap ply(--paper-date-picker-dialog);}.paper-date-picker-dialog>paper-date-picker{--p aper-calendar:{@apply(--paper-date-picker-dialog-calendar);};@apply(--paper-date -picker-dialog-picker);}.paper-date-picker-dialog>paper-date-picker:not([narrow] ){--paper-date-picker-heading:{@apply(--paper-date-picker-dialog-heading);};}</s tyle> </template> </dom-module> <dom-module id="iron-list" assetpath="/res/imp/b ower_components/iron-list/"> <template> <style>:host{display:block}@media only s creen and (-webkit-max-device-pixel-ratio:1){:host{will-change:transform}}#items {@apply(--iron-list-items-container);position:relative}:host(:not([grid])) #item s>::content>*{width:100%}#items>::content>*{box-sizing:border-box;margin:0;posit ion:absolute;top:0;will-change:transform}</style> <array-selector id="selector" items="{{items}}" selected="{{selectedItems}}" selected-item="{{selectedItem}}"> </array-selector> <div id="items"> <content></content> </div> </template> </dom -module> <script>!function(){var t=navigator.userAgent.match(/iP(?:hone|ad;(?: U ;)? CPU) OS (\d+)/),e=t&&t[1]>=8,i=3,s="-10000px",h=-100;Polymer({is:"iron-list" ,properties:{items:{type:Array},maxPhysicalCount:{type:Number,value:500},as:{typ e:String,value:"item"},indexAs:{type:String,value:"index"},selectedAs:{type:Stri ng,value:"selected"},grid:{type:Boolean,value:!1,reflectToAttribute:!0},selectio nEnabled:{type:Boolean,value:!1},selectedItem:{type:Object,notify:!0},selectedIt ems:{type:Object,notify:!0},multiSelection:{type:Boolean,value:!1},scrollOffset: {type:Number,value:0}},observers:["_itemsChanged(items.*)","_selectionEnabledCha nged(selectionEnabled)","_multiSelectionChanged(multiSelection)","_setOverflow(s crollTarget, scrollOffset)"],behaviors:[Polymer.Templatizer,Polymer.IronResizabl eBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronScrollTargetBehavior],keyBind ings:{up:"_didMoveUp",down:"_didMoveDown",enter:"_didEnter"},_ratio:.5,_scroller PaddingTop:0,_scrollPosition:0,_physicalSize:0,_physicalAverage:0,_physicalAvera geCount:0,_physicalTop:0,_virtualCount:0,_physicalIndexForKey:null,_estScrollHei ght:0,_scrollHeight:0,_viewportHeight:0,_viewportWidth:0,_physicalItems:null,_ph ysicalSizes:null,_firstVisibleIndexVal:null,_lastVisibleIndexVal:null,_collectio n:null,_maxPages:2,_focusedItem:null,_focusedIndex:-1,_offscreenFocusedItem:null ,_focusBackfillItem:null,_itemsPerRow:1,_itemWidth:0,_rowHeight:0,_templateCost: 0,get _physicalBottom(){return this._physicalTop+this._physicalSize},get _scroll Bottom(){return this._scrollPosition+this._viewportHeight},get _virtualEnd(){ret urn this._virtualStart+this._physicalCount-1},get _hiddenContentSize(){var t=thi s.grid?this._physicalRows*this._rowHeight:this._physicalSize;return t-this._view portHeight},get _itemsParent(){return Polymer.dom(Polymer.dom(this._userTemplate ).parentNode)},get _maxScrollTop(){return this._estScrollHeight-this._viewportHe ight+this._scrollOffset},_minVirtualStart:0,get _maxVirtualStart(){return Math.m ax(0,this._virtualCount-this._physicalCount)},_virtualStartVal:0,set _virtualSta rt(t){t=Math.min(this._maxVirtualStart,Math.max(this._minVirtualStart,t)),this.g rid&&(t-=t%this._itemsPerRow),this._virtualStartVal=t},get _virtualStart(){retur n this._virtualStartVal||0},_physicalStartVal:0,set _physicalStart(t){t%=this._p hysicalCount,t<0&&(t=this._physicalCount+t),this.grid&&(t-=t%this._itemsPerRow), this._physicalStartVal=t,this._physicalEnd=(this._physicalStart+this._physicalCo unt-1)%this._physicalCount},get _physicalStart(){return this._physicalStartVal|| 0},_physicalCountVal:0,set _physicalCount(t){this._physicalCountVal=t,this._phys icalEnd=(this._physicalStart+this._physicalCount-1)%this._physicalCount},get _ph ysicalCount(){return this._physicalCountVal},_physicalEnd:0,get _optPhysicalSize (){return this.grid?this._estRowsInView*this._rowHeight*this._maxPages:0===this. _viewportHeight?1/0:this._viewportHeight*this._maxPages},get _isVisible(){return Boolean(this.offsetWidth||this.offsetHeight)},get firstVisibleIndex(){var t=thi s._firstVisibleIndexVal;if(null==t){var e=this._physicalTop+this._scrollOffset;t =this._iterateItems(function(t,i){return e+=this._getPhysicalSizeIncrement(t),e> this._scrollPosition?this.grid?i-i%this._itemsPerRow:i:this.grid&&this._virtualC ount-1===i?i-i%this._itemsPerRow:void 0})||0,this._firstVisibleIndexVal=t}return t},get lastVisibleIndex(){var t=this._lastVisibleIndexVal;if(null==t){if(this.g rid)t=Math.min(this._virtualCount,this.firstVisibleIndex+this._estRowsInView*thi s._itemsPerRow-1);else{var e=this._physicalTop+this._scrollOffset;this._iterateI tems(function(i,s){e<this._scrollBottom&&(t=s),e+=this._getPhysicalSizeIncrement (i)})}this._lastVisibleIndexVal=t}return t},get _defaultScrollTarget(){return th is},get _virtualRowCount(){return Math.ceil(this._virtualCount/this._itemsPerRow )},get _estRowsInView(){return Math.ceil(this._viewportHeight/this._rowHeight)}, get _physicalRows(){return Math.ceil(this._physicalCount/this._itemsPerRow)},get _scrollOffset(){return this._scrollerPaddingTop+this.scrollOffset},ready:functi on(){this.addEventListener("focus",this._didFocus.bind(this),!0)},attached:funct ion(){0===this._physicalCount&&this._debounceTemplate(this._render),this.listen( this,"iron-resize","_resizeHandler")},detached:function(){this.unlisten(this,"ir on-resize","_resizeHandler")},_setOverflow:function(t){this.style.webkitOverflow Scrolling=t===this?"touch":"",this.style.overflow=t===this?"auto":"",this._lastV isibleIndexVal=null,this._firstVisibleIndexVal=null,this._debounceTemplate(this. _render)},updateViewportBoundaries:function(){var t=window.getComputedStyle(this );this._scrollerPaddingTop=this.scrollTarget===this?0:parseInt(t["padding-top"], 10),this._isRTL=Boolean("rtl"===t.direction),this._viewportWidth=this.$.items.of fsetWidth,this._viewportHeight=this._scrollTargetHeight,this.grid&&this._updateG ridMetrics()},_scrollHandler:function(){var t=Math.max(0,Math.min(this._maxScrol lTop,this._scrollTop)),e=t-this._scrollPosition,i=e>=0;if(this._scrollPosition=t ,this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,Math.abs(e)>this ._physicalSize&&this._physicalSize>0){e-=this._scrollOffset;var s=Math.round(e/t his._physicalAverage)*this._itemsPerRow;this._virtualStart=this._virtualStart+s, this._physicalStart=this._physicalStart+s,this._physicalTop=Math.floor(this._vir tualStart/this._itemsPerRow)*this._physicalAverage,this._update()}else{var h=thi s._getReusables(i);i?(this._physicalTop=h.physicalTop,this._virtualStart=this._v irtualStart+h.indexes.length,this._physicalStart=this._physicalStart+h.indexes.l ength):(this._virtualStart=this._virtualStart-h.indexes.length,this._physicalSta rt=this._physicalStart-h.indexes.length),0===h.indexes.length?this._increasePool IfNeeded():this._update(h.indexes,i?null:h.indexes)}},_getReusables:function(t){ var e,i,s,h,l=[],o=this._hiddenContentSize*this._ratio,a=this._virtualStart,n=th is._virtualEnd,r=this._physicalCount,c=this._physicalTop+this._scrollOffset,_=th is._physicalBottom+this._scrollOffset,u=this._scrollTop,d=this._scrollBottom;for (t?(e=this._physicalStart,i=this._physicalEnd,s=u-c):(e=this._physicalEnd,i=this ._physicalStart,s=_-d);;){if(h=this._getPhysicalSizeIncrement(e),s-=h,l.length>= r||s<=o)break;if(t){if(n+l.length+1>=this._virtualCount)break;if(c+h>=u-this._sc rollOffset)break;l.push(e),c+=h,e=(e+1)%r}else{if(a-l.length<=0)break;if(c+this. _physicalSize-h<=d)break;l.push(e),c-=h,e=0===e?r-1:e-1}}return{indexes:l,physic alTop:c-this._scrollOffset}},_update:function(t,e){if(!t||0!==t.length){if(this. _manageFocus(),this._assignModels(t),this._updateMetrics(t),e)for(;e.length;){va r i=e.pop();this._physicalTop-=this._getPhysicalSizeIncrement(i)}this._positionI tems(),this._updateScrollerSize(),this._increasePoolIfNeeded()}},_createPool:fun ction(t){var e=new Array(t);this._ensureTemplatized();for(var i=0;i<t;i++){var s =this.stamp(null);e[i]=s.root.querySelector("*"),this._itemsParent.appendChild(s .root)}return e},_increasePoolIfNeeded:function(){var t=this,e=this._physicalBot tom+this._scrollOffset>=this._scrollBottom&&this._physicalTop-this._scrollOffset <=this._scrollPosition;if(this._physicalSize>=this._optPhysicalSize&&e)return!1; var i=Math.round(.5*this._physicalCount);return e?(this._yield(function(){t._inc reasePool(Math.min(i,Math.max(1,Math.round(50/t._templateCost))))}),!0):(this._d ebounceTemplate(this._increasePool.bind(this,i)),!0)},_yield:function(t){var e=w indow,i=e.requestIdleCallback?e.requestIdleCallback(t):e.setTimeout(t,16);Polyme r.dom.addDebouncer({complete:function(){e.cancelIdleCallback?e.cancelIdleCallbac k(i):e.clearTimeout(i),t()}})},_increasePool:function(t){var e=Math.min(this._ph ysicalCount+t,this._virtualCount-this._virtualStart,Math.max(this.maxPhysicalCou nt,i)),s=this._physicalCount,h=e-s,l=window.performance.now();h<=0||([].push.app ly(this._physicalItems,this._createPool(h)),[].push.apply(this._physicalSizes,ne w Array(h)),this._physicalCount=s+h,this._physicalStart>this._physicalEnd&&this. _isIndexRendered(this._focusedIndex)&&this._getPhysicalIndex(this._focusedIndex) <this._physicalEnd&&(this._physicalStart=this._physicalStart+h),this._update(),t his._templateCost=(window.performance.now()-l)/h)},_render:function(){if(this.is Attached&&this._isVisible)if(0===this._physicalCount)this.updateViewportBoundari es(),this._increasePool(i);else{var t=this._getReusables(!0);this._physicalTop=t .physicalTop,this._virtualStart=this._virtualStart+t.indexes.length,this._physic alStart=this._physicalStart+t.indexes.length,this._update(t.indexes),this._updat e()}},_ensureTemplatized:function(){if(!this.ctor){var t={};t.__key__=!0,t[this. as]=!0,t[this.indexAs]=!0,t[this.selectedAs]=!0,t.tabIndex=!0,this._instanceProp s=t,this._userTemplate=this.queryEffectiveChildren("template"),this._userTemplat e?this.templatize(this._userTemplate):console.warn("iron-list requires a templat e to be provided in light-dom")}},_getStampedChildren:function(){return this._ph ysicalItems},_forwardInstancePath:function(t,e,i){0===e.indexOf(this.as+".")&&th is.notifyPath("items."+t.__key__+"."+e.slice(this.as.length+1),i)},_forwardParen tProp:function(t,e){(this._physicalItems||[]).concat([this._offscreenFocusedItem ,this._focusBackfillItem]).forEach(function(i){i&&(i._templateInstance[t]=e)})}, _forwardParentPath:function(t,e){(this._physicalItems||[]).concat([this._offscre enFocusedItem,this._focusBackfillItem]).forEach(function(i){i&&i._templateInstan ce.notifyPath(t,e,!0)})},_forwardItemPath:function(t,e){if(this._physicalIndexFo rKey){var i=t.indexOf("."),s=t.substring(0,i<0?t.length:i),h=this._physicalIndex ForKey[s],l=this._offscreenFocusedItem,o=l&&l._templateInstance.__key__===s?l:th is._physicalItems[h];if(o&&o._templateInstance.__key__===s)if(i>=0)t=this.as+"." +t.substring(i+1),o._templateInstance.notifyPath(t,e,!0);else{var a=o._templateI nstance[this.as];if(Array.isArray(this.selectedItems)){for(var n=0;n<this.select edItems.length;n++)if(this.selectedItems[n]===a){this.set("selectedItems."+n,e); break}}else this.selectedItem===a&&this.set("selectedItem",e);o._templateInstanc e[this.as]=e}}},_itemsChanged:function(t){"items"===t.path?(this._virtualStart=0 ,this._physicalTop=0,this._virtualCount=this.items?this.items.length:0,this._col lection=this.items?Polymer.Collection.get(this.items):null,this._physicalIndexFo rKey={},this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null,this._phy sicalCount=this._physicalCount||0,this._physicalItems=this._physicalItems||[],th is._physicalSizes=this._physicalSizes||[],this._physicalStart=0,this._scrollTop> this._scrollOffset&&this._resetScrollPosition(0),this._removeFocusedItem(),this. _debounceTemplate(this._render)):"items.splices"===t.path?(this._adjustVirtualIn dex(t.value.indexSplices),this._virtualCount=this.items?this.items.length:0,this ._debounceTemplate(this._render)):this._forwardItemPath(t.path.split(".").slice( 1).join("."),t.value)},_adjustVirtualIndex:function(t){t.forEach(function(t){if( t.removed.forEach(this._removeItem,this),t.index<this._virtualStart){var e=Math. max(t.addedCount-t.removed.length,t.index-this._virtualStart);this._virtualStart =this._virtualStart+e,this._focusedIndex>=0&&(this._focusedIndex=this._focusedIn dex+e)}},this)},_removeItem:function(t){this.$.selector.deselect(t),this._focuse dItem&&this._focusedItem._templateInstance[this.as]===t&&this._removeFocusedItem ()},_iterateItems:function(t,e){var i,s,h,l;if(2===arguments.length&&e){for(l=0; l<e.length;l++)if(i=e[l],s=this._computeVidx(i),null!=(h=t.call(this,i,s)))retur n h}else{for(i=this._physicalStart,s=this._virtualStart;i<this._physicalCount;i+ +,s++)if(null!=(h=t.call(this,i,s)))return h;for(i=0;i<this._physicalStart;i++,s ++)if(null!=(h=t.call(this,i,s)))return h}},_computeVidx:function(t){return t>=t his._physicalStart?this._virtualStart+(t-this._physicalStart):this._virtualStart +(this._physicalCount-this._physicalStart)+t},_assignModels:function(t){this._it erateItems(function(t,e){var i=this._physicalItems[t],s=i._templateInstance,h=th is.items&&this.items[e];null!=h?(s[this.as]=h,s.__key__=this._collection.getKey( h),s[this.selectedAs]=this.$.selector.isSelected(h),s[this.indexAs]=e,s.tabIndex =this._focusedIndex===e?0:-1,this._physicalIndexForKey[s.__key__]=t,i.removeAttr ibute("hidden")):(s.__key__=null,i.setAttribute("hidden",""))},t)},_updateMetric s:function(t){Polymer.dom.flush();var e=0,i=0,s=this._physicalAverageCount,h=thi s._physicalAverage;this._iterateItems(function(t,s){i+=this._physicalSizes[t]||0 ,this._physicalSizes[t]=this._physicalItems[t].offsetHeight,e+=this._physicalSiz es[t],this._physicalAverageCount+=this._physicalSizes[t]?1:0},t),this.grid?(this ._updateGridMetrics(),this._physicalSize=Math.ceil(this._physicalCount/this._ite msPerRow)*this._rowHeight):this._physicalSize=this._physicalSize+e-i,this._physi calAverageCount!==s&&(this._physicalAverage=Math.round((h*s+e)/this._physicalAve rageCount))},_updateGridMetrics:function(){this._itemWidth=this._physicalCount>0 ?this._physicalItems[0].getBoundingClientRect().width:200,this._rowHeight=this._ physicalCount>0?this._physicalItems[0].offsetHeight:200,this._itemsPerRow=this._ itemWidth?Math.floor(this._viewportWidth/this._itemWidth):this._itemsPerRow},_po sitionItems:function(){this._adjustScrollPosition();var t=this._physicalTop;if(t his.grid){var e=this._itemsPerRow*this._itemWidth,i=(this._viewportWidth-e)/2;th is._iterateItems(function(e,s){var h=s%this._itemsPerRow,l=Math.floor(h*this._it emWidth+i);this._isRTL&&(l*=-1),this.translate3d(l+"px",t+"px",0,this._physicalI tems[e]),this._shouldRenderNextRow(s)&&(t+=this._rowHeight)})}else this._iterate Items(function(e,i){this.translate3d(0,t+"px",0,this._physicalItems[e]),t+=this. _physicalSizes[e]})},_getPhysicalSizeIncrement:function(t){return this.grid?this ._computeVidx(t)%this._itemsPerRow!==this._itemsPerRow-1?0:this._rowHeight:this. _physicalSizes[t]},_shouldRenderNextRow:function(t){return t%this._itemsPerRow== =this._itemsPerRow-1},_adjustScrollPosition:function(){var t=0===this._virtualSt art?this._physicalTop:Math.min(this._scrollPosition+this._physicalTop,0);if(0!== t){this._physicalTop=this._physicalTop-t;var i=this._scrollTop;!e&&i>0&&this._re setScrollPosition(i-t)}},_resetScrollPosition:function(t){this.scrollTarget&&t>= 0&&(this._scrollTop=t,this._scrollPosition=this._scrollTop)},_updateScrollerSize :function(t){this.grid?this._estScrollHeight=this._virtualRowCount*this._rowHeig ht:this._estScrollHeight=this._physicalBottom+Math.max(this._virtualCount-this._ physicalCount-this._virtualStart,0)*this._physicalAverage,t=t||0===this._scrollH eight,t=t||this._scrollPosition>=this._estScrollHeight-this._physicalSize,t=t||t his.grid&&this.$.items.style.height<this._estScrollHeight,(t||Math.abs(this._est ScrollHeight-this._scrollHeight)>=this._optPhysicalSize)&&(this.$.items.style.he ight=this._estScrollHeight+"px",this._scrollHeight=this._estScrollHeight)},scrol lToItem:function(t){return this.scrollToIndex(this.items.indexOf(t))},scrollToIn dex:function(t){if(!("number"!=typeof t||t<0||t>this.items.length-1)&&(Polymer.d om.flush(),0!==this._physicalCount)){t=Math.min(Math.max(t,0),this._virtualCount -1),(!this._isIndexRendered(t)||t>=this._maxVirtualStart)&&(this._virtualStart=t his.grid?t-2*this._itemsPerRow:t-1),this._manageFocus(),this._assignModels(),thi s._updateMetrics(),this._physicalTop=Math.floor(this._virtualStart/this._itemsPe rRow)*this._physicalAverage;for(var e=this._physicalStart,i=this._virtualStart,s =0,h=this._hiddenContentSize;i<t&&s<=h;)s+=this._getPhysicalSizeIncrement(e),e=( e+1)%this._physicalCount,i++;this._updateScrollerSize(!0),this._positionItems(), this._resetScrollPosition(this._physicalTop+this._scrollOffset+s),this._increase PoolIfNeeded(),this._firstVisibleIndexVal=null,this._lastVisibleIndexVal=null}}, _resetAverage:function(){this._physicalAverage=0,this._physicalAverageCount=0},_ resizeHandler:function(){this._debounceTemplate(function(){var t=Math.abs(this._ viewportHeight-this._scrollTargetHeight);this.updateViewportBoundaries(),("ontou chstart"in window||navigator.maxTouchPoints>0)&&t>0&&t<100||(this._isVisible?(th is.toggleScrollListener(!0),this._resetAverage(),this._render()):this.toggleScro llListener(!1))}.bind(this))},_getModelFromItem:function(t){var e=this._collecti on.getKey(t),i=this._physicalIndexForKey[e];return null!=i?this._physicalItems[i ]._templateInstance:null},_getNormalizedItem:function(t){if(void 0===this._colle ction.getKey(t)){if("number"==typeof t){if(t=this.items[t],!t)throw new RangeErr or("<item> not found");return t}throw new TypeError("<item> should be a valid it em")}return t},selectItem:function(t){t=this._getNormalizedItem(t);var e=this._g etModelFromItem(t);!this.multiSelection&&this.selectedItem&&this.deselectItem(th is.selectedItem),e&&(e[this.selectedAs]=!0),this.$.selector.select(t),this.updat eSizeForItem(t)},deselectItem:function(t){t=this._getNormalizedItem(t);var e=thi s._getModelFromItem(t);e&&(e[this.selectedAs]=!1),this.$.selector.deselect(t),th is.updateSizeForItem(t)},toggleSelectionForItem:function(t){t=this._getNormalize dItem(t),this.$.selector.isSelected(t)?this.deselectItem(t):this.selectItem(t)}, clearSelection:function(){function t(t){var e=this._getModelFromItem(t);e&&(e[th is.selectedAs]=!1)}Array.isArray(this.selectedItems)?this.selectedItems.forEach( t,this):this.selectedItem&&t.call(this,this.selectedItem),this.$.selector.clearS election()},_selectionEnabledChanged:function(t){var e=t?this.listen:this.unlist en;e.call(this,this,"tap","_selectionHandler")},_selectionHandler:function(t){va r e=this.modelForElement(t.target);if(e){var i,s,l=Polymer.dom(t).path[0],o=this ._itemsParent.node.domHost,a=Polymer.dom(o?o.root:document).activeElement,n=this ._physicalItems[this._getPhysicalIndex(e[this.indexAs])];"input"!==l.localName&& "button"!==l.localName&&"select"!==l.localName&&(i=e.tabIndex,e.tabIndex=h,s=a?a .tabIndex:-1,e.tabIndex=i,a&&n!==a&&n.contains(a)&&s!==h||this.toggleSelectionFo rItem(e[this.as]))}},_multiSelectionChanged:function(t){this.clearSelection(),th is.$.selector.multi=t},updateSizeForItem:function(t){t=this._getNormalizedItem(t );var e=this._collection.getKey(t),i=this._physicalIndexForKey[e];null!=i&&(this ._updateMetrics([i]),this._positionItems())},_manageFocus:function(){var t=this. _focusedIndex;t>=0&&t<this._virtualCount?this._isIndexRendered(t)?this._restoreF ocusedItem():this._createFocusBackfillItem():this._virtualCount>0&&this._physica lCount>0&&(this._focusedIndex=this._virtualStart,this._focusedItem=this._physica lItems[this._physicalStart])},_isIndexRendered:function(t){return t>=this._virtu alStart&&t<=this._virtualEnd},_isIndexVisible:function(t){return t>=this.firstVi sibleIndex&&t<=this.lastVisibleIndex},_getPhysicalIndex:function(t){return this. _physicalIndexForKey[this._collection.getKey(this._getNormalizedItem(t))]},_focu sPhysicalItem:function(t){if(!(t<0||t>=this._virtualCount)){this._restoreFocused Item(),this._isIndexRendered(t)||this.scrollToIndex(t);var e,i=this._physicalIte ms[this._getPhysicalIndex(t)],s=i._templateInstance;s.tabIndex=h,i.tabIndex===h& &(e=i),e||(e=Polymer.dom(i).querySelector('[tabindex="'+h+'"]')),s.tabIndex=0,th is._focusedIndex=t,e&&e.focus()}},_removeFocusedItem:function(){this._offscreenF ocusedItem&&this._itemsParent.removeChild(this._offscreenFocusedItem),this._offs creenFocusedItem=null,this._focusBackfillItem=null,this._focusedItem=null,this._ focusedIndex=-1},_createFocusBackfillItem:function(){var t=this._focusedIndex,e= this._getPhysicalIndex(t);if(!(this._offscreenFocusedItem||null==e||t<0)){if(!th is._focusBackfillItem){var i=this.stamp(null);this._focusBackfillItem=i.root.que rySelector("*"),this._itemsParent.appendChild(i.root)}this._offscreenFocusedItem =this._physicalItems[e],this._offscreenFocusedItem._templateInstance.tabIndex=0, this._physicalItems[e]=this._focusBackfillItem,this.translate3d(0,s,0,this._offs creenFocusedItem)}},_restoreFocusedItem:function(){var t,e=this._focusedIndex;if (this._offscreenFocusedItem&&!(this._focusedIndex<0)){this._assignModels(),t=thi s._getPhysicalIndex(e);var i=this._physicalItems[t];if(i){var h=i._templateInsta nce,l=this._offscreenFocusedItem._templateInstance;h.__key__===l.__key__?(this._ focusBackfillItem=i,h.tabIndex=-1,this._physicalItems[t]=this._offscreenFocusedI tem,this.translate3d(0,s,0,this._focusBackfillItem)):(this._removeFocusedItem(), this._focusBackfillItem=null),this._offscreenFocusedItem=null}}},_didFocus:funct ion(t){var e=this.modelForElement(t.target),i=this._focusedItem?this._focusedIte m._templateInstance:null,s=null!==this._offscreenFocusedItem,h=this._focusedInde x;e&&i&&(i===e?this._isIndexVisible(h)||this.scrollToIndex(h):(this._restoreFocu sedItem(),i.tabIndex=-1,e.tabIndex=0,h=e[this.indexAs],this._focusedIndex=h,this ._focusedItem=this._physicalItems[this._getPhysicalIndex(h)],s&&!this._offscreen FocusedItem&&this._update()))},_didMoveUp:function(){this._focusPhysicalItem(thi s._focusedIndex-1)},_didMoveDown:function(t){t.detail.keyboardEvent.preventDefau lt(),this._focusPhysicalItem(this._focusedIndex+1)},_didEnter:function(t){this._ focusPhysicalItem(this._focusedIndex),this._selectionHandler(t.detail.keyboardEv ent)}})}()</script> <dom-module id="paper-year-list" assetpath="/res/imp/bower_c omponents/polymer-paper-date-picker/"> <template> <style>:host{display:block;box -sizing:border-box;height:100%;@apply(--paper-font-common-base);position:relativ e}.year{cursor:pointer;height:var(--paper-year-list-item-height,44px);line-heigh t:var(--paper-year-list-item-height,44px);text-align:center;vertical-align:middl e}.selected{color:var(--default-primary-color);font-size:24px}iron-list{@apply(- -layout-fit);}</style> <iron-list id="yearList" items="[[_years]]"> <template> < div class$="year{{_addSelectedClass(selected)}}" on-tap="_tappedYearHandler"> [[ item.year]] </div> </template> </iron-list> </template> <script>Polymer({is:"pap er-year-list",properties:{date:{type:Date,notify:!0,observer:"_dateChange"},max: {type:Number,value:2100,observer:"_maxChange"},min:{type:Number,value:1900,obser ver:"_minChange"},selected:{type:Number,notify:!0,observer:"_selectedChange"},_y ears:{type:Array,computed:"_computeYears(min, max)",readOnly:!0,value:function() {return Date.now().getFullYear}}},ready:function(){this.$.yearList._resizeHandle r=function(){this.debounce("resize",function(){this._render(),this._itemsRendere d&&this._physicalItems&&this._isVisible&&(this._resetAverage(),this.updateViewpo rtBoundaries())})}.bind(this.$.yearList)},centerSelected:function(){if(null!==th is.selected){var e=this.selected-this.min;this.$.yearList.scrollToIndex(e),this. async(function(){var t=e*this._physicalAverage+1;t!==this.scrollTop&&(this._upda te(),this.scrollTop=t),this.scrollHeight-this.offsetHeight!==this.scrollTop&&(th is.scrollTop+=(this._physicalAverage-this.offsetHeight)/2)}.bind(this.$.yearList ))}},_addSelectedClass:function(e){if(e)return" selected"},_computeYears:functio n(e,t){if("number"==typeof e&&"number"==typeof t){for(var i=[];e<=t;e++)i.push({ year:e});return i}},_dateChange:function(e){var t=e.getFullYear();this.selected= this._withinRange(t)?t:null},_maxChange:function(e){"number"!=typeof e&&(this.ma x=2100)},_minChange:function(e){"number"!=typeof e&&(this.min=1900)},_selectedCh ange:function(e){return null===e?void this.$.yearList.clearSelection():(e!==this .date.getFullYear()&&(this.date=new Date(this.date.setFullYear(e))),void this._s electYearInList(e))},_selectYearInList:function(e){var t=e-this.min;this.$.yearL ist.selectItem(t)},_tappedYearHandler:function(e){var t=e.model.__data__.item,i= t.year;this.selected!==i&&(this.$.yearList.selectItem(t),this.selected=i)},_with inRange:function(e){return!(this.min&&e<this.min||this.max&&e>this.max)},behavio rs:[Polymer.IronResizableBehavior]})</script> </dom-module> <dom-module id="pape r-date-picker" assetpath="/res/imp/bower_components/polymer-paper-date-picker/"> <template> <style>:host{-webkit-touch-callout:none;-webkit-user-select:none;-kh tml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none ;display:inline-block;color:var(--primary-text-color);@apply(--paper-font-body1) ;@apply(--paper-date-picker);}#datePicker{width:512px;height:248px;@apply(--layo ut-horizontal);}#heading{width:168px;@apply(--paper-date-picker-heading);}:host( [narrow]) #datePicker{width:328px;height:428px;@apply(--layout-vertical);}:host( [narrow]) #heading{width:auto;height:96px;padding:16px 24px}#heading{padding:16p x;box-sizing:border-box;color:var(--text-primary-color);background:var(--default -primary-color);@apply(--layout-vertical);@apply(--layout-around-justfied);}#hea ding .date,#heading .year{cursor:pointer}#heading .date{@apply(--paper-font-disp lay1);font-weight:700;margin-top:2px;@apply(--paper-date-picker-heading-date);}# heading div.date{letter-spacing:.025em}#heading .date span{white-space:nowrap}#h eading .year{@apply(--paper-font-body2);font-size:16px;@apply(--paper-date-picke r-heading-date);}#heading.pg-chooseYear .date,#heading:not(.pg-chooseYear) .year {color:var(--light-primary-color)}:host([isTouch]) paper-year-list::-webkit-scro llbar{width:0!important}#pages{@apply(--layout-flex);width:auto;background:var(- -default-background-color)}#calendar{--paper-calendar:{@apply(--paper-date-picke r-calendar);};}</style> <iron-media-query query="{{_getMediaQuery(forceNarrow, r esponsiveWidth)}}" query-matches="{{_queryMatches}}"></iron-media-query> <div id ="datePicker"> <div id="heading" class$="{{_getHeadingClass('heading-content', _ selectedPage)}}"> <div class="year" on-tap="_tapHeadingYear">{{dateFormat(date, 'YYYY', locale)}}</div> <div class="date" on-tap="_tapHeadingDate"> <template is ="dom-repeat" items="{{_splitHeadingDate(date, headingFormat, locale)}}"> <span> {{item}}</span> </template> </div> </div> <neon-animated-pages id="pages" select ed="{{_selectedPage}}" attr-for-selected="id" entry-animation="fade-in-animation " exit-animation="fade-out-animation" on-iron-select="_pageSelected"> <neon-anim atable id="chooseDate"> <paper-calendar id="calendar" locale="{{locale}}" date=" {{date}}" min-date="{{minDate}}" max-date="{{maxDate}}"> </paper-calendar> </neo n-animatable> <neon-animatable id="chooseYear"> <paper-year-list id="yearList" d ate="{{date}}" on-tap="_tapHeadingDate" min="[[_minYear]]" max="[[_maxYear]]"></ paper-year-list> </neon-animatable> </neon-animated-pages> </div> </template> <s cript>Polymer({is:"paper-date-picker",properties:{date:{type:Date,notify:!0},res ponsiveWidth:{type:String,value:"560px"},locale:{type:String,value:"en"},heading Format:{type:String,value:"ddd, MMM D"},minDate:{type:Date,value:null},maxDate:{ type:Date,value:null},forceNarrow:{type:Boolean,value:!1},narrow:{type:Boolean,r eflectToAttribute:!0,notify:!0,computed:"_computeNarrow(forceNarrow, _queryMatch es)"},isTouch:{type:Boolean,value:!1,readOnly:!0,reflectToAttribute:!0},_queryMa tches:{type:Boolean,value:!1},headingBreak:{type:String,value:"[,]"},_selectedPa ge:String,_maxYear:{type:Number,computed:"_getFullYear(maxDate)"},_minYear:{type :Number,computed:"_getFullYear(minDate)"}},behaviors:[Polymer.IronResizableBehav ior],listeners:{"iron-resize":"_resizeHandler"},ready:function(){this.today=this .$.calendar.today,this.isTouch="ontouchstart"in window,this._selectPage("chooseD ate")},dateFormat:function(){return this.$.calendar.dateFormat.apply(this.$.cale ndar,arguments)},_tapHeadingDate:function(){"chooseDate"!==this.$.pages.selected ?this._selectPage("chooseDate"):(this.$.calendar.currentMonth=this.date.getMonth ()+1,this.$.calendar.currentYear=this.date.getFullYear())},_tapHeadingYear:funct ion(){"chooseYear"!==this.$.pages.selected&&(this._selectPage("chooseYear"),this .$.yearList.centerSelected())},_selectPage:function(e){this.$.pages.selected=e}, _getMediaQuery:function(e,t){return"(max-width: "+(e?"":t)+")"},_getHeadingClass :function(e,t){return e+" pg-"+t},_getFullYear:function(e){return e?e.getFullYea r():null},_splitHeadingDate:function(e,t,a){var r,i=new RegExp(this.headingBreak ,"g"),n=this.dateFormat(e,t,a),o=n.match(i);return r=o?n.split(i).map(function(e ,t){return e+(o[t]||"")}):[n]},_computeNarrow:function(e,t){return e||t},_pageSe lected:function(){this._resizeHandler()},_resizeHandler:function(){this._resizin g||(this._resizing=!0,this.$.calendar.notifyResize(),this._resizing=!1,this.upda teStyles())}})</script> </dom-module> <script>window.SwarmingBehaviors=window.Sw armingBehaviors||{},function(){SwarmingBehaviors.TaskBehavior={properties:{BOT_D IED:{type:String,value:"BOT_DIED"},CANCELED:{type:String,value:"CANCELED"},COMPL ETED:{type:String,value:"COMPLETED"},COMPLETED_DEDUPED:{type:String,value:"COMPL ETED (DEDUPED)"},COMPLETED_FAILURE:{type:String,value:"COMPLETED (FAILURE)"},COM PLETED_SUCCESS:{type:String,value:"COMPLETED (SUCCESS)"},EXPIRED:{type:String,va lue:"EXPIRED"},PENDING:{type:String,value:"PENDING"},RUNNING:{type:String,value: "RUNNING"},TIMED_OUT:{type:String,value:"TIMED_OUT"}},stateClass:function(t){ret urn t===this.CANCELED||t===this.TIMED_OUT||t===this.EXPIRED?"exception":t===this .BOT_DIED?"bot_died":t===this.COMPLETED_FAILURE?"failed_task":t===this.RUNNING|| t===this.PENDING?"pending_task":""},state:function(t){return t?t.state===this.CO MPLETED?t.failure?this.COMPLETED_FAILURE:"0"===t.try_number?this.COMPLETED_DEDUP ED:this.COMPLETED_SUCCESS:t.state:""},_stateClass:function(t){return this.stateC lass(this.state(t))}}}()</script><dom-module id="task-style" assetpath="/res/imp /common/"> <template> <style>.failed_task{background-color:#fdd}.bot_died{backgr ound-color:#ccc}.exception{background-color:#edd2ff}.pending_task{background-col or:#fffc6c}</style> </template> </dom-module><dom-module id="task-filters" asset path="/res/imp/tasklist/"> <template> <style is="custom-style" include="iron-fle x iron-flex-alignment iron-positioning query-column-filter-style swarming-app-st yle">.item.wide{max-width:400px}.selector.wide{min-width:275px}.selector.narrow{ min-width:250px}.cancel-button{display:block;margin-top:5px}.settings{margin-lef t:5px}:host{min-width:850px}.bold{font-weight:700}.end.date_time{margin-top:5px} .pickable>span{padding:3px;border:1px solid #000;display:inline-block;cursor:poi nter}.pickable.disabled>span{color:#AAA;cursor:default}</style> <url-param name= "f" value="{{_filters}}" default_values="[]" multi=""> </url-param> <url-param n ame="c" value="{{columns}}" default_values="[&quot;name&quot;,&quot;state&quot;, &quot;created_ts&quot;,&quot;user&quot;,&quot;bot&quot;]" multi=""> </url-param> <url-param name="q" value="{{_query}}" default_value=""> </url-param> <url-para m name="l" default_value="50" value="{{_limit}}"> </url-param> <url-param name=" st" value="{{_start_ts}}"> </url-param> <url-param name="et" value="{{_end_ts}}" > </url-param> <url-param name="n" value="{{_use_now}}"> </url-param> <div class ="container horizontal layout"> <div class="narrow-down-selector"> <div> <iron-a 11y-keys target="[[_filter_input]]" keys="enter" on-keys-pressed="_manuallyAddFi lter"></iron-a11y-keys> <paper-input id="filter" label="Search columns and filte rs or supply a filter and press enter" placeholder="gpu nvidia pool:Chrome" valu e="{{_query::input}}"> </paper-input> </div> <div class="wide selector side-by-s ide" title="This shows all task tags and other interesting task properties. Mark the check box to add as a column. Select the row to see filter options."> <iron -selector attr-for-selected="label" selected="{{_primarySelected}}"> <template i s="dom-repeat" items="[[_primaryItems]]" as="item"> <div class="selectable item horizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span cla ss="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <span class="flex"></span> <paper-checkbox noink="" disabled$="[[_cantToggleColumn(ite m)]]" checked="[[_columnState(item,columns.*)]]" on-change="_toggleColumn"> </pa per-checkbox> </div> </template> </iron-selector> </div> <div class="selector si de-by-side" title="These are most of the options (if any) that the task list can be filtered on. This list is all that have been seen recently, augmented with t he ones returned by the current query. There may be others."> <template is="dom- repeat" id="secondaryList" items="[[_secondaryItems]]" as="item"> <div class="it em horizontal layout" label="[[item]]"> <span>[[_beforeBold(item,_query)]]<span class="bold">[[_bold(item,_query)]]</span>[[_afterBold(item,_query)]]</span> <sp an class="flex"></span> <iron-icon class="icons" icon="icons:arrow-forward" hidd en="[[_cantAddFilter(_primarySelected,item,_filters.*)]]" on-tap="_addFilter"> < /iron-icon> </div> </template> <template is="dom-if" if="[[_secondaryItems.lengt h]]"> <div class="pointable item" title="There may be more valid options than ju st the ones shown.">...</div> </template> <template is="dom-if" if="[[_showTagMe ssage(_primarySelected,_secondaryItems.length)]]"> <div class="item">Only tags c an be used for filtering. <i>"[[_primarySelected]]"</i> is informational only.</ div> </template> </div> <div class="narrow selector side-by-side" title="These t ag filters are AND'd together and applied to all tasks."> <template is="dom-repe at" items="[[_filters]]" as="fil"> <div class="item horizontal layout" label="[[ fil]]"> <span>[[fil]]</span> <span class="flex"></span> <iron-icon class="icons" icon="icons:remove-circle-outline" hidden="[[_cantRemoveFilter(fil,_filters.*)] ]" on-tap="_removeFilter"> </iron-icon> </div> </template> </div> <div class="si de-by-side settings"> <paper-input id="_limit" label="Limit Results" auto-valida te="" min="0" max="1000" pattern="[0-9]+" value="{{_limit}}"> </paper-input> <a href$="[[_matchingBotsLink(query_params,dimensions.*)]]">View Matching Bots</a> <template is="dom-if" if="[[permissions.cancel_tasks]]"> <paper-button class="ca ncel-button" raised="" on-tap="_promptCancel"> Cancel All Tasks </paper-button> </template> </div> <div class="side-by-side settings"> <div class="end date_time "> <div class="bold" title="Should be earlier than end">Start:</div> <div class= "pickable"> <span on-click="_promptStartDate">[[_dateString(_start_ts)]]</span> <span on-click="_promptStartTime">[[_timeString(_start_ts)]]</span> </div> </div > <div class="end date_time"> <div class="bold" title="Should be later than star t">End:</div> <div class$="pickable [[_isEnabled(_use_now)]]"> <span on-click="_ promptEndDate">[[_dateString(_end_ts)]]</span> <span on-click="_promptEndTime">[ [_timeString(_end_ts)]]</span> </div> </div> <paper-checkbox checked="{{_use_now }}">Now</paper-checkbox> </div> </div> </div> </template> <script>!function(){fu nction t(t){return t=t||"1",t=parseInt(t),new Date(t)}var s={state:function(t,s) {var e=this._attribute(t,"state")[0];if(s===e||"ALL"===s)return!0;if("PENDING_RU NNING"===s)return e===this.PENDING||e===this.RUNNING;var i=this._attribute(t,"fa ilure",!1)[0];if("COMPLETED_SUCCESS"===s)return e===this.COMPLETED&&!i;if("COMPL ETED_FAILURE"===s)return e===this.COMPLETED&&i;var n=this._attribute(t,"try_numb er","-1")[0];return"DEDUPED"===s?e===this.COMPLETED&&"0"===n:void 0}};Polymer({i s:"task-filters",behaviors:[SwarmingBehaviors.QueryColumnFilter,SwarmingBehavior s.TaskBehavior],properties:{columns:{type:Array,notify:!0},query_params:{type:Ob ject,computed:"_extractQueryParams(_filters.*, _limit, _start_ts, _end_ts, _use_ now)",notify:!0},permissions:{type:Object},_end_ts:{type:String},_start_ts:{type :String},_use_now:{type:Boolean},_filterMap:{type:Object,value:function(){var t= this._commonFilters();for(var e in s)t[e]=s[e];return t}}},ready:function(){var t=new Date;t.setSeconds(0),t.setMilliseconds(0),this._end_ts||this._use_now||(th is._use_now=!0),this._end_ts||this._setEndTS(t.getTime()),this._start_ts||this._ setStartTS(t.getTime()-864e5)},_cantToggleColumn:function(t){return!t||"name"=== t},_dateString:function(s){return t(s).toLocaleDateString()},_extractQueryParams :function(){var t={},s=[];this._filters.forEach(function(e){var i=e.split(this.F ILTER_SEP,1),n=i[0],r=e.substring(n.length+this.FILTER_SEP.length);"state"===n?t .state=[r]:("user"===n&&"none"===r&&(r=""),swarming.alias.DIMENSIONS_WITH_ALIASE S.indexOf(n)!==-1&&(r=swarming.alias.unapply(r)),s.push(n+this.FILTER_SEP+r))}.b ind(this)),t.tags=s,this._start_ts&&(t.start=[this._start_ts.substring(0,this._s tart_ts.length-3)]),!this._use_now&&this._end_ts&&(t.end=[this._end_ts.substring (0,this._end_ts.length-3)]);var e=parseInt(this._limit);return Number.isInteger( e)&&(e=Math.max(e,1),e=Math.min(1e3,e),t.limit=[e],this._limit!=e&&this.set("_li mit",e)),t},_isEnabled:function(t){return t?"disabled":""},_matchingBotsLink:fun ction(t){var s=["id","os","task","status"];if(!t.tags||!this.dimensions)return t his._botListLink([],s);var e=t.tags.filter(function(t){var s=t.split(this.FILTER _SEP,1)[0];return this.dimensions.indexOf(s)!==-1}.bind(this));return e.forEach( function(t){var e=t.split(this.FILTER_SEP,1)[0];s.indexOf(e)===-1&&s.push(e)}.bi nd(this)),this._botListLink(e,s)},_promptCancel:function(){return this.query_par ams.tags&&this.query_params.tags.length?void this.fire("cancel-all",{tags:this.q uery_params.tags}):void sk.errorMessage("You can't batch cancel everything. Spe cify some tags to filter by first.",8e3)},_promptEndDate:function(s){this._use_n ow||this._promptDate(t(this._end_ts),"end")},_promptStartDate:function(s){this._ promptDate(t(this._start_ts),"start")},_promptDate:function(t,s){this.fire("prom pt-date",{date:t,name:s})},_promptEndTime:function(s){this._use_now||this._promp tTime(t(this._end_ts),"end")},_promptStartTime:function(s){this._promptTime(t(th is._start_ts),"start")},_promptTime:function(t,s){this.fire("prompt-time",{date: t,name:s})},_setEndTS:function(t){this._end_ts=""+t},setEndDate:function(s,e,i){ var n=t(this._end_ts);n.setFullYear(s),n.setMonth(e),n.setDate(i),this._setEndTS (n.getTime())},setEndTime:function(s,e,i){var n=t(this._end_ts);n.setHours(s),n. setMinutes(e),n.setSeconds(i),n.setMilliseconds(0),this._setEndTS(n.getTime())}, _setStartTS:function(t){this._start_ts=""+t},setStartDate:function(s,e,i){var n= t(this._start_ts);n.setFullYear(s),n.setMonth(e),n.setDate(i),this._setStartTS(n .getTime())},setStartTime:function(s,e,i){var n=t(this._start_ts);n.setHours(s), n.setMinutes(e),n.setSeconds(i),n.setMilliseconds(0),this._setStartTS(n.getTime( ))},_showTagMessage:function(t,s){return t&&"name"!==t&&!s},_timeString:function (s){return t(s).toLocaleTimeString()}})}()</script> </dom-module><dom-module id= "task-list-data" assetpath="/res/imp/tasklist/"> <script>!function(){var s=["aba ndoned_ts","completed_ts","created_ts","modified_ts","started_ts"],t=["quarantin ed","error"];Polymer({is:"task-list-data",behaviors:[SwarmingBehaviors.CommonBeh avior,SwarmingBehaviors.TaskBehavior],properties:{auth_headers:{type:Object,obse rver:"signIn"},query_params:{type:Object},tasks:{type:Array},busy:{type:Boolean, computed:"_or(_busy2,_busy1)",notify:!0},dimensions:{type:Array,computed:"_makeA rray(_dimensions)",notify:!0},primary_map:{type:Object,computed:"_primaryMap(_ta gs,_dimensions,tasks.*)",notify:!0},primary_arr:{type:Array,computed:"_primaryAr r(primary_map)",notify:!0},_busy2:{type:Boolean,value:!1},_busy1:{type:Boolean,v alue:!1},_dimensions:{type:Object},_list:{type:Object},_tags:{type:Object}},sign In:function(){this._getJsonAsync("_tags","/api/swarming/v1/tasks/tags","_busy2", this.auth_headers),this._getJsonAsync("_dimensions","/api/swarming/v1/bots/dimen sions","_busy1",this.auth_headers)},_makeArray:function(s){if(!s||!s.bots_dimens ions)return[];var a=[];return s.bots_dimensions.forEach(function(s){t.indexOf(s. key)===-1&&a.push(s.key)}),a.push("id"),a.sort(),a},_primaryArr:function(s){var t=Object.keys(s);return t.sort(),t},_primaryMap:function(t,a){t=t&&t.tasks_tags| |[],a=a&&a.bots_dimensions||[],tasks=this.tasks||[];var e={};t.forEach(function( s){e[s.key]||(e[s.key]={});var t=s.value||[];t.forEach(function(t){e[s.key][t]=! 0})}),a.forEach(function(s){var t=s.value;e[s.key]||(e[s.key]={}),t.forEach(func tion(t){e[s.key][t]=!0})}),tasks.forEach(function(s){Object.keys(s.tagMap).forEa ch(function(t){var a=s.tagMap[t];e[t]||(e[t]={}),e[t][a]=!0})}),e.user&&(delete e.user[""],e.user.none=!0);var r={};for(key in e){var i=Object.keys(e[key]);if(s warming.alias.DIMENSIONS_WITH_ALIASES.indexOf(key)===-1)r[key]=i;else{var n=[];i .forEach(function(s){n.push(swarming.alias.apply(s,key))}),r[key]=n}}return r.na me=[],r.state=[this.PENDING,this.RUNNING,"PENDING_RUNNING",this.COMPLETED,"COMPL ETED_SUCCESS","COMPLETED_FAILURE",this.EXPIRED,this.TIMED_OUT,this.BOT_DIED,this .CANCELED,"DEDUPED","ALL"],r.costs_usd=[],r.deduped_from=[],r.duration=[],r.serv er_versions=[],r.bot=[],s.forEach(function(s){r[s]=[]}),r},parseTasks:function(t ){if(!t||!t.items)return[];var a=new Date;return t.items.forEach(function(t){var e={};t.tags=t.tags||[],t.tags.forEach(function(s){var t=s.split(":",1),a=t[0],r =s.substring(a.length+1);e[a]=r}),t.tagMap=e,t.costs_usd&&Array.isArray(t.costs_ usd)?t.costs_usd.forEach(function(s,a){t.costs_usd[a]=s.toFixed(4)}):t.costs_usd ="none",s.forEach(function(s){swarming.sanitizeAndHumanizeTime(t,s)}),!t.duratio n&&t.state===this.RUNNING&&t.started_ts&&(t.duration=(a-t.started_ts)/1e3),t.hum an_duration=this._humanDuration(t.duration)}.bind(this)),t.items}})}()</script> </dom-module> <dom-module id="task-list-summary" assetpath="/res/imp/tasklist/"> <template> <style include="swarming-app-style iron-flex">:host{display:block;bo rder-left:1px solid #000;padding:5px 5px;font-family:sans-serif}.header{font-siz e:1.2em;font-weight:700}.column.left{margin-left:10px}.right{text-align:right}.l eft{text-align:left}</style> <div class="horizontal layout"> <div class="column" > <table> <thead> <tr><th class="header right" colspan="2">Selected Tasks</th> < /tr></thead> <tbody><tr> <td class="right"> Displayed: </td> <td class="left">[[ num_tasks]]</td> </tr> <tr title="These counts reflect the time period selected" > <td class="right"> Total: </td> <td class="left">[[_selected_exact.count]]</td > </tr> <template is="dom-repeat" items="[[_selected_summary]]" as="item" index- as="idx"> <tr title="These counts reflect the time period selected"> <td class=" right"> <a href$="[[_makeURL(item.name,'true',columns.*,sort,count_params.*)]]"> [[item.human]]</a>: </td> <td class="left">[[_idx(_selected_counts, idx, _select ed_counts.*)]]</td> </tr> </template> </tbody></table> </div> </div> </template> <script>!function(){var t=[{name:"BOT_DIED",human:"Bot Died"},{name:"CANCELED", human:"Canceled"},{name:"COMPLETED_SUCCESS",human:"Completed (Success)"},{name:" COMPLETED_FAILURE",human:"Completed (Failure)"},{name:"DEDUPED",human:"Deduplica ted"},{name:"EXPIRED",human:"Expired"},{name:"PENDING",human:"Pending"},{name:"R UNNING",human:"Running"},{name:"TIMED_OUT",human:"Timed Out"}];Polymer({is:"task -list-summary",behaviors:[SwarmingBehaviors.CommonBehavior],properties:{auth_hea ders:{type:Object},busy:{type:Boolean,computed:"_anyBusy(_busyArr1.*,_busy3)",no tify:!0},count_params:{type:Object},columns:{type:Array},num_tasks:{type:Number} ,sort:{type:String},_busyArr1:{type:Array,value:function(){return[]}},_busy3:{ty pe:Boolean,value:!1},_selected_counts:{type:Array,value:function(){return[]}},_s elected_exact:{type:Object},_selected_summary:{type:Array,value:function(){retur n t}}},observers:["_recountEverything(auth_headers.*,count_params.*)"],_anyBusy: function(){for(var t=0;t<this._busyArr1.length;t++)if(this._busyArr1[t].status)r eturn!0;return this._busy3},_idx:function(t,e){return t&&t[e]&&t[e].count},_reco untEverything:function(){if(this.auth_headers&&this.count_params){var e=JSON.par se(JSON.stringify(this.count_params));this._getJsonAsync("_selected_exact","/api /swarming/v1/tasks/count","_busy3",this.auth_headers,e);for(var n=0;n<t.length;n ++)this._selected_counts.length<t.length&&this.push("_selected_counts",{}),e.sta te=[t[n].name],this._getJsonAsyncArr(n,"_selected_counts","/api/swarming/v1/task s/count","_busyArr1",this.auth_headers,e)}},_makeURL:function(t){var e="state:"+ t,n=this.count_params,s={s:[this.sort],c:this.columns,f:[]};return n.start&&n.st art[0]&&(s.st=[n.start[0]+"000"]),n.end&&n.end[0]?s.et=[n.end[0]+"000"]:s.n=[!0] ,t&&s.f.push(e),n.tags&&n.tags.forEach(function(t){s.f.push(t)}),window.location .href.split("?")[0]+"?"+sk.query.fromParamSet(s)}})}()</script> </dom-module><do m-module id="task-mass-cancel" assetpath="/res/imp/tasklist/"> <template> <style >.container{padding:5px;max-width:800px}.cancel-button{background-color:red;colo r:#fff;font-weight:700}.cancel-button[disabled]{background-color:grey}</style> < div class="container"> <div> You are about to cancel all PENDING task with the f ollowing tags: <ul> <template is="dom-repeat" items="[[tags]]" as="tag"> <li>[[t ag]]</li> </template> </ul> This is about [[_estimated_count]] tasks. Once you s tart the process, the only way to partially stop it is to close this browser win dow. If that sounds good, click the button below. </div> <paper-button class="ca ncel-button" raised="" disabled$="[[!_ready_to_cancel]]" hidden$="[[started_canc eling]]" on-tap="_cancel"> Cancel the Tasks </paper-button> <div> <div hidden$=" [[!started_canceling]]">Progress: [[_canceled_count]] queued for cancellation</d iv> <div>Note: tasks queued for cancellation will be canceled as soon as possibl e, but there may be some delay between when this dialog box is closed and all ta sks actually being canceled.</div> </div> </div> </template> <script> (function( ){
686 var CANCEL_BATCH_SIZE = 100;
687 Polymer({
688 is: "task-mass-cancel",
689
690 properties: {
691 // input
692 auth_headers: {
693 type: Object,
694 },
695 tags: {
696 type: Array,
697 },
698 // output
699 finished_canceling: {
700 type: Boolean,
701 value: false,
702 notify: true,
703 },
704 started_canceling: {
705 type: Boolean,
706 value: false,
707 notify: true,
708 },
709
710
711 _canceled_count: {
712 type : Number,
713 value: 0,
714 },
715 _cancel_cursor: {
716 type: String,
717 },
718
719 _estimated_count: {
720 type: String,
721 value: "(counting...please wait)",
722 },
723 _ready_to_cancel: {
724 type: Boolean,
725 value: false,
726 }
727 },
728
729 _cancel: function() {
730 this.started_canceling = true;
731 this._cancel_cursor = "";
732 this.async(this._cancelNext);
733 },
734
735 _cancelNext: function() {
736 var cancel_payload = {
737 limit: CANCEL_BATCH_SIZE,
738 tags: this.tags,
739 cursor: this._cancel_cursor,
740 };
741
742 sk.request("POST", "/api/swarming/v1/tasks/cancel",
743 JSON.stringify(cancel_payload), this.auth_headers)
744 .then(JSON.parse).then(function(json){
745 this._canceled_count += parseInt(json.matched);
746 if (json.cursor) {
747 this._cancel_cursor = json.cursor;
748 // Avoid doing a recursive call in case there are a huge number of tasks
749 // and we run out of stack space.
750 this.async(this._cancelNext);
751 } else {
752 this.finished_canceling = true;
753 }
754 }.bind(this))
755 .catch(function(e){
756 console.log(e);
757 sk.errorMessage(e);
758 });
759 },
760
761 prompt: function(){
762 this.started_canceling = false;
763 this.finished_canceling = false;
764 this._ready_to_cancel = false;
765 var now = new Date();
766 // Search in the last week to get the count. PENDING tasks should expir e
767 // well before then, so this should be pretty accurate.
768 var start = (now.getTime() - 7*24*60*60*1000) / 1000;
769 var end = now.getTime() / 1000;
770
771 var countUrl = `/api/swarming/v1/tasks/count?start=${start}&end=${end}&s tate=PENDING&tags=`;
772 var tags = this.tags || [];
773 countUrl += tags.join("&tags=");
774 sk.request("GET", countUrl, null, this.auth_headers)
775 .then(JSON.parse).then(function(json){
776 this._ready_to_cancel = true;
777 this._estimated_count = json.count;
778 }.bind(this))
779 .catch(function(e){
780 console.log(e);
781 sk.errorMessage(e);
782 });
783 },
784 });
785 })() </script> </dom-module><dom-module id="task-list" assetpath="/res/imp/tas klist/"> <template> <style include="iron-flex iron-flex-alignment iron-positioni ng swarming-app-style dynamic-table-style task-style">task-filters,task-list-sum mary{margin-bottom:8px;margin-right:10px}.task-list th>span{padding-right:30px}< /style> <url-param name="s" value="{{_sortstr}}" default_value="created_ts:desc" > </url-param> <swarming-app client_id="[[client_id]]" auth_headers="{{_auth_hea ders}}" permissions="{{_permissions}}" signed_in="{{_signed_in}}" busy="[[_or(_b usy1,_busy2,_busy3)]]" name="Swarming Task List"> <h2 hidden$="[[_signed_in]]">Y ou must sign in to see anything useful.</h2> <div hidden$="[[_not(_signed_in)]]" > <task-list-data id="data" auth_headers="[[_auth_headers]]" query_params="[[_qu ery_params]]" tasks="[[_items]]" busy="{{_busy1)}}" dimensions="{{_dimensions}}" primary_map="{{_primary_map}}" primary_arr="{{_primary_arr}}"> </task-list-data > <div class="horizontal layout"> <task-filters id="task_filters" dimensions="[[ _dimensions]]" permissions="[[_permissions]]" primary_map="[[_primary_map]]" pri mary_arr="[[_primary_arr]]" special_columns="[[_specialColumns]]" columns="{{_co lumns}}" query_params="{{_query_params}}" filter="{{_filter}}" on-cancel-all="_p romptCancelAll" on-prompt-date="_promptDate" on-prompt-time="_promptTime"> </tas k-filters> <task-list-summary auth_headers="[[_auth_headers]]" busy="{{_busy3}}" columns="[[_columns]]" count_params="[[_query_params]]" num_tasks="[[_filteredS ortedItems.length]]" sort="[[_sortstr]]"> </task-list-summary> </div> <table cla ss="task-list"> <thead on-sort_change="_sortChange"> <tr> <th> <span>Task Name</ span> <sort-toggle name="name" current="[[_sort]]"> </sort-toggle> </th> <th hid den$="[[_hide('state', _columns.*)]]"> <span>State</span> <sort-toggle name="sta te" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('bot', _colum ns.*)]]"> <span>Bot Assigned</span> <sort-toggle name="bot" current="[[_sort]]"> </sort-toggle> </th> <th hidden$="[[_hide('deduped_from', _columns.*)]]"> <span >Deduped from</span> <sort-toggle name="deduped_from" current="[[_sort]]"> </sor t-toggle> </th> <th hidden$="[[_hide('source_revision', _columns.*)]]"> <span>So urce Revision</span> <sort-toggle name="source_revision" current="[[_sort]]"> </ sort-toggle> </th> <template is="dom-repeat" items="[[_plainColumns]]" as="c"> < th hidden$="[[_hide(c)]]"> <span>[[_header(c)]]</span> <sort-toggle name="[[c]]" current="[[_sort]]"> </sort-toggle> </th> </template> </tr> </thead> <tbody> <t emplate id="tasks_table" is="dom-repeat" items="[[_filteredSortedItems]]" as="ta sk" initial-count="50"> <tr class$="[[_taskClass(task)]]"> <td> <a class="center " href$="[[_taskLink(task.task_id)]]" target="_blank"> [[task.name]] </a> </td> <td hidden$="[[_hide('state', _columns.*)]]"> [[_column('state', task)]] <paper- button raised="" hidden$="[[_cannotCancel(task,_permissions)]]" on-tap="_promptC ancel"> Cancel </paper-button> </td> <td hidden$="[[_hide('bot', _columns.*)]]"> <a class="center" href$="[[_botLink(task.bot_id)]]" target="_blank"> [[_column( 'bot',task)]] </a> </td> <td hidden$="[[_hide('deduped_from', _columns.*)]]"> <a class="center" href$="[[_taskLink(task.deduped_from)]]" target="_blank"> [[_col umn('deduped_from',task)]] </a> </td> <td hidden$="[[_hide('source_revision', _c olumns.*)]]"> <a class="center" href$="[[_sourceLink(task)]]" target="_blank"> [ [_column('source_revision',task)]] </a> </td> <template is="dom-repeat" items="[ [_plainColumns]]" as="c"> <td hidden$="[[_hide(c)]]"> [[_column(c, task)]] </td> </template> </tr> </template> </tbody> </table> <pageable-data id="page_tasks" busy="{{_busy2}}" label="Show more tasks" output="{{_items}}" parse="[[_parseTas ks]]"> </pageable-data> </div> </swarming-app> <paper-dialog id="prompt" modal=" " on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?</h2> <div>Are you su re you want to [[_dialogPrompt]]?</div> <div class="buttons"> <paper-button dial og-dismiss="" autofocus="">No</paper-button> <paper-button dialog-confirm="">Yes </paper-button> </div> </paper-dialog> <paper-dialog id="cancel_all_dialog" moda l=""> <task-mass-cancel id="mass_cancel" auth_headers="[[_auth_headers]]" starte d_canceling="{{_started_canceling}}" finished_canceling="{{_finished_canceling}} "> </task-mass-cancel> <div class="buttons"> <paper-button dialog-dismiss="" aut ofocus="" hidden$="[[_started_canceling]]"> Go Back - Don't Cancel Anything </pa per-button> <paper-button dialog-dismiss="" autofocus="" hidden$="[[!_finished_c anceling]]"> Done </paper-button> </div> </paper-dialog> <paper-dialog id="date_ picker_dialog" modal="" on-iron-overlay-closed="_setDate"> <paper-date-picker id ="date_picker"></paper-date-picker> <div class="buttons"> <paper-button dialog-d ismiss="">Cancel</paper-button> <paper-button dialog-confirm="">OK</paper-button > </div> </paper-dialog> <paper-dialog id="time_picker_dialog" modal="" on-iron- overlay-closed="_setTime"> <paper-time-picker id="time_picker"></paper-time-pick er> <div class="buttons"> <paper-button dialog-dismiss="">Cancel</paper-button> <paper-button dialog-confirm="">OK</paper-button> </div> </paper-dialog> </templ ate> <script>!function(){function t(t){return function(e){return this._attribute (e,"human_"+t)[0]}}function e(t){return function(e,a,i){var s=this._attribute(a, t,"0")[0],r=this._attribute(i,t,"0")[0];return e*(s-r)}}var a=["deduped_from","n ame","state","bot","source_revision"],i={abandoned_ts:t("abandoned_ts"),bot:func tion(t){return this._attribute(t,"bot_id")[0]},completed_ts:t("completed_ts"),co sts_usd:function(t){return this._attribute(t,"costs_usd",0)[0]},created_ts:t("cr eated_ts"),duration:t("duration"),modified_ts:t("modified_ts"),source_revision:f unction(t){var e=this._attribute(t,"source_revision")[0];return e.substring(0,8) },started_ts:t("started_ts"),state:function(t){var e=this._attribute(t,"state")[ 0];if("COMPLETED"===e){if(this._attribute(t,"failure",!1)[0])return"COMPLETED (F AILURE)";var a=this._attribute(t,"try_number","-1")[0];return"0"===a?"COMPLETED (DEDUPED)":"COMPLETED (SUCCESS)"}return e}},s={abandoned_ts:"Abandoned On",compl eted_ts:"Completed On",costs_usd:"Cost (USD)",created_ts:"Created On",duration:" Duration",modified_ts:"Last Modified",started_ts:"Started Working On",user:"Requ esting User"},r={abandoned_ts:e("abandoned_ts"),completed_ts:e("completed_ts"),c reated_ts:e("created_ts"),duration:e("duration"),modified_ts:e("modified_ts"),st arted_ts:e("started_ts")},n=["created_ts","started_ts","abandoned_ts","completed _ts","modified_ts","duration"];Polymer({is:"task-list",behaviors:[SwarmingBehavi ors.DynamicTableBehavior,SwarmingBehaviors.TaskBehavior],properties:{client_id:{ type:String},_busy1:{type:Boolean,value:!1},_busy2:{type:Boolean,value:!1},_pars eTasks:{type:Function,value:function(){return this.$.data.parseTasks.bind(this)} },_toCancel:{type:String},_columnMap:{type:Object,value:function(){var t=this._c ommonColumns();for(var e in i)t[e]=i[e];return t}},_headerMap:{type:Object,value :s},_priorityColumns:{type:Array,value:n},_specialColumns:{type:Array,value:a},_ specialSort:{type:Object,value:r}},observers:["reload(_query_params,_auth_header s)"],_attribute:function(t,e,a){void 0===a&&(a="none");var i=this._tag(t,e)||t[e ]||[a];return Array.isArray(i)?i:[i]},_cannotCancel:function(t,e){return!(e&&e.c ancel_task&&"PENDING"===this._column("state",t))},_cancelTask:function(){var t=" /api/swarming/v1/task/"+this._toCancel+"/cancel";swarming.postWithToast(t,"Cance ling task "+this._toCancel,this._auth_headers),this.set("_toCancel","")},_prompt Closed:function(t){t.detail.confirmed&&this._cancelTask()},_promptCancel:functio n(t){var e=t.model.task;return e&&e.task_id?(this.set("_toCancel",e.task_id),thi s.set("_dialogPrompt",'cancel task "'+e.name+'"'),void this.$.prompt.open()):voi d console.log("Missing task info",e)},_promptCancelAll:function(t){this.$.mass_c ancel.tags=t.detail.tags,this.$.mass_cancel.prompt(),this.$.cancel_all_dialog.op en()},_closeCancelAll:function(){this.$.cancel_all_dialog.close()},_promptDate:f unction(t){this.$.date_picker.date=t.detail.date,this.$.date_picker.name=t.detai l.name,this.$.date_picker_dialog.open()},_setDate:function(t){if(t.detail.confir med){var e=this.$.date_picker.date,a=e.getFullYear(),i=e.getMonth(),s=e.getDate( );"start"===this.$.date_picker.name?this.$.task_filters.setStartDate(a,i,s):this .$.task_filters.setEndDate(a,i,s)}},_promptTime:function(t){this.$.time_picker.d ate=t.detail.date,this.$.time_picker.hour=t.detail.date.getHours(),this.$.time_p icker.minute=t.detail.date.getMinutes(),this.$.time_picker.name=t.detail.name,th is.$.time_picker_dialog.open()},_setTime:function(t){if(t.detail.confirmed){var e=this.$.time_picker.hour,a=this.$.time_picker.minute;"start"===this.$.time_pick er.name?this.$.task_filters.setStartTime(e,a,0):this.$.task_filters.setEndTime(e ,a,0)}},reload:function(){if(this._auth_headers&&this._query_params){var t="/api /swarming/v1/tasks/list?"+sk.query.fromParamSet(this._query_params);this.$.page_ tasks.load(t,this._auth_headers)}},_sourceLink:function(t){var e=this._attribute (t,"source_revision")[0],a=this._attribute(t,"source_repo")[0];return"none"!==e& &"none"!==a&&a.replace("%s",e)},_tag:function(t,e){if(t&&t.tagMap)return t.tagMa p[e]},_taskClass:function(t){return this.stateClass(this._column("state",t))}})} ()</script> </dom-module> <dom-module id="iron-collapse" assetpath="/res/imp/bow er_components/iron-collapse/"> <template> <style>:host{display:block;transition- duration:var(--iron-collapse-transition-duration,300ms);overflow:visible}:host(. iron-collapse-closed){display:none}:host(:not(.iron-collapse-opened)){overflow:h idden}</style> <content></content> </template> </dom-module> <script>Polymer({is :"iron-collapse",behaviors:[Polymer.IronResizableBehavior],properties:{horizonta l:{type:Boolean,value:!1,observer:"_horizontalChanged"},opened:{type:Boolean,val ue:!1,notify:!0,observer:"_openedChanged"},transitioning:{type:Boolean,notify:!0 ,readOnly:!0},noAnimation:{type:Boolean},_desiredSize:{type:String,value:""}},ge t dimension(){return this.horizontal?"width":"height"},get _dimensionMax(){retur n this.horizontal?"maxWidth":"maxHeight"},get _dimensionMaxCss(){return this.hor izontal?"max-width":"max-height"},hostAttributes:{role:"group","aria-hidden":"tr ue","aria-expanded":"false"},listeners:{transitionend:"_onTransitionEnd"},toggle :function(){this.opened=!this.opened},show:function(){this.opened=!0},hide:funct ion(){this.opened=!1},updateSize:function(i,t){i="auto"===i?"":i;var e=t&&!this. noAnimation&&this.isAttached&&this._desiredSize!==i;if(this._desiredSize=i,this. _updateTransition(!1),e){var n=this._calcSize();""===i&&(this.style[this._dimens ionMax]="",i=this._calcSize()),this.style[this._dimensionMax]=n,this.scrollTop=t his.scrollTop,this._updateTransition(!0),e=i!==n}this.style[this._dimensionMax]= i,e||this._transitionEnd()},enableTransition:function(i){Polymer.Base._warn("`en ableTransition()` is deprecated, use `noAnimation` instead."),this.noAnimation=! i},_updateTransition:function(i){this.style.transitionDuration=i&&!this.noAnimat ion?"":"0s"},_horizontalChanged:function(){this.style.transitionProperty=this._d imensionMaxCss;var i="maxWidth"===this._dimensionMax?"maxHeight":"maxWidth";this .style[i]="",this.updateSize(this.opened?"auto":"0px",!1)},_openedChanged:functi on(){this.setAttribute("aria-expanded",this.opened),this.setAttribute("aria-hidd en",!this.opened),this._setTransitioning(!0),this.toggleClass("iron-collapse-clo sed",!1),this.toggleClass("iron-collapse-opened",!1),this.updateSize(this.opened ?"auto":"0px",!0),this.opened&&this.focus()},_transitionEnd:function(){this.styl e[this._dimensionMax]=this._desiredSize,this.toggleClass("iron-collapse-closed", !this.opened),this.toggleClass("iron-collapse-opened",this.opened),this._updateT ransition(!1),this.notifyResize(),this._setTransitioning(!1)},_onTransitionEnd:f unction(i){Polymer.dom(i).rootTarget===this&&this._transitionEnd()},_calcSize:fu nction(){return this.getBoundingClientRect()[this.dimension]+"px"}})</script> <s cript>Polymer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindin gs:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem .click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.fo cusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"r tl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRT L?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault( )},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e .detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEven tMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Poly mer.IronMenubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImp l]</script><iron-iconset-svg name="paper-tabs" size="24"> <svg><defs> <g id="che vron-left"><path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"></path></g> < g id="chevron-right"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"></ path></g> </defs></svg> </iron-iconset-svg> <dom-module id="paper-tab" assetpath ="/res/imp/bower_components/paper-tabs/"> <template> <style>:host{@apply(--layou t-inline);@apply(--layout-center);@apply(--layout-center-justified);@apply(--lay out-flex-auto);position:relative;padding:0 12px;overflow:hidden;cursor:pointer;v ertical-align:middle;@apply(--paper-font-common-base);@apply(--paper-tab);}:host (:focus){outline:0}:host([link]){padding:0}.tab-content{height:100%;transform:tr anslateZ(0);-webkit-transform:translateZ(0);transition:opacity .1s cubic-bezier( .4,0,1,1);@apply(--layout-horizontal);@apply(--layout-center-center);@apply(--la yout-flex-auto);@apply(--paper-tab-content);}:host(:not(.iron-selected))>.tab-co ntent{opacity:.8;@apply(--paper-tab-content-unselected);}:host(:focus) .tab-cont ent{opacity:1;font-weight:700}paper-ripple{color:var(--paper-tab-ink,--paper-yel low-a100)}.tab-content>::content>a{@apply(--layout-flex-auto);height:100%}</styl e> <div class="tab-content"> <content></content> </div> </template> <script>Poly mer({is:"paper-tab",behaviors:[Polymer.IronControlState,Polymer.IronButtonState, Polymer.PaperRippleBehavior],properties:{link:{type:Boolean,value:!1,reflectToAt tribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_on Tap"},attached:function(){this._updateNoink()},get _parentNoink(){var t=Polymer. dom(this).parentNode;return!!t&&!!t.noink},_updateNoink:function(){this.noink=!! this.noink||!!this._parentNoink},_onTap:function(t){if(this.link){var e=this.que ryEffectiveChildren("a");if(!e)return;if(t.target===e)return;e.click()}}})</scri pt> </dom-module> <dom-module id="paper-tabs" assetpath="/res/imp/bower_componen ts/paper-tabs/"> <template> <style>:host{@apply(--layout);@apply(--layout-center );height:48px;font-size:14px;font-weight:500;overflow:hidden;-moz-user-select:no ne;-ms-user-select:none;-webkit-user-select:none;user-select:none;-webkit-tap-hi ghlight-color:transparent;-webkit-tap-highlight-color:transparent;@apply(--paper -tabs);}:host-context([dir=rtl]){@apply(--layout-horizontal-reverse);}#tabsConta iner{position:relative;height:100%;white-space:nowrap;overflow:hidden;@apply(--l ayout-flex-auto);@apply(--paper-tabs-container);}#tabsContent{height:100%;-moz-f lex-basis:auto;-ms-flex-basis:auto;flex-basis:auto;@apply(--paper-tabs-content); }#tabsContent.scrollable{position:absolute;white-space:nowrap}#tabsContent.scrol lable.fit-container,#tabsContent:not(.scrollable){@apply(--layout-horizontal);}# tabsContent.scrollable.fit-container{min-width:100%}#tabsContent.scrollable.fit- container>::content>*{-ms-flex:1 0 auto;-webkit-flex:1 0 auto;flex:1 0 auto}.hid den{display:none}.not-visible{opacity:0;cursor:default}paper-icon-button{width:4 8px;height:48px;padding:12px;margin:0 4px}#selectionBar{position:absolute;height :0;bottom:0;left:0;right:0;border-bottom:2px solid var(--paper-tabs-selection-ba r-color,--paper-yellow-a100);-webkit-transform:scale(0);transform:scale(0);-webk it-transform-origin:left center;transform-origin:left center;transition:-webkit- transform;transition:transform;@apply(--paper-tabs-selection-bar);}#selectionBar .align-bottom{top:0;bottom:auto}#selectionBar.expand{transition-duration:.15s;tr ansition-timing-function:cubic-bezier(.4,0,1,1)}#selectionBar.contract{transitio n-duration:.18s;transition-timing-function:cubic-bezier(0,0,.2,1)}#tabsContent>: :content>:not(#selectionBar){height:100%}</style> <paper-icon-button icon="paper -tabs:chevron-left" class$="[[_computeScrollButtonClass(_leftHidden, scrollable, hideScrollButtons)]]" on-up="_onScrollButtonUp" on-down="_onLeftScrollButtonDow n" tabindex="-1"></paper-icon-button> <div id="tabsContainer" on-track="_scroll" on-down="_down"> <div id="tabsContent" class$="[[_computeTabsContentClass(scrol lable, fitContainer)]]"> <div id="selectionBar" class$="[[_computeSelectionBarCl ass(noBar, alignBottom)]]" on-transitionend="_onBarTransitionEnd"></div> <conten t select="*"></content> </div> </div> <paper-icon-button icon="paper-tabs:chevro n-right" class$="[[_computeScrollButtonClass(_rightHidden, scrollable, hideScrol lButtons)]]" on-up="_onScrollButtonUp" on-down="_onRightScrollButtonDown" tabind ex="-1"></paper-icon-button> </template> <script>Polymer({is:"paper-tabs",behavi ors:[Polymer.IronResizableBehavior,Polymer.IronMenubarBehavior],properties:{noin k:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1} ,noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer :{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{ type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:Stri ng,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:N umber,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_le ftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousT ab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onT abSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIr onSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyu p":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivatio nItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHa ndler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",thi s._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",th is.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noink Changed:function(t){var e=Polymer.dom(this).querySelectorAll("paper-tab");e.forE ach(t?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:fu nction(t){t.setAttribute("noink","")},_removeNoinkAttribute:function(t){t.remove Attribute("noink")},_computeScrollButtonClass:function(t,e,i){return!e||i?"hidde n":t?"not-visible":""},_computeTabsContentClass:function(t,e){return t?"scrollab le"+(e?" fit-container":""):" fit-container"},_computeSelectionBarClass:function (t,e){return t?"hidden":e?"align-bottom":""},_onTabSizingChanged:function(){this .debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this. selectedItem)},10)},_onIronSelect:function(t){this._tabChanged(t.detail.item,thi s._previousTab),this._previousTab=t.detail.item,this.cancelDebouncer("tab-change d")},_onIronDeselect:function(t){this.debounce("tab-changed",function(){this._ta bChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:fu nction(){this._cancelPendingActivation(),Polymer.IronMenuBehaviorImpl._activateH andler.apply(this,arguments)},_scheduleActivation:function(t,e){this._pendingAct ivationItem=t,this._pendingActivationTimeout=this.async(this._bindDelayedActivat ionHandler,e)},_delayedActivationHandler:function(){var t=this._pendingActivatio nItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,t .fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivat ion:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._ pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActiva tionTimeout=void 0)},_onArrowKeyup:function(t){this.autoselect&&this._scheduleAc tivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(t){t.ta rget===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabCon tainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tab sContainer.offsetWidth)},_scroll:function(t,e){if(this.scrollable){var i=e&&-e.d dx||0;this._affectScroll(i)}},_down:function(t){this.async(function(){this._defa ultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsyn c=null)},1)},_affectScroll:function(t){this.$.tabsContainer.scrollLeft+=t;var e= this.$.tabsContainer.scrollLeft;this._leftHidden=0===e,this._rightHidden=e===thi s._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft (),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_on RightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval (this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){c learInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._a ffectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._ste p)},_tabChanged:function(t,e){if(!t)return this.$.selectionBar.classList.remove( "expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBa r(0,0);var i=this.$.tabsContent.getBoundingClientRect(),n=i.width,o=t.getBoundin gClientRect(),s=o.left-i.left;if(this._pos={width:this._calcPercent(o.width,n),l eft:this._calcPercent(s,n)},this.noSlide||null==e)return this.$.selectionBar.cla ssList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void th is._positionBar(this._pos.width,this._pos.left);var a=e.getBoundingClientRect(), l=this.items.indexOf(e),c=this.items.indexOf(t),r=5;this.$.selectionBar.classLis t.add("expand");var h=l<c,d=this._isRTL;d&&(h=!h),h?this._positionBar(this._calc Percent(o.left+o.width-a.left,n)-r,this._left):this._positionBar(this._calcPerce nt(a.left+a.width-o.left,n)-r,this._calcPercent(s,n)+r),this.scrollable&&this._s crollToSelectedIfNeeded(o.width,s)},_scrollToSelectedIfNeeded:function(t,e){var i=e-this.$.tabsContainer.scrollLeft;i<0?this.$.tabsContainer.scrollLeft+=i:(i+=t -this.$.tabsContainer.offsetWidth,i>0&&(this.$.tabsContainer.scrollLeft+=i))},_c alcPercent:function(t,e){return 100*t/e},_positionBar:function(t,e){t=t||0,e=e|| 0,this._width=t,this._left=e,this.transform("translateX("+e+"%) scaleX("+t/100+" )",this.$.selectionBar)},_onBarTransitionEnd:function(t){var e=this.$.selectionB ar.classList;e.contains("expand")?(e.remove("expand"),e.add("contract"),this._po sitionBar(this._pos.width,this._pos.left)):e.contains("contract")&&e.remove("con tract")}})</script> </dom-module> <dom-module id="single-page-style" assetpath=" /res/imp/common/"> <template> <style>.header{max-width:800px}.title{font-size:1. 5em;font-weight:700;margin:5px}.id_input{margin-left:5px;--paper-input-container -input:{font-size:2em};}.refresh{max-width:40px;max-height:40px;width:initial;he ight:initial}button{min-width:4em;max-height:55px}table{border-collapse:collapse ;margin-left:5px;margin-bottom:8px}td,th{border:1px solid #BBB;padding:5px}.tabs {background-color:#1F78B4;color:#fff;max-width:600px;margin-left:5px;--paper-che ckbox-label-color:#fff}paper-tab{background-color:#A6CEE3;color:#000}paper-tab.i ron-selected{background-color:#1F78B4;color:#fff;font-weight:700;text-decoration :underline}paper-tab[disabled]{background-color:#AAA;text-decoration:line-throug h}.quarantined{background-color:#fdd}.dead{background-color:#ccc}paper-checkbox{ --paper-checkbox-checked-color:#1F78B4}</style> </template> </dom-module><script >!function(){SwarmingBehaviors.BotPageBehavior=[SwarmingBehaviors.CommonBehavior ,{}]}()</script><dom-module id="bot-page-data" assetpath="/res/imp/botpage/"> <s cript>!function(){var t,e=400,s=["first_seen_ts","last_seen_ts","lease_expiratio n_ts"],i=["started_ts","completed_ts","abandoned_ts","modified_ts"];Polymer({is: "bot-page-data",behaviors:[SwarmingBehaviors.BotPageBehavior],properties:{auth_h eaders:{type:Object},bot_id:{type:String},busy:{type:Boolean,computed:"_or(_busy 1)",notify:!0},bot:{type:Object,computed:"_parseBot(_bot)",notify:!0},bot_exists :{type:Boolean,value:!0,notify:!0},_busy1:{type:Boolean,value:!1},_bot:{type:Obj ect},_events:{type:Object},_tasks:{type:Object}},observers:["request(auth_header s,bot_id)"],request:function(){this.bot_id&&this.auth_headers&&(t&&this.cancelAs ync(t),t=this.async(function(){t=void 0;var e="/api/swarming/v1/bot/"+this.bot_i d,s=this._getJsonAsync("_bot",e+"/get","_busy1",this.auth_headers);s.then(functi on(){this.set("bot_exists",!0)}.bind(this)).catch(function(t){404===t.status?thi s.set("bot_exists",!1):sk.errorMessage("Http response: "+(t.status||" ")+" "+t.r esponse)}.bind(this)),this.fire("reload",{id:this.bot_id})},e))},_parseBot:funct ion(t){if(!t)return{};t.state=t.state||"{}",t.state=JSON.parse(t.state)||{};var e=t.state.disks||{},i=Object.keys(e);if(i.length){t.disks=[];for(var n=0;n<i.len gth;n++)t.disks.push({id:i[n],mb:e[i[n]].free_mb});t.disks.sort(function(t,e){re turn e.mb-t.mb})}else t.disks=[{id:"unknown",mb:0}];return t.dimensions=t.dimens ions||[],t.dimensions.forEach(function(t){swarming.alias.DIMENSIONS_WITH_ALIASES .indexOf(t.key)!==-1&&t.value.forEach(function(e,s){t.value[s]=swarming.alias.ap ply(e,t.key)})}),s.forEach(function(e){swarming.sanitizeAndHumanizeTime(t,e)}),t },parseEvents:function(t){if(!t||!t.items)return[];var t=t.items;return t.forEac h(function(t){swarming.sanitizeAndHumanizeTime(t,"ts")}),t.sort(function(t,e){re turn e.ts-t.ts}),t},parseTasks:function(t){if(!t||!t.items)return[];var t=t.item s;return t.forEach(function(t){if(i.forEach(function(e){swarming.sanitizeAndHuma nizeTime(t,e)}),t.duration)t.human_duration=this._humanDuration(t.duration);else {var e=t.completed_ts||t.abandoned_ts||t.modified_ts||new Date;t.human_duration= this._timeDiffExact(t.started_ts,e),t.duration=(e.getTime()-t.started_ts)/1e3}t. state=t.state||"UNKNOWN","COMPLETED"===t.state&&(t.failure?t.state="FAILURE":t.s tate="SUCCESS")}.bind(this)),t.sort(function(t,e){return e.started_ts-t.started_ ts}),t}})}()</script> </dom-module> <dom-module id="bot-page-summary" assetpath= "/res/imp/botpage/"> <template> <style include="single-page-style">.wrapper{disp lay:table;margin-left:auto;margin-bottom:10px;margin-right:5px}paper-checkbox{ma rgin-left:5px}.thick{border-top-style:solid}</style> <url-param name="show_full_ names" value="{{_show_full_names}}"> </url-param> <url-param name="show_all_task s" value="{{_show_all_tasks}}"> </url-param> <url-param name="sort_stats" value= "{{_sortstr}}" default_value="total:desc"> </url-param> <div class="wrapper"> <t able> <thead on-sort_change="_sortChange"> <tr> <th> <span>Name</span> <sort-tog gle name="full_name" current="[[_sort]]"> </sort-toggle> </th> <th> <span>Total< /span> <sort-toggle name="total" current="[[_sort]]"> </sort-toggle> </th> <th> <span>Success</span> <sort-toggle name="success" current="[[_sort]]"> </sort-tog gle> </th> <th> <span>Failed</span> <sort-toggle name="failed" current="[[_sort] ]"> </sort-toggle> </th> <th> <span>Died</span> <sort-toggle name="bot_died" cur rent="[[_sort]]"> </sort-toggle> </th> <th> <span>Average Duration</span> <sort- toggle name="avg_duration" current="[[_sort]]"> </sort-toggle> </th> <th> <span> Total Duration</span> <sort-toggle name="total_time" current="[[_sort]]"> </sort -toggle> </th> <th>Percent of Total</th> </tr> </thead> <tbody> <template is="do m-repeat" items="[[_tasksToShow]]" as="task"> <tr> <td hidden$="[[_truthy(_show_ full_names)]]" title="[[task.full_name]]">[[task.name]]</td> <td hidden$="[[_not (_show_full_names)]]" title="[[task.full_name]]">[[task.full_name]]</td> <td>[[t ask.total]]</td> <td>[[task.success]]</td> <td>[[task.failed]]</td> <td>[[task.b ot_died]]</td> <td>[[_humanDuration(task.avg_duration)]]</td> <td>[[_humanDurati on(task.total_time)]]</td> <td>[[task.total_time_percent]]%</td> </tr> </templat e> </tbody> <tbody><tr class="thick"> <td>Total</td> <td>[[_totalStats.total]]</ td> <td>[[_totalStats.success]]</td> <td>[[_totalStats.failed]]</td> <td>[[_tota lStats.bot_died]]</td> <td>[[_humanDuration(_totalStats.avg_duration)]]</td> <td >[[_humanDuration(_totalStats.total_time)]]</td> <td>100.0%</td> </tr> </tbody>< /table> <div> <table> <thead> <tr> <th title="How much time passed between the o ldest task fetched and now."> Total Wall Time </th> <th title="How much of the w all time this bot was busy with a task."> Wall Time Utilization </th> </tr> </th ead> <tbody> <tr> <td>[[_humanDuration(_totalStats.wall_time)]]</td> <td>[[_tota lStats.wall_time_utilization]]%</td> </tr> </tbody> </table> <paper-checkbox che cked="{{_show_full_names}}"> Show Full Names </paper-checkbox> <paper-checkbox h idden$="[[_cannotExpand]]" checked="{{_show_all_tasks}}"> Show All Tasks </paper -checkbox> </div> </div> </template> <script>!function(){var t=15;Polymer({is:"b ot-page-summary",behaviors:[SwarmingBehaviors.BotPageBehavior],properties:{tasks :{type:Array},_cannotExpand:{type:Boolean,computed:"_countTasks(_taskStats.*)"}, _show_all_tasks:{type:Boolean},_show_full_names:{type:Boolean},_sortstr:{type:St ring},_sort:{type:Object,computed:"_makeSortObject(_sortstr)"},_taskStats:{type: Array},_tasksToShow:{type:Array,computed:"_sortAndLimitTasks(_taskStats.*,_sort. *,_show_all_tasks)"},_totalStats:{type:Object}},observers:["_aggregate(tasks.*)" ],_aggregate:function(){if(this.tasks&&this.tasks.length){var t=new Date(1e3*sk. now()),a={},e={total:this.tasks.length,success:0,failed:0,bot_died:0,avg_duratio n:0,total_time:0,wall_time:(t-this.tasks[this.tasks.length-1].started_ts)/1e3};t his.tasks.forEach(function(t){var s=t.name.trim(),i=s.split("/");5===i.length&&( s=i[0]+"/"+i[3]),a[s]||(a[s]={full_name:s,name:s,total:0,success:0,failed:0,bot_ died:0,avg_duration:0,total_time:0}),a[s].total++,t.failure?(e.failed++,a[s].fai led++):t.internal_failure?(e.bot_died++,a[s].bot_died++):(e.success++,a[s].succe ss++),e.total_time+=t.duration,a[s].total_time+=t.duration}),e.avg_duration=e.to tal_time/e.total,e.wall_time_utilization=(100*e.total_time/e.wall_time).toFixed( 1),this.set("_totalStats",e);var s=Object.keys(a),i=[],o=[];s.forEach(function(t ){a[t].avg_duration=a[t].total_time/a[t].total,a[t].total_time_percent=(100*a[t] .total_time/e.total_time).toFixed(1),i.push(a[t]),t=t.replace(/ \(retry\)/g,""), t=t.substring(0,Math.min(100,t.length)),o.push(t)});var r=new Substrings({minOcc urrence:Math.max(2,o.length-1),minLength:6});r.build(o);var n=r.weighByAverage() ||[];n.length&&n[0].source.forEach(function(t){var a=i[t].full_name;i[t].name=a. replace(n[0].name,"...")}),this.set("_taskStats",i)}},_compare:function(t,a){if( !this._sort)return 0;var e=1;return"desc"===this._sort.direction&&(e=-1),e*natur alSort(t[this._sort.name],a[this._sort.name])},_countTasks:function(){return thi s._taskStats.length<=t},_makeSortObject:function(t){if(t){var a=t.split(":");ret urn 2!=a.length?{name:"full_name",direction:"asc"}:{name:a[0],direction:a[1]}}}, _sortAndLimitTasks:function(){swarming.stableSort(this._taskStats,this._compare. bind(this));var a=this._taskStats.length;return!this._show_all_tasks&&this._task Stats.length>t&&(a=t),this._taskStats.slice(0,a)},_sortChange:function(t){t&&t.d etail&&t.detail.name&&(t.preventDefault(),t.stopPropagation(),this.set("_sortstr ",t.detail.name+":"+t.detail.direction))}})}()</script> </dom-module><dom-module id="device-summary" assetpath="/res/imp/botpage/"> <template> <style include="s ingle-page-style">:host{display:block}</style> <template is="dom-if" if="[[_devi ces.length]]"> <span class="title">Android Devices</span> <table> <thead> <tr> < th>ID</th> <th>Battery</th> <th>Avg Temp. (°C)</th> <th>State</th> </tr> </thead > <tbody> <template is="dom-repeat" items="[[_devices]]" as="device"> <tr> <td>[ [device.id]]</td> <td>[[device.battery]]</td> <td>[[device.temp]]</td> <td>[[dev ice.state]]</td> </tr> </template> </tbody> </table> </template> </template> <sc ript> Polymer({
786 is: 'device-summary',
787
788 properties: {
789 state: {
790 type: Object,
791 },
792 _devices: {
793 type: Array,
794 computed: "_getDevices(state.*)",
795 },
796 },
797
798 _getDevices() {
799 var arr = [];
800 if (!this.state || !this.state.devices) {
801 return arr;
802 }
803 for (var id in this.state.devices) {
804 if (this.state.devices.hasOwnProperty(id)) {
805 var d = this.state.devices[id];
806 var device = {
807 id: id,
808 state: d.state || "???",
809 };
810 device.battery = (d.battery && d.battery.level) || "???"
811 var count = 0;
812 var totalTemp = 0;
813 d.temp = d.temp || [];
814 for (var t in d.temp) {
815 totalTemp += parseFloat(d.temp[t]);
816 count++;
817 }
818 // Report the average temperature of all sensors.
819 if (count) {
820 device.temp = (totalTemp/count).toFixed(1);
821 } else {
822 device.temp == "???";
823 }
824 arr.push(device);
825 }
826 }
827 return arr;
828 }
829 }); </script> </dom-module><dom-module id="bot-page" assetpath="/res/imp/bot page/"> <template> <style include="iron-flex iron-flex-alignment iron-positionin g swarming-app-style single-page-style task-style">.message{white-space:pre-line ;font-family:monospace}.bot_state{white-space:pre;font-family:monospace;margin-b ottom:10px}.events_table,.tasks_table{border:3px solid #1F78B4}.old_version{back ground-color:#ffd}.stats{min-width:700px;flex-grow:2}#collapse{max-width:700px}. cloud{white-space:nowrap;margin-bottom:5px;margin-top:auto}.deleted{text-align:c enter;font-size:larger}paper-dialog{border-radius:6px}</style> <url-param name=" id" value="{{bot_id}}"> </url-param> <url-param name="show_all_events" value="{{ _show_all}}"> </url-param> <url-param name="selected" value="{{_selected}}"> </u rl-param> <url-param name="show_state" value="{{_show_state}}"> </url-param> <sw arming-app client_id="[[client_id]]" auth_headers="{{_auth_headers}}" permission s="{{_permissions}}" server_details="{{_server_details}}" signed_in="{{_signed_i n}}" busy="[[_or(_busy1,_busy2,_busy3)]]" name="Swarming Bot Page"> <h2 hidden$= "[[_signed_in]]">You must sign in to see anything useful.</h2> <div hidden$="[[_ not(_signed_in)]]"> <bot-page-data id="data" auth_headers="[[_auth_headers]]" bo t_id="[[bot_id]]" bot="{{_bot}}" bot_exists="{{_bot_exists}}" busy="{{_busy1}}" events="{{_events}}" tasks="{{_tasks}}" on-reload="_clearAndReload"> </bot-page- data> <div class="header horizontal layout"> <paper-input class="id_input" label ="Bot id" value="{{bot_id}}"></paper-input> <button on-click="_refresh"> <iron-i con class="refresh" icon="icons:refresh"></iron-icon> </button> </div> </div> <h 2 hidden$="[[_bot_exists]]">Bot not found.</h2> <div hidden$="[[_not(_bot_exists )]]"> <div class="horizontal wrap layout"> <div class="flex"> <table> <template is="dom-if" if="[[_bot.deleted]]"> <tr class="dead deleted" title="This bot was deleted."> <td colspan="3">THIS BOT WAS DELETED</td> </tr> </template> <tbody><t r class$="[[_isDead(_bot)]]" title="Last time the bot contacted the server."> <t d>Last Seen</td> <td title="[[_bot.human_last_seen_ts]]"> [[_timeDiffExact(_bot. last_seen_ts)]] ago</td> <td> <template is="dom-if" if="[[_canShutdown(_bot,_per missions)]]"> <button class="raised" on-click="_promptShutdown"> Shut Down Grace fully </button> </template> <template is="dom-if" if="[[_canDelete(_bot,_permiss ions)]]"> <button class="raised" on-click="_promptDelete"> Delete </button> </te mplate> </td> </tr> <template is="dom-if" if="[[_bot.quarantined]]"> <tr class=" quarantined"> <td>Quarantined</td> <td colspan="2" class="message">[[_quarantine Message(_bot)]]</td> </tr> </template> <tr> <td>Current Task</td> <td> <a target ="_blank" rel="noopener" href$="[[_taskLink(_bot.task_id)]]"> [[_task(_bot)]] </ a> </td> <td> </td> </tr> <tr> <td rowspan$="[[_numRows(_bot.dimensions)]]"> <a href$="[[_siblingBotsLink(_bot.dimensions)]]" title="The list of bots that also matches these dimensions (except id)."> Dimensions</a> </td> </tr> <template is= "dom-repeat" items="[[_bot.dimensions]]" as="dim"> <tr> <td>[[dim.key]]</td> <td >[[_concat(dim.value)]]</td> </tr> </template> <tr title="IP address that the se rver saw the connection from."> <td>External IP</td> <td><a href$="[[_bot.extern al_ip]]">[[_bot.external_ip]]</a></td> <td></td> </tr> <tr class$="[[_classVersi on(_server_details.bot_version,_bot.version)]]" title="Version is based on the c ontent of swarming_bot.zip which is the swarming bot code. The bot won't update if quarantined, dead, or busy."> <td>Bot Version</td> <td>[[_shorten(_bot.versio n,'8')]]</td> <td></td> </tr> <tr title="The version the server expects the bot to be using."> <td>Expected Bot Version</td> <td>[[_shorten(_server_details.bot_ version,'8')]]</td> <td></td> </tr> <tr title="First time ever a bot with this i d contacted the server."> <td>First seen</td> <td title="[[_bot.human_first_seen _ts]]"> [[_timeDiffApprox(_bot.first_seen_ts)]] ago </td> <td></td> </tr> <tr ti tle="How the bot is authenticated by the server."> <td>Authenticated as</td> <td colspan="2">[[_bot.authenticated_as]]</td> </tr> <template is="dom-if" if="[[_b ot.lease_id]]"> <tr> <td>Machine Provider Lease ID</td> <td colspan="2"> <a href $="[[_mpLink(_bot,_server_details.machine_provider_template)]]"> [[_bot.lease_id ]] </a> </td> </tr> <tr> <td>Machine Provider Lease Expires</td> <td colspan="2" >[[_bot.human_lease_expiration_ts]]</td> </tr> </template> </tbody></table> <dev ice-summary state="[[_bot.state]]"></device-summary> <span class="title">State</ span> <template is="dom-if" if="[[_not(_show_state)]]"> <button on-click="_toggl eState"> <iron-icon icon="icons:add-circle-outline"></iron-icon> </button> </tem plate> <template is="dom-if" if="[[_show_state]]"> <button on-click="_toggleStat e"> <iron-icon icon="icons:remove-circle-outline"></iron-icon> </button> </templ ate> <iron-collapse id="collapse" opened="[[_show_state]]"> <div class="bot_stat e">[[_prettyPrint(_bot.state)]]</div> </iron-collapse> </div> <div class="stats flex"> <bot-page-summary tasks="[[_tasks]]"> </bot-page-summary> </div> </div> < div class="tabs"> <paper-tabs selected="{{_selected}}" no-bar=""> <paper-tab>Tas ks</paper-tab> <paper-tab>Events</paper-tab> </paper-tabs> <template is="dom-if" if="[[_showEvents]]"> <paper-checkbox checked="{{_show_all}}"> Show all events </paper-checkbox> </template> </div> <template is="dom-if" if="[[_not(_showEvent s)]]"> <table class="tasks_table"> <thead> <tr> <th>Task</th> <th>Started</th> < th>Duration</th> <th>Result</th> </tr> </thead> <tbody> <template is="dom-repeat " items="{{_tasks}}" as="task"> <tr class$="[[_taskClass(task)]]"> <td> <a targe t="_blank" rel="noopener" href$="[[_taskLink(task.task_id)]]"> [[task.name]] </a > </td> <td>[[task.human_started_ts]]</td> <td title="[[task.human_completed_ts] ]">[[task.human_duration]]</td> <td>[[task.state]]</td> </tr> </template> </tbod y> </table> </template> <template is="dom-if" if="[[_showEvents]]"> <table class ="events_table"> <thead> <tr> <th>Message</th> <th>Type</th> <th>Timestamp</th> <th>Task ID</th> <th>Version</th> </tr> </thead> <tbody> <template is="dom-repea t" items="{{_eventList(_show_all,_events.*)}}" as="event"> <tr> <td class="messa ge">[[event.message]]</td> <td>[[event.event_type]]</td> <td>[[event.human_ts]]< /td> <td> <a target="_blank" rel="noopener" href$="[[_taskLink(event.task_id)]]" > [[event.task_id]] </a> </td> <td class$="[[_classVersion(_server_details.bot_v ersion,event.version)]]"> [[_shorten(event.version,'8')]] </td> </tr> </template > </tbody> </table> </template> <pageable-data id="page_tasks" hidden$="[[_showE vents]]" busy="{{_busy2}}" label="Show more tasks" output="{{_tasks}}" parse="[[ _parseTasks]]"> </pageable-data> <pageable-data id="page_events" hidden$="[[_not (_showEvents)]]" busy="{{_busy3}}" label="Show more events" output="{{_events}}" parse="[[_parseEvents]]"> </pageable-data> </div> </swarming-app> <paper-dialog id="prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?< /h2> <div>Are you sure you want to [[_dialogPrompt]]?</div> <div class="buttons" > <paper-button dialog-dismiss="" autofocus="">No</paper-button> <paper-button d ialog-confirm="">Yes</paper-button> </div> </paper-dialog> </template> <script> (function(){
830
831 Polymer({
832 is: 'bot-page',
833
834 behaviors: [
835 SwarmingBehaviors.BotPageBehavior,
836 ],
837
838 properties: {
839 bot_id: {
840 type: String,
841 },
842 client_id: {
843 type: String,
844 },
845
846 _auth_headers: {
847 type: Object,
848 observer: "_reload",
849 },
850 _bot: {
851 type: Object,
852 },
853 _dialogPrompt: {
854 type: String,
855 value: "",
856 },
857 _selected: {
858 type: Number,
859 },
860 _show_all: {
861 type: Boolean,
862 },
863 _showEvents: {
864 type: Boolean,
865 computed: "_truthy(_selected)"
866 },
867 _show_state: {
868 type: Boolean,
869 },
870
871 _parseEvents: {
872 type: Function,
873 value: function() {
874 return this.$.data.parseEvents.bind(this);
875 }
876 },
877 _parseTasks: {
878 type: Function,
879 value: function() {
880 return this.$.data.parseTasks.bind(this);
881 }
882 }
883 },
884
885 _canCancel: function(bot, permissions) {
886 return bot && bot.task_id && permissions.cancel_task && !bot.deleted;
887 },
888
889 _canDelete: function(bot, permissions) {
890 return bot && bot.is_dead && permissions.delete_bot && !bot.deleted;
891 },
892
893 _canShutdown: function(bot, permissions){
894 return bot && !bot.is_dead && permissions.terminate_bot && !bot.deleted;
895 },
896
897 _classVersion: function(serverVersion, otherVersion) {
898 if (serverVersion !== otherVersion) {
899 return "old_version";
900 }
901 return "";
902 },
903
904 _clearAndReload: function(botID) {
905 this.$.page_tasks.clear();
906 this.$.page_events.clear();
907 this._reload();
908 },
909
910 _concat: function(arr) {
911 if (!arr) {
912 return "";
913 }
914 return arr.join(" | ");
915 },
916
917 _deleteBot: function() {
918 swarming.postWithToast("/api/swarming/v1/bot/"+this.bot_id+"/delete",
919 "Deleting "+this.bot_id, this._auth_headers);
920 },
921
922 _eventList(showAll) {
923 if (!this._events) {
924 return [];
925 }
926 return this._events.filter(function(e){
927 return showAll || e.message;
928 });
929 },
930
931 _isDead(bot){
932 if (bot && bot.is_dead && !bot.deleted) {
933 return "dead";
934 }
935 return "";
936 },
937
938 _luciLink: function(revision) {
939 if (!revision) {
940 return undefined;
941 }
942 return "https://github.com/luci/luci-py/commit/" + revision;
943 },
944
945 _mpLink: function(bot, template) {
946 if (!bot || !bot.lease_id || !template) {
947 return false;
948 }
949 return template.replace("%s", bot.lease_id);
950 },
951
952 _numRows: function(arr) {
953 if (!arr || !arr.length) {
954 return 1;
955 }
956 return 1 + arr.length;
957 },
958
959 _prettyPrint: function(obj) {
960 obj = obj || {};
961 return JSON.stringify(obj, null, 2);
962 },
963
964 _promptClosed: function(e) {
965 if (e.detail.confirmed) {
966 if (this._dialogPrompt.startsWith("shut down")) {
967 this._shutdownBot();
968 } else {
969 this._deleteBot();
970 }
971 }
972 },
973
974 _promptDelete: function() {
975 this.set("_dialogPrompt", "delete "+this.bot_id);
976 this.$.prompt.open();
977 },
978
979 _promptShutdown: function() {
980 this.set("_dialogPrompt", "shut down "+this.bot_id);
981 this.$.prompt.open();
982 },
983
984 _quarantineMessage: function(bot) {
985 if (bot && bot.quarantined) {
986 var msg = bot.state.quarantined;
987 // Sometimes, the quarantined message is actually in "error". This
988 // happens when the bot code has thrown an exception.
989 if (msg === undefined || msg === "true" || msg === true) {
990 msg = bot.state && bot.state.error;
991 }
992 return msg || "True";
993 }
994 return "";
995 },
996
997 _refresh: function() {
998 this.$.data.request();
999 },
1000
1001 _reload: function() {
1002 if (!this._auth_headers) {
1003 return;
1004 }
1005 var baseUrl = "/api/swarming/v1/bot/"+this.bot_id;
1006 this.$.page_tasks.load(baseUrl + "/tasks", this._auth_headers, 30);
1007 this.$.page_events.load(baseUrl + "/events", this._auth_headers, 50);
1008 },
1009
1010 _shorten: function(str, length) {
1011 if (!str || ! length) {
1012 return "";
1013 }
1014 return str.substring(0, length);
1015 },
1016
1017 _shutdownBot: function() {
1018 swarming.postWithToast("/api/swarming/v1/bot/"+this.bot_id+"/terminate",
1019 "Shutting down "+this.bot_id, this._auth_headers);
1020 },
1021
1022 _siblingBotsLink(dimensions) {
1023 var cols = ["id", "os", "task", "status"];
1024 if (!dimensions) {
1025 return this._botListLink([], cols);
1026 }
1027
1028 dimensions = dimensions.filter(function(f){
1029 return f.key !== "id";
1030 });
1031
1032 dimensions.forEach(function(f) {
1033 if (cols.indexOf(f.key) === -1) {
1034 cols.push(f.key);
1035 }
1036 }.bind(this));
1037
1038 return this._botListLink(dimensions, cols);
1039 },
1040
1041 _task: function(bot) {
1042 return (bot && bot.task_id) || "idle";
1043 },
1044
1045 _taskClass: function(task) {
1046 if (task && task.internal_failure) {
1047 return "bot_died";
1048 }
1049 if (task && task.failure) {
1050 return "failed_task";
1051 }
1052 return "";
1053 },
1054
1055 _toggleState: function() {
1056 this.set("_show_state", !this._show_state);
1057 }
1058
1059 });
1060 })(); </script> </dom-module><dom-module id="interval-timer" assetpath="/res/i mp/common/"> <script>!function(){Polymer({is:"interval-timer",properties:{period :{type:Number,value:-1,observer:"_periodChanged"}},_periodChanged:function(e){th is._timeout&&window.clearTimeout(this._timeout),e>0&&(this._timeout=window.setTi meout(function(){this.fire("trigger"),this._periodChanged(e)}.bind(this),1e3*e)) }})}()</script> </dom-module> <dom-module id="task-page-data" assetpath="/res/im p/taskpage/"> <script>!function(){var t,e=400,s=["abandoned_ts","completed_ts"," created_ts","modified_ts","started_ts"];Polymer({is:"task-page-data",behaviors:[ SwarmingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:{aut h_headers:{type:Object},task_id:{type:String},busy:{type:Boolean,computed:"_or(_ busy1,_busy2,_busy3)",notify:!0},request:{type:Object,computed:"_parseRequest(_r equest)",notify:!0},result:{type:Object,computed:"_parseResult(_result)",notify: !0},stdout:{type:String,computed:"_parseStdout(_stdout)",notify:!0},task_exists: {type:Boolean,value:!0,notify:!0},_busy1:{type:Boolean,value:!1},_busy2:{type:Bo olean,value:!1},_busy3:{type:Boolean,value:!1},_request:{type:Object},_result:{t ype:Object},_stdout:{type:Object}},observers:["reload(auth_headers,task_id)"],re load:function(){if(!this.task_id||!this.auth_headers)return void console.log("ta sk_id and auth_headers can't be empty");t&&this.cancelAsync(t);var s="/api/swarm ing/v1/task/"+this.task_id;t=this.async(function(){t=void 0;var e=this._getJsonA sync("_request",s+"/request","_busy1",this.auth_headers);e.then(function(){this. set("task_exists",!0)}.bind(this)).catch(function(t){404===t.status?this.set("ta sk_exists",!1):sk.errorMessage("Http response: "+(t.status||" ")+" "+t.response) }.bind(this)),this._getJsonAsync("_result",s+"/result?include_performance_stats= true","_busy2",this.auth_headers),this.reloadStdout()},e)},_parseRequest:functio n(t){return t?(t.tagMap={},t.tags=t.tags||[],t.tags.forEach(function(e){var s=e. split(":",1),a=s[0],i=e.substring(a.length+1);t.tagMap[a]=i}),s.forEach(function (e){swarming.sanitizeAndHumanizeTime(t,e)}),t):{}},_parseResult:function(t){if(! t)return{};var e=new Date;return s.forEach(function(e){swarming.sanitizeAndHuman izeTime(t,e)}),!t.duration&&t.state===this.RUNNING&&t.started_ts&&(t.duration=(e -t.started_ts)/1e3),t.human_duration=this._humanDuration(t.duration),t},_parseSt dout:function(t){return t&&t.output?t.output:""},reloadStdout:function(){this._g etJsonAsync("_stdout","/api/swarming/v1/task/"+this.task_id+"/stdout","_busy3",t his.auth_headers)}})}()</script> </dom-module><dom-module id="task-retry-prompt" assetpath="/res/imp/taskpage/"> <template> <style>:host{display:block}td,th{fon t-size:16px}paper-input{--paper-input-container-input:{font-family:sans-serif};} </style> <h2>Are you sure you want to retry task [[task_id]]?</h2> <div>If you w ant to modify any dimensions (e.g. specify a bot's id), do so now.</div> <table> <thead> <tr> <th>Key</th> <th>Value</th> </tr> </thead> <tbody> <template is="d om-repeat" items="[[task_dimensions]]" as="dim"> <tr> <td> <paper-input no-label -float="true" value="[[dim.key]]" on-change="_updateKey"> </paper-input> </td> < td> <paper-input no-label-float="true" value="[[dim.value]]" on-change="_updateV alue"> </paper-input> </td> </tr> </template> </tbody> </table> </template> <scr ipt>Polymer({is:"task-retry-prompt",properties:{task_id:{type:String},task_dimen sions:{type:Array,notify:!0}},setDimensions:function(e){for(e=e||[];e.length<6;) e.push({key:"",value:""});this.set("task_dimensions",e)},_updateKey:function(e){ this.set("task_dimensions."+e.model.index+".key",e.currentTarget.value)},_update Value:function(e){this.set("task_dimensions."+e.model.index+".value",e.currentTa rget.value)}})</script> </dom-module><dom-module id="task-disambiguation" assetp ath="/res/imp/taskpage/"> <template> <style include="swarming-app-style single-p age-style task-style"></style> <table> <thead> <tr> <th>Try ID</th> <th>Bot ID</ th> <th>Status</th> </tr> </thead> <tbody> <template id="result_list" is="dom-re peat" items="[[_results]]" as="result" observe="task_id bot_id state"> <tr> <td> <a href$="[[_taskLink(result.task_id,'true')]]"> [[result.task_id]] </a> </td> <td> <a href$="[[_botLink(result.bot_id)]]"> [[result.bot_id]] </a> </td> <td cl ass$="[[_stateClass(result)]]">[[state(result)]]</td> </tr> </template> </tbody> </table> </template> <script>Polymer({is:"task-disambiguation",behaviors:[Swarm ingBehaviors.CommonBehavior,SwarmingBehaviors.TaskBehavior],properties:{auth_hea ders:{type:Object},summary_result:{type:Object},task_id:{type:String},busy:{type :Boolean,value:!1,notify:!0},_busyArr:{type:Array,value:function(){return[]}},_r esults:{type:Array,value:function(){return[]}}},observers:["_fetchRest(auth_head ers,task_id,summary_result)","_computeBusy(_busyArr.*)"],_computeBusy:function() {for(var s=0;s<this._busyArr.length;s++)if(this._busyArr[s].status)return!0;retu rn!1},_fetchRest:function(s,r,t){if(s&&r&&t){var e=t.try_number;this.set("_busyA rr",[]),this.set("_results",[]);for(var u=r.substring(0,r.length-1),i="/api/swar ming/v1/task/",a=0;a<e-1;a++){var n=u+(a+1);this.splice("_busyArr",a,0,{}),this. splice("_results",a,0,{task_id:n}),this._getJsonAsyncArr(a,"_results",i+n+"/resu lt","_busyArr",s)}t.task_id=u+e,this.splice("_results",e-1,1,t)}}})</script> </d om-module><dom-module id="task-page" assetpath="/res/imp/taskpage/"> <template> <style include="iron-flex iron-flex-alignment swarming-app-style single-page-sty le task-style">.milo{width:calc(100% - 11px);height:2000px}.right{margin-top:8px }.break-all{word-break:break-all}.expand{min-width:3em;vertical-align:middle;pad ding:.5em}.code{font-family:monospace}.stdout{white-space:pre-wrap;padding:2px}. stdout.wide{white-space:pre;overflow-x:auto}.refresh_input{padding:0 5px}.reprod uce{margin-left:5px}.tabbed{border:3px solid #1F78B4;margin-left:5px;min-height: 80vh;min-width:550px}.task-info{min-width:500px}.cipd-header{-moz-user-select:no ne;-webkit-user-select:none;-ms-user-select:none;user-select:none;font-weight:70 0;margin-left:8px}.full-width{min-width:100%}.full-width-container{position:rela tive}.full-width-container>paper-checkbox{position:absolute;bottom:10px;width:14 0px;left:5px}.italic{font-style:italic}</style> <url-param name="id" value="{{ta sk_id}}"> </url-param> <url-param name="try_detail" value="{{_try_detail}}"> </u rl-param> <url-param name="request_detail" value="{{_request_detail}}"> </url-pa ram> <url-param name="show_raw" value="{{_show_raw}}"> </url-param> <url-param n ame="wide_logs" value="{{_wide_logs}}"> </url-param> <url-param name="refresh" v alue="{{_refresh_interval}}" default_value="10"> </url-param> <swarming-app clie nt_id="[[client_id]]" auth_headers="{{_auth_headers}}" permissions="{{_permissio ns}}" profile="{{_profile}}" server_details="{{_server_details}}" signed_in="{{_ signed_in}}" busy="[[_or(_busyPageData,_busyTaskDisambiguation,_busyRunningCount ,_busyPendingCount,_busyBotCount)]]" name="Swarming Task Page"> <h2 hidden$="[[_ signed_in]]">You must sign in to see anything useful.</h2> <div hidden$="[[_not( _signed_in)]]"> <task-page-data id="data" auth_headers="[[_auth_headers]]" task_ id="[[task_id]]" busy="{{_busyPageData}}" request="{{_request}}" result="{{_resu lt}}" stdout="{{_stdout}}" task_exists="{{_task_exists}}"> </task-page-data> <di v class="horizontal layout wrap"> <div class="left flex"> <div class="horizontal layout"> <paper-input class="id_input" label="Task id" value="{{task_id}}"></pa per-input> <button on-click="_refresh"> <iron-icon class="refresh" icon="icons:r efresh"></iron-icon> </button> <button on-click="_promptRetry">Retry</button> <t emplate is="dom-if" if="[[_canCancelTask(_result,_permissions)]]"> <button on-cl ick="_promptCancel">Cancel</button> </template> </div> <h2 hidden$="[[_task_exis ts]]">Task not found.</h2> <template is="dom-if" if="[[_disambiguate(task_id,_re sult)]]"> <h2>Displaying a summary for a task with multiple tries</h2> <task-dis ambiguation busy="{{_busyTaskDisambiguation}}" auth_headers="[[_auth_headers]]" task_id="[[task_id]]" summary_result="[[_result]]"> </task-disambiguation> </tem plate> <table class="task-info" hidden$="[[_not(_task_exists)]]"> <tbody> <tr> < td>Name</td> <td>[[_request.name]]</td> </tr> <tr> <td>State</td> <td class$="[[ _stateClass(_result)]]">[[state(_result)]]</td> </tr> <tr> <td> <template is="do m-if" if="[[_eq(_result.state,'PENDING')]]"> <b>Why Pending?</b> </template> <te mplate is="dom-if" if="[[_neq(_result.state,'PENDING')]]"> Similar Load </templa te> </td> <td> <span class$="[[_it(_other_pending.count)]]">[[_other_pending.cou nt]]</span> <a title="The list of pending tasks that matches the list of dimensi ons" href$="[[_taskListLink(_request.properties.dimensions,&quot;&quot;,&quot;st ate:PENDING&quot;)]]">similar pending tasks</a>, <span class$="[[_it(_other_runn ing.count)]]">[[_other_running.count]]</span> <a title="The list of running task s that matches the list of dimensions" href$="[[_taskListLink(_request.propertie s.dimensions,&quot;&quot;,&quot;state:RUNNING&quot;)]]">similar running tasks</a > </td> </tr> <tr> <td>Fleet Capacity</td> <td> <span class$="[[_it(_bots_count. count)]]">[[_bots_count.count]]</span> <a title="The list of bots that matches t he list of dimensions" href$="[[_botListLink(_request.properties.dimensions)]]"> bots</a> can run this task (<span class$="[[_it(_bots_count.dead)]]">[[_bots_cou nt.dead]]</span> dead, <span class$="[[_it(_bots_count.dead)]]">[[_bots_count.qu arantined]]</span> quarantined) </td> </tr> <tr> <td>Created</td> <td title$="[[ _request.created_ts]]">[[_request.human_created_ts]]</td> </tr> <template is="do m-if" if="[[_wasPickedUp(_result)]]"> <tr> <td>Started</td> <td title$="[[_resul t.started_ts]]">[[_result.human_started_ts]]</td> </tr> </template> <template is ="dom-if" if="[[_wasNotPickedUp(_result)]]"> <tr> <td>Expires</td> <td>[[_expire s(_request)]]</td> </tr> </template> <template is="dom-if" if="[[_result.human_c ompleted_ts]]"> <tr> <td>Completed</td> <td title$="[[_result.completed_ts]]">[[ _result.human_completed_ts]]</td> </tr> </template> <template is="dom-if" if="[[ _result.human_abandoned_ts]]"> <tr> <td>Abandoned</td> <td title$="[[_result.aba ndoned_ts]]">[[_result.human_abandoned_ts]]</td> </tr> </template> <tr> <td>Last Updated</td> <td title$="[[_result.modified_ts]]">[[_result.human_modified_ts]] </td> </tr> <template is="dom-if" if="[[_result.deduped_from]]"> <tr> <td><b>Ded uped from</b></td> <td> <a href$="[[_taskLink(_result.deduped_from)]]"> [[_resul t.deduped_from]] </a> </td> </tr> </template> <tr> <td>Pending Time</td> <td>[[_ pending(_result)]]</td> </tr> <tr> <td>Duration</td> <td>[[_result.human_duratio n]]</td> </tr> <tr> <td>Priority</td> <td>[[_request.priority]]</td> </tr> <tr> <td>User</td> <td>[[_request.user]]</td> </tr> <tr> <td>Authenticated</td> <td>[ [_request.authenticated]]</td> </tr> <template is="dom-if" if="[[_request.servic e_account]]"> <tr> <td>Service Account</td> <td>[[_request.service_account]]</td > </tr> </template> <template is="dom-if" if="[[_request.properties.secret_bytes ]]"> <tr> <td>Secret Bytes</td> <td>[[_request.properties.secret_bytes]]</td> </ tr> </template> <template is="dom-if" if="[[_request.parent_task_id]]"> <tr> <td >Parent Task</td> <td> <a href$="[[_taskLink(_request.parent_task_id)]]">[[_requ est.parent_task_id]]</a> </td> </tr> </template> <tr> <td rowspan$="[[_rowspan(_ request.properties.dimensions)]]"> Dimensions <br> <a title="The list of bots th at matches the list of dimensions" href$="[[_botListLink(_request.properties.dim ensions)]]">Bots</a> <a title="The list of tasks that matches the list of dimens ions" href$="[[_taskListLink(_request.properties.dimensions)]]">Tasks</a> </td> </tr> <template is="dom-repeat" items="{{_request.properties.dimensions}}" as="d imension"> <tr> <td><b>[[dimension.key]]:</b> [[_alias(dimension)]]</td> </tr> < /template> <tr> <td>Isolated Inputs</td> <td> <a href$="[[_isolateLink(_request. properties.inputs_ref)]]"> [[_request.properties.inputs_ref.isolated]] </a> </td > </tr> <template is="dom-if" if="[[_request.properties.outputs.length]]"> <tr> <td rowspan$="[[_rowspan(_request.properties.outputs)]]">Expected outputs</td> < /tr> <template is="dom-repeat" items="{{_request.properties.outputs}}" as="outpu t"> <tr> <td>[[output]]</td> </tr> </template> </template> <template is="dom-if" if="[[_not(_request_detail)]]"> <tr> <td>More Details</td> <td> <button on-clic k="_toggleDetails"> <iron-icon icon="icons:add-circle-outline"></iron-icon> </bu tton> </td> </tr> </template> <template is="dom-if" if="[[_request_detail]]"> <t r> <td>Hide Details</td> <td> <button on-click="_toggleDetails"> <iron-icon icon ="icons:remove-circle-outline"></iron-icon> </button> </td> </tr> </template> </ tbody> <tbody id="more_details" hidden$="[[!_request_detail]]"> <tr> <td>Extra A rgs</td> <td class="code break-all">[[_extraArgs(_request)]]</td> </tr> <tr> <td >Command</td> <td class="code break-all">[[_command(_request)]]</td> </tr> <tr> <td>Idempotent</td> <td>[[_request.properties.idempotent]]</td> </tr> <tr> <td r owspan$="[[_rowspan(_request.tags)]]">Tags</td> </tr> <template is="dom-repeat" items="{{_request.tags}}" as="tag"> <tr> <td class="break-all">[[tag]]</td> </tr > </template> <tr> <td>Execution timeout</td> <td>[[_humanDuration(_request.prop erties.execution_timeout_secs)]]</td> </tr> <tr> <td>I/O timeout</td> <td>[[_hum anDuration(_request.properties.io_timeout_secs)]]</td> </tr> <tr> <td>Grace peri od</td> <td>[[_humanDuration(_request.properties.grace_period_secs)]]</td> </tr> <tr> <td>CIPD server</td> <td> <a href$="[[_request.properties.cipd_input.serve r]]"> [[_request.properties.cipd_input.server]] </a> </td> </tr> <tr> <td>CIPD v ersion</td> <td class="break-all">[[_request.properties.cipd_input.client_packag e.version]]</td> </tr> <template is="dom-if" if="[[_wasPickedUp(_result)]]"> <tr > <td>CIPD package name</td> <td>[[_result.cipd_pins.client_package.package_name ]]</td> </tr> </template> <tr hidden$="[[_not(_request.properties.cipd_input)]]" > <td rowspan$="[[_cipdRowspan(_request,_result)]]">CIPD packages</td> </tr> <te mplate is="dom-repeat" items="[[_cipdPackages(_request,_result)]]" as="cipd"> <t r> <td>[[cipd.path]]/</td> </tr> <tr> <td class="break-all"> <span class="cipd-h eader">Requested: </span>[[cipd.requested]] </td> </tr> <tr hidden$="[[!_hasActu alCIPDPackages(_result)]]"> <td class="break-all"> <span class="cipd-header">Act ual: </span>[[cipd.actual]] </td> </tr> </template> <tr hidden$="[[_empty(_reque st.properties.caches)]]"> <td rowspan$="[[_rowspan(_request.properties.caches)]] ">Named caches</td> </tr> <template is="dom-repeat" items="[[_request.properties .caches]]" as="cache"> <tr> <td><span>[[cache.name]]</span>:<span>[[cache.path]] </span></td> </tr> </template> </tbody> </table> <div class="title" hidden$="[[_ not(_task_exists)]]">Task Execution</div> <template is="dom-if" if="[[_wasPicked Up(_result)]]"> <table hidden$="[[_not(_task_exists)]]"> <tbody><tr> <td>Bot ass igned to task</td> <td><a href$="[[_botLink(_result.bot_id)]]">[[_result.bot_id] ]</a></td> </tr> <tr> <td rowspan$="[[_rowspan(_result.bot_dimensions)]]"> <a>Bo t Dimensions</a> </td> </tr> <template is="dom-repeat" items="[[_result.bot_dime nsions]]" as="dimension"> <tr> <td><b>[[dimension.key]]:</b> [[_alias(dimension) ]]</td> </tr> </template> <tr> <td>Exit code</td> <td>[[_result.exit_code]]</td> </tr> <tr> <td>Try number</td> <td>[[_result.try_number]]</td> </tr> <tr> <td>F ailure</td> <td class$="[[_failureClass(_result.failure)]]">[[_result.failure]]< /td> </tr> <tr> <td>Internal Failure</td> <td class$="[[_internalClass(_result.i nternal_failure)]]">[[_result.internal_failure]]</td> </tr> <tr> <td>Cost (USD)< /td> <td>$[[_cost(_result)]]</td> </tr> <tr> <td>Isolated Outputs</td> <td> <a h ref$="[[_isolateLink(_result.outputs_ref)]]"> [[_result.outputs_ref.isolated]] < /a> </td> </tr> <tr> <td>Bot version</td> <td>[[_result.bot_version]]</td> </tr> <tr> <td>Server version</td> <td>[[_result.server_versions]]</td> </tr> </tbody ></table> </template> <template is="dom-if" if="[[_wasNotPickedUp(_result)]]"> T his space left blank until a bot is assigned to the task. </template> <template is="dom-if" if="[[_result.performance_stats]]"> <div class="title">Performance S tats</div> <table> <tbody><tr> <td title="This includes time taken to download i nputs, isolate outputs, and setup CIPD">Total Overhead</td> <td>[[_humanDuration (_result.performance_stats.bot_overhead)]]</td> </tr> <tr> <td>Downloading Input s From Isolate</td> <td>[[_humanDuration(_result.performance_stats.isolated_down load.duration)]]</td> </tr> <tr> <td>Uploading Outputs To Isolate</td> <td>[[_hu manDuration(_result.performance_stats.isolated_upload.duration)]]</td> </tr> <tr hidden$="[[!_result.performance_stats.isolated_download.initial_size]]"> <td>In itial bot cache</td> <td>[[_result.performance_stats.isolated_download.initial_n umber_items]] items; [[_bytes(_result.performance_stats.isolated_download.initia l_size)]]</td> </tr> </tbody></table> </template> <div hidden$="[[_not(_task_exi sts)]]"> <div class="title">Reproducing the task locally</div> <div class="repro duce"> <div>Download inputs files into directory <i>foo</i>:</div> <div class="c ode"> python isolateserver.py download -I [[_request.properties.inputs_ref.isola tedserver]] --namespace [[_request.properties.inputs_ref.namespace]] -s [[_reque st.properties.inputs_ref.isolated]] --target foo</div> <br> <div>Run this task l ocally:</div> <div class="code"> python swarming.py reproduce -S [[_host_url]] [ [task_id]]</div> <br> <div>Download output results into directory <i>foo</i>:</d iv> <div class="code"> python swarming.py collect -S [[_host_url]] --task-output -dir=foo [[task_id]]</div> <br> <div>Looking for <i>swarming.py</i>?</div> <div class="code"> git clone https://github.com/luci/client-py</div> </div> </div> </ div> <div class$="flex right [[_classRight(_wide_logs)]]" hidden$="[[_not(_task_ exists)]]"> <div class="horizontal layout"> <div class="tabs"> <paper-tabs selec ted="{{_show_raw}}" no-bar=""> <paper-tab disabled$="[[_noMilo(_request)]]">Milo Output</paper-tab> <paper-tab>Raw Output</paper-tab> </paper-tabs> </div> <pape r-input class="refresh_input" label="Refresh Interval (seconds)" value="{{_refre sh_interval}}" title="How often to refresh all information about the task" auto- validate="" min="1" max="1000" pattern="[0-9]+"> </paper-input> <div class="full -width-container"> <paper-checkbox checked="{{_wide_logs}}"> Full Width Logs </p aper-checkbox> </div> </div> <template is="dom-if" if="[[_supportsMilo(_request, _show_raw)]]"> <div class="milo tabbed" hidden$="[[_isSummaryLink(task_id)]]"> M ilo results are only generated for task summaires, that is, tasks whose ids end in 0. Tasks ending in 1 or 2 represent possible retries of tasks. See <a href="/ /goo.gl/LE4rwV">the docs</a> for more. </div> <iframe id="miloFrame" class="milo tabbed" src$="[[_getDisplayServerLink(_server_details.display_server_url_templa te,task_id)]]"></iframe> </template> <template is="dom-if" if="[[_show_raw]]"> < div class$="code stdout tabbed break-all [[_classStdout(_wide_logs)]]">[[_rawOut put(_stdout,_result)]]</div> </template> </div> </div> </div> </swarming-app> <p aper-dialog id="prompt" modal="" on-iron-overlay-closed="_promptClosed"> <h2>Are you sure?</h2> <div>Are you sure you want to [[_dialog_prompt]]?</div> <div cla ss="buttons"> <paper-button dialog-dismiss="" autofocus="">No</paper-button> <pa per-button dialog-confirm="">Yes</paper-button> </div> </paper-dialog> <paper-di alog id="retry_task" modal="" on-iron-overlay-closed="_retryClosed"> <task-retry -prompt id="retry_task_prompt" task_id="[[task_id]]" task_dimensions="{{_retry_d imensions}}"> </task-retry-prompt> <div class="buttons"> <paper-button dialog-di smiss="">Cancel</paper-button> <paper-button dialog-confirm="">OK</paper-button> </div> </paper-dialog> <interval-timer period="[[_refresh_interval]]" on-trigge r="_softRefresh"> </interval-timer> </template> <script> (function(){
1061 Polymer({
1062 is: 'task-page',
1063
1064 behaviors: [
1065 SwarmingBehaviors.CommonBehavior,
1066 SwarmingBehaviors.TaskBehavior,
1067 ],
1068
1069 properties: {
1070 task_id: {
1071 type: String,
1072 },
1073 client_id: {
1074 type: String,
1075 },
1076
1077 _auth_headers: {
1078 type: Object,
1079 },
1080 _bots_count: {
1081 type: Object,
1082 value: function() {
1083 return {
1084 count: "<counting>",
1085 dead: "<counting>",
1086 quarantined: "<counting>",
1087 };
1088 },
1089 },
1090 _busyPageData: {
1091 type: Boolean,
1092 value: false,
1093 },
1094 _busyTaskDisambiguation: {
1095 type: Boolean,
1096 value: false,
1097 },
1098 _busyRunningCount: {
1099 type: Boolean,
1100 value: false,
1101 },
1102 _busyPendingCount: {
1103 type: Boolean,
1104 value: false,
1105 },
1106 _busyBotCount: {
1107 type: Boolean,
1108 value: false,
1109 },
1110 _dialog_prompt: {
1111 type: String,
1112 value: "",
1113 },
1114 _host_url: {
1115 type: String,
1116 value: function(){
1117 return window.location.hostname;
1118 }
1119 },
1120 _other_pending: {
1121 type: Object,
1122 value: function(){
1123 return {count: "<counting>"};
1124 }
1125 },
1126 _other_running: {
1127 type: Object,
1128 value: function(){
1129 return {count: "<counting>"};
1130 }
1131 },
1132 _refresh_interval: {
1133 type: Number,
1134 },
1135 _request: {
1136 type: Object,
1137 observer: "_requestUpdated"
1138 },
1139 _request_detail: {
1140 type: Boolean,
1141 },
1142 _result: {
1143 type: Object,
1144 },
1145 _retry_dimensions: {
1146 type: Array,
1147 },
1148 _server_details: {
1149 type: Object,
1150 },
1151 _stdout: {
1152 type: String,
1153 }
1154 },
1155
1156 observers: [
1157 "_similarLoad(_request,_result,_auth_headers)"],
1158
1159 _alias: function(dim) {
1160 var values = dim.value;
1161 if (!Array.isArray(values)) {
1162 values = [values];
1163 }
1164 if (swarming.alias.has(dim.key)) {
1165 values.forEach(function(v, i){
1166 values[i] = swarming.alias.apply(v, dim.key);
1167 });
1168 }
1169 return values.join(" | ");
1170 },
1171
1172 _bytes: function(sizeInBytes) {
1173 return sk.human.bytes(sizeInBytes);
1174 },
1175
1176 _canCancelTask: function(result, permissions) {
1177 return result && result.state === "PENDING" && permissions.cancel_task;
1178 },
1179
1180 _cancelTask: function() {
1181 var url = "/api/swarming/v1/task/" + this.task_id +"/cancel";
1182 swarming.postWithToast(url, "Canceling task " + this.task_id, this._auth _headers);
1183 },
1184
1185 _cipdRowspan: function(request, result) {
1186 if (!request || !request.properties || !request.properties.cipd_input) {
1187 return 0;
1188 }
1189 // We always need to at least double the number of packages because we
1190 // show the path and then the requested. If the actual package info
1191 // is available, we triple the number of packages to account for that.
1192 var rowSpan = (request.properties.cipd_input.packages || []).length;
1193 if (this._hasActualCIPDPackages(result)) {
1194 rowSpan *= 3;
1195 } else {
1196 rowSpan *= 2;
1197 }
1198 // Add one because rowSpan counts from 1.
1199 return rowSpan + 1;
1200 },
1201
1202 _cipdPackages: function(request, result) {
1203 if (!request || !request.properties || !request.properties.cipd_input) {
1204 return [];
1205 }
1206 var packages = request.properties.cipd_input.packages || [];
1207 var actual = (result && result.cipd_pins && result.cipd_pins.packages) | | [];
1208 packages.forEach(function(p) {
1209 p.requested = p.package_name + ":" + p.version;
1210 actual.forEach(function(c) {
1211 if (c.path === p.path) {
1212 p.actual = c.package_name + ":" + c.version;
1213 }
1214 });
1215 });
1216 return packages;
1217 },
1218
1219 _classRight: function(wide_logs) {
1220 if (wide_logs) {
1221 return "full-width";
1222 }
1223 return "";
1224 },
1225
1226 _classStdout: function(wide_logs) {
1227 if (wide_logs) {
1228 return "wide";
1229 }
1230 return "";
1231 },
1232
1233 _command: function(request) {
1234 if (!request || !request.properties) {
1235 return "";
1236 }
1237 var args = request.properties.command || [];
1238 return args.join(" ");
1239 },
1240
1241 _cost: function(result) {
1242 if (!result || !result.costs_usd || !result.costs_usd.length) {
1243 return 0;
1244 }
1245 return result.costs_usd[0].toFixed(4);
1246 },
1247
1248 _disambiguate: function(taskId, result) {
1249 if (!taskId.endsWith("0") || !result) {
1250 return false;
1251 }
1252 return result.try_number > 1;
1253 },
1254
1255 _empty: function(array) {
1256 return !array || array.length == 0;
1257 },
1258
1259 _eq: function(a,b) {
1260 return a === b;
1261 },
1262
1263 _expires: function(request) {
1264 var delta = parseInt(request.expiration_secs);
1265 if (delta) {
1266 return sk.human.localeTime(new Date(request.created_ts.getTime() + del ta * 1000));
1267 }
1268 // Fall back to something
1269 return request.expiration_secs + " seconds from created time";
1270 },
1271
1272 _extraArgs: function(request) {
1273 if (!request || !request.properties) {
1274 return "";
1275 }
1276 var args = request.properties.extra_args || [];
1277 return args.join(" ");
1278 },
1279
1280 _failureClass: function(failure) {
1281 if (failure) {
1282 return "failed_task";
1283 }
1284 return "";
1285 },
1286
1287 _getDisplayServerLink: function(template,id) {
1288 if (!template) {
1289 return undefined;
1290 }
1291 return template.replace("%s", id);
1292 },
1293
1294 _hasActualCIPDPackages: function(result) {
1295 return result && result.cipd_pins && result.cipd_pins.packages;
1296 },
1297
1298 _internalClass: function(failure) {
1299 if (failure) {
1300 return "exception";
1301 }
1302 return "";
1303 },
1304
1305 _isolateLink: function(ref) {
1306 if (!ref || !ref.isolatedserver) {
1307 return undefined;
1308 }
1309 return ref.isolatedserver + "/browse?namespace="+ref.namespace +
1310 "&hash=" + ref.isolated;
1311 },
1312
1313 _isSummaryLink: function(taskId) {
1314 return taskId && taskId.endsWith(0);
1315 },
1316
1317 // makes text italic unless it's numbers (i.e. when loading)
1318 _it: function(s) {
1319 if (!s || (s[0] === "<")) {
1320 return "italic";
1321 }
1322 return "";
1323 },
1324
1325 _neq: function(a,b) {
1326 return a !== b;
1327 },
1328
1329 _noMilo: function(result) {
1330 return !(this._tag(result, "allow_milo") || this._tag(result, "luci_proj ect"));
1331 },
1332
1333 _pending: function(result) {
1334 if (!result.created_ts) {
1335 return "";
1336 }
1337 var end = result.started_ts || result.abandoned_ts || new Date();
1338 // In the case of deduplicated tasks, started_ts comes before the task.
1339 if (end <= result.created_ts) {
1340 return "0s";
1341 }
1342 return this._timeDiffExact(result.created_ts, end);
1343 },
1344
1345 _promptClosed: function(e) {
1346 if (e.detail.confirmed) {
1347 this._cancelTask();
1348 }
1349 },
1350
1351 _promptCancel: function() {
1352 this.set("_dialog_prompt", "cancel task "+this.task_id);
1353 this.$.prompt.open();
1354 },
1355
1356 _promptRetry: function() {
1357 this.$.retry_task_prompt.setDimensions(this._request.properties.dimensio ns);
1358 this.$.retry_task.open();
1359 },
1360
1361 _retryClosed: function(e) {
1362 if (!this._request) {
1363 sk.errorMessage("Task not yet loaded", 3000);
1364 return;
1365 }
1366 if (!e.detail.confirmed) {
1367 return;
1368 }
1369 var newTask = {
1370 expiration_secs: this._request.expiration_secs,
1371 name: this._request.name +" (retry)",
1372 parent_task_id: this._request.parent_task_id,
1373 priority: this._request.priority,
1374 properties:this._request.properties,
1375 tags: this._request.tags,
1376 user: this._profile.email,
1377 service_account: this._request.service_account,
1378 }
1379 newTask.properties.dimensions = this._retry_dimensions.filter(function(d ){
1380 return d && d.key && d.value;
1381 });
1382 if (!newTask.properties.dimensions || !newTask.properties.dimensions.len gth) {
1383 sk.errorMessage("Your retried task must specify dimensions", 5000);
1384 return;
1385 }
1386 console.log("Retrying with dimensions", newTask.properties.dimensions);
1387 newTask.properties.idempotent = false;
1388 swarming.postWithToast("/api/swarming/v1/tasks/new", "Retrying task " + this.task_id,
1389 this._auth_headers, newTask)
1390 .then(function(response) {
1391 response = JSON.parse(response);
1392 if (response && response.task_id) {
1393 var state = {id: this.task_id};
1394 history.pushState(state, "Task Page");
1395 this.set("task_id", response.task_id);
1396 }
1397 }.bind(this), function(e) {
1398 console.log("Task could not be retried", e);
1399 }
1400 );
1401 },
1402
1403 _rawOutput: function(stdout, result) {
1404 if (stdout) {
1405 return stdout;
1406 }
1407 if (result.state === "PENDING" || result.state === "RUNNING") {
1408 return "[No output yet]";
1409 }
1410 return "[No output received]";
1411 },
1412
1413 _refresh: function() {
1414 this.$.data.reload();
1415 },
1416
1417 _requestUpdated: function(request) {
1418 if (this._noMilo(request)) {
1419 this.set("_show_raw", 1);
1420 }
1421 },
1422
1423 _softRefresh: function() {
1424 if (this._result && this._result.state !== "RUNNING" &&
1425 this._result.state !== "PENDING") {
1426 return;
1427 }
1428 this.$.data.reload();
1429 var miloFrame = this.$$("iframe")
1430 if (miloFrame) {
1431 var templ = this._server_details.display_server_url_template;
1432 miloFrame.src = this._getDisplayServerLink(templ, this.task_id);
1433 }
1434 },
1435
1436 _rowspan: function(dims) {
1437 dims = dims || [];
1438 return dims.length + 1;
1439 },
1440
1441 _supportsMilo: function(request, showRaw) {
1442 return !showRaw && request && !this._noMilo(request);
1443 },
1444
1445 _toggleDetails: function() {
1446 this.set("_request_detail", !this._request_detail);
1447 },
1448
1449 _tag: function(result, col) {
1450 if (!result || !result.tagMap) {
1451 return undefined;
1452 }
1453 return result.tagMap[col];
1454 },
1455
1456 _wasPickedUp: function(result) {
1457 return result && result.state !== this.PENDING && result.state !== this. CANCELED && result.state != this.EXPIRED;
1458 },
1459
1460 _wasNotPickedUp: function(result) {
1461 return result && !this._wasPickedUp(result);
1462 },
1463
1464 _similarLoad: function() {
1465 if (!this._request || !this._result || !this._auth_headers) {
1466 return;
1467 }
1468 var result = this._result;
1469 var request = this._request;
1470 var botCountParams = {
1471 dimensions: []
1472 };
1473 var dims = (request.properties && request.properties.dimensions) || [];
1474 dims.forEach(function(d){
1475 botCountParams.dimensions.push(`${d.key}:${d.value}`);
1476 });
1477 this._getJsonAsync("_bots_count", "/api/swarming/v1/bots/count", "_busyB otCount", this._auth_headers, botCountParams);
1478
1479 var start = new Date();
1480 start.setSeconds(0);
1481 // go back 24 hours, rounded to the nearest minute for better caching.
1482 start = "" + (start.getTime() - 24*60*60*1000);
1483 // convert to seconds, because that's what the API expects.
1484 start = start.substring(0, start.length-3);
1485
1486 var taskCountParams = {
1487 start: [start],
1488 state: ["RUNNING"],
1489 tags: botCountParams.dimensions,
1490 };
1491
1492 this._getJsonAsync("_other_running", "/api/swarming/v1/tasks/count", "_b usyRunningCount", this._auth_headers, taskCountParams);
1493 // change running to pending
1494 taskCountParams.state = ["PENDING"];
1495 this._getJsonAsync("_other_pending", "/api/swarming/v1/tasks/count", "_b usyPendingCount", this._auth_headers, taskCountParams);
1496 }
1497 });
1498 })(); </script> </dom-module> </div></body></html>
OLDNEW
« no previous file with comments | « no previous file | appengine/swarming/ui/build/js/js.js » ('j') | appengine/swarming/ui/package.json » ('J')

Powered by Google App Engine
This is Rietveld 408576698