| OLD | NEW |
| (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"&";case"<":return"&
lt;";case">":return">";case'"':return""";case" ":return" "}}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,",").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(/,/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&owner=kjlubick@
chromium.org&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"> </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
="["id","os","task","status"]" 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="["name","state",
"created_ts","user","bot"]" 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,"","st
ate:PENDING")]]">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,"","state:RUNNING")]]">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> | |
| OLD | NEW |