From 730dddc8c640611503dc36f39a97751a8445f1d0 Mon Sep 17 00:00:00 2001 From: Scott Morgan Date: Tue, 14 Apr 2020 08:41:58 +0100 Subject: [PATCH 01/19] First attempt of base_url fix --- site/.publish | 1 + .../app/bower_components/app-layout/README.md | 2 +- .../app-layout/app-box/README.md | 2 +- .../app-layout/app-box/app-box.html | 2 +- .../app-layout/app-header/README.md | 2 +- .../app-layout/app-header/app-header.html | 2 +- .../app-layout/app-scroll-effects/README.md | 4 +- .../app-scroll-effects-behavior.html | 4 +- site/app/browserconfig.xml | 8 +- site/app/site.webmanifest | 18 +- site/app/views/default/index.html | 32 +- site/app/views/default/view.json | 2 +- site/gulpfile.js | 14 +- site/package-lock.json | 407 ++---------------- site/package.json | 5 +- 15 files changed, 87 insertions(+), 418 deletions(-) create mode 160000 site/.publish diff --git a/site/.publish b/site/.publish new file mode 160000 index 000000000..35d852b05 --- /dev/null +++ b/site/.publish @@ -0,0 +1 @@ +Subproject commit 35d852b0565396caa739e60e6ee083500a4cb875 diff --git a/site/app/bower_components/app-layout/README.md b/site/app/bower_components/app-layout/README.md index 5d537afc8..8b262b080 100644 --- a/site/app/bower_components/app-layout/README.md +++ b/site/app/bower_components/app-layout/README.md @@ -86,7 +86,7 @@ $ bower install PolymerElements/app-layout --save ## Import ```html - + ``` ## What is inside diff --git a/site/app/bower_components/app-layout/app-box/README.md b/site/app/bower_components/app-layout/app-box/README.md index 6c9efb9fb..d7643b164 100644 --- a/site/app/bower_components/app-layout/app-box/README.md +++ b/site/app/bower_components/app-layout/app-box/README.md @@ -36,7 +36,7 @@ Finally, app-box can have content inside. For example: To use the scroll effects, you must explicitly import them in addition to `app-box`: ```html - + ``` #### List of effects diff --git a/site/app/bower_components/app-layout/app-box/app-box.html b/site/app/bower_components/app-layout/app-box/app-box.html index 961270cee..ff07ef889 100644 --- a/site/app/bower_components/app-layout/app-box/app-box.html +++ b/site/app/bower_components/app-layout/app-box/app-box.html @@ -50,7 +50,7 @@

Sub title

To use the scroll effects, you must explicitly import them in addition to `app-box`: ```html - + ``` #### List of effects diff --git a/site/app/bower_components/app-layout/app-header/README.md b/site/app/bower_components/app-layout/app-header/README.md index 1cd33a0c1..33fa247bf 100644 --- a/site/app/bower_components/app-layout/app-header/README.md +++ b/site/app/bower_components/app-layout/app-header/README.md @@ -92,7 +92,7 @@ recommends effects that can be installed via the `effects` property. e.g. To use the scroll effects, you must explicitly import them in addition to `app-header`: ```html - + ``` #### List of effects diff --git a/site/app/bower_components/app-layout/app-header/app-header.html b/site/app/bower_components/app-layout/app-header/app-header.html index 8f358a7ed..f1388f417 100644 --- a/site/app/bower_components/app-layout/app-header/app-header.html +++ b/site/app/bower_components/app-layout/app-header/app-header.html @@ -103,7 +103,7 @@ To use the scroll effects, you must explicitly import them in addition to `app-header`: ```html - + ``` #### List of effects diff --git a/site/app/bower_components/app-layout/app-scroll-effects/README.md b/site/app/bower_components/app-layout/app-scroll-effects/README.md index 016d40f75..107f5a9c7 100644 --- a/site/app/bower_components/app-layout/app-scroll-effects/README.md +++ b/site/app/bower_components/app-layout/app-scroll-effects/README.md @@ -7,14 +7,14 @@ app-layout provides a set of scroll effects that can be used by explicitly importing `app-scroll-effects.html`: ```html - + ``` The scroll effects can also be used by individually importing `app-layout/app-scroll-effects/effects/[effectName].html`. For example: ```html - + ``` ### Consuming effects diff --git a/site/app/bower_components/app-layout/app-scroll-effects/app-scroll-effects-behavior.html b/site/app/bower_components/app-layout/app-scroll-effects/app-scroll-effects-behavior.html index bc6a2b882..6a382e1d9 100644 --- a/site/app/bower_components/app-layout/app-scroll-effects/app-scroll-effects-behavior.html +++ b/site/app/bower_components/app-layout/app-scroll-effects/app-scroll-effects-behavior.html @@ -22,14 +22,14 @@ * `app-scroll-effects.html`: * * ```html - * + * * ``` * * The scroll effects can also be used by individually importing * `app-layout/app-scroll-effects/effects/[effectName].html`. For example: * * ```html - * + * * ``` * * ### Consuming effects diff --git a/site/app/browserconfig.xml b/site/app/browserconfig.xml index c9f219686..b1684eb96 100644 --- a/site/app/browserconfig.xml +++ b/site/app/browserconfig.xml @@ -2,10 +2,10 @@ - - - - + + + + #455a64 diff --git a/site/app/site.webmanifest b/site/app/site.webmanifest index 3865182a7..4e996e995 100644 --- a/site/app/site.webmanifest +++ b/site/app/site.webmanifest @@ -6,47 +6,47 @@ "display": "standalone", "icons": [ { - "src": "/images/favicons/android-chrome-36x36.png", + "src": "{{base_url}}/images/favicons/android-chrome-36x36.png", "sizes": "36x36", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-48x48.png", + "src": "{{base_url}}/images/favicons/android-chrome-48x48.png", "sizes": "48x48", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-72x72.png", + "src": "{{base_url}}/images/favicons/android-chrome-72x72.png", "sizes": "72x72", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-96x96.png", + "src": "{{base_url}}/images/favicons/android-chrome-96x96.png", "sizes": "96x96", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-144x144.png", + "src": "{{base_url}}/images/favicons/android-chrome-144x144.png", "sizes": "144x144", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-192x192.png", + "src": "{{base_url}}/images/favicons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-256x256.png", + "src": "{{base_url}}/images/favicons/android-chrome-256x256.png", "sizes": "256x256", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-384x384.png", + "src": "{{base_url}}/images/favicons/android-chrome-384x384.png", "sizes": "384x384", "type": "image/png" }, { - "src": "/images/favicons/android-chrome-512x512.png", + "src": "{{base_url}}/images/favicons/android-chrome-512x512.png", "sizes": "512x512", "type": "image/png" } diff --git a/site/app/views/default/index.html b/site/app/views/default/index.html index 88c3fe45a..8f9554355 100644 --- a/site/app/views/default/index.html +++ b/site/app/views/default/index.html @@ -32,13 +32,13 @@ {{view.title}} - + {% if view.customStyle %} {%- endif %} - + + + +
+ +

404. That’s an error.

+

The requested URL was not found. That’s all we know.

+
+ + diff --git a/site/dist/bower_components/google-codelab-elements/shared-style.html b/site/dist/bower_components/google-codelab-elements/shared-style.html new file mode 100644 index 000000000..a66844281 --- /dev/null +++ b/site/dist/bower_components/google-codelab-elements/shared-style.html @@ -0,0 +1,7 @@ + + + + diff --git a/site/dist/bower_components/google-prettify/src/prettify.js b/site/dist/bower_components/google-prettify/src/prettify.js new file mode 100644 index 000000000..63da22158 --- /dev/null +++ b/site/dist/bower_components/google-prettify/src/prettify.js @@ -0,0 +1 @@ +"use strict";var DecorationsT,JobT,SourceSpansT,HACK_TO_FIX_JS_INCLUDE_PL,PR,prettyPrintOne,prettyPrint,IN_GLOBAL_SCOPE=!1;window.PR_SHOULD_USE_CONTINUATION=!0,function(){var e=window,n=["break,continue,do,else,for,if,return,while"],t=[[n,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],r=[t,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],a=[t,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],s=[t,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"],l=[t,"abstract,async,await,constructor,debugger,enum,eval,export,function,get,implements,instanceof,interface,let,null,set,undefined,var,with,yield,Infinity,NaN"],i="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",o=[n,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],u=[n,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],c=[n,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],p=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,d="str",f="kwd",g="com",h="typ",m="lit",v="pun",y="pln",b="src",x="(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function w(e,n,t,r,a){if(t){var s={sourceNode:e,pre:1,langExtension:null,numberLines:null,sourceCode:t,spans:null,basePos:n,decorations:null};r(s),a.push.apply(a,s.decorations)}}var S=/\S/;function C(e){for(var n=void 0,t=e.firstChild;t;t=t.nextSibling){var r=t.nodeType;n=1===r?n?e:t:3===r&&S.test(t.nodeValue)?e:n}return n===e?void 0:n}function N(e,n){var t,r={};!function(){for(var a=e.concat(n),s=[],l={},i=0,o=a.length;i=0;)r[c.charAt(p)]=u;var d=u[1],f=""+d;l.hasOwnProperty(f)||(s.push(d),l[f]=null)}s.push(/[\0-\uffff]/),t=function(e){for(var n=0,t=!1,r=!1,a=0,s=e.length;a122||(c<65||p>90||t.push([32|Math.max(65,p),32|Math.min(c,90)]),c<97||p>122||t.push([-33&Math.max(97,p),-33&Math.min(c,122)]))}}t.sort(function(e,n){return e[0]-n[0]||n[1]-e[1]});var d=[],f=[];for(s=0;sg[0]&&(g[1]+1>g[0]&&a.push("-"),a.push(o(g[1])))}return a.push("]"),a.join("")}function c(e){for(var r=e.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=r.length,s=[],l=0,i=0;l=2&&"["===d?r[l]=u(p):"\\"!==d&&(r[l]=p.replace(/[a-zA-Z]/g,function(e){var n=e.charCodeAt(0);return"["+String.fromCharCode(-33&n,32|n)+"]"}))}return r.join("")}var p=[];for(a=0,s=e.length;a=5&&"lang-"===v.substring(0,5))||x&&"string"==typeof x[1]||(h=!1,v=b),h||(d[m]=v)}var N=c;if(c+=m.length,h){var _=x[1],P=m.indexOf(_),E=P+_.length;x[2]&&(P=(E=m.length-x[2].length)-_.length);var L=v.substring(5);w(o,i+N,m.substring(0,P),e,u),w(o,i+N+P,_,A(L,_),u),w(o,i+N+E,m.substring(E),e,u)}else u.push(i+N,v)}s.decorations=u}}function _(e){var n=[],t=[];e.tripleQuotedStrings?n.push([d,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):e.multiLineStrings?n.push([d,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):n.push([d,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&t.push([d,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(r>1?n.push([g,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):n.push([g,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),t.push([d,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):n.push([g,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(t.push([g,/^\/\/[^\r\n]*/,null]),t.push([g,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var a=e.regexLiterals;if(a){var s=a>1?"":"\n\r",l=s?".":"[\\S\\s]",i="/(?=[^/*"+s+"])(?:[^/\\x5B\\x5C"+s+"]|\\x5C"+l+"|\\x5B(?:[^\\x5C\\x5D"+s+"]|\\x5C"+l+")*(?:\\x5D|$))+/";t.push(["lang-regex",RegExp("^"+x+"("+i+")")])}var o=e.types;o&&t.push([h,o]);var u=(""+e.keywords).replace(/^ | $/g,"");u.length&&t.push([f,new RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),null]),n.push([y,/^\s+/,null," \r\n\t "]);var c="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(c+="(?!s*/)"),t.push([m,/^@[a-z_$][a-z_$@0-9]*/i,null],[h,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[y,/^[a-z_$][a-z_$@0-9]*/i,null],[m,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[y,/^\\[\s\S]?/,null],[v,new RegExp(c),null]),N(n,t)}function P(e,n,t){for(var r=/(?:^|\s)nocode(?:\s|$)/,a=/\r\n?|\n/,s=e.ownerDocument,l=s.createElement("li");e.firstChild;)l.appendChild(e.firstChild);var i=[l];function o(e){var n=e.nodeType;if(1!=n||r.test(e.className)){if((3==n||4==n)&&t){var l=e.nodeValue,i=l.match(a);if(i){var c=l.substring(0,i.index);e.nodeValue=c;var p=l.substring(i.index+i[0].length);p&&e.parentNode.insertBefore(s.createTextNode(p),e.nextSibling),u(e),c||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName)u(e),e.parentNode&&e.parentNode.removeChild(e);else for(var d=e.firstChild;d;d=d.nextSibling)o(d)}function u(e){for(;!e.nextSibling;)if(!(e=e.parentNode))return;for(var n,t=function e(n,t){var r=t?n.cloneNode(!1):n,a=n.parentNode;if(a){var s=e(a,1),l=n.nextSibling;s.appendChild(r);for(var i=l;i;i=l)l=i.nextSibling,s.appendChild(i)}return r}(e.nextSibling,0);(n=t.parentNode)&&1===n.nodeType;)t=n;i.push(t)}for(var c=0;c=0;){var a=t[r];E.hasOwnProperty(a)?e.console:E[a]=n}}function A(e,n){return e&&E.hasOwnProperty(e)||(e=/^\s*=x&&(c+=2),i>=w&&(f+=2)}}finally{v&&(v.style.display=y)}}(n)}catch(n){e.console}}function R(e,n,t){var r=t||!1,a=n||null,s=document.createElement("div");return s.innerHTML="
"+e+"
",s=s.firstChild,r&&P(s,r,!0),T({langExtension:a,numberLines:r,sourceNode:s,pre:1,sourceCode:null,basePos:null,spans:null,decorations:null}),s.innerHTML}function k(n,t){var r=t||document.body,a=r.ownerDocument||document;function s(e){return r.getElementsByTagName(e)}for(var l=[s("pre"),s("code"),s("xmp")],i=[],o=0;o]*(?:>|$)/],[g,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[v,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),L(N([[y,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[v,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]),L(N([],[["atv",/^[\s\S]+/]]),["uq.val"]),L(_({keywords:r,hashComments:!0,cStyleComments:!0,types:p}),["c","cc","cpp","cxx","cyc","m"]),L(_({keywords:"null,true,false"}),["json"]),L(_({keywords:s,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:p}),["cs"]),L(_({keywords:a,cStyleComments:!0}),["java"]),L(_({keywords:c,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]),L(_({keywords:o,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]),L(_({keywords:i,hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]),L(_({keywords:u,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]),L(_({keywords:l,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]),L(_({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),L(N([],[[d,/^[\s\S]+/]]),["regex"]);var $=e.PR={createSimpleLexer:N,registerLangHandler:L,sourceDecorator:_,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:g,PR_DECLARATION:"dec",PR_KEYWORD:f,PR_LITERAL:m,PR_NOCODE:"nocode",PR_PLAIN:y,PR_PUNCTUATION:v,PR_SOURCE:b,PR_STRING:d,PR_TAG:"tag",PR_TYPE:h,prettyPrintOne:IN_GLOBAL_SCOPE?e.prettyPrintOne=R:prettyPrintOne=R,prettyPrint:prettyPrint=IN_GLOBAL_SCOPE?e.prettyPrint=k:prettyPrint=k},O=e.define;"function"==typeof O&&O.amd&&O("google-code-prettify",[],function(){return $})}(); \ No newline at end of file diff --git a/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js b/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js new file mode 100644 index 000000000..dba57a1df --- /dev/null +++ b/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js @@ -0,0 +1 @@ +"use strict";!function(){window.WebComponents=window.WebComponents||{flags:{}};var e=document.querySelector('script[src*="webcomponents-lite.js"]'),t={};if(!t.noOpts){if(location.search.slice(1).split("&").forEach(function(e){var n,r=e.split("=");r[0]&&(n=r[0].match(/wc-(.+)/))&&(t[n[1]]=r[1]||!0)}),e)for(var n,r=0;n=e.attributes[r];r++)"src"!==n.name&&(t[n.name]=n.value||!0);if(t.log&&t.log.split){var o=t.log.split(",");t.log={},o.forEach(function(e){t.log[e]=!0})}else t.log={}}t.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=t.register),WebComponents.flags=t}(),function(e){function t(e){return void 0!==u[e]}function n(){s.call(this),this._isInvalid=!0}function r(e){return""==e&&n.call(this),e.toLowerCase()}function o(e){var t=e.charCodeAt(0);return t>32&&t<127&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}function i(e){var t=e.charCodeAt(0);return t>32&&t<127&&-1==[34,35,60,62,96].indexOf(t)?e:encodeURIComponent(e)}function a(e,a,s){function c(e){g.push(e)}var d=a||"scheme start",l=0,v="",w=!1,_=!1,g=[];e:for(;(e[l-1]!=f||0==l)&&!this._isInvalid;){var b=e[l];switch(d){case"scheme start":if(!b||!p.test(b)){if(a){c("Invalid scheme.");break e}v="",d="no scheme";continue}v+=b.toLowerCase(),d="scheme";break;case"scheme":if(b&&m.test(b))v+=b.toLowerCase();else{if(":"!=b){if(a){if(f==b)break e;c("Code point not allowed in scheme: "+b);break e}v="",l=0,d="no scheme";continue}if(this._scheme=v,v="",a)break e;t(this._scheme)&&(this._isRelative=!0),d="file"==this._scheme?"relative":this._isRelative&&s&&s._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==b?(this._query="?",d="query"):"#"==b?(this._fragment="#",d="fragment"):f!=b&&"\t"!=b&&"\n"!=b&&"\r"!=b&&(this._schemeData+=o(b));break;case"no scheme":if(s&&t(s._scheme)){d="relative";continue}c("Missing scheme."),n.call(this);break;case"relative or authority":if("/"!=b||"/"!=e[l+1]){c("Expected /, got: "+b),d="relative";continue}d="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=s._scheme),f==b){this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._username=s._username,this._password=s._password;break e}if("/"==b||"\\"==b)"\\"==b&&c("\\ is an invalid code point."),d="relative slash";else if("?"==b)this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query="?",this._username=s._username,this._password=s._password,d="query";else{if("#"!=b){var y=e[l+1],E=e[l+2];("file"!=this._scheme||!p.test(b)||":"!=y&&"|"!=y||f!=E&&"/"!=E&&"\\"!=E&&"?"!=E&&"#"!=E)&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password,this._path=s._path.slice(),this._path.pop()),d="relative path";continue}this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._fragment="#",this._username=s._username,this._password=s._password,d="fragment"}break;case"relative slash":if("/"!=b&&"\\"!=b){"file"!=this._scheme&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password),d="relative path";continue}"\\"==b&&c("\\ is an invalid code point."),d="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=b){c("Expected '/', got: "+b),d="authority ignore slashes";continue}d="authority second slash";break;case"authority second slash":if(d="authority ignore slashes","/"!=b){c("Expected '/', got: "+b);continue}break;case"authority ignore slashes":if("/"!=b&&"\\"!=b){d="authority";continue}c("Expected authority, got: "+b);break;case"authority":if("@"==b){w&&(c("@ already seen."),v+="%40"),w=!0;for(var L=0;L>>0)+t+++"__"};n.prototype={set:function(t,n){var r=t[this.name];return r&&r[0]===t?r[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},delete:function(e){var t=e[this.name];return!(!t||t[0]!==e||(t[0]=t[1]=void 0,0))},has:function(e){var t=e[this.name];return!!t&&t[0]===e}},window.WeakMap=n}(),function(e){function t(e){v.push(e),m||(m=!0,d(n))}function n(){m=!1;var e=v;v=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();(function(e){e.nodes_.forEach(function(t){var n=l.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})})(e),n.length&&(e.callback_(n,e),t=!0)}),t&&n()}function r(e,t){for(var n=e;n;n=n.parentNode){var r=l.get(n);if(r)for(var o=0;o0){var o=function(e,t){return e===t?e:p&&function(e){return e===p||e===f}(e)?p:null}(n[r-1],e);if(o)return void(n[r-1]=o)}else t(this.observer);n[r]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=l.get(e);t||l.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=l.get(e),n=0;n":return">";case" ":return" "}}function t(t){return t.replace(u,e)}var n="undefined"==typeof HTMLTemplateElement;/Trident/.test(navigator.userAgent)&&function(){var e=document.importNode;document.importNode=function(){var t=e.apply(document,arguments);if(t.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var n=document.createDocumentFragment();return n.appendChild(t),n}return t}}();var r=function(){if(!n){var e=document.createElement("template"),t=document.createElement("template");t.content.appendChild(document.createElement("div")),e.content.appendChild(t);var r=e.cloneNode(!0);return 0===r.content.childNodes.length||0===r.content.firstChild.content.childNodes.length}}(),o="template",i=function(){};if(n){var a=document.implementation.createHTMLDocument("template"),s=!0,c=document.createElement("style");c.textContent=o+"{display:none;}";var d=document.head;d.insertBefore(c,d.firstElementChild),i.prototype=Object.create(HTMLElement.prototype),i.decorate=function(e){if(!e.content){e.content=a.createDocumentFragment();for(var n;n=e.firstChild;)e.content.appendChild(n);if(e.cloneNode=function(e){return i.cloneNode(this,e)},s)try{Object.defineProperty(e,"innerHTML",{get:function(){for(var e="",n=this.content.firstChild;n;n=n.nextSibling)e+=n.outerHTML||t(n.data);return e},set:function(e){for(a.body.innerHTML=e,i.bootstrap(a);this.content.firstChild;)this.content.removeChild(this.content.firstChild);for(;a.body.firstChild;)this.content.appendChild(a.body.firstChild)},configurable:!0})}catch(e){s=!1}i.bootstrap(e.content)}},i.bootstrap=function(e){for(var t,n=e.querySelectorAll(o),r=0,a=n.length;r]/g}if(n||r){var h=Node.prototype.cloneNode;i.cloneNode=function(e,t){var n=h.call(e,!1);return this.decorate&&this.decorate(n),t&&(n.content.appendChild(h.call(e.content,!0)),this.fixClonedDom(n.content,e.content)),n},i.fixClonedDom=function(e,t){if(t.querySelectorAll)for(var n,r,i=t.querySelectorAll(o),a=e.querySelectorAll(o),s=0,c=a.length;s=200&&e.status<300||304===e.status||0===e.status},load:function(n,r,o){var i=new XMLHttpRequest;return(e.flags.debug||e.flags.bust)&&(n+="?"+Math.random()),i.open("GET",n,t.async),i.addEventListener("readystatechange",function(e){if(4===i.readyState){var n=null;try{var a=i.getResponseHeader("Location");a&&(n="/"===a.substr(0,1)?location.origin+a:a)}catch(e){}r.call(o,!t.ok(i)&&i,i.response||i.responseText,n)}}),i.send(),i},loadDocument:function(e,t,n){this.load(e,t,n).responseType="document"}};e.xhr=t}),window.HTMLImports.addModule(function(e){var t=e.xhr,n=e.flags,r=function(e,t){this.cache={},this.onload=e,this.oncomplete=t,this.inflight=0,this.pending={}};r.prototype={addNodes:function(e){this.inflight+=e.length;for(var t,n=0,r=e.length;n-1?atob(a):decodeURIComponent(a),setTimeout(function(){this.receive(e,r,null,a)}.bind(this),0)}else{var s=function(t,n,o){this.receive(e,r,t,n,o)}.bind(this);t.load(e,s)}else setTimeout(function(){this.receive(e,r,{error:"href must be specified"},null)}.bind(this),0)},receive:function(e,t,n,r,o){this.cache[e]=r;for(var i,a=this.pending[e],s=0,c=a.length;s=0&&this.dynamicElements.splice(t,1)},parseImport:function(e){if(e.import=e.__doc,window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(e),e.import&&(e.import.__importParsed=!0),this.markParsingComplete(e),e.__resource&&!e.__error?e.dispatchEvent(new CustomEvent("load",{bubbles:!1})):e.dispatchEvent(new CustomEvent("error",{bubbles:!1})),e.__pending)for(var t;e.__pending.length;)(t=e.__pending.shift())&&t({target:e});this.parseNext()},parseLink:function(e){t(e)?this.parseImport(e):(e.href=e.href,this.parseGeneric(e))},parseStyle:function(e){var t=e;e=function(e){var t=e.ownerDocument.createElement("style");return t.textContent=e.textContent,n.resolveUrlsInStyle(t),t}(e),t.__appliedElement=e,e.__importElement=t,this.parseGeneric(e)},parseGeneric:function(e){this.trackElement(e),this.addElementToDocument(e)},rootImportForElement:function(e){for(var t=e;t.ownerDocument.__importLink;)t=t.ownerDocument.__importLink;return t},addElementToDocument:function(e){var t=this.rootImportForElement(e.__importElement||e);t.parentNode.insertBefore(e,t)},trackElement:function(e,t){var n=this,r=function r(o){e.removeEventListener("load",r),e.removeEventListener("error",r),t&&t(o),n.markParsingComplete(e),n.parseNext()};if(e.addEventListener("load",r),e.addEventListener("error",r),i&&"style"===e.localName){var o=!1;if(-1==e.textContent.indexOf("@import"))o=!0;else if(e.sheet){o=!0;for(var a,s=e.sheet.cssRules,c=s?s.length:0,d=0;d=0},hasResource:function(e){return!t(e)||void 0!==e.__doc}};e.parser=c,e.IMPORT_SELECTOR=s}),window.HTMLImports.addModule(function(e){function t(e){return function(e,t){return"link"===e.localName&&e.getAttribute("rel")===t}(e,o)}function n(e,t){var n=document.implementation.createHTMLDocument(o);n._URL=t;var r=n.createElement("base");r.setAttribute("href",t),n.baseURI||function(e){return!!Object.getOwnPropertyDescriptor(e,"baseURI")}(n)||Object.defineProperty(n,"baseURI",{value:t});var i=n.createElement("meta");return i.setAttribute("charset","utf-8"),n.head.appendChild(i),n.head.appendChild(r),n.body.innerHTML=e,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(n),n}var r=e.flags,o=e.IMPORT_LINK_TYPE,i=e.IMPORT_SELECTOR,a=e.rootDocument,s=e.Loader,c=e.Observer,d=e.parser,l={documents:{},documentPreloadSelectors:i,importsPreloadSelectors:[i].join(","),loadNode:function(e){u.addNode(e)},loadSubtree:function(e){var t=this.marshalNodes(e);u.addNodes(t)},marshalNodes:function(e){return e.querySelectorAll(this.loadSelectorsForNode(e))},loadSelectorsForNode:function(e){return(e.ownerDocument||e)===a?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(e,o,i,a,s){if(r.load,o.__resource=i,o.__error=a,t(o)){var c=this.documents[e];void 0===c&&((c=a?null:n(i,s||e))&&(c.__importLink=o,this.bootDocument(c)),this.documents[e]=c),o.__doc=c}d.parseNext()},bootDocument:function(e){this.loadSubtree(e),this.observer.observe(e),d.parseNext()},loadedAll:function(){d.parseNext()}},u=new s(l.loaded.bind(l),l.loadedAll.bind(l));if(l.observer=new c,!document.baseURI){var h={get:function(){var e=document.querySelector("base");return e?e.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",h),Object.defineProperty(a,"baseURI",h)}e.importer=l,e.importLoader=u}),window.HTMLImports.addModule(function(e){var t=e.parser,n=e.importer,r={added:function(e){for(var r,o,i,a,s=0,c=e.length;s=0)){o.push(t);for(var i,a=t.querySelectorAll("link[rel="+r+"]"),s=0,c=a.length;s=0&&l(n,HTMLElement),n)}function i(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return c(e),e}}var a,s=(e.isIE,e.upgradeDocumentTree),c=e.upgradeAll,d=e.upgradeWithDefinition,l=e.implementPrototype,u=e.useNative,h=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],f={},p=document.createElement.bind(document),m=document.createElementNS.bind(document);a=Object.__proto__||u?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},i(Node.prototype,"cloneNode"),i(document,"importNode"),document.registerElement=function(n,o){var i=o||{};if(!n)throw new Error("document.registerElement: first argument `name` must not be empty");if(n.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(n)+"'.");if(function(e){for(var t=0;t + + + + + + + + #455a64 + + + diff --git a/site/dist/codelabs b/site/dist/codelabs new file mode 120000 index 000000000..a96aa0ea9 --- /dev/null +++ b/site/dist/codelabs @@ -0,0 +1 @@ +.. \ No newline at end of file diff --git a/site/dist/elements/codelab-elements/codelab-elements.css b/site/dist/elements/codelab-elements/codelab-elements.css new file mode 100755 index 000000000..936dc694e --- /dev/null +++ b/site/dist/elements/codelab-elements/codelab-elements.css @@ -0,0 +1,9 @@ +google-codelab-about .codelab-title{width:100%;text-align:center;font-size:32px;margin:20px auto 30px auto;line-height:45px;max-width:700px}google-codelab-about .codelab-title .token{display:inline-block;margin:0 5px}google-codelab-about .about-card{display:flex;flex-direction:column;border:1px #dadce0 solid;border-radius:5px;background:#fff;max-width:800px;margin:0 auto 30px auto;padding:20px}google-codelab-about .about-card h2{font-weight:500;font-weight:400 !important;line-height:1em !important;margin:0 !important;font-size:28px}google-codelab-about .about-card>*:not(:first-child){padding-top:30px}google-codelab-about .about-card .material-icons{margin-right:10px} + +/*# sourceMappingURL=google_codelab_about_scss_bin.css.map */google-codelab-step{line-height:24px;display:block}google-codelab-step pre,google-codelab-step code{font-family:'Source Code Pro', Helvetica, Arial;font-size:inherit;border-radius:4px;overflow-x:auto;overflow-y:visible}google-codelab-step code{background-color:#E8EAEd;padding:0.1em 0.3em}google-codelab-step pre{display:block;color:white;background-color:#28323f;padding:14px;-webkit-text-size-adjust:none;line-height:1.4}google-codelab-step pre>code{padding:0;background-color:transparent}google-codelab-step code em{color:#97C8F2}google-codelab-step pre .str,google-codelab-step code .str{color:#34A853}google-codelab-step pre .kwd,google-codelab-step code .kwd{color:#F538A0}google-codelab-step pre .com,google-codelab-step code .com{color:#BDC1C6;font-style:italic}google-codelab-step pre .typ,google-codelab-step code .typ{color:#24C1E0}google-codelab-step pre .lit,google-codelab-step code .lit{color:#4285F4}google-codelab-step pre .pun,google-codelab-step code .pun{color:#F8F9FA}google-codelab-step pre .pln,google-codelab-step code .pln{color:#F8F9FA}google-codelab-step pre .tag,google-codelab-step code .tag{color:#24C1E0}google-codelab-step pre .atn,google-codelab-step code .atn{color:#EDA912}google-codelab-step pre .atv,google-codelab-step code .atv{color:#34A853}google-codelab-step pre .dec,google-codelab-step code .dec{color:#5195EA}google-codelab-step paper-button{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;min-width:5.14em;margin:0 0.29em;background:transparent;-webkit-tap-highlight-color:transparent;font:inherit;text-transform:uppercase;outline-width:0;border-radius:3px;user-select:none;cursor:pointer;z-index:0;padding:0.7em 0.57em;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}google-codelab-step h2.step-title{font-family:'Google Sans', Arial, sans-serif !important;font-size:28px !important;font-weight:400 !important;line-height:1em !important;margin:0 0 30px !important}google-codelab:not([theme="minimal"]) google-codelab-step .instructions{box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 2px 6px 2px rgba(60,64,67,0.15);background:#fff;max-width:800px;font-size:14px;margin:0 auto;margin-bottom:90px;border-radius:4px}google-codelab-step .instructions .inner{padding:24px}google-codelab[theme="minimal"] google-codelab-step .instructions .inner{padding:0 24px}@media (max-width: 800px){google-codelab .instructions{margin:0 0 16px 0}}google-codelab:not([theme="minimal"]) google-codelab-step .instructions a,google-codelab:not([theme="minimal"]) google-codelab-step .instructions a:visited{color:#1A73E8}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2,google-codelab:not([theme="minimal"]) google-codelab-step .instructions h3,google-codelab:not([theme="minimal"]) google-codelab-step .instructions h4{font-weight:400;margin:0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2{font-weight:300;line-height:1em;font-size:22px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions{line-height:24px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions li{margin:0.5em 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2{font-weight:500;margin:20px 0 0 0;font-size:20px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h3{font-weight:500;margin:20px 0 0 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside{padding:0.5em 1em;margin:2em 0;border-left:4px solid;border-radius:4px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside p{margin:0.5em 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.note,google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.notice{border-color:#EA8600;background:#FEF7E0;color:#212124}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.tip,google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.special{border-color:#137333;background:#E6F4EA;color:#212124}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.warning{border-color:#EA8600;background:#FEF7E0;color:#212124}google-codelab-step .instructions aside.callout{background-color:#E8F0FE;margin:20px 0;padding:15px;border-left:3px solid #185ABC;border-radius:4px;color:#212124;font-size:14px;line-height:1.5}google-codelab-step aside.callout b{color:#185ABC}google-codelab-step .instructions ul.checklist{list-style:none;padding:0 0 0 1em}google-codelab-step .instructions ul.checklist li,google-codelab-step .instructions ::content ul.checklist li{padding-left:24px;background-size:20px;background-repeat:no-repeat;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAAxokwwoks1pFAxokwxokwxokwxokwxokwnnkQnnkQnnkRou3y84cTS69cxokwonkQxokwnnkRqvH1VsmtluXlVsmsnnkRdtnLw+PIxokwqn0YinEAfmj3goh/UAAAAGnRSTlMA2CcEo+6AQT7+2IOBJxPl27alhoBnX15SCCe258UAAAB+SURBVEjH7dA5EoAgEERR3BcQ923Q+1/T0SqKlNbMouP3gxkRFvZpyQb64VSQT4mOcYc8mU5DnqIG8zXoozj4d34tML+YrET8XBFx4e2F4oAL4N7J3EUB/EfSUwD/zG3hvFdROu9XtL31vgXguQA9F6DnAvM8WbOHpkXYD3cBBCcPjtASYjwAAAAASUVORK5CYII=")}google-codelab-step .instructions table code,google-codelab-step .instructions h2 code{background:white}google-codelab-step .instructions .indented{margin-left:40px}google-codelab-step .instructions strong{font-weight:600}google-codelab-step .instructions :link paper-button{text-decoration:none !important}google-codelab-step .instructions paper-button{display:inline-block;border-radius:4px;color:#FFFFFF;font-family:'Google Sans', Arial, sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding-bottom:6px;padding-left:12px;padding-right:16px;padding-top:6px;text-transform:none}google-codelab-step .instructions paper-button a{text-decoration:none;color:inherit !important}google-codelab-step a paper-button{display:inline-block}google-codelab-step .instructions paper-button.colored{background-color:#1E8E3E}google-codelab-step .instructions paper-button.red{background-color:#D93025}google-codelab-step .instructions iron-icon{vertical-align:sub;margin-right:7px;margin-left:3px;font-size:16px}google-codelab-step .instructions img{max-width:100%;vertical-align:bottom}google-codelab-step .instructions .image-container{text-align:center}google-codelab-step .instructions table{border-spacing:0}google-codelab-step .instructions td{vertical-align:top;border-bottom:1px solid #CCC;padding:8px}google-codelab-step .instructions table p{margin:0}google-codelab:not([theme="minimal"]) .instructions h3.faq{border-bottom:1px solid #ddd}google-codelab:not([theme="minimal"]) .instructions ul.faq{list-style:none;padding-left:1em}google-codelab:not([theme="minimal"]) .instructions .faq li{font-size:1.1em;margin-bottom:0.8em}google-codelab:not([theme="minimal"]) .instructions .faq a{color:inherit;text-decoration:none}google-codelab:not([theme="minimal"]) .instructions .faq a:hover{text-decoration:underline}google-codelab-step .instructions .faq a[href*="cloud.google.com"]{padding-left:22px;background-size:20px;background-repeat:no-repeat;background-image:url("data:image/png;base64,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")}google-codelab-step .instructions .faq a[href*="stackoverflow.com"]{padding-left:22px;background-size:24px;background-repeat:no-repeat;background-image:url("data:image/png;base64,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")}google-codelab-step .instructions .faq a[href*="support.google.com/webmasters/"]{padding-left:24px;background-size:24px;background-repeat:no-repeat;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAolBMVEUAAADW1tbW1tZ6enrQ0dJ6enrMzMzq6+zq6+x6enru7+/m5+ju7+/m5+j////S09REi/XW1tbm5+ju7+9PT0/Q0dK8vLxGjfVZWVlNTU16enrMzMzIyMj09PS/0uuSkpJpaWmbm5tim/e0tLSEhIStx+3e3+GsrKxwcHBZk/dPk/R1p/KPtu/U3eqmpqZlZWVfmO5woeqHreWvwN6nu9qLi4vZSE73AAAADnRSTlMAEcxmzO7MzDMz7u6IiHn/rpYAAALMSURBVHja7dXpjtowFIZhUkqZlSV1ncQdEsK+zD7T+7+1xjTiwxVOAmeORyP5+2UspPchEtDy8/Pz8/Pz8/M7cZeduHKdyxbL0FfVAMUraHdUHUB12i22tZWqBRSDgKFfC4CApV8PgIClXw/gE6hyTd/lAR7gAV8fEHwbWtc/ul/WfQ8IfQKAIECfCoCA3sdq+nQB+nQABIQ+CQABtY9Z+lQB+gwACBj6AFAE6DM9AL0fAalPB/yGgNAfntwHAAJKnwCAwNLneQAAVAvM/ttzVLlB4z2/A6AFVoDRf43IfewVgGKNAG/Uvrl39BsCXqh9cy8nA/51tmk63+jDZp6m9wTA4DzANiyW6lOqTxAMHAD22XASReuwpKDvELCNookBGJwx9E8B3OvsQp8e9GmOviNANA/Dh4k+TApBukHfFSBa7/I7whqf3xWA/gOAoU8DDJwBCHk+wIAw9CsAPw/W++CFB/MAD/hCgL59PXPS8toRYKHEndkTauEQIIUQ0hToG2eAXOicKdBXmSPAo9CTpkDo5U4Ad6IEGILy0gFgFJctCACIh/yATABwIChvVyE3IBR7AAQAiOmIGZADAMEBQMkRL+AJAAgOALGUI07AQgBgCPb3uRbwAaYAGAIAZlIL2AA5AIYAgJXUAjaAAsAQADCWO4EjAAQGQAvYAUsDsDQAeuwAMZvu89PZ/jZhBmQCi2dl60+MPiMAf8UgZEUpK/LoJ4oX0C9LIIyF0U8yXkBPVCzRWzIDZjX9sWQG9Kv7ScYN6KnKfizZAf2qfpLzA3p5RV9JboDeytp/kk4Ao5WtP+UFQKCO9sdTSQQ03+OR/kxKdgAWZv/11VI6AWBmP5HSNQD5zwQknwxIqIBu468hBgDqNYCuFXBDASSNAbdWQHB1PiBpDLgOWtZdXPEDri/QswjYAOjbF9x0OQHd26Dl5+fn5+fn5+dn7i/3LEaKJNV/0wAAAABJRU5ErkJggg==")}google-codelab-step .instructions .faq a[href*="developer.android.com"],google-codelab-step .instructions .faq a[href*="android-developer"]{padding-left:20px;background-repeat:no-repeat;background-size:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAq1BMVEX///+lyjmfxyGhyCqkyjakyTP+/vuiyS7z+OWlyjKgxyTX57ChyCfa6bTx9uLy9+Sz0l6szk/D24Tt9NrN4ZnK4JSiyCyexh34+/D6/PTp8dPh7cjf7L7k78vc6rnW5qzU5ajS5KPP4p+21GWnzD3F3Yi813Kx0ViqzUWexhr8/vjv9d7Z6LKy0lyZxADh7cLA2n2rzkr1+erJ35C61m6uz1KcxRHn8M6/2XgEePWtAAACr0lEQVRo3u3Z2XKiQBiG4Y9ebNO2aCCyzOC+7zH7/V/ZRJZQZaJpWnKS4TlJUItXbX4pFJXK71DTusvccI6z5oMSAutdhDP2uzpK4CxwxsRBGYJdA19qLAOU4s4LkyUN7G4Ude2glmzuRihHKDqAPZhNuJRKSckms37rvctrKMnG728l5cxKMU7JuCF7KEvf87h1gnu0iXK4B2p9Sc3dUgZNMusMLvu42r20LiBXT8JMWRepN1xlGu+fK8/6xFPxwsvH697/eP/j7uDTOvB+dxwX/AaM2SQ+6icrYHDyGmgfWE3irNeCqTaPAwcArydroboAbuMAb8NQRNJn20SYtHK8HaKZzoffhZl5tlNxsD5PsnUQ2b9jwwnO35WvRo3lN/o2TDwKS5M3gokF0w2wZxgIlpY2FpgsgdQPkLXJQar0A/LVIDB6Idp2GxQQrJI/rbq2Voijlc5S9LZs8uYCqBVyXLTZhLW/fSn3hDMmZAQ05I020gT2PmeM+w4uGpLksFs+oEEtbaqJVnpUkz4uyebf6xQK0CY6XjoSC1xQ9/PPr4KB52zuvTrOa5EssC0auM0C0tYKtI0DqgpUgSpQBapAFfifAj90Tn5YZoGnooH8eutB56KDDosGhlTrYiTyk0epVdFAKJLn9rLHRSNfcE4tF0UDcAXlXPhDfGPtjGejEMUDCEdPY8eFHoOADvPAxiDQLBBQkUHAJfoB34UBS/9CfAETe6lZYKZft/QIFe94vicRy7tcvKOkB0PhYOo4zlNWYNvjpjOdZwU+O24OQlynK62EGCF2J9IbpIsy/P0I3CHW+Qj8qQJVoAr8VOCx3EB+YvDSwIDmXzaW4oZZseU6Lfr5aaAUPT8uyPuT33VeIpRkI5RHyRQfHEKFUj2UJuh1GjaQsxudKECl8jv8A6GtQkKSkMLrAAAAAElFTkSuQmCC")}google-codelab-step .instructions h3>a[href*="github"],google-codelab-step .instructions h3>a[href*="github"]:visited{color:black;text-decoration:none;padding-left:24px;background-repeat:no-repeat;background-size:18px;background-image:url("data:image/png;base64,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")}google-codelab-step .youtube-video{display:flex;margin:auto;width:560px;height:315px;border:none;max-width:100%;max-height:51vw} + +/*# sourceMappingURL=google_codelab_step_scss_bin.css.map */google-codelab-survey{visibility:hidden}google-codelab-survey[upgraded]{visibility:visible}google-codelab-survey{display:block;margin:2em 0;padding:0;background:#e8f0fe;border-left:4px solid #185abc;border-radius:4px;color:#3c4043}google-codelab-survey h4{font-size:16px;font-weight:400;padding:.8em 0 0;margin:0}google-codelab-survey .survey-question-wrapper{padding:0.4em 0 1.1em 30px}google-codelab-survey .survey-question-options{padding:.8em 0 0}.survey-option-wrapper{cursor:pointer;display:block;padding:0 0 4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}google-codelab-survey .option-text{color:#212121;font-size:16px;padding-left:24px}.survey-option-wrapper input{position:absolute;opacity:0}.custom-radio-button{position:absolute;top:5px;left:0;height:13px;width:13px;background-color:#fff;border:2px solid #3f51b5;border-radius:50%}.custom-radio-button:after{content:"";position:absolute;display:none}.survey-option-wrapper input:checked ~ .custom-radio-button:after{display:block}.survey-option-wrapper .custom-radio-button:after{top:1px;left:1px;width:7px;height:7px;border-radius:50%;background:#3f51b5} + +/*# sourceMappingURL=google_codelab_survey_scss_bin.css.map */html,body{height:100%;width:100%;margin:0;padding:0}body{font-family:"Roboto",sans-serif;transition:opacity ease-in 0.2s}*{box-sizing:border-box}[hidden]{display:none !important}google-codelab{display:flex;width:100%;height:100%;padding-top:64px}google-codelab #main{display:flex;flex-direction:column;flex-grow:1;position:relative;background:#F8F9FA}google-codelab #codelab-title{position:fixed;top:0;left:0;width:100%;background:#FFFFFF;box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 2px 6px 2px rgba(60,64,67,0.15);color:#3C4043;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 36px 0 16px;-webkit-font-smoothing:antialiased;z-index:1000}google-codelab #codelab-title h1{font-size:20px;font-weight:400;margin:0 8px;font-family:'Roboto', 'Noto', sans-serif;flex-grow:1;flex-shrink:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:0}google-codelab #codelab-title #time-remaining{flex-shrink:0;flex-grow:0;display:flex;align-items:center;font-size:16px;font-weight:400;white-space:nowrap}google-codelab #codelab-title #time-remaining i{margin-right:3px}google-codelab #codelab-nav-buttons{display:flex;align-items:center;flex-grow:0;flex-shrink:0}google-codelab #codelab-nav-buttons #arrow-back,google-codelab #codelab-nav-buttons #menu{display:flex;text-decoration:none;color:#3C4043;width:40px;height:40px;justify-content:center;align-items:center}google-codelab #controls{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:center;padding:0 32px;flex-direction:column;z-index:1001}google-codelab #fabs{display:flex;flex-grow:1;max-width:1025px;width:100%;margin:0 auto}google-codelab #fabs .spacer{flex-grow:1}#previous-step,#next-step,#done{border-radius:4px;font-family:'Google Sans', Arial, sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;line-height:24px;padding-bottom:6px;padding-left:24px;padding-right:24px;padding-top:6px;pointer-events:initial;text-transform:none;background:#FFFFFF;color:#1A73E8;transform:scale(1, 1);transition:transform 300ms ease-in-out;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);text-decoration:none;-webkit-font-smoothing:antialiased}#next-step{color:#fff;background:#1A73E8}#done{background:#1E8E3E;color:#fff}google-codelab #fabs a[disappear]{transform:scale(0, 0)}#done{background:#0f9d58}google-codelab #drawer{background:#fff;width:256px;flex-shrink:0;position:relative;z-index:100;display:flex;flex-direction:column;background:#F8F9FA}google-codelab #drawer .steps{flex-shrink:1;flex-grow:1;overflow-x:visible;display:flex;max-height:calc(100% - 54px)}google-codelab #drawer .steps:only-child{max-height:100%}google-codelab #drawer ol{margin:0;padding:16px 12px;counter-reset:li-count;list-style:none;overflow-x:visible;overflow-y:auto;flex-grow:1}google-codelab #drawer ol li{display:block;counter-increment:li-count}google-codelab #drawer ol li a{text-decoration:none;display:flex;align-items:center;font-size:14px;color:#80868B;padding:3px 10px;min-height:48px;font-weight:400;line-height:20px;box-sizing:content-box;position:relative;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;transition:all 300ms ease-in-out;border:1px #dadce0 solid;border-radius:5px;margin:6px 0;background:white}google-codelab #drawer ol li a:active,google-codelab #drawer ol li a:focus{background:#c6c6c6;-webkit-tap-highlight-color:transparent;outline:0;border-color:#c6c6c6 !important}google-codelab #drawer ol li a .step{display:flex;align-items:center}google-codelab #drawer ol li .step:before{content:counter(li-count);display:inline-block;font-style:normal;width:26px;min-width:26px;color:#fff;background:#80868B;border-radius:50%;text-align:center;height:26px;vertical-align:middle;line-height:26px;margin-right:8px;font-weight:400;position:relative;z-index:2;transition:all 300ms ease-in-out}google-codelab #drawer ol li[selected] a,google-codelab #drawer ol li a:focus{color:#212121;font-weight:600;box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15)}google-codelab #drawer ol li[selected] a{border-color:#fff}google-codelab #drawer ol li[selected] .step:before{font-weight:600}google-codelab #drawer ol li[completed] a{color:#212121}google-codelab #drawer ol li[completed] .step:before{background-color:#1A73E8;color:#fff}google-codelab #drawer .metadata{color:#777;font-size:14px;padding:16px;flex-shrink:0}google-codelab #drawer .metadata a{color:currentcolor;margin-left:4px}google-codelab #codelab-nav-buttons #menu{display:none}google-codelab #drawer ol ::-webkit-scrollbar{-webkit-appearance:none;width:7px}google-codelab #drawer ol ::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgba(0,0,0,0.5);-webkit-box-shadow:0 0 1px rgba(255,255,255,0.5)}@media (max-width: 768px){google-codelab{display:block;position:relative}google-codelab #main{height:100%}google-codelab #codelab-nav-buttons #arrow-back{display:none}google-codelab #codelab-nav-buttons #menu{display:flex}google-codelab #drawer{width:256px;position:absolute;left:0;top:0;bottom:0;z-index:1001;will-change:transform;box-shadow:2px 2px 4px transparent;pointer-events:none;transform:translate3d(-100%, 0, 0);transition:transform ease-in-out 0.3s,box-shadow 0.3s}google-codelab[drawer--open] #drawer{box-shadow:2px 2px 4px rgba(0,0,0,0.15);transform:translate3d(0, 0, 0);pointer-events:all}google-codelab #main::before{content:'';top:0;left:0;right:0;bottom:0;position:absolute;transition:opacity ease-in-out 0.38s;background-color:rgba(0,0,0,0.3);z-index:10;pointer-events:none;opacity:0}google-codelab[drawer--open] #main::before{opacity:1;pointer-events:all}}google-codelab #steps{overflow:hidden;flex-direction:column;position:relative;flex-grow:1}google-codelab google-codelab-step{display:none;width:100%;transform:translate3d(0, 0, 0);position:absolute;top:0;left:0;right:0;bottom:0;padding-top:32px;overflow-y:auto;overflow-x:hidden}google-codelab google-codelab-step[animating],google-codelab google-codelab-step[selected]{display:block;transform-origin:0 50% 0;animation-fill-mode:both}google-codelab google-codelab-step[animating]{pointer-events:none;position:absolute;overflow:hidden} + +/*# sourceMappingURL=google_codelab_scss_bin.css.map */ \ No newline at end of file diff --git a/site/dist/elements/codelab-elements/codelab-elements.js b/site/dist/elements/codelab-elements/codelab-elements.js new file mode 100755 index 000000000..be4adad06 --- /dev/null +++ b/site/dist/elements/codelab-elements/codelab-elements.js @@ -0,0 +1,230 @@ +(function(){'use strict';var g="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,h="function"==typeof Object.create?Object.create:function(a){function c(){}c.prototype=a;return new c},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var l;a:{var m={V:!0},n={};try{n.__proto__=m;l=n.V;break a}catch(a){}l=!1}k=l?function(a,c){a.__proto__=c;if(a.__proto__!==c)throw new TypeError(a+" is not extensible");return a}:null}var p=k; +function q(a,c){function b(){}b.prototype=c.prototype;a.$=c.prototype;a.prototype=new b;a.prototype.constructor=a;a.ga=function(a,b,d){for(var e=Array(arguments.length-2),f=2;f")&&(a=a.replace(z,">"));-1!=a.indexOf('"')&&(a=a.replace(A,"""));-1!=a.indexOf("'")&&(a=a.replace(B,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(C,"�"));return a}var x=/&/g,y=//g,A=/"/g,B=/'/g,C=/\x00/g,v=/[\x00&<>"']/,aa=String.prototype.repeat?function(a,c){return a.repeat(c)}:function(a,c){return Array(c+1).join(a)}; +function D(a,c){a=String(a);var b=a.indexOf(".");-1==b&&(b=a.length);return aa("0",Math.max(0,c-b))+a};function E(a,c,b,f,e){a=new Date(a,c,b);e=e||0;return a.valueOf()+864E5*(((void 0!==f?f:3)-e+7)%7-((a.getDay()+6)%7-e+7)%7)};function F(){}function G(a){if("number"==typeof a){var c=new F;c.f=a;var b=a;if(0==b)b="Etc/GMT";else{var f=["Etc/GMT",0>b?"-":"+"];b=Math.abs(b);f.push(Math.floor(b/60)%100);b%=60;0!=b&&f.push(":",D(b,2));b=f.join("")}c.g=b;b=a;0==b?b="UTC":(f=["UTC",0>b?"+":"-"],b=Math.abs(b),f.push(Math.floor(b/60)%100),b%=60,0!=b&&f.push(":",b),b=f.join(""));a=H(a);c.i=[b,b];c.a={da:a,m:a};c.b=[];return c}c=new F;c.g=a.id;c.f=-a.std_offset;c.i=a.names;c.a=a.names_ext;c.b=a.transitions;return c} +function H(a){var c=["GMT"];c.push(0>=a?"+":"-");a=Math.abs(a);c.push(D(Math.floor(a/60)%100,2),":",D(a%60,2));return c.join("")}function I(a,c){c=Date.UTC(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),c.getUTCHours(),c.getUTCMinutes())/36E5;for(var b=0;b=a.b[b];)b+=2;return 0==b?0:a.b[b-1]};function ba(){this.b=[];this.a=t;var a="MMM d, yyyy";for(ca&&(a=a.replace(/\u200f/g,""));a;){for(var c=a,b=0;b=e?String.fromCharCode(a.U+e-48):c.charAt(f))}c=b.join("")}return c}var ca=!1;function M(a){if(!(a.getHours&&a.getSeconds&&a.getMinutes))throw Error("The date to format has no time (probably a goog.date.Date). Use Date or goog.date.DateTime, or use a pattern without time fields.");} +function da(a,c,b,f,e){var d=c.length;switch(c.charAt(0)){case "G":return b=0b&&(b=-b),2==d&&(b%=100),L(a,D(b,d));case "Y":return b=(new Date(E(f.getFullYear(),f.getMonth(),f.getDate(),a.a.l,a.a.j))).getFullYear(),0>b&&(b=-b),2==d&&(b%=100),L(a,D(b,d));case "M":a:switch(b=f.getMonth(),d){case 5:d=a.a.H[b];break a;case 4:d=a.a.G[b];break a;case 3:d=a.a.J[b];break a;default:d=L(a,D(b+1,d))}return d;case "k":return M(e), +L(a,D(K(e)||24,d));case "S":return L(a,(e.getMilliseconds()/1E3).toFixed(Math.min(3,d)).substr(2)+(3d?1:0];case "h":return M(e),L(a,D(K(e)%12||12,d));case "K":return M(e),L(a,D(K(e)%12,d));case "H":return M(e),L(a,D(K(e),d));case "c":a:switch(b=f.getDay(),d){case 5:d=a.a.O[b];break a;case 4:d=a.a.S[b];break a;case 3:d=a.a.R[b];break a;default:d=L(a,D(b,1))}return d;case "L":a:switch(b= +f.getMonth(),d){case 5:d=a.a.N[b];break a;case 4:d=a.a.M[b];break a;case 3:d=a.a.P[b];break a;default:d=L(a,D(b+1,d))}return d;case "Q":return b=Math.floor(f.getMonth()/3),4>d?a.a.K[b]:a.a.I[b];case "d":return L(a,D(f.getDate(),d));case "m":return M(e),L(a,D(e.getMinutes(),d));case "s":return M(e),L(a,D(e.getSeconds(),d));case "v":return d=G(b.getTimezoneOffset()),d.g;case "V":return a=G(b.getTimezoneOffset()),2>=d?a.g:0d?a.i[0d?(d=-(c.f-I(c,b)),a=[0>d?"-":"+"],d=Math.abs(d),a.push(D(Math.floor(d/60)%100,2),D(d%60,2)),d=a.join("")):d=L(a,H(c.f-I(c,b))),d;default:return""}};function N(){this.a=O}var O={};var P={},ea={};function Q(){throw Error("Do not instantiate directly");}Q.prototype.v=null;Q.prototype.toString=function(){return this.h};function R(){Q.call(this)}q(R,Q);R.prototype.c=P;function fa(a){if(null!=a)switch(a.v){case 1:return 1;case -1:return-1;case 0:return 0}return null}function T(a){return null!=a&&a.c===P?a:a instanceof N?U(a instanceof N&&a.constructor===N&&a.a===O?"":"type_error:SafeHtml",null):U(u(String(String(a))),fa(a))}var U=function(a){function c(a){this.h=a}c.prototype=a.prototype;return function(a,f){a=new c(String(a));void 0!==f&&(a.v=f);return a}}(R);var ha=function(a){var c=!1,b;return function(){c||(b=a(),c=!0);return b}}(function(){var a=document.createElement("div");a.innerHTML="
";var c=a.firstChild.firstChild;a.innerHTML="";return!c.parentElement});/* + + Copyright 2018 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +function V(){var a=HTMLElement.call(this)||this;a.o=null;a.u=null;a.w=!1;a.A=null;a.s=null;return a}var W=HTMLElement;V.prototype=h(W.prototype);V.prototype.constructor=V;if(p)p(V,W);else for(var X in W)if("prototype"!=X)if(Object.defineProperties){var Y=Object.getOwnPropertyDescriptor(W,X);Y&&Object.defineProperty(V,X,Y)}else V[X]=W[X];V.$=W.prototype;V.prototype.connectedCallback=function(){this.w||Z(this)};V.prototype.connectedCallback=V.prototype.connectedCallback; +V.prototype.attributeChangedCallback=function(a){switch(a){case "last-updated":this.hasAttribute("last-updated")&&(this.A=this.getAttribute("last-updated"));break;case "authors":this.hasAttribute("authors")&&(this.o=this.getAttribute("authors"));break;case "codelab-title":this.hasAttribute("codelab-title")&&(this.u=this.getAttribute("codelab-title"));break;case "badge-id":this.hasAttribute("badge-id")&&(this.s=this.getAttribute("badge-id"))}Z(this)};V.prototype.attributeChangedCallback=V.prototype.attributeChangedCallback; +function Z(a){var c=a.A;if(c){c=new Date(c);var b=new ba;if(!c)throw Error("The date to format must be non-null.");for(var f=[],e=0;e';for(var S=c.length,w=0;w'+T(c[w])+"";d+=""}d+='

About this codelab

'+ +(b?'
subjectLast updated '+T(b)+"
":"")+'
account_circle'+(f?"Written by "+T(f):"Written by a Googler")+"
"+(e?'':"")+"
";c=U(d);a:{if(c instanceof Q){if(c.c===P){c=c.h;break a}if(c.c===ea){c=u(c.h);break a}}c="zSoyz"}if(ha())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=c;a.w=!0} +g.Object.defineProperties(V,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["authors","last-updated","codelab-title"]}}});try{window.customElements.define("google-codelab-about",V)}catch(a){console.warn("googlecodelabs.CodelabAbout",a)};}).call(this); +(function(){'use strict';var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},h="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ba(){ba=function(){};h.Symbol||(h.Symbol=ca)}var ca=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(); +function k(){ba();var a=h.Symbol.iterator;a||(a=h.Symbol.iterator=h.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return da(this)}});k=function(){}}function da(a){var b=0;return ea(function(){return b>>0),ua=0;function va(a,b){function c(){}c.prototype=b.prototype;a.C=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.M=function(a,c,f){for(var d=Array(arguments.length-2),e=2;eb?1:0};var A;a:{var Aa=v.navigator;if(Aa){var Ba=Aa.userAgent;if(Ba){A=Ba;break a}}A=""};function Ca(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function B(a){B[" "](a);return a}B[" "]=w;var Da=-1!=A.indexOf("Opera"),C=-1!=A.indexOf("Trident")||-1!=A.indexOf("MSIE"),Ea=-1!=A.indexOf("Edge"),Fa=-1!=A.indexOf("Gecko")&&!(-1!=A.toLowerCase().indexOf("webkit")&&-1==A.indexOf("Edge"))&&!(-1!=A.indexOf("Trident")||-1!=A.indexOf("MSIE"))&&-1==A.indexOf("Edge"),Ga=-1!=A.toLowerCase().indexOf("webkit")&&-1==A.indexOf("Edge");function Ha(){var a=v.document;return a?a.documentMode:void 0}var D; +a:{var E="",F=function(){var a=A;if(Fa)return/rv:([^\);]+)(\)|;)/.exec(a);if(Ea)return/Edge\/([\d\.]+)/.exec(a);if(C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Ga)return/WebKit\/(\S+)/.exec(a);if(Da)return/(?:Version)[ \/]?(\S+)/.exec(a)}();F&&(E=F?F[1]:"");if(C){var I=Ha();if(null!=I&&I>parseFloat(E)){D=String(I);break a}}D=E}var J={},Ia;var Ja=v.document;Ia=Ja&&C?Ha()||("CSS1Compat"==Ja.compatMode?parseInt(D,10):5):void 0;var K;(K=!C)||(K=9<=Number(Ia));var Ka=K,L; +if(L=C){var M;if(Object.prototype.hasOwnProperty.call(J,"9"))M=J["9"];else{for(var N=0,La=za(String(D)).split("."),Ma=za("9").split("."),Na=Math.max(La.length,Ma.length),O=0;0==N&&O=a.keyCode)a.keyCode=-1}catch(b){}};var Ta="closure_listenable_"+(1E6*Math.random()|0),Ua=0;function Va(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Ua;this.j=this.v=!1}function Wa(a){a.j=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function Xa(a){this.src=a;this.a={};this.b=0}Xa.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;gd.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=kb(d[e],a,!0,b);c=c&&f}for(e=0;e>>0);function db(a){if("function"==x(a))return a;a[mb]||(a[mb]=function(b){return a.handleEvent(b)});return a[mb]};function T(a){wa.call(this);this.b=a;this.a={}}va(T,wa);var nb=[];function ob(a,b,c){var d=document.body;"array"!=x(b)&&(b&&(nb[0]=b.toString()),b=nb);for(var e=0;e>>0),ha=0;function r(a,b){function d(){}d.prototype=b.prototype;a.A=b.prototype;a.prototype=new d;a.prototype.constructor=a;a.D=function(a,d,f){for(var c=Array(arguments.length-2),e=2;e")&&(a=a.replace(ra,">"));-1!=a.indexOf('"')&&(a=a.replace(sa,"""));-1!=a.indexOf("'")&&(a=a.replace(ta,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(ua,"�"));return a} +var pa=/&/g,qa=//g,sa=/"/g,ta=/'/g,ua=/\x00/g,oa=/[\x00&<>"']/;function t(a,b){return ab?1:0};var u;a:{var va=m.navigator;if(va){var wa=va.userAgent;if(wa){u=wa;break a}}u=""};function v(a){v[" "](a);return a}v[" "]=n;var xa=-1!=u.indexOf("Opera"),w=-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"),ya=-1!=u.indexOf("Edge"),za=-1!=u.indexOf("Gecko")&&!(-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge"))&&!(-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"))&&-1==u.indexOf("Edge"),Aa=-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge");function Ba(){var a=m.document;return a?a.documentMode:void 0}var x; +a:{var y="",z=function(){var a=u;if(za)return/rv:([^\);]+)(\)|;)/.exec(a);if(ya)return/Edge\/([\d\.]+)/.exec(a);if(w)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Aa)return/WebKit\/(\S+)/.exec(a);if(xa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();z&&(y=z?z[1]:"");if(w){var A=Ba();if(null!=A&&A>parseFloat(y)){x=String(A);break a}}x=y}var B={},Ea;var Fa=m.document;Ea=Fa&&w?Ba()||("CSS1Compat"==Fa.compatMode?parseInt(x,10):5):void 0;var C;(C=!w)||(C=9<=Number(Ea));var Ga=C,D; +if(D=w){var E;if(Object.prototype.hasOwnProperty.call(B,"9"))E=B["9"];else{for(var F=0,Ha=ma(String(x)).split("."),Ia=ma("9").split("."),Ja=Math.max(Ha.length,Ia.length),G=0;0==F&&G=a.keyCode)a.keyCode=-1}catch(b){}};var L="closure_listenable_"+(1E6*Math.random()|0),Pa=0;function Qa(a,b,d,c,e){this.listener=a;this.proxy=null;this.src=b;this.type=d;this.capture=!!c;this.a=e;this.key=++Pa;this.g=this.j=!1}function Ra(a){a.g=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function M(a){this.src=a;this.a={};this.b=0}M.prototype.add=function(a,b,d,c,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;gc.keyCode||void 0!=c.returnValue)){a:{var e=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==c.returnValue)c.returnValue=!0}c=[];for(e=b.a;e;e=e.parentNode)c.push(e);a=a.type;for(e=c.length-1;0<=e;e--){b.a=c[e];var f=$a(c[e],a,!0,b);d=d&&f}for(e=0;e>>0);function Va(a){if("function"==p(a))return a;a[Q]||(a[Q]=function(b){return a.handleEvent(b)});return a[Q]};function R(a){ia.call(this);this.a=a;this.b={}}r(R,ia);var bb=[];function cb(a,b,d){var c="copy";"array"!=p(c)&&(c&&(bb[0]=c.toString()),c=bb);for(var e=0;e
";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function ib(a){for(var b;b=a.firstChild;)a.removeChild(b)}function jb(a,b){a.insertBefore(b,a.childNodes[0]||null)}function kb(){this.a=m.document||document};function lb(a){a=a||mb;var b=a.label;b=W('

'+gb(a.step)+". "+gb(b)+"

");a=(ka||(ka=new kb)).a.createElement("DIV");b:{if(b instanceof U){if(b.l===T){b=b.o;break b}if(b.l===eb){b=na(b.o);break b}}b="zSoyz"}if(hb())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b;1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}var mb={};/* + + Copyright 2018 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +function X(){var a=HTMLElement.call(this)||this;a.h=null;a.c=null;a.w=!1;a.u="0";a.s="";a.i=null;a.f=null;a.C=new R;return a}var Y=HTMLElement;X.prototype=ba(Y.prototype);X.prototype.constructor=X;if(ea)ea(X,Y);else for(var Z in Y)if("prototype"!=Z)if(Object.defineProperties){var nb=Object.getOwnPropertyDescriptor(Y,Z);nb&&Object.defineProperty(X,Z,nb)}else X[Z]=Y[Z];X.A=Y.prototype;X.prototype.connectedCallback=function(){ob(this)};X.prototype.connectedCallback=X.prototype.connectedCallback; +X.prototype.attributeChangedCallback=function(a){if("label"===a||"step"===a)if(this.hasAttribute("label")&&(this.s=this.getAttribute("label")),this.hasAttribute("step")&&(this.u=this.getAttribute("step")),this.i){a=lb({step:this.u,label:this.s});var b=this.i,d=b.parentNode;d&&d.replaceChild(a,b);this.i=a}};X.prototype.attributeChangedCallback=X.prototype.attributeChangedCallback; +function ob(a){if(!a.w){var b=a.getElementsByTagName("google-codelab-about");0>>0),fa=0;function t(a,b){function c(){}c.prototype=b.prototype;a.A=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.G=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e")&&(a=a.replace(pa,">"));-1!=a.indexOf('"')&&(a=a.replace(qa,"""));-1!=a.indexOf("'")&&(a=a.replace(ra,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(sa,"�"));return a} +var na=/&/g,oa=//g,qa=/"/g,ra=/'/g,sa=/\x00/g,ma=/[\x00&<>"']/;function v(a,b){return ab?1:0};var w;a:{var ta=m.navigator;if(ta){var ua=ta.userAgent;if(ua){w=ua;break a}}w=""};function va(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function x(a){x[" "](a);return a}x[" "]=p;var wa=-1!=w.indexOf("Opera"),y=-1!=w.indexOf("Trident")||-1!=w.indexOf("MSIE"),xa=-1!=w.indexOf("Edge"),ya=-1!=w.indexOf("Gecko")&&!(-1!=w.toLowerCase().indexOf("webkit")&&-1==w.indexOf("Edge"))&&!(-1!=w.indexOf("Trident")||-1!=w.indexOf("MSIE"))&&-1==w.indexOf("Edge"),za=-1!=w.toLowerCase().indexOf("webkit")&&-1==w.indexOf("Edge");function Aa(){var a=m.document;return a?a.documentMode:void 0}var z; +a:{var A="",B=function(){var a=w;if(ya)return/rv:([^\);]+)(\)|;)/.exec(a);if(xa)return/Edge\/([\d\.]+)/.exec(a);if(y)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(za)return/WebKit\/(\S+)/.exec(a);if(wa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();B&&(A=B?B[1]:"");if(y){var C=Aa();if(null!=C&&C>parseFloat(A)){z=String(C);break a}}z=A}var D={},Ba;var Ca=m.document;Ba=Ca&&y?Aa()||("CSS1Compat"==Ca.compatMode?parseInt(z,10):5):void 0;var E;(E=!y)||(E=9<=Number(Ba));var Da=E,G; +if(G=y){var H;if(Object.prototype.hasOwnProperty.call(D,"9"))H=D["9"];else{for(var I=0,Ea=la(String(z)).split("."),Fa=la("9").split("."),Ga=Math.max(Ea.length,Fa.length),J=0;0==I&&J=a.keyCode)a.keyCode=-1}catch(b){}};var O="closure_listenable_"+(1E6*Math.random()|0),Ma=0;function Na(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Ma;this.i=this.l=!1}function Oa(a){a.i=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function P(a){this.src=a;this.a={};this.b=0}P.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;gd.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=Ya(d[e],a,!0,b);c=c&&f}for(e=0;e>>0);function Sa(a){if("function"==q(a))return a;a[$a]||(a[$a]=function(b){return a.handleEvent(b)});return a[$a]};function ab(a){ha.call(this);this.b=a;this.a={}}t(ab,ha);var bb=[];function cb(a,b){var c=document.body,d="click";"array"!=q(d)&&(d&&(bb[0]=d.toString()),d=bb);for(var e=0;e":">","`":"`","\u0085":"…","\u00a0":" ","\u2028":"
","\u2029":"
"};function rb(a){return sb[a]} +var qb=/[\x00\x22\x27\x3c\x3e]/g,tb=/[\x00\x09-\x0d \x22\x26\x27\x2d\/\x3c-\x3e`\x85\xa0\u2028\u2029]/g,ub=/[\x00\x09-\x0d \x22\x27\x2d\/\x3c-\x3e`\x85\xa0\u2028\u2029]/g,ob=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,pb=/
";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function wb(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function xb(){this.a=m.document||document};function yb(a){var b=a||zb;a=b.F;b=b.D;b='

'+mb(e.v)+"

";if(e.options.length){b+='
';for(var f=e.options,g=f.length,l=0;l'+mb(F.C)+''}b+="
"}b+="
"}b=nb(b+"");a=(ja||(ja=new xb)).a.createElement("DIV");b:{if(b instanceof V){if(b.g===U){b=b.h;break b}if(b.g===jb){b=u(b.h);break b}}b="zSoyz"}if(vb())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b;1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}var zb={};/* + + Copyright 2018 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +function X(){var a=HTMLElement.call(this)||this;a.f=a.getAttribute("survey-id")||"default-codelabs-survey";a.c=new gb;a.w="codelab-survey-"+a.f;a.j={};a.u=new ab;return a}var Y=HTMLElement;X.prototype=aa(Y.prototype);X.prototype.constructor=X;if(da)da(X,Y);else for(var Z in Y)if("prototype"!=Z)if(Object.defineProperties){var Ab=Object.getOwnPropertyDescriptor(Y,Z);Ab&&Object.defineProperty(X,Z,Ab)}else X[Z]=Y[Z];X.A=Y.prototype; +X.prototype.connectedCallback=function(){var a=this.c.get(this.w);this.j[this.f]=a?JSON.parse(a):{};Bb(this);Cb(this)};X.prototype.connectedCallback=X.prototype.connectedCallback; +function Cb(a){cb(a.u,function(b){var c=b.target,d=c.classList.contains("survey-option-wrapper");b=c.parentElement;var e=!1;b&&(e=b.classList.contains("survey-option-wrapper"));if(d||e)if(e&&(c=b),c&&(e=c.querySelector(".option-text"),b="",e&&(b=e.textContent),e=c.querySelector("input")))e.checked=!0,e=e.name,a.j[a.f][e]=b,a.c.set(a.w,JSON.stringify(a.j[a.f])),b=new CustomEvent("google-codelab-action",{detail:{category:"survey",action:e.substring(0,500),label:b.substring(0,500)}}),document.body.dispatchEvent(b)})} +function Bb(a){var b=a.querySelectorAll("paper-radio-group"),c=a.querySelectorAll("h4"),d=[];b.length&&c.length==b.length&&(b.forEach(function(a,b){var e=[],f=a.querySelectorAll("paper-radio-button");wb(a);f.forEach(function(a){a=a.textContent;e.push({o:Db(c[b].textContent,a),C:a})});d.push({v:c[b].textContent,options:e});wb(c[b])}),b=yb({D:a.f,F:d}),a.appendChild(b));Eb(a);a.setAttribute("upgraded","")} +function Eb(a){var b=a.j[a.f];b&&Object.keys(b).forEach(function(c){if(c=a.querySelector("#"+Db(c,b[c])))c.checked=!0})}function Db(a,b){return(a+"--"+b).replace(/\s+/g,"-").replace(/[^a-zA-Z0-9 \-]/g,"").toLowerCase()}X.prototype.disconnectedCallback=function(){db(this.u)};X.prototype.disconnectedCallback=X.prototype.disconnectedCallback;try{window.customElements.define("google-codelab-survey",X)}catch(a){console.warn("googlecodelabs.CodelabSurvey",a)};}).call(this); +(function(){'use strict';var aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ca;if("function"==typeof Object.setPrototypeOf)ca=Object.setPrototypeOf;else{var da;a:{var ea={da:!0},fa={};try{fa.__proto__=ea;da=fa.da;break a}catch(a){}da=!1}ca=da?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null} +var ha=ca,h=this;function l(a){return"string"==typeof a}function ia(){} +function ja(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null"; +else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function m(a){return"array"==ja(a)}function n(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var ka="closure_uid_"+(1E9*Math.random()>>>0),la=0;function ma(a,b,c){return a.call.apply(a.bind,arguments)} +function na(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(ya,">"));-1!=a.indexOf('"')&&(a=a.replace(za,"""));-1!=a.indexOf("'")&&(a=a.replace(Aa,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Ba,"�"));return a} +var wa=/&/g,xa=//g,za=/"/g,Aa=/'/g,Ba=/\x00/g,va=/[\x00&<>"']/;function Ca(a,b){return ab?1:0}function Da(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})}function Ea(a){var b=l(void 0)?"undefined".replace(/([-()\[\]{}+?*.$\^|,:#parseFloat(Qa)){A=String(Sa);break a}}A=Qa}var Ma={}; +function Ta(a){return La(a,function(){for(var b=0,c=ua(String(A)).split("."),d=ua(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f=a.keyCode)a.keyCode=-1}catch(b){}};var D="closure_listenable_"+(1E6*Math.random()|0),ab=0;function bb(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.L=e;this.key=++ab;this.B=this.G=!1}function cb(a){a.B=!0;a.listener=null;a.proxy=null;a.src=null;a.L=null};function E(a){this.src=a;this.a={};this.b=0}E.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g=db(a,b,d,e);-1d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;!b.f&&0<=e;e--){b.a=d[e];var f=rb(d[e],a,!0,b);c=c&&f}for(e=0;!b.f&&e>>0);function kb(a){if("function"==ja(a))return a;a[tb]||(a[tb]=function(b){return a.handleEvent(b)});return a[tb]};function G(a){r.call(this);this.b=a;this.a={}}q(G,r);var ub=[];function H(a,b,c,d){m(c)||(c&&(ub[0]=c.toString()),c=ub);for(var e=0;e",0);P("",0);P("
",0);var ac={},bc={},cc={},dc={};function Q(){throw Error("Do not instantiate directly");}Q.prototype.W=null;Q.prototype.toString=function(){return this.K};function ec(){Q.call(this)}q(ec,Q);ec.prototype.u=ac;function fc(a){if(null!=a)switch(a.W){case 1:return 1;case -1:return-1;case 0:return 0}return null}function gc(a){return null!=a&&a.u===ac?a:a instanceof N?R(O(a),a.v()):R(t(String(String(a))),fc(a))}var R=function(a){function b(a){this.K=a}b.prototype=a.prototype;return function(a,d){a=new b(String(a));void 0!==d&&(a.W=d);return a}}(ec);function hc(a){return null!=a&&a.u===ac?String(String(a.K).replace(ic,"").replace(jc,"<")).replace(kc,lc):t(String(a))} +function mc(a){null!=a&&a.u===bc||null!=a&&a.u===cc?a=String(a).replace(nc,oc):a instanceof L?a=String(Ib(a)).replace(nc,oc):a instanceof K?a=String(Gb(a)).replace(nc,oc):(a=String(a),a=pc.test(a)?a.replace(nc,oc):"about:invalid#zSoyz");return a} +var qc={"\x00":"�","\t":" ","\n":" ","\x0B":" ","\f":" ","\r":" "," ":" ",'"':""","&":"&","'":"'","-":"-","/":"/","<":"<","=":"=",">":">","`":"`","\u0085":"…","\u00a0":" ","\u2028":"
","\u2029":"
"};function lc(a){return qc[a]} +var rc={"\x00":"%00","\u0001":"%01","\u0002":"%02","\u0003":"%03","\u0004":"%04","\u0005":"%05","\u0006":"%06","\u0007":"%07","\b":"%08","\t":"%09","\n":"%0A","\x0B":"%0B","\f":"%0C","\r":"%0D","\u000e":"%0E","\u000f":"%0F","\u0010":"%10","\u0011":"%11","\u0012":"%12","\u0013":"%13","\u0014":"%14","\u0015":"%15","\u0016":"%16","\u0017":"%17","\u0018":"%18","\u0019":"%19","\u001a":"%1A","\u001b":"%1B","\u001c":"%1C","\u001d":"%1D","\u001e":"%1E","\u001f":"%1F"," ":"%20",'"':"%22","'":"%27","(":"%28", +")":"%29","<":"%3C",">":"%3E","\\":"%5C","{":"%7B","}":"%7D","\u007f":"%7F","\u0085":"%C2%85","\u00a0":"%C2%A0","\u2028":"%E2%80%A8","\u2029":"%E2%80%A9","\uff01":"%EF%BC%81","\uff03":"%EF%BC%83","\uff04":"%EF%BC%84","\uff06":"%EF%BC%86","\uff07":"%EF%BC%87","\uff08":"%EF%BC%88","\uff09":"%EF%BC%89","\uff0a":"%EF%BC%8A","\uff0b":"%EF%BC%8B","\uff0c":"%EF%BC%8C","\uff0f":"%EF%BC%8F","\uff1a":"%EF%BC%9A","\uff1b":"%EF%BC%9B","\uff1d":"%EF%BC%9D","\uff1f":"%EF%BC%9F","\uff20":"%EF%BC%A0","\uff3b":"%EF%BC%BB", +"\uff3d":"%EF%BC%BD"};function oc(a){return rc[a]}var kc=/[\x00\x22\x27\x3c\x3e]/g,nc=/[\x00- \x22\x27-\x29\x3c\x3e\\\x7b\x7d\x7f\x85\xa0\u2028\u2029\uff01\uff03\uff04\uff06-\uff0c\uff0f\uff1a\uff1b\uff1d\uff1f\uff20\uff3b\uff3d]/g,pc=/^(?![^#?]*\/(?:\.|%2E){2}(?:[\/?#]|$))(?:(?:https?|mailto):|[^&:\/?#]*(?:[\/?#]|$))/i,ic=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,jc=/Drawer')}function tc(a){return R('

'+gc(a.title)+"

")}function uc(a){a=a.time;return R('
access_time'+(1==a?gc(a)+" min remaining":gc(a)+" mins remaining")+"
")} +function vc(a){var b=a.steps;a=a.fa;for(var c='
    ',d=b.length,e=0;e'+gc(f)+""}c+="
"+(a?'':"");return R(c)};function S(){r.call(this);this.b=new E(this);this.f=this}q(S,r);S.prototype[D]=!0;S.prototype.removeEventListener=function(a,b,c,d){pb(this,a,b,c,d)};function wc(a,b,c,d){b=a.b.a[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f
";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function Bc(a,b){if(Ac())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b};function Cc(a,b){for(;a&&1!=a.nodeType;)a=b?a.nextSibling:a.previousSibling;return a}function Dc(){this.a=h.document||document};function U(a,b,c){if(l(b))(b=Ec(a,b))&&(a.style[b]=c);else for(var d in b){c=a;var e=b[d],f=Ec(c,d);f&&(c.style[f]=e)}}var Fc={};function Ec(a,b){var c=Fc[b];if(!c){var d=Da(b);c=d;void 0===a.style[d]&&(d=(z?"Webkit":w?"Moz":v?"ms":Na?"O":null)+Ea(d),void 0!==a.style[d]&&(c=d));Fc[b]=c}return c} +function Gc(a){var b=a.offsetWidth,c=a.offsetHeight;c=z&&!b&&!c;if((void 0===b||c)&&a.getBoundingClientRect)a:{try{var d=a.getBoundingClientRect()}catch(e){break a}v&&a.ownerDocument.body&&(a=a.ownerDocument,d.left-=a.documentElement.clientLeft+a.body.clientLeft,d.top-=a.documentElement.clientTop+a.body.clientTop)}};function Hc(a,b){m(b)||(b=[b]);b=ta(b,function(a){return l(a)?a:a.ka+" "+a.duration+"s "+a.timing+" "+a.ea+"s"});U(a,"transition",b.join(","))} +var Ic=yb(function(){if(v)return Ta("10.0");var a=document.createElement("DIV");var b=z?"-webkit":w?"-moz":v?"-ms":Na?"-o":null,c={transition:"opacity 1s linear"};b&&(c[b+"-transition"]="opacity 1s linear");b={style:c};if(!Xb.test("div"))throw Error("Invalid tag name
.");if("DIV"in Zb)throw Error("Tag name
is not allowed for SafeHtml.");c=null;var d="";if(b)for(y in b){if(!Xb.test(y))throw Error('Invalid attribute name "'+y+'".');var e=b[y];if(null!=e){var f=y;var g=e;if(g instanceof J)g= +Eb(g);else if("style"==f.toLowerCase()){e=void 0;if(!n(g))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof g+" given: "+g);if(!(g instanceof M)){var k="";for(e in g){if(!/^[-_a-zA-Z0-9]+$/.test(e))throw Error("Name allows only [-_a-zA-Z0-9], got: "+e);var x=g[e];null!=x&&(x=m(x)?ta(x,Pb).join(" "):Pb(x),k+=e+":"+x+";")}g=k?Nb(k):Ob}g=g instanceof M&&g.constructor===M&&g.b===Mb?g.a:"type_error:SafeStyle"}else{if(/^on/i.test(f))throw Error('Attribute "'+ +f+'" requires goog.string.Const value, "'+g+'" given.');if(f.toLowerCase()in Yb)if(g instanceof K)g=Gb(g);else if(g instanceof L)g=Ib(g);else if(l(g))g=Kb(g).j();else throw Error('Attribute "'+f+'" on tag "div" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+g+'" given.');}g.o&&(g=g.j());f=f+'="'+t(String(g))+'"';d+=" "+f}}var y="":(c=$b(d),y+=">"+O(c)+"
",c=c.v());(b=b&&b.dir)&&(/^(ltr|rtl|auto)$/i.test(b)?c=0:c= +null);b=P(y,c);Bc(a,O(b));a=a.firstChild;b=a.style[Da("transition")];return""!=("undefined"!==typeof b?b:a.style[Ec(a,"transition")]||"")});function V(a,b,c,d,e){yc.call(this);this.a=a;this.ha=b;this.ia=c;this.Y=d;this.la=m(e)?e:[e]}q(V,yc);function Jc(a){1!=a.J&&(T(a.f,"begin"),T(a.f,"play"),oa(),a.J=1,Ic()?(U(a.a,a.ia),a.Z=xc(a.ja,void 0,a)):a.P(!1))} +V.prototype.ja=function(){var a=this.a;b:{var b=9==a.nodeType?a:a.ownerDocument||a.document;if(b.defaultView&&b.defaultView.getComputedStyle&&(b=b.defaultView.getComputedStyle(a,null))){b=b.display||b.getPropertyValue("display")||"";break b}b=""}if("none"!=(b||(a.currentStyle?a.currentStyle.display:null)||a.style&&a.style.display))Gc(a);else{b=a.style;var c=b.display,d=b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";Gc(a);b.display=c;b.position=e;b.visibility= +d}Hc(this.a,this.la);U(this.a,this.Y);this.Z=xc(p(this.P,this,!1),1E3*this.ha)};function Kc(a){1==a.J&&a.P(!0)}V.prototype.P=function(a){U(this.a,"transition","");h.clearTimeout(this.Z);U(this.a,this.Y);oa();this.J=zc;a?T(this.f,"stop"):T(this.f,"finish");T(this.f,"end")};function Lc(a,b,c){Bc(a,Mc(b(c||Nc,void 0,void 0)))}function Oc(a,b){b=a(b||Nc,void 0,void 0);a=(qa||(qa=new Dc)).a.createElement("DIV");b=Mc(b);Bc(a,b);1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}function Mc(a){if(a instanceof Q){if(a.u===ac)return a.K;if(a.u===dc)return t(a.K)}return"zSoyz"}var Nc={};/* + + Copyright 2018 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +function W(){var a=HTMLElement.call(this)||this;a.g=null;a.ba=null;a.N=null;a.l=null;a.w=null;a.A=null;a.H=null;a.I=null;a.M="";a.s="";a.c=[];a.h=-1;a.i=new G;a.O=new G;a.X=!1;a.S=!1;a.D=null;a.F=null;a.$=!1;a.m=new Bb;return a}var X=HTMLElement;W.prototype=ba(X.prototype);W.prototype.constructor=W;if(ha)ha(W,X);else for(var Y in X)if("prototype"!=Y)if(Object.defineProperties){var Pc=Object.getOwnPropertyDescriptor(X,Y);Pc&&Object.defineProperty(W,Y,Pc)}else W[Y]=X[Y];W.V=X.prototype; +W.prototype.connectedCallback=function(){this.X||Qc(this);Rc(this);var a=document.querySelector("google-codelab-analytics");if(a){var b=this.getAttribute("codelab-gaid");b&&a.setAttribute("codelab-gaid",b);a.setAttribute("environment",this.getAttribute("environment"));a.setAttribute("category",this.getAttribute("category"))}Sc(this);Tc(this);Uc(this);Vc(this);this.$&&console.log("resumed");this.S||(this.S=!0,Z(this,"google-codelab-ready"),this.setAttribute("google-codelab-ready",""))}; +W.prototype.connectedCallback=W.prototype.connectedCallback;W.prototype.disconnectedCallback=function(){xb(this.i);xb(this.O)};W.prototype.disconnectedCallback=W.prototype.disconnectedCallback; +W.prototype.attributeChangedCallback=function(a){var b=this;switch(a){case "title":this.hasAttribute("title")&&(this.s=this.getAttribute("title"),this.removeAttribute("title"),this.setAttribute("codelab-title",this.s));break;case "codelab-title":this.s=this.getAttribute("codelab-title");Tc(this);break;case "selected":Sc(this);break;case "no-toolbar":Vc(this);break;case "no-arrows":Uc(this);break;case "anayltics-ready":this.hasAttribute("anayltics-ready")&&(this.S?Wc(this):this.addEventListener("google-codelab-ready", +function(){return Wc(b)}))}};W.prototype.attributeChangedCallback=W.prototype.attributeChangedCallback;W.prototype.T=function(){this.setAttribute("selected",this.h+1)};W.prototype.selectNext=W.prototype.T;W.prototype.U=function(){this.setAttribute("selected",this.h-1)};W.prototype.selectPrevious=W.prototype.U;W.prototype.select=function(a){this.setAttribute("selected",a)};W.prototype.select=W.prototype.select; +function Rc(a){a.A&&H(a.i,a.A,"click",function(b){b.preventDefault();b.stopPropagation();a.U()});a.w&&H(a.i,a.w,"click",function(b){b.preventDefault();b.stopPropagation();a.T()});a.g&&(H(a.i,a.g,"click",function(b){for(var c=b.target;c!==a.g&&"A"!==c.tagName.toUpperCase();)b.preventDefault(),b.stopPropagation(),c=c.parentNode;c!==a.g&&(b=(new URL(c.getAttribute("href"),document.location.origin)).hash.substring(1),a.setAttribute("selected",b))}),H(a.i,a.g,"keydown",function(b){if(a.g){var c=a.g.querySelector(":focus"), +e;c?e=c.parentNode:e=a.g.querySelector("[selected]");if(e){var f;38==b.C?f=void 0!==e.previousElementSibling?e.previousElementSibling:Cc(e.previousSibling,!1):40==b.C&&(f=void 0!==e.nextElementSibling?e.nextElementSibling:Cc(e.nextSibling,!0));f&&(b=f.querySelector("a"))&&b.focus()}}}));if(a.l){var b=a.l.querySelector("#menu");b&&(H(a.i,b,"click",function(b){b.preventDefault();b.stopPropagation();a.hasAttribute("drawer--open")?a.removeAttribute("drawer--open"):a.setAttribute("drawer--open","")}), +H(a.i,document.body,"click",function(){a.hasAttribute("drawer--open")&&a.removeAttribute("drawer--open")}))}H(a.i,window,"popstate",function(){document.location.hash&&(a.setAttribute("dsh",""),a.setAttribute("selected",document.location.hash.substring(1)),a.removeAttribute("dsh"))});H(a.i,document.body,"keydown",function(b){37==b.C?(document.activeElement&&document.activeElement.blur(),a.U()):39==b.C&&(document.activeElement&&document.activeElement.blur(),a.T())})} +function Vc(a){a.l&&(a.hasAttribute("no-toolbar")?a.l.setAttribute("hidden",""):a.l.removeAttribute("hidden"))}function Uc(a){a.H&&(a.hasAttribute("no-arrows")?a.H.setAttribute("hidden",""):a.H.removeAttribute("hidden"))}W.prototype.ca=function(a,b){(void 0===b?0:b)?window.history.replaceState({path:a},document.title,a):window.history.pushState({path:a},document.title,a)};W.prototype.updateHistoryState=W.prototype.ca; +function Tc(a){if(a.s&&a.l){var b=Oc(tc,{title:a.s});document.title=a.s;var c=a.l.querySelector("h1");a=a.l.querySelector("#codelab-nav-buttons");c?(a=c.parentNode)&&a.replaceChild(b,c):a.parentNode&&a.parentNode.insertBefore(b,a.nextSibling)}}function Xc(a){if(a.N){for(var b=0,c=a.h;c>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)} +function oa(a,b,c){if(!a)throw Error();if(2")&&(a=a.replace(za,">"));-1!=a.indexOf('"')&&(a=a.replace(Aa,"""));-1!=a.indexOf("'")&&(a=a.replace(Ba,"'"));-1!=a.indexOf("\x00")&&(a=a.replace(Ca,"�"));return a} +var xa=/&/g,ya=//g,Aa=/"/g,Ba=/'/g,Ca=/\x00/g,wa=/[\x00&<>"']/;function A(a,b){return ab?1:0};function Da(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function B(){this.a="";this.v=Ea}B.prototype.i=!0;B.prototype.c=function(){return this.a};B.prototype.b=function(){return 1};var Fa=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,Ea={};function Ga(a){var b=new B;b.a=a;return b}Ga("about:blank");var C;a:{var Ha=q.navigator;if(Ha){var Ia=Ha.userAgent;if(Ia){C=Ia;break a}}C=""};function D(){this.a=Ja}D.prototype.b=function(){return null};D.prototype.i=!0;D.prototype.c=function(){return""};var Ja={};var E={},Ka={};function F(){throw Error("Do not instantiate directly");}F.prototype.B=null;F.prototype.toString=function(){return this.u};function G(){F.call(this)}x(G,F);G.prototype.s=E;function H(a){H[" "](a);return a}H[" "]=t;var La=-1!=C.indexOf("Opera"),I=-1!=C.indexOf("Trident")||-1!=C.indexOf("MSIE"),Ma=-1!=C.indexOf("Edge"),Na=-1!=C.indexOf("Gecko")&&!(-1!=C.toLowerCase().indexOf("webkit")&&-1==C.indexOf("Edge"))&&!(-1!=C.indexOf("Trident")||-1!=C.indexOf("MSIE"))&&-1==C.indexOf("Edge"),Oa=-1!=C.toLowerCase().indexOf("webkit")&&-1==C.indexOf("Edge");function Sa(){var a=q.document;return a?a.documentMode:void 0}var J; +a:{var K="",L=function(){var a=C;if(Na)return/rv:([^\);]+)(\)|;)/.exec(a);if(Ma)return/Edge\/([\d\.]+)/.exec(a);if(I)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Oa)return/WebKit\/(\S+)/.exec(a);if(La)return/(?:Version)[ \/]?(\S+)/.exec(a)}();L&&(K=L?L[1]:"");if(I){var Ta=Sa();if(null!=Ta&&Ta>parseFloat(K)){J=String(Ta);break a}}J=K}var Ua={},Va;var Wa=q.document;Va=Wa&&I?Sa()||("CSS1Compat"==Wa.compatMode?parseInt(J,10):5):void 0;function Xa(a){if(null!=a)switch(a.B){case 1:return 1;case -1:return-1;case 0:return 0}return null}function M(a){return null!=a&&a.s===E?a:a instanceof D?N(a instanceof D&&a.constructor===D&&a.a===Ja?"":"type_error:SafeHtml",a.b()):N(z(String(String(a))),Xa(a))}var N=function(a){function b(a){this.u=a}b.prototype=a.prototype;return function(a,d){a=new b(String(a));void 0!==d&&(a.B=d);return a}}(G); +function O(a){return null!=a&&a.s===E?String(String(a.u).replace(Ya,"").replace(Za,"<")).replace($a,ab):z(String(a))}var bb={"\x00":"�","\t":" ","\n":" ","\x0B":" ","\f":" ","\r":" "," ":" ",'"':""","&":"&","'":"'","-":"-","/":"/","<":"<","=":"=",">":">","`":"`","\u0085":"…","\u00a0":" ","\u2028":"
","\u2029":"
"};function ab(a){return bb[a]} +var $a=/[\x00\x22\x27\x3c\x3e]/g,Ya=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,Za=/A-ZRecentDuration
")};var db=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}(function(){var a=document.createElement("div");a.innerHTML="
";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function eb(a,b){if(db())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b};function fb(){this.a=q.document||document};function gb(a,b){b=a(b||hb,void 0,void 0);a=(qa||(qa=new fb)).a.createElement("DIV");b=ib(b);eb(a,b);1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}function ib(a){if(a instanceof F){if(a.s===E)return a.u;if(a.s===Ka)return z(a.u)}return"zSoyz"}var hb={};/* + + Copyright 2018 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +function P(){var a=HTMLElement.call(this)||this;a.j=new ua;return a}ea(P,HTMLElement);P.prototype.connectedCallback=function(){this.hasAttribute("sort")?jb(this):this.setAttribute("sort","alpha");(this.hasAttribute("filter")||this.hasAttribute("category")||this.hasAttribute("tags"))&&kb(this)};P.prototype.connectedCallback=P.prototype.connectedCallback;P.prototype.attributeChangedCallback=function(a){switch(a){case "sort":jb(this);break;case "filter":case "category":case "tags":kb(this)}}; +P.prototype.attributeChangedCallback=P.prototype.attributeChangedCallback; +function jb(a){var b=a.getAttribute("sort")||"alpha",c=[].concat(p(a.querySelectorAll(".card")));if(!(2>c.length)){switch(b){case "duration":c.sort(a.i.bind(a));break;case "recent":c.sort(a.c.bind(a));break;default:b="alpha",c.sort(a.b.bind(a))}c.forEach(function(b){return a.appendChild(b)});c=new URL(document.location.toString());b&&"alpha"!==b?c.searchParams.set("sort",b):c.searchParams.delete("sort");lb(a);b=c.pathname+c.search;window.history.replaceState({path:b},document.title,b)}} +function lb(a){a.setAttribute("num",a.querySelectorAll(".card:not([hidden])").length)}P.prototype.i=function(a,b){if(!a||!b)return 0;var c=parseFloat(a.getAttribute("duration"))||0,d=parseFloat(b.getAttribute("duration"))||0;c-=d;return 0===c?this.c(a,b):c};P.prototype.c=function(a,b){if(!a||!b)return 0;var c=new Date(a.getAttribute("updated")||0);c=(new Date(b.getAttribute("updated")||0)).getTime()-c.getTime();return 0===c?this.b(a,b):c}; +P.prototype.b=function(a,b){if(!a||!b)return 0;a=a.getAttribute("title");b=b.getAttribute("title");return ab?1:0}; +function kb(a){var b=mb(a.getAttribute("filter")),c=Q((a.getAttribute("tags")||"").split(",")),d=Q((a.getAttribute("category")||"").split(","));[].concat(p(a.querySelectorAll(".card"))).forEach(function(a){var e=mb(a.getAttribute("title")),f=Q((a.getAttribute("category")||"").split(",")),Sb=Q((a.getAttribute("tags")||"").split(",")),Pa=!0,Qa=!0,Ra=!0;b&&(Pa=-1!==e.indexOf(b));c.length&&(Qa=nb(Sb,c));d.length&&(Ra=nb(f,d));Pa&&Qa&&Ra?a.removeAttribute("hidden"):a.setAttribute("hidden","")});var e= +new URL(document.location.toString());c.length?e.searchParams.set("tags",c.join(",")):e.searchParams.delete("tags");d.length?e.searchParams.set("cat",d.join(",")):e.searchParams.delete("cat");b?e.searchParams.set("filter",b):e.searchParams.delete("filter");lb(a);a=e.pathname+e.search;window.history.replaceState({path:a},document.title,a)}function nb(a,b){for(var c=0;c'+(d?''+M(d)+" min":"")+'
'+M(c)+'
");eb(a,ib(b));a.classList.add("card");b=new URL(a.href,document.location.origin);b.searchParams.has("index")|| +b.searchParams.set("index",document.location.pathname);b=b.href;b instanceof B||b instanceof B||(b="object"==typeof b&&b.i?b.c():String(b),Fa.test(b)||(b="about:invalid#zClosurez"),b=Ga(b));a.href=b instanceof B&&b.constructor===B&&b.v===Ea?b.a:"type_error:SafeUrl";if(b=a.getAttribute("id"))b=this.j.get("progress_"+b),c=a.getAttribute("steps"),b&&c&&a.setAttribute("progress",(parseFloat(b)/parseFloat(c)-1).toFixed(2));this.appendChild(a)};P.prototype.addCard=P.prototype.G; +h.Object.defineProperties(P,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["sort","filter","category","tags"]}}});try{window.customElements.define("google-codelab-index-cards",P)}catch(a){console.warn("googlecodelabs.CodelabIndex.Cards",a)};function R(){0!=ob&&(this[la]||(this[la]=++ma))}var ob=0;var pb;(pb=!I)||(pb=9<=Number(Va));var qb=pb,rb; +if(rb=I){var sb;if(Object.prototype.hasOwnProperty.call(Ua,"9"))sb=Ua["9"];else{for(var S=0,tb=va(String(J)).split("."),ub=va("9").split("."),vb=Math.max(tb.length,ub.length),T=0;0==S&&T=a.keyCode)a.keyCode=-1}catch(b){}};var Cb="closure_listenable_"+(1E6*Math.random()|0),Db=0;function Eb(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Db;this.o=this.A=!1}function Fb(a){a.o=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function Gb(a){this.src=a;this.a={};this.b=0}Gb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;gd.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=Vb(d[e],a,!0,b);c=c&&f}for(e=0;e>>0);function Nb(a){if("function"==u(a))return a;a[Xb]||(a[Xb]=function(b){return a.handleEvent(b)});return a[Xb]};function Yb(a,b){if("function"!=u(a))if(a&&"function"==typeof a.handleEvent)a=w(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647 { + 'use strict'; + + // Do nothing if `customElements` does not exist. + if (!window.customElements) return; + + const NativeHTMLElement = window.HTMLElement; + const nativeDefine = window.customElements.define; + const nativeGet = window.customElements.get; + + /** + * Map of user-provided constructors to tag names. + * + * @type {Map} + */ + const tagnameByConstructor = new Map(); + + /** + * Map of tag names to user-provided constructors. + * + * @type {Map} + */ + const constructorByTagname = new Map(); + + + /** + * Whether the constructors are being called by a browser process, ie parsing + * or createElement. + */ + let browserConstruction = false; + + /** + * Whether the constructors are being called by a user-space process, ie + * calling an element constructor. + */ + let userConstruction = false; + + window.HTMLElement = function() { + if (!browserConstruction) { + const tagname = tagnameByConstructor.get(this.constructor); + const fakeClass = nativeGet.call(window.customElements, tagname); + + // Make sure that the fake constructor doesn't call back to this constructor + userConstruction = true; + const instance = new (fakeClass)(); + return instance; + } + // Else do nothing. This will be reached by ES5-style classes doing + // HTMLElement.call() during initialization + browserConstruction = false; + }; + // By setting the patched HTMLElement's prototype property to the native + // HTMLElement's prototype we make sure that: + // document.createElement('a') instanceof HTMLElement + // works because instanceof uses HTMLElement.prototype, which is on the + // ptototype chain of built-in elements. + window.HTMLElement.prototype = NativeHTMLElement.prototype; + + const define = (tagname, elementClass) => { + const elementProto = elementClass.prototype; + const StandInElement = class extends NativeHTMLElement { + constructor() { + // Call the native HTMLElement constructor, this gives us the + // under-construction instance as `this`: + super(); + + // The prototype will be wrong up because the browser used our fake + // class, so fix it: + Object.setPrototypeOf(this, elementProto); + + if (!userConstruction) { + // Make sure that user-defined constructor bottom's out to a do-nothing + // HTMLElement() call + browserConstruction = true; + // Call the user-defined constructor on our instance: + elementClass.call(this); + } + userConstruction = false; + } + }; + const standInProto = StandInElement.prototype; + StandInElement.observedAttributes = elementClass.observedAttributes; + standInProto.connectedCallback = elementProto.connectedCallback; + standInProto.disconnectedCallback = elementProto.disconnectedCallback; + standInProto.attributeChangedCallback = elementProto.attributeChangedCallback; + standInProto.adoptedCallback = elementProto.adoptedCallback; + + tagnameByConstructor.set(elementClass, tagname); + constructorByTagname.set(tagname, elementClass); + nativeDefine.call(window.customElements, tagname, StandInElement); + }; + + const get = (tagname) => constructorByTagname.get(tagname); + + // Workaround for Safari bug where patching customElements can be lost, likely + // due to native wrapper garbage collection issue + Object.defineProperty(window, 'customElements', + {value: window.customElements, configurable: true, writable: true}); + Object.defineProperty(window.customElements, 'define', + {value: define, configurable: true, writable: true}); + Object.defineProperty(window.customElements, 'get', + {value: get, configurable: true, writable: true}); + +})(); diff --git a/site/dist/elements/codelab-elements/prettify.js b/site/dist/elements/codelab-elements/prettify.js new file mode 100755 index 000000000..10c9fb73d --- /dev/null +++ b/site/dist/elements/codelab-elements/prettify.js @@ -0,0 +1,1655 @@ +// Copyright (C) 2006 Google Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +/** + * @fileoverview + * some functions for browser-side pretty printing of code contained in html. + * + *

+ * For a fairly comprehensive set of languages see the + * README + * file that came with this source. At a minimum, the lexer should work on a + * number of languages including C and friends, Java, Python, Bash, SQL, HTML, + * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk + * and a subset of Perl, but, because of commenting conventions, doesn't work on + * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. + *

+ * Usage:

    + *
  1. include this source file in an html page via + * {@code } + *
  2. define style rules. See the example page for examples. + *
  3. mark the {@code
    } and {@code } tags in your source with
    + *    {@code class=prettyprint.}
    + *    You can also use the (html deprecated) {@code } tag, but the pretty
    + *    printer needs to do more substantial DOM manipulations to support that, so
    + *    some css styles may not be preserved.
    + * </ol>
    + * That's it.  I wanted to keep the API as simple as possible, so there's no
    + * need to specify which language the code is in, but if you wish, you can add
    + * another class to the {@code <pre>} or {@code <code>} element to specify the
    + * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    + * starts with "lang-" followed by a file extension, specifies the file type.
    + * See the "lang-*.js" files in this directory for code that implements
    + * per-language file handlers.
    + * <p>
    + * Change log:<br>
    + * cbeust, 2006/08/22
    + * <blockquote>
    + *   Java annotations (start with "@") are now captured as literals ("lit")
    + * </blockquote>
    + * @requires console
    + */
    +
    +// JSLint declarations
    +/*global console, document, navigator, setTimeout, window, define */
    +
    +/** @define {boolean} */
    +var IN_GLOBAL_SCOPE = true;
    +
    +/**
    + * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    + * UI events.
    + * If set to {@code false}, {@code prettyPrint()} is synchronous.
    + */
    +window['PR_SHOULD_USE_CONTINUATION'] = true;
    +
    +/**
    + * Pretty print a chunk of code.
    + * @param {string} sourceCodeHtml The HTML to pretty print.
    + * @param {string} opt_langExtension The language name to use.
    + *     Typically, a filename extension like 'cpp' or 'java'.
    + * @param {number|boolean} opt_numberLines True to number lines,
    + *     or the 1-indexed number of the first line in sourceCodeHtml.
    + * @return {string} code as html, but prettier
    + */
    +var prettyPrintOne;
    +/**
    + * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    + * {@code class=prettyprint} and prettify them.
    + *
    + * @param {Function} opt_whenDone called when prettifying is done.
    + * @param {HTMLElement|HTMLDocument} opt_root an element or document
    + *   containing all the elements to pretty print.
    + *   Defaults to {@code document.body}.
    + */
    +var prettyPrint;
    +
    +
    +(function () {
    +  var win = window;
    +  // Keyword lists for various languages.
    +  // We use things that coerce to strings to make them compact when minified
    +  // and to defeat aggressive optimizers that fold large string constants.
    +  var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
    +  var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + 
    +      "double,enum,extern,float,goto,inline,int,long,register,short,signed," +
    +      "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];
    +  var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
    +      "new,operator,private,protected,public,this,throw,true,try,typeof"];
    +  var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
    +      "concept,concept_map,const_cast,constexpr,decltype,delegate," +
    +      "dynamic_cast,explicit,export,friend,generic,late_check," +
    +      "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," +
    +      "static_cast,template,typeid,typename,using,virtual,where"];
    +  var JAVA_KEYWORDS = [COMMON_KEYWORDS,
    +      "abstract,assert,boolean,byte,extends,final,finally,implements,import," +
    +      "instanceof,interface,null,native,package,strictfp,super,synchronized," +
    +      "throws,transient"];
    +  var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
    +      "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
    +      "fixed,foreach,from,group,implicit,in,internal,into,is,let," +
    +      "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," +
    +      "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," +
    +      "var,virtual,where"];
    +  var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
    +      "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
    +      "throw,true,try,unless,until,when,while,yes";
    +  var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
    +      "debugger,eval,export,function,get,null,set,undefined,var,with," +
    +      "Infinity,NaN"];
    +  var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," +
    +      "goto,if,import,last,local,my,next,no,our,print,package,redo,require," +
    +      "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
    +  var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
    +      "elif,except,exec,finally,from,global,import,in,is,lambda," +
    +      "nonlocal,not,or,pass,print,raise,try,with,yield," +
    +      "False,True,None"];
    +  var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
    +      "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
    +      "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
    +      "BEGIN,END"];
    +   var RUST_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "as,assert,const,copy,drop," +
    +      "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," +
    +      "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"];
    +  var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
    +      "function,in,local,set,then,until"];
    +  var ALL_KEYWORDS = [
    +      CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS,
    +      PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS];
    +  var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/;
    +
    +  // token style names.  correspond to css classes
    +  /**
    +   * token style for a string literal
    +   * @const
    +   */
    +  var PR_STRING = 'str';
    +  /**
    +   * token style for a keyword
    +   * @const
    +   */
    +  var PR_KEYWORD = 'kwd';
    +  /**
    +   * token style for a comment
    +   * @const
    +   */
    +  var PR_COMMENT = 'com';
    +  /**
    +   * token style for a type
    +   * @const
    +   */
    +  var PR_TYPE = 'typ';
    +  /**
    +   * token style for a literal value.  e.g. 1, null, true.
    +   * @const
    +   */
    +  var PR_LITERAL = 'lit';
    +  /**
    +   * token style for a punctuation string.
    +   * @const
    +   */
    +  var PR_PUNCTUATION = 'pun';
    +  /**
    +   * token style for plain text.
    +   * @const
    +   */
    +  var PR_PLAIN = 'pln';
    +
    +  /**
    +   * token style for an sgml tag.
    +   * @const
    +   */
    +  var PR_TAG = 'tag';
    +  /**
    +   * token style for a markup declaration such as a DOCTYPE.
    +   * @const
    +   */
    +  var PR_DECLARATION = 'dec';
    +  /**
    +   * token style for embedded source.
    +   * @const
    +   */
    +  var PR_SOURCE = 'src';
    +  /**
    +   * token style for an sgml attribute name.
    +   * @const
    +   */
    +  var PR_ATTRIB_NAME = 'atn';
    +  /**
    +   * token style for an sgml attribute value.
    +   * @const
    +   */
    +  var PR_ATTRIB_VALUE = 'atv';
    +
    +  /**
    +   * A class that indicates a section of markup that is not code, e.g. to allow
    +   * embedding of line numbers within code listings.
    +   * @const
    +   */
    +  var PR_NOCODE = 'nocode';
    +
    +  
    +  
    +  /**
    +   * A set of tokens that can precede a regular expression literal in
    +   * javascript
    +   * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
    +   * has the full list, but I've removed ones that might be problematic when
    +   * seen in languages that don't support regular expression literals.
    +   *
    +   * <p>Specifically, I've removed any keywords that can't precede a regexp
    +   * literal in a syntactically legal javascript program, and I've removed the
    +   * "in" keyword since it's not a keyword in many languages, and might be used
    +   * as a count of inches.
    +   *
    +   * <p>The link above does not accurately describe EcmaScript rules since
    +   * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    +   * very well in practice.
    +   *
    +   * @private
    +   * @const
    +   */
    +  var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
    +  
    +  // CAVEAT: this does not properly handle the case where a regular
    +  // expression immediately follows another since a regular expression may
    +  // have flags for case-sensitivity and the like.  Having regexp tokens
    +  // adjacent is not valid in any language I'm aware of, so I'm punting.
    +  // TODO: maybe style special characters inside a regexp as punctuation.
    +
    +  /**
    +   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    +   * matches the union of the sets of strings matched by the input RegExp.
    +   * Since it matches globally, if the input strings have a start-of-input
    +   * anchor (/^.../), it is ignored for the purposes of unioning.
    +   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    +   * @return {RegExp} a global regex.
    +   */
    +  function combinePrefixPatterns(regexs) {
    +    var capturedGroupIndex = 0;
    +  
    +    var needToFoldCase = false;
    +    var ignoreCase = false;
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.ignoreCase) {
    +        ignoreCase = true;
    +      } else if (/[a-z]/i.test(regex.source.replace(
    +                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    +        needToFoldCase = true;
    +        ignoreCase = false;
    +        break;
    +      }
    +    }
    +  
    +    var escapeCharToCodeUnit = {
    +      'b': 8,
    +      't': 9,
    +      'n': 0xa,
    +      'v': 0xb,
    +      'f': 0xc,
    +      'r': 0xd
    +    };
    +  
    +    function decodeEscape(charsetPart) {
    +      var cc0 = charsetPart.charCodeAt(0);
    +      if (cc0 !== 92 /* \\ */) {
    +        return cc0;
    +      }
    +      var c1 = charsetPart.charAt(1);
    +      cc0 = escapeCharToCodeUnit[c1];
    +      if (cc0) {
    +        return cc0;
    +      } else if ('0' <= c1 && c1 <= '7') {
    +        return parseInt(charsetPart.substring(1), 8);
    +      } else if (c1 === 'u' || c1 === 'x') {
    +        return parseInt(charsetPart.substring(2), 16);
    +      } else {
    +        return charsetPart.charCodeAt(1);
    +      }
    +    }
    +  
    +    function encodeEscape(charCode) {
    +      if (charCode < 0x20) {
    +        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    +      }
    +      var ch = String.fromCharCode(charCode);
    +      return (ch === '\\' || ch === '-' || ch === ']' || ch === '^')
    +          ? "\\" + ch : ch;
    +    }
    +  
    +    function caseFoldCharset(charSet) {
    +      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    +          new RegExp(
    +              '\\\\u[0-9A-Fa-f]{4}'
    +              + '|\\\\x[0-9A-Fa-f]{2}'
    +              + '|\\\\[0-3][0-7]{0,2}'
    +              + '|\\\\[0-7]{1,2}'
    +              + '|\\\\[\\s\\S]'
    +              + '|-'
    +              + '|[^-\\\\]',
    +              'g'));
    +      var ranges = [];
    +      var inverse = charsetParts[0] === '^';
    +  
    +      var out = ['['];
    +      if (inverse) { out.push('^'); }
    +  
    +      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    +        var p = charsetParts[i];
    +        if (/\\[bdsw]/i.test(p)) {  // Don't muck with named groups.
    +          out.push(p);
    +        } else {
    +          var start = decodeEscape(p);
    +          var end;
    +          if (i + 2 < n && '-' === charsetParts[i + 1]) {
    +            end = decodeEscape(charsetParts[i + 2]);
    +            i += 2;
    +          } else {
    +            end = start;
    +          }
    +          ranges.push([start, end]);
    +          // If the range might intersect letters, then expand it.
    +          // This case handling is too simplistic.
    +          // It does not deal with non-latin case folding.
    +          // It works for latin source code identifiers though.
    +          if (!(end < 65 || start > 122)) {
    +            if (!(end < 65 || start > 90)) {
    +              ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    +            }
    +            if (!(end < 97 || start > 122)) {
    +              ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    +      // -> [[1, 12], [14, 14], [16, 17]]
    +      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    +      var consolidatedRanges = [];
    +      var lastRange = [];
    +      for (var i = 0; i < ranges.length; ++i) {
    +        var range = ranges[i];
    +        if (range[0] <= lastRange[1] + 1) {
    +          lastRange[1] = Math.max(lastRange[1], range[1]);
    +        } else {
    +          consolidatedRanges.push(lastRange = range);
    +        }
    +      }
    +  
    +      for (var i = 0; i < consolidatedRanges.length; ++i) {
    +        var range = consolidatedRanges[i];
    +        out.push(encodeEscape(range[0]));
    +        if (range[1] > range[0]) {
    +          if (range[1] + 1 > range[0]) { out.push('-'); }
    +          out.push(encodeEscape(range[1]));
    +        }
    +      }
    +      out.push(']');
    +      return out.join('');
    +    }
    +  
    +    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    +      // Split into character sets, escape sequences, punctuation strings
    +      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    +      // include any of the above.
    +      var parts = regex.source.match(
    +          new RegExp(
    +              '(?:'
    +              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    +              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    +              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    +              + '|\\\\[0-9]+'  // a back-reference or octal escape
    +              + '|\\\\[^ux0-9]'  // other escape sequence
    +              + '|\\(\\?[:!=]'  // start of a non-capturing group
    +              + '|[\\(\\)\\^]'  // start/end of a group, or line start
    +              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    +              + ')',
    +              'g'));
    +      var n = parts.length;
    +  
    +      // Maps captured group numbers to the number they will occupy in
    +      // the output or to -1 if that has not been determined, or to
    +      // undefined if they need not be capturing in the output.
    +      var capturedGroups = [];
    +  
    +      // Walk over and identify back references to build the capturedGroups
    +      // mapping.
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          // groups are 1-indexed, so max group index is count of '('
    +          ++groupIndex;
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue) {
    +            if (decimalValue <= groupIndex) {
    +              capturedGroups[decimalValue] = -1;
    +            } else {
    +              // Replace with an unambiguous escape sequence so that
    +              // an octal escape sequence does not turn into a backreference
    +              // to a capturing group from an earlier regex.
    +              parts[i] = encodeEscape(decimalValue);
    +            }
    +          }
    +        }
    +      }
    +  
    +      // Renumber groups and reduce capturing groups to non-capturing groups
    +      // where possible.
    +      for (var i = 1; i < capturedGroups.length; ++i) {
    +        if (-1 === capturedGroups[i]) {
    +          capturedGroups[i] = ++capturedGroupIndex;
    +        }
    +      }
    +      for (var i = 0, groupIndex = 0; i < n; ++i) {
    +        var p = parts[i];
    +        if (p === '(') {
    +          ++groupIndex;
    +          if (!capturedGroups[groupIndex]) {
    +            parts[i] = '(?:';
    +          }
    +        } else if ('\\' === p.charAt(0)) {
    +          var decimalValue = +p.substring(1);
    +          if (decimalValue && decimalValue <= groupIndex) {
    +            parts[i] = '\\' + capturedGroups[decimalValue];
    +          }
    +        }
    +      }
    +  
    +      // Remove any prefix anchors so that the output will match anywhere.
    +      // ^^ really does mean an anchored match though.
    +      for (var i = 0; i < n; ++i) {
    +        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    +      }
    +  
    +      // Expand letters to groups to handle mixing of case-sensitive and
    +      // case-insensitive patterns if necessary.
    +      if (regex.ignoreCase && needToFoldCase) {
    +        for (var i = 0; i < n; ++i) {
    +          var p = parts[i];
    +          var ch0 = p.charAt(0);
    +          if (p.length >= 2 && ch0 === '[') {
    +            parts[i] = caseFoldCharset(p);
    +          } else if (ch0 !== '\\') {
    +            // TODO: handle letters in numeric escapes.
    +            parts[i] = p.replace(
    +                /[a-zA-Z]/g,
    +                function (ch) {
    +                  var cc = ch.charCodeAt(0);
    +                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    +                });
    +          }
    +        }
    +      }
    +  
    +      return parts.join('');
    +    }
    +  
    +    var rewritten = [];
    +    for (var i = 0, n = regexs.length; i < n; ++i) {
    +      var regex = regexs[i];
    +      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    +      rewritten.push(
    +          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    +    }
    +  
    +    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    +  }
    +
    +  /**
    +   * Split markup into a string of source code and an array mapping ranges in
    +   * that string to the text nodes in which they appear.
    +   *
    +   * <p>
    +   * The HTML DOM structure:</p>
    +   * <pre>
    +   * (Element   "p"
    +   *   (Element "b"
    +   *     (Text  "print "))       ; #1
    +   *   (Text    "'Hello '")      ; #2
    +   *   (Element "br")            ; #3
    +   *   (Text    "  + 'World';")) ; #4
    +   * </pre>
    +   * <p>
    +   * corresponds to the HTML
    +   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
    +   *
    +   * <p>
    +   * It will produce the output:</p>
    +   * <pre>
    +   * {
    +   *   sourceCode: "print 'Hello '\n  + 'World';",
    +   *   //                     1          2
    +   *   //           012345678901234 5678901234567
    +   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
    +   * }
    +   * </pre>
    +   * <p>
    +   * where #1 is a reference to the {@code "print "} text node above, and so
    +   * on for the other text nodes.
    +   * </p>
    +   *
    +   * <p>
    +   * The {@code} spans array is an array of pairs.  Even elements are the start
    +   * indices of substrings, and odd elements are the text nodes (or BR elements)
    +   * that contain the text for those substrings.
    +   * Substrings continue until the next index or the end of the source.
    +   * </p>
    +   *
    +   * @param {Node} node an HTML DOM subtree containing source-code.
    +   * @param {boolean} isPreformatted true if white-space in text nodes should
    +   *    be considered significant.
    +   * @return {Object} source code and the text nodes in which they occur.
    +   */
    +  function extractSourceSpans(node, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +  
    +    var chunks = [];
    +    var length = 0;
    +    var spans = [];
    +    var k = 0;
    +  
    +    function walk(node) {
    +      var type = node.nodeType;
    +      if (type == 1) {  // Element
    +        if (nocode.test(node.className)) { return; }
    +        for (var child = node.firstChild; child; child = child.nextSibling) {
    +          walk(child);
    +        }
    +        var nodeName = node.nodeName.toLowerCase();
    +        if ('br' === nodeName || 'li' === nodeName) {
    +          chunks[k] = '\n';
    +          spans[k << 1] = length++;
    +          spans[(k++ << 1) | 1] = node;
    +        }
    +      } else if (type == 3 || type == 4) {  // Text
    +        var text = node.nodeValue;
    +        if (text.length) {
    +          if (!isPreformatted) {
    +            text = text.replace(/[ \t\r\n]+/g, ' ');
    +          } else {
    +            text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
    +          }
    +          // TODO: handle tabs here?
    +          chunks[k] = text;
    +          spans[k << 1] = length;
    +          length += text.length;
    +          spans[(k++ << 1) | 1] = node;
    +        }
    +      }
    +    }
    +  
    +    walk(node);
    +  
    +    return {
    +      sourceCode: chunks.join('').replace(/\n$/, ''),
    +      spans: spans
    +    };
    +  }
    +
    +  /**
    +   * Apply the given language handler to sourceCode and add the resulting
    +   * decorations to out.
    +   * @param {number} basePos the index of sourceCode within the chunk of source
    +   *    whose decorations are already present on out.
    +   */
    +  function appendDecorations(basePos, sourceCode, langHandler, out) {
    +    if (!sourceCode) { return; }
    +    var job = {
    +      sourceCode: sourceCode,
    +      basePos: basePos
    +    };
    +    langHandler(job);
    +    out.push.apply(out, job.decorations);
    +  }
    +
    +  var notWs = /\S/;
    +
    +  /**
    +   * Given an element, if it contains only one child element and any text nodes
    +   * it contains contain only space characters, return the sole child element.
    +   * Otherwise returns undefined.
    +   * <p>
    +   * This is meant to return the CODE element in {@code <pre><code ...>} when
    +   * there is a single child element that contains all the non-space textual
    +   * content, but not to return anything where there are multiple child elements
    +   * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
    +   * is textual content.
    +   */
    +  function childContentWrapper(element) {
    +    var wrapper = undefined;
    +    for (var c = element.firstChild; c; c = c.nextSibling) {
    +      var type = c.nodeType;
    +      wrapper = (type === 1)  // Element Node
    +          ? (wrapper ? element : c)
    +          : (type === 3)  // Text Node
    +          ? (notWs.test(c.nodeValue) ? element : wrapper)
    +          : wrapper;
    +    }
    +    return wrapper === element ? undefined : wrapper;
    +  }
    +
    +  /** Given triples of [style, pattern, context] returns a lexing function,
    +    * The lexing function interprets the patterns to find token boundaries and
    +    * returns a decoration list of the form
    +    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    +    * where index_n is an index into the sourceCode, and style_n is a style
    +    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    +    * all characters in sourceCode[index_n-1:index_n].
    +    *
    +    * The stylePatterns is a list whose elements have the form
    +    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    +    *
    +    * Style is a style constant like PR_PLAIN, or can be a string of the
    +    * form 'lang-FOO', where FOO is a language extension describing the
    +    * language of the portion of the token in $1 after pattern executes.
    +    * E.g., if style is 'lang-lisp', and group 1 contains the text
    +    * '(hello (world))', then that portion of the token will be passed to the
    +    * registered lisp handler for formatting.
    +    * The text before and after group 1 will be restyled using this decorator
    +    * so decorators should take care that this doesn't result in infinite
    +    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    +    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    +    * '<script>foo()<\/script>', which would cause the current decorator to
    +    * be called with '<script>' which would not match the same rule since
    +    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    +    * the generic tag rule.  The handler registered for the 'js' extension would
    +    * then be called with 'foo()', and finally, the current decorator would
    +    * be called with '<\/script>' which would not match the original rule and
    +    * so the generic tag rule would identify it as a tag.
    +    *
    +    * Pattern must only match prefixes, and if it matches a prefix, then that
    +    * match is considered a token with the same style.
    +    *
    +    * Context is applied to the last non-whitespace, non-comment token
    +    * recognized.
    +    *
    +    * Shortcut is an optional string of characters, any of which, if the first
    +    * character, gurantee that this pattern and only this pattern matches.
    +    *
    +    * @param {Array} shortcutStylePatterns patterns that always start with
    +    *   a known character.  Must have a shortcut string.
    +    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    +    *   order if the shortcut ones fail.  May have shortcuts.
    +    *
    +    * @return {function (Object)} a
    +    *   function that takes source code and returns a list of decorations.
    +    */
    +  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    +    var shortcuts = {};
    +    var tokenizer;
    +    (function () {
    +      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    +      var allRegexs = [];
    +      var regexKeys = {};
    +      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    +        var patternParts = allPatterns[i];
    +        var shortcutChars = patternParts[3];
    +        if (shortcutChars) {
    +          for (var c = shortcutChars.length; --c >= 0;) {
    +            shortcuts[shortcutChars.charAt(c)] = patternParts;
    +          }
    +        }
    +        var regex = patternParts[1];
    +        var k = '' + regex;
    +        if (!regexKeys.hasOwnProperty(k)) {
    +          allRegexs.push(regex);
    +          regexKeys[k] = null;
    +        }
    +      }
    +      allRegexs.push(/[\0-\uffff]/);
    +      tokenizer = combinePrefixPatterns(allRegexs);
    +    })();
    +
    +    var nPatterns = fallthroughStylePatterns.length;
    +
    +    /**
    +     * Lexes job.sourceCode and produces an output array job.decorations of
    +     * style classes preceded by the position at which they start in
    +     * job.sourceCode in order.
    +     *
    +     * @param {Object} job an object like <pre>{
    +     *    sourceCode: {string} sourceText plain text,
    +     *    basePos: {int} position of job.sourceCode in the larger chunk of
    +     *        sourceCode.
    +     * }</pre>
    +     */
    +    var decorate = function (job) {
    +      var sourceCode = job.sourceCode, basePos = job.basePos;
    +      /** Even entries are positions in source in ascending order.  Odd enties
    +        * are style markers (e.g., PR_COMMENT) that run from that position until
    +        * the end.
    +        * @type {Array.<number|string>}
    +        */
    +      var decorations = [basePos, PR_PLAIN];
    +      var pos = 0;  // index into sourceCode
    +      var tokens = sourceCode.match(tokenizer) || [];
    +      var styleCache = {};
    +
    +      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    +        var token = tokens[ti];
    +        var style = styleCache[token];
    +        var match = void 0;
    +
    +        var isEmbedded;
    +        if (typeof style === 'string') {
    +          isEmbedded = false;
    +        } else {
    +          var patternParts = shortcuts[token.charAt(0)];
    +          if (patternParts) {
    +            match = token.match(patternParts[1]);
    +            style = patternParts[0];
    +          } else {
    +            for (var i = 0; i < nPatterns; ++i) {
    +              patternParts = fallthroughStylePatterns[i];
    +              match = token.match(patternParts[1]);
    +              if (match) {
    +                style = patternParts[0];
    +                break;
    +              }
    +            }
    +
    +            if (!match) {  // make sure that we make progress
    +              style = PR_PLAIN;
    +            }
    +          }
    +
    +          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    +          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    +            isEmbedded = false;
    +            style = PR_SOURCE;
    +          }
    +
    +          if (!isEmbedded) { styleCache[token] = style; }
    +        }
    +
    +        var tokenStart = pos;
    +        pos += token.length;
    +
    +        if (!isEmbedded) {
    +          decorations.push(basePos + tokenStart, style);
    +        } else {  // Treat group 1 as an embedded block of source code.
    +          var embeddedSource = match[1];
    +          var embeddedSourceStart = token.indexOf(embeddedSource);
    +          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    +          if (match[2]) {
    +            // If embeddedSource can be blank, then it would match at the
    +            // beginning which would cause us to infinitely recurse on the
    +            // entire token, so we catch the right context in match[2].
    +            embeddedSourceEnd = token.length - match[2].length;
    +            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    +          }
    +          var lang = style.substring(5);
    +          // Decorate the left of the embedded source
    +          appendDecorations(
    +              basePos + tokenStart,
    +              token.substring(0, embeddedSourceStart),
    +              decorate, decorations);
    +          // Decorate the embedded source
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceStart,
    +              embeddedSource,
    +              langHandlerForExtension(lang, embeddedSource),
    +              decorations);
    +          // Decorate the right of the embedded section
    +          appendDecorations(
    +              basePos + tokenStart + embeddedSourceEnd,
    +              token.substring(embeddedSourceEnd),
    +              decorate, decorations);
    +        }
    +      }
    +      job.decorations = decorations;
    +    };
    +    return decorate;
    +  }
    +
    +  /** returns a function that produces a list of decorations from source text.
    +    *
    +    * This code treats ", ', and ` as string delimiters, and \ as a string
    +    * escape.  It does not recognize perl's qq() style strings.
    +    * It has no special handling for double delimiter escapes as in basic, or
    +    * the tripled delimiters used in python, but should work on those regardless
    +    * although in those cases a single string literal may be broken up into
    +    * multiple adjacent string literals.
    +    *
    +    * It recognizes C, C++, and shell style comments.
    +    *
    +    * @param {Object} options a set of optional parameters.
    +    * @return {function (Object)} a function that examines the source code
    +    *     in the input job and builds the decoration list.
    +    */
    +  function sourceDecorator(options) {
    +    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    +    if (options['tripleQuotedStrings']) {
    +      // '''multi-line-string''', 'single-line-string', and double-quoted
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    +           null, '\'"']);
    +    } else if (options['multiLineStrings']) {
    +      // 'multi-line-string', "multi-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    +           null, '\'"`']);
    +    } else {
    +      // 'single-line-string', "single-line-string"
    +      shortcutStylePatterns.push(
    +          [PR_STRING,
    +           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    +           null, '"\'']);
    +    }
    +    if (options['verbatimStrings']) {
    +      // verbatim-string-literal production from the C# grammar.  See issue 93.
    +      fallthroughStylePatterns.push(
    +          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    +    }
    +    var hc = options['hashComments'];
    +    if (hc) {
    +      if (options['cStyleComments']) {
    +        if (hc > 1) {  // multiline hash comments
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
    +        } else {
    +          // Stop C preprocessor declarations at an unclosed open comment
    +          shortcutStylePatterns.push(
    +              [PR_COMMENT, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,
    +               null, '#']);
    +        }
    +        // #include <stdio.h>
    +        fallthroughStylePatterns.push(
    +            [PR_STRING,
    +             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,
    +             null]);
    +      } else {
    +        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    +      }
    +    }
    +    if (options['cStyleComments']) {
    +      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    +      fallthroughStylePatterns.push(
    +          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    +    }
    +    var regexLiterals = options['regexLiterals'];
    +    if (regexLiterals) {
    +      /**
    +       * @const
    +       */
    +      var regexExcls = regexLiterals > 1
    +        ? ''  // Multiline regex literals
    +        : '\n\r';
    +      /**
    +       * @const
    +       */
    +      var regexAny = regexExcls ? '.' : '[\\S\\s]';
    +      /**
    +       * @const
    +       */
    +      var REGEX_LITERAL = (
    +          // A regular expression literal starts with a slash that is
    +          // not followed by * or / so that it is not confused with
    +          // comments.
    +          '/(?=[^/*' + regexExcls + '])'
    +          // and then contains any number of raw characters,
    +          + '(?:[^/\\x5B\\x5C' + regexExcls + ']'
    +          // escape sequences (\x5C),
    +          +    '|\\x5C' + regexAny
    +          // or non-nesting character sets (\x5B\x5D);
    +          +    '|\\x5B(?:[^\\x5C\\x5D' + regexExcls + ']'
    +          +             '|\\x5C' + regexAny + ')*(?:\\x5D|$))+'
    +          // finally closed by a /.
    +          + '/');
    +      fallthroughStylePatterns.push(
    +          ['lang-regex',
    +           RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    +           ]);
    +    }
    +
    +    var types = options['types'];
    +    if (types) {
    +      fallthroughStylePatterns.push([PR_TYPE, types]);
    +    }
    +
    +    var keywords = ("" + options['keywords']).replace(/^ | $/g, '');
    +    if (keywords.length) {
    +      fallthroughStylePatterns.push(
    +          [PR_KEYWORD,
    +           new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'),
    +           null]);
    +    }
    +
    +    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    +
    +    var punctuation =
    +      // The Bash man page says
    +
    +      // A word is a sequence of characters considered as a single
    +      // unit by GRUB. Words are separated by metacharacters,
    +      // which are the following plus space, tab, and newline: { }
    +      // | & $ ; < >
    +      // ...
    +      
    +      // A word beginning with # causes that word and all remaining
    +      // characters on that line to be ignored.
    +
    +      // which means that only a '#' after /(?:^|[{}|&$;<>\s])/ starts a
    +      // comment but empirically
    +      // $ echo {#}
    +      // {#}
    +      // $ echo \$#
    +      // $#
    +      // $ echo }#
    +      // }#
    +
    +      // so /(?:^|[|&;<>\s])/ is more appropriate.
    +
    +      // http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC3
    +      // suggests that this definition is compatible with a
    +      // default mode that tries to use a single token definition
    +      // to recognize both bash/python style comments and C
    +      // preprocessor directives.
    +
    +      // This definition of punctuation does not include # in the list of
    +      // follow-on exclusions, so # will not be broken before if preceeded
    +      // by a punctuation character.  We could try to exclude # after
    +      // [|&;<>] but that doesn't seem to cause many major problems.
    +      // If that does turn out to be a problem, we should change the below
    +      // when hc is truthy to include # in the run of punctuation characters
    +      // only when not followint [|&;<>].
    +      '^.[^\\s\\w.$@\'"`/\\\\]*';
    +    if (options['regexLiterals']) {
    +      punctuation += '(?!\s*\/)';
    +    }
    +
    +    fallthroughStylePatterns.push(
    +        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    +        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_TYPE,        /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
    +        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    +        [PR_LITERAL,
    +         new RegExp(
    +             '^(?:'
    +             // A hex number
    +             + '0x[a-f0-9]+'
    +             // or an octal or decimal number,
    +             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    +             // possibly in scientific notation
    +             + '(?:e[+\\-]?\\d+)?'
    +             + ')'
    +             // with an optional modifier like UL for unsigned long
    +             + '[a-z]*', 'i'),
    +         null, '0123456789'],
    +        // Don't treat escaped quotes in bash as starting strings.
    +        // See issue 144.
    +        [PR_PLAIN,       /^\\[\s\S]?/, null],
    +        [PR_PUNCTUATION, new RegExp(punctuation), null]);
    +
    +    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    +  }
    +
    +  var decorateSource = sourceDecorator({
    +        'keywords': ALL_KEYWORDS,
    +        'hashComments': true,
    +        'cStyleComments': true,
    +        'multiLineStrings': true,
    +        'regexLiterals': true
    +      });
    +
    +  /**
    +   * Given a DOM subtree, wraps it in a list, and puts each line into its own
    +   * list item.
    +   *
    +   * @param {Node} node modified in place.  Its content is pulled into an
    +   *     HTMLOListElement, and each line is moved into a separate list item.
    +   *     This requires cloning elements, so the input might not have unique
    +   *     IDs after numbering.
    +   * @param {boolean} isPreformatted true iff white-space in text nodes should
    +   *     be treated as significant.
    +   */
    +  function numberLines(node, opt_startLineNum, isPreformatted) {
    +    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    +    var lineBreak = /\r\n?|\n/;
    +  
    +    var document = node.ownerDocument;
    +  
    +    var li = document.createElement('li');
    +    while (node.firstChild) {
    +      li.appendChild(node.firstChild);
    +    }
    +    // An array of lines.  We split below, so this is initialized to one
    +    // un-split line.
    +    var listItems = [li];
    +  
    +    function walk(node) {
    +      var type = node.nodeType;
    +      if (type == 1 && !nocode.test(node.className)) {  // Element
    +        if ('br' === node.nodeName) {
    +          breakAfter(node);
    +          // Discard the <BR> since it is now flush against a </LI>.
    +          if (node.parentNode) {
    +            node.parentNode.removeChild(node);
    +          }
    +        } else {
    +          for (var child = node.firstChild; child; child = child.nextSibling) {
    +            walk(child);
    +          }
    +        }
    +      } else if ((type == 3 || type == 4) && isPreformatted) {  // Text
    +        var text = node.nodeValue;
    +        var match = text.match(lineBreak);
    +        if (match) {
    +          var firstLine = text.substring(0, match.index);
    +          node.nodeValue = firstLine;
    +          var tail = text.substring(match.index + match[0].length);
    +          if (tail) {
    +            var parent = node.parentNode;
    +            parent.insertBefore(
    +              document.createTextNode(tail), node.nextSibling);
    +          }
    +          breakAfter(node);
    +          if (!firstLine) {
    +            // Don't leave blank text nodes in the DOM.
    +            node.parentNode.removeChild(node);
    +          }
    +        }
    +      }
    +    }
    +  
    +    // Split a line after the given node.
    +    function breakAfter(lineEndNode) {
    +      // If there's nothing to the right, then we can skip ending the line
    +      // here, and move root-wards since splitting just before an end-tag
    +      // would require us to create a bunch of empty copies.
    +      while (!lineEndNode.nextSibling) {
    +        lineEndNode = lineEndNode.parentNode;
    +        if (!lineEndNode) { return; }
    +      }
    +  
    +      function breakLeftOf(limit, copy) {
    +        // Clone shallowly if this node needs to be on both sides of the break.
    +        var rightSide = copy ? limit.cloneNode(false) : limit;
    +        var parent = limit.parentNode;
    +        if (parent) {
    +          // We clone the parent chain.
    +          // This helps us resurrect important styling elements that cross lines.
    +          // E.g. in <i>Foo<br>Bar</i>
    +          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
    +          var parentClone = breakLeftOf(parent, 1);
    +          // Move the clone and everything to the right of the original
    +          // onto the cloned parent.
    +          var next = limit.nextSibling;
    +          parentClone.appendChild(rightSide);
    +          for (var sibling = next; sibling; sibling = next) {
    +            next = sibling.nextSibling;
    +            parentClone.appendChild(sibling);
    +          }
    +        }
    +        return rightSide;
    +      }
    +  
    +      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
    +  
    +      // Walk the parent chain until we reach an unattached LI.
    +      for (var parent;
    +           // Check nodeType since IE invents document fragments.
    +           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
    +        copiedListItem = parent;
    +      }
    +      // Put it on the list of lines for later processing.
    +      listItems.push(copiedListItem);
    +    }
    +  
    +    // Split lines while there are lines left to split.
    +    for (var i = 0;  // Number of lines that have been split so far.
    +         i < listItems.length;  // length updated by breakAfter calls.
    +         ++i) {
    +      walk(listItems[i]);
    +    }
    +  
    +    // Make sure numeric indices show correctly.
    +    if (opt_startLineNum === (opt_startLineNum|0)) {
    +      listItems[0].setAttribute('value', opt_startLineNum);
    +    }
    +  
    +    var ol = document.createElement('ol');
    +    ol.className = 'linenums';
    +    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
    +    for (var i = 0, n = listItems.length; i < n; ++i) {
    +      li = listItems[i];
    +      // Stick a class on the LIs so that stylesheets can
    +      // color odd/even rows, or any other row pattern that
    +      // is co-prime with 10.
    +      li.className = 'L' + ((i + offset) % 10);
    +      if (!li.firstChild) {
    +        li.appendChild(document.createTextNode('\xA0'));
    +      }
    +      ol.appendChild(li);
    +    }
    +  
    +    node.appendChild(ol);
    +  }
    +  /**
    +   * Breaks {@code job.sourceCode} around style boundaries in
    +   * {@code job.decorations} and modifies {@code job.sourceNode} in place.
    +   * @param {Object} job like <pre>{
    +   *    sourceCode: {string} source as plain text,
    +   *    sourceNode: {HTMLElement} the element containing the source,
    +   *    spans: {Array.<number|Node>} alternating span start indices into source
    +   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
    +   *       span.
    +   *    decorations: {Array.<number|string} an array of style classes preceded
    +   *       by the position at which they start in job.sourceCode in order
    +   * }</pre>
    +   * @private
    +   */
    +  function recombineTagsAndDecorations(job) {
    +    var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent);
    +    isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8;
    +    var newlineRe = /\n/g;
    +  
    +    var source = job.sourceCode;
    +    var sourceLength = source.length;
    +    // Index into source after the last code-unit recombined.
    +    var sourceIndex = 0;
    +  
    +    var spans = job.spans;
    +    var nSpans = spans.length;
    +    // Index into spans after the last span which ends at or before sourceIndex.
    +    var spanIndex = 0;
    +  
    +    var decorations = job.decorations;
    +    var nDecorations = decorations.length;
    +    // Index into decorations after the last decoration which ends at or before
    +    // sourceIndex.
    +    var decorationIndex = 0;
    +  
    +    // Remove all zero-length decorations.
    +    decorations[nDecorations] = sourceLength;
    +    var decPos, i;
    +    for (i = decPos = 0; i < nDecorations;) {
    +      if (decorations[i] !== decorations[i + 2]) {
    +        decorations[decPos++] = decorations[i++];
    +        decorations[decPos++] = decorations[i++];
    +      } else {
    +        i += 2;
    +      }
    +    }
    +    nDecorations = decPos;
    +  
    +    // Simplify decorations.
    +    for (i = decPos = 0; i < nDecorations;) {
    +      var startPos = decorations[i];
    +      // Conflate all adjacent decorations that use the same style.
    +      var startDec = decorations[i + 1];
    +      var end = i + 2;
    +      while (end + 2 <= nDecorations && decorations[end + 1] === startDec) {
    +        end += 2;
    +      }
    +      decorations[decPos++] = startPos;
    +      decorations[decPos++] = startDec;
    +      i = end;
    +    }
    +  
    +    nDecorations = decorations.length = decPos;
    +  
    +    var sourceNode = job.sourceNode;
    +    var oldDisplay;
    +    if (sourceNode) {
    +      oldDisplay = sourceNode.style.display;
    +      sourceNode.style.display = 'none';
    +    }
    +    try {
    +      var decoration = null;
    +      while (spanIndex < nSpans) {
    +        var spanStart = spans[spanIndex];
    +        var spanEnd = spans[spanIndex + 2] || sourceLength;
    +  
    +        var decEnd = decorations[decorationIndex + 2] || sourceLength;
    +  
    +        var end = Math.min(spanEnd, decEnd);
    +  
    +        var textNode = spans[spanIndex + 1];
    +        var styledText;
    +        if (textNode.nodeType !== 1  // Don't muck with <BR>s or <LI>s
    +            // Don't introduce spans around empty text nodes.
    +            && (styledText = source.substring(sourceIndex, end))) {
    +          // This may seem bizarre, and it is.  Emitting LF on IE causes the
    +          // code to display with spaces instead of line breaks.
    +          // Emitting Windows standard issue linebreaks (CRLF) causes a blank
    +          // space to appear at the beginning of every line but the first.
    +          // Emitting an old Mac OS 9 line separator makes everything spiffy.
    +          if (isIE8OrEarlier) {
    +            styledText = styledText.replace(newlineRe, '\r');
    +          }
    +          textNode.nodeValue = styledText;
    +          var document = textNode.ownerDocument;
    +          var span = document.createElement('span');
    +          span.className = decorations[decorationIndex + 1];
    +          var parentNode = textNode.parentNode;
    +          parentNode.replaceChild(span, textNode);
    +          span.appendChild(textNode);
    +          if (sourceIndex < spanEnd) {  // Split off a text node.
    +            spans[spanIndex + 1] = textNode
    +                // TODO: Possibly optimize by using '' if there's no flicker.
    +                = document.createTextNode(source.substring(end, spanEnd));
    +            parentNode.insertBefore(textNode, span.nextSibling);
    +          }
    +        }
    +  
    +        sourceIndex = end;
    +  
    +        if (sourceIndex >= spanEnd) {
    +          spanIndex += 2;
    +        }
    +        if (sourceIndex >= decEnd) {
    +          decorationIndex += 2;
    +        }
    +      }
    +    } finally {
    +      if (sourceNode) {
    +        sourceNode.style.display = oldDisplay;
    +      }
    +    }
    +  }
    +
    +  /** Maps language-specific file extensions to handlers. */
    +  var langHandlerRegistry = {};
    +  /** Register a language handler for the given file extensions.
    +    * @param {function (Object)} handler a function from source code to a list
    +    *      of decorations.  Takes a single argument job which describes the
    +    *      state of the computation.   The single parameter has the form
    +    *      {@code {
    +    *        sourceCode: {string} as plain text.
    +    *        decorations: {Array.<number|string>} an array of style classes
    +    *                     preceded by the position at which they start in
    +    *                     job.sourceCode in order.
    +    *                     The language handler should assigned this field.
    +    *        basePos: {int} the position of source in the larger source chunk.
    +    *                 All positions in the output decorations array are relative
    +    *                 to the larger source chunk.
    +    *      } }
    +    * @param {Array.<string>} fileExtensions
    +    */
    +  function registerLangHandler(handler, fileExtensions) {
    +    for (var i = fileExtensions.length; --i >= 0;) {
    +      var ext = fileExtensions[i];
    +      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    +        langHandlerRegistry[ext] = handler;
    +      } else if (win['console']) {
    +        console['warn']('cannot override language handler %s', ext);
    +      }
    +    }
    +  }
    +  function langHandlerForExtension(extension, source) {
    +    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    +      // Treat it as markup if the first non whitespace character is a < and
    +      // the last non-whitespace character is a >.
    +      extension = /^\s*</.test(source)
    +          ? 'default-markup'
    +          : 'default-code';
    +    }
    +    return langHandlerRegistry[extension];
    +  }
    +  registerLangHandler(decorateSource, ['default-code']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [],
    +          [
    +           [PR_PLAIN,       /^[^<?]+/],
    +           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    +           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    +           // Unescaped content in an unknown language
    +           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    +           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    +           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    +           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    +           // Unescaped content in javascript.  (Or possibly vbscript).
    +           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    +           // Contains unescaped stylesheet content
    +           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    +           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    +          ]),
    +      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    +  registerLangHandler(
    +      createSimpleLexer(
    +          [
    +           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    +           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    +           ],
    +          [
    +           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    +           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    +           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    +           [PR_PUNCTUATION,  /^[=<>\/]+/],
    +           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    +           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    +           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    +           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    +           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    +           ]),
    +      ['in.tag']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CPP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'types': C_TYPES
    +        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': 'null,true,false'
    +        }), ['json']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': CSHARP_KEYWORDS,
    +          'hashComments': true,
    +          'cStyleComments': true,
    +          'verbatimStrings': true,
    +          'types': C_TYPES
    +        }), ['cs']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JAVA_KEYWORDS,
    +          'cStyleComments': true
    +        }), ['java']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': SH_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true
    +        }), ['bash', 'bsh', 'csh', 'sh']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PYTHON_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'tripleQuotedStrings': true
    +        }), ['cv', 'py', 'python']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': PERL_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': 2  // multiline regex literals
    +        }), ['perl', 'pl', 'pm']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUBY_KEYWORDS,
    +          'hashComments': true,
    +          'multiLineStrings': true,
    +          'regexLiterals': true
    +        }), ['rb', 'ruby']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': JSCRIPT_KEYWORDS,
    +          'cStyleComments': true,
    +          'regexLiterals': true
    +        }), ['javascript', 'js']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': COFFEE_KEYWORDS,
    +          'hashComments': 3,  // ### style block comments
    +          'cStyleComments': true,
    +          'multilineStrings': true,
    +          'tripleQuotedStrings': true,
    +          'regexLiterals': true
    +        }), ['coffee']);
    +  registerLangHandler(sourceDecorator({
    +          'keywords': RUST_KEYWORDS,
    +          'cStyleComments': true,
    +          'multilineStrings': true
    +        }), ['rc', 'rs', 'rust']);
    +  registerLangHandler(
    +      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    +
    +  function applyDecorator(job) {
    +    var opt_langExtension = job.langExtension;
    +
    +    try {
    +      // Extract tags, and convert the source code to plain text.
    +      var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre);
    +      /** Plain text. @type {string} */
    +      var source = sourceAndSpans.sourceCode;
    +      job.sourceCode = source;
    +      job.spans = sourceAndSpans.spans;
    +      job.basePos = 0;
    +
    +      // Apply the appropriate language handler
    +      langHandlerForExtension(opt_langExtension, source)(job);
    +
    +      // Integrate the decorations and tags back into the source code,
    +      // modifying the sourceNode in place.
    +      recombineTagsAndDecorations(job);
    +    } catch (e) {
    +      if (win['console']) {
    +        console['log'](e && e['stack'] || e);
    +      }
    +    }
    +  }
    +
    +  /**
    +   * Pretty print a chunk of code.
    +   * @param sourceCodeHtml {string} The HTML to pretty print.
    +   * @param opt_langExtension {string} The language name to use.
    +   *     Typically, a filename extension like 'cpp' or 'java'.
    +   * @param opt_numberLines {number|boolean} True to number lines,
    +   *     or the 1-indexed number of the first line in sourceCodeHtml.
    +   */
    +  function $prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
    +    var container = document.createElement('div');
    +    // This could cause images to load and onload listeners to fire.
    +    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
    +    // We assume that the inner HTML is from a trusted source.
    +    // The pre-tag is required for IE8 which strips newlines from innerHTML
    +    // when it is injected into a <pre> tag.
    +    // http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie
    +    // http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript
    +    container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>';
    +    container = container.firstChild;
    +    if (opt_numberLines) {
    +      numberLines(container, opt_numberLines, true);
    +    }
    +
    +    var job = {
    +      langExtension: opt_langExtension,
    +      numberLines: opt_numberLines,
    +      sourceNode: container,
    +      pre: 1
    +    };
    +    applyDecorator(job);
    +    return container.innerHTML;
    +  }
    +
    +   /**
    +    * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    +    * {@code class=prettyprint} and prettify them.
    +    *
    +    * @param {Function} opt_whenDone called when prettifying is done.
    +    * @param {HTMLElement|HTMLDocument} opt_root an element or document
    +    *   containing all the elements to pretty print.
    +    *   Defaults to {@code document.body}.
    +    */
    +  function $prettyPrint(opt_whenDone, opt_root) {
    +    var root = opt_root || document.body;
    +    var doc = root.ownerDocument || document;
    +    function byTagName(tn) { return root.getElementsByTagName(tn); }
    +    // fetch a list of nodes to rewrite
    +    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    +    var elements = [];
    +    for (var i = 0; i < codeSegments.length; ++i) {
    +      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    +        elements.push(codeSegments[i][j]);
    +      }
    +    }
    +    codeSegments = null;
    +
    +    var clock = Date;
    +    if (!clock['now']) {
    +      clock = { 'now': function () { return +(new Date); } };
    +    }
    +
    +    // The loop is broken into a series of continuations to make sure that we
    +    // don't make the browser unresponsive when rewriting a large page.
    +    var k = 0;
    +    var prettyPrintingJob;
    +
    +    var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/;
    +    var prettyPrintRe = /\bprettyprint\b/;
    +    var prettyPrintedRe = /\bprettyprinted\b/;
    +    var preformattedTagNameRe = /pre|xmp/i;
    +    var codeRe = /^code$/i;
    +    var preCodeXmpRe = /^(?:pre|code|xmp)$/i;
    +    var EMPTY = {};
    +
    +    function doWork() {
    +      var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ?
    +                     clock['now']() + 250 /* ms */ :
    +                     Infinity);
    +      for (; k < elements.length && clock['now']() < endTime; k++) {
    +        var cs = elements[k];
    +
    +        // Look for a preceding comment like
    +        // <?prettify lang="..." linenums="..."?>
    +        var attrs = EMPTY;
    +        {
    +          for (var preceder = cs; (preceder = preceder.previousSibling);) {
    +            var nt = preceder.nodeType;
    +            // <?foo?> is parsed by HTML 5 to a comment node (8)
    +            // like <!--?foo?-->, but in XML is a processing instruction
    +            var value = (nt === 7 || nt === 8) && preceder.nodeValue;
    +            if (value
    +                ? !/^\??prettify\b/.test(value)
    +                : (nt !== 3 || /\S/.test(preceder.nodeValue))) {
    +              // Skip over white-space text nodes but not others.
    +              break;
    +            }
    +            if (value) {
    +              attrs = {};
    +              value.replace(
    +                  /\b(\w+)=([\w:.%+-]+)/g,
    +                function (_, name, value) { attrs[name] = value; });
    +              break;
    +            }
    +          }
    +        }
    +
    +        var className = cs.className;
    +        if ((attrs !== EMPTY || prettyPrintRe.test(className))
    +            // Don't redo this if we've already done it.
    +            // This allows recalling pretty print to just prettyprint elements
    +            // that have been added to the page since last call.
    +            && !prettyPrintedRe.test(className)) {
    +
    +          // make sure this is not nested in an already prettified element
    +          var nested = false;
    +          for (var p = cs.parentNode; p; p = p.parentNode) {
    +            var tn = p.tagName;
    +            if (preCodeXmpRe.test(tn)
    +                && p.className && prettyPrintRe.test(p.className)) {
    +              nested = true;
    +              break;
    +            }
    +          }
    +          if (!nested) {
    +            // Mark done.  If we fail to prettyprint for whatever reason,
    +            // we shouldn't try again.
    +            cs.className += ' prettyprinted';
    +
    +            // If the classes includes a language extensions, use it.
    +            // Language extensions can be specified like
    +            //     <pre class="prettyprint lang-cpp">
    +            // the language extension "cpp" is used to find a language handler
    +            // as passed to PR.registerLangHandler.
    +            // HTML5 recommends that a language be specified using "language-"
    +            // as the prefix instead.  Google Code Prettify supports both.
    +            // http://dev.w3.org/html5/spec-author-view/the-code-element.html
    +            var langExtension = attrs['lang'];
    +            if (!langExtension) {
    +              langExtension = className.match(langExtensionRe);
    +              // Support <pre class="prettyprint"><code class="language-c">
    +              var wrapper;
    +              if (!langExtension && (wrapper = childContentWrapper(cs))
    +                  && codeRe.test(wrapper.tagName)) {
    +                langExtension = wrapper.className.match(langExtensionRe);
    +              }
    +
    +              if (langExtension) { langExtension = langExtension[1]; }
    +            }
    +
    +            var preformatted;
    +            if (preformattedTagNameRe.test(cs.tagName)) {
    +              preformatted = 1;
    +            } else {
    +              var currentStyle = cs['currentStyle'];
    +              var defaultView = doc.defaultView;
    +              var whitespace = (
    +                  currentStyle
    +                  ? currentStyle['whiteSpace']
    +                  : (defaultView
    +                     && defaultView.getComputedStyle)
    +                  ? defaultView.getComputedStyle(cs, null)
    +                  .getPropertyValue('white-space')
    +                  : 0);
    +              preformatted = whitespace
    +                  && 'pre' === whitespace.substring(0, 3);
    +            }
    +
    +            // Look for a class like linenums or linenums:<n> where <n> is the
    +            // 1-indexed number of the first line.
    +            var lineNums = attrs['linenums'];
    +            if (!(lineNums = lineNums === 'true' || +lineNums)) {
    +              lineNums = className.match(/\blinenums\b(?::(\d+))?/);
    +              lineNums =
    +                lineNums
    +                ? lineNums[1] && lineNums[1].length
    +                  ? +lineNums[1] : true
    +                : false;
    +            }
    +            if (lineNums) { numberLines(cs, lineNums, preformatted); }
    +
    +            // do the pretty printing
    +            prettyPrintingJob = {
    +              langExtension: langExtension,
    +              sourceNode: cs,
    +              numberLines: lineNums,
    +              pre: preformatted
    +            };
    +            applyDecorator(prettyPrintingJob);
    +          }
    +        }
    +      }
    +      if (k < elements.length) {
    +        // finish up in a continuation
    +        setTimeout(doWork, 250);
    +      } else if ('function' === typeof opt_whenDone) {
    +        opt_whenDone();
    +      }
    +    }
    +
    +    doWork();
    +  }
    +
    +  /**
    +   * Contains functions for creating and registering new language handlers.
    +   * @type {Object}
    +   */
    +  var PR = win['PR'] = {
    +        'createSimpleLexer': createSimpleLexer,
    +        'registerLangHandler': registerLangHandler,
    +        'sourceDecorator': sourceDecorator,
    +        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    +        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    +        'PR_COMMENT': PR_COMMENT,
    +        'PR_DECLARATION': PR_DECLARATION,
    +        'PR_KEYWORD': PR_KEYWORD,
    +        'PR_LITERAL': PR_LITERAL,
    +        'PR_NOCODE': PR_NOCODE,
    +        'PR_PLAIN': PR_PLAIN,
    +        'PR_PUNCTUATION': PR_PUNCTUATION,
    +        'PR_SOURCE': PR_SOURCE,
    +        'PR_STRING': PR_STRING,
    +        'PR_TAG': PR_TAG,
    +        'PR_TYPE': PR_TYPE,
    +        'prettyPrintOne':
    +           IN_GLOBAL_SCOPE
    +             ? (win['prettyPrintOne'] = $prettyPrintOne)
    +             : (prettyPrintOne = $prettyPrintOne),
    +        'prettyPrint': prettyPrint =
    +           IN_GLOBAL_SCOPE
    +             ? (win['prettyPrint'] = $prettyPrint)
    +             : (prettyPrint = $prettyPrint)
    +      };
    +
    +  // Make PR available via the Asynchronous Module Definition (AMD) API.
    +  // Per https://github.com/amdjs/amdjs-api/wiki/AMD:
    +  // The Asynchronous Module Definition (AMD) API specifies a
    +  // mechanism for defining modules such that the module and its
    +  // dependencies can be asynchronously loaded.
    +  // ...
    +  // To allow a clear indicator that a global define function (as
    +  // needed for script src browser loading) conforms to the AMD API,
    +  // any global define function SHOULD have a property called "amd"
    +  // whose value is an object. This helps avoid conflict with any
    +  // other existing JavaScript code that could have defined a define()
    +  // function that does not conform to the AMD API.
    +  if (typeof define === "function" && define['amd']) {
    +    define("google-code-prettify", [], function () {
    +      return PR; 
    +    });
    +  }
    +})();
    diff --git a/site/dist/elements/codelab.html b/site/dist/elements/codelab.html
    new file mode 100644
    index 000000000..31833b405
    --- /dev/null
    +++ b/site/dist/elements/codelab.html
    @@ -0,0 +1,625 @@
    +<html><head><meta charset="UTF-8"></head><body><div hidden="" by-vulcanize="">
    +<dom-module id="iron-localstorage" assetpath="../bower_components/iron-localstorage/"></dom-module>
    +<dom-module id="paper-ripple" assetpath="../bower_components/paper-ripple/">
    +<template>
    +<style>
    +:host{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}:host([animating]){-webkit-transform:translate(0);transform:translateZ(0)}#background,#waves,.wave,.wave-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}#background,.wave{opacity:0}#waves,.wave{overflow:hidden}.wave,.wave-container,:host(.circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflow:hidden} </style>
    +<div id="background"></div>
    +<div id="waves"></div>
    +</template>
    +</dom-module>
    +<style is="custom-style">
    +:root{--dark-disabled-opacity:0.38;--dark-divider-opacity:0.12;--dark-primary-opacity:0.87;--dark-secondary-opacity:0.54;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--light-disabled-opacity:0.3;--light-divider-opacity:0.12;--light-primary-opacity:1.0;--light-secondary-opacity:0.7;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-50:#fff8e1;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-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-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-50:#e3f2fd;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--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-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-50:#eceff1;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-50:#efebe9;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-50:#e0f7fa;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-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-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-50:#e8f5e9;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-grey-100:#f5f5f5;--paper-grey-200:#eee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-50:#fafafa;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-50:#e8eaf6;--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-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-50:#e1f5fe;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-50:#f1f8e9;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-50:#f9fbe7;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-50:#fff3e0;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-50:#fce4ec;--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:#f50057;--paper-pink-a700:#c51162;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-50:#f3e5f5;--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:#a0f;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-50:#ffebee;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-50:#e0f2f1;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-50:#fffde7;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ff0;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600}</style><style is="custom-style">
    +:root{--accent-color:var(--paper-pink-a200);--dark-accent-color:var(--paper-pink-a400);--dark-primary-color:var(--paper-indigo-700);--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#fff;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--dark-theme-secondary-color:#bcbcbc;--dark-theme-text-color:#fff;--default-primary-color:var(--primary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--light-accent-color:var(--paper-pink-a100);--light-primary-color:var(--paper-indigo-100);--light-theme-background-color:#fff;--light-theme-base-color:#000;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--light-theme-secondary-color:#737373;--light-theme-text-color:var(--paper-grey-900);--primary-background-color:var(--light-theme-background-color);--primary-color:var(--paper-indigo-500);--primary-text-color:var(--light-theme-text-color);--secondary-text-color:var(--light-theme-secondary-color);--text-primary-color:var(--dark-theme-text-color)}</style>
    +<style>
    +[hidden]{display:none!important}</style><style is="custom-style">
    +:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:flex};--layout-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row};--layout-horizontal-reverse:{@apply(--layout);-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column};--layout-vertical-reverse:{@apply(--layout);-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse};--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-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:none;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0.000000001px;-ms-flex-preferred-size:0.000000001px;-webkit-flex:1;-webkit-flex-basis:0.000000001px;flex:1;flex-basis:0.000000001px};--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};--layout-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-start};--layout-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-end};--layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline};--layout-start-justified:{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start};--layout-center-justified:{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center};--layout-end-justified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between};--layout-center-center:{@apply(--layout-center);@apply(--layout-center-justified)};--layout-self-start:{-ms-align-self:flex-start;-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start};--layout-self-center:{-ms-align-self:center;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center};--layout-self-end:{-ms-align-self:flex-end;-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end};--layout-self-stretch:{-ms-align-self:stretch;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch};--layout-self-baseline:{-ms-align-self:baseline;-ms-flex-item-align:baseline;-webkit-align-self:baseline;align-self:baseline};--layout-start-aligned:{-ms-align-content:flex-start;-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start};--layout-end-aligned:{-ms-align-content:flex-end;-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end};--layout-center-aligned:{-ms-align-content:center;-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center};--layout-between-aligned:{-ms-align-content:space-between;-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between};--layout-around-aligned:{-ms-align-content:space-around;-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around};--layout-block:{display:block};--layout-invisible:{visibility:hidden!important};--layout-relative:{position:relative};--layout-fit:{bottom:0;left:0;position:absolute;right:0;top:0};--layout-scroll:{-webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed:{height:100vh;margin:0};--layout-fixed-top:{left:0;position:fixed;right:0;top:0};--layout-fixed-right:{bottom:0;position:fixed;right:0;top:0};--layout-fixed-bottom:{bottom:0;left:0;position:fixed;right:0};--layout-fixed-left:{bottom:0;left:0;position:fixed;top:0};}</style><dom-module id="paper-radio-button" assetpath="../bower_components/paper-radio-button/">
    +<template strip-whitespace="">
    +<style>
    +:host{--calculated-paper-radio-button-ink-size:var(--paper-radio-button-ink-size,-1px);--calculated-paper-radio-button-size:var(--paper-radio-button-size,16px);cursor:pointer;display:inline-block;line-height:0;white-space:nowrap;@apply(--paper-font-common-base)}:host(:focus){outline:none}#radioContainer{@apply(--layout-inline);@apply(--layout-center-center);height:var(--calculated-paper-radio-button-size);position:relative;vertical-align:middle;width:var(--calculated-paper-radio-button-size)}#ink{-webkit-transform:translate(-50%,-50%);color:var(--paper-radio-button-unchecked-ink-color,--primary-text-color);height:var(--calculated-paper-radio-button-ink-size);left:50%;opacity:.6;pointer-events:none;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%);width:var(--calculated-paper-radio-button-ink-size)}#ink[checked]{color:var(--paper-radio-button-checked-ink-color,--primary-color)}#offRadio,#onRadio{border-radius:50%;box-sizing:border-box;height:100%;left:0;position:absolute;top:0;width:100%}#offRadio{background-color:var(--paper-radio-button-unchecked-background-color,transparent);border:2px solid var(--paper-radio-button-unchecked-color,--primary-text-color);transition:border-color .28s}#onRadio{-webkit-transform:scale(0);background-color:var(--paper-radio-button-checked-color,--primary-color);transform:scale(0);transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;will-change:transform}:host([checked]) #offRadio{border-color:var(--paper-radio-button-checked-color,--primary-color)}:host([checked]) #onRadio{-webkit-transform:scale(.5);transform:scale(.5)}#radioLabel{color:var(--paper-radio-button-label-color,--primary-text-color);display:inline-block;line-height:normal;margin-left:var(--paper-radio-button-label-spacing,10px);position:relative;vertical-align:middle;white-space:normal}:host-context([dir=rtl]) #radioLabel{margin-left:0;margin-right:var(--paper-radio-button-label-spacing,10px)}#radioLabel[hidden]{display:none}:host([disabled]) #offRadio{border-color:var(--paper-radio-button-unchecked-color,--primary-text-color);opacity:.5}:host([disabled][checked]) #onRadio{background-color:var(--paper-radio-button-unchecked-color,--primary-text-color);opacity:.5}:host([disabled]) #radioLabel{opacity:.65} </style>
    +<div id="radioContainer">
    +<div id="offRadio"></div>
    +<div id="onRadio"></div>
    +</div>
    +<div id="radioLabel"><content></content></div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-radio-group" assetpath="../bower_components/paper-radio-group/">
    +<template>
    +<style>
    +:host{display:inline-block}:host ::content>*{padding:var(--paper-radio-group-item-padding,12px)} </style>
    +<content id="items" select="*"></content>
    +</template>
    +</dom-module>
    +<dom-module id="shared-style" assetpath="../bower_components/google-codelab-elements/">
    +<template>
    +<style>
    +:root{--paper-radio-button-checked-color:#185abc;--paper-radio-button-checked-ink-color:#185abc;--paper-radio-button-unchecked-color:#185abc} </style>
    +</template>
    +</dom-module>
    +<dom-module id="google-codelab-survey" assetpath="../bower_components/google-codelab-elements/">
    +<template strip-whitespace="">
    +<style include="shared-style">
    +:host{background:var(--google-codelab-survey-background,#e8f0fe);border-left:var(--google-codelab-survey-border,4px solid #185abc);border-radius:4px;color:#3c4043;display:block;margin:2em 0;padding:0}.survey>::content h4{font-size:16px;font-weight:500;margin:0;padding:.8em .6em 0 20px}.survey>::content paper-radio-group{padding:.4em 0 1.1em 30px}.survey>::content paper-radio-button{display:block;padding:4px 0} </style>
    +<iron-localstorage name="{{_storageKey(surveyId)}}" value="{{answers}}" on-iron-localstorage-load-empty="_initAnswers" on-iron-localstorage-load="_storageLoaded">
    +</iron-localstorage>
    +<div class="survey"><content></content></div>
    +</template>
    +</dom-module>
    +<dom-module id="step-style" assetpath="../bower_components/google-codelab-elements/">
    +<template>
    +<style>
    +:host{display:block;line-height:24px}#title{font-family:Google Sans,Arial,sans-serif;font-size:28px;font-weight:400;line-height:1em;margin:0 0 30px}:host-context(google-codelab:not([theme=minimal])) .instructions{background:var(--google-codelab-step-background,#fff);border-radius:4px;box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);font-size:14px;margin:0 auto 32px;max-width:800px}.instructions .inner{padding:24px}:host-context(google-codelab[theme=minimal]) .instructions .inner{padding:0 24px}@media (max-width:800px){.instructions{margin:0 0 16px}}:host-context(google-codelab:not([theme=minimal])) .instructions ::content a,:host-context(google-codelab:not([theme=minimal])) .instructions ::content a:visited{color:var(--google-codelab-step-link-color,--google-material-blue-600)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2,:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3,:host-context(google-codelab:not([theme=minimal])) .instructions ::content h4{font-weight:400;margin:0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2{font-size:22px;font-weight:300;line-height:1em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content{line-height:24px}:host-context(google-codelab:not([theme=minimal])) .instructions ::content li{margin:.5em 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2{font-size:20px;font-weight:500;margin:1.5em 0 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3{font-weight:500;margin:20px 0 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside{border-left:4px solid;border-radius:4px;margin:2em 0;padding:.5em 1em}:host-context(google-codelab:not([theme=minimal])) :host-context(google-codelab:not([theme=minimal])) .instructions ::content aside p{margin:.5em 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.note,:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.notice{background:#fef7e0;border-color:#ea8600;color:var(--google-material-grey-900);@apply(--google-codelab-step-note)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.special,:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.tip{background:#e6f4ea;border-color:#137333;color:var(--google-material-grey-900);@apply(--google-codelab-step-tip)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.warning{background:#fef7e0;border-color:#ea8600;color:var(--google-material-grey-900);@apply(--google-codelab-step-warn)}.instructions ::content aside.callout{background-color:#e8f0fe;border-left:3px solid var(--google-material-blue-800);border-radius:4px;color:var(--google-material-grey-900);font-size:14px;line-height:1.5;margin:20px 0;padding:15px;@apply(--google-codelab-step-callout)}.instructions ::content aside.callout b{color:var(--google-material-blue-800)}.instructions ::content ul.checklist{list-style:none;padding:0 0 0 1em}.instructions ::content ul.checklist li{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAAxokwwoks1pFAxokwxokwxokwxokwxokwnnkQnnkQnnkRou3y84cTS69cxokwonkQxokwnnkRqvH1VsmtluXlVsmsnnkRdtnLw+PIxokwqn0YinEAfmj3goh/UAAAAGnRSTlMA2CcEo+6AQT7+2IOBJxPl27alhoBnX15SCCe258UAAAB+SURBVEjH7dA5EoAgEERR3BcQ923Q+1/T0SqKlNbMouP3gxkRFvZpyQb64VSQT4mOcYc8mU5DnqIG8zXoozj4d34tML+YrET8XBFx4e2F4oAL4N7J3EUB/EfSUwD/zG3hvFdROu9XtL31vgXguQA9F6DnAvM8WbOHpkXYD3cBBCcPjtASYjwAAAAASUVORK5CYII=");background-repeat:no-repeat;background-size:20px;padding-left:24px}.instructions ::content h2 code,.instructions ::content table code{background:#fff}.instructions ::content .indented{margin-left:40px}.instructions ::content strong{font-weight:600}.instructions ::content paper-button{border-radius:4px;color:#fff;font-family:Google Sans,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding:6px 16px 6px 12px;text-transform:none}.instructions ::content paper-button a{color:inherit!important;text-decoration:none}.instructions ::content a paper-button{display:inline-block}.instructions ::content paper-button.colored{background-color:var(--google-material-green-600)}.instructions ::content paper-button.red{background-color:#d93025}.instructions ::content iron-icon{max-height:16px;max-width:16px;padding-right:8px}.instructions ::content img{max-width:100%;vertical-align:bottom;width:100%}.instructions ::content table{border-spacing:0}.instructions ::content td{border-bottom:1px solid #ccc;padding:8px;vertical-align:top}.instructions ::content table p{margin:0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3.faq{border-bottom:1px solid #ddd}:host-context(google-codelab:not([theme=minimal])) .instructions ::content ul.faq{list-style:none;padding-left:1em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq li{font-size:1.1em;margin-bottom:.8em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq a{color:inherit;text-decoration:none}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq a:hover{text-decoration:underline}.instructions ::content .faq a[href*="cloud.google.com"]{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:20px;padding-left:22px}.instructions ::content .faq a[href*="stackoverflow.com"]{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:24px;padding-left:22px}.instructions ::content .faq a[href*="support.google.com/webmasters/"]{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAolBMVEUAAADW1tbW1tZ6enrQ0dJ6enrMzMzq6+zq6+x6enru7+/m5+ju7+/m5+j////S09REi/XW1tbm5+ju7+9PT0/Q0dK8vLxGjfVZWVlNTU16enrMzMzIyMj09PS/0uuSkpJpaWmbm5tim/e0tLSEhIStx+3e3+GsrKxwcHBZk/dPk/R1p/KPtu/U3eqmpqZlZWVfmO5woeqHreWvwN6nu9qLi4vZSE73AAAADnRSTlMAEcxmzO7MzDMz7u6IiHn/rpYAAALMSURBVHja7dXpjtowFIZhUkqZlSV1ncQdEsK+zD7T+7+1xjTiwxVOAmeORyP5+2UspPchEtDy8/Pz8/Pz8/M7cZeduHKdyxbL0FfVAMUraHdUHUB12i22tZWqBRSDgKFfC4CApV8PgIClXw/gE6hyTd/lAR7gAV8fEHwbWtc/ul/WfQ8IfQKAIECfCoCA3sdq+nQB+nQABIQ+CQABtY9Z+lQB+gwACBj6AFAE6DM9AL0fAalPB/yGgNAfntwHAAJKnwCAwNLneQAAVAvM/ttzVLlB4z2/A6AFVoDRf43IfewVgGKNAG/Uvrl39BsCXqh9cy8nA/51tmk63+jDZp6m9wTA4DzANiyW6lOqTxAMHAD22XASReuwpKDvELCNookBGJwx9E8B3OvsQp8e9GmOviNANA/Dh4k+TApBukHfFSBa7/I7whqf3xWA/gOAoU8DDJwBCHk+wIAw9CsAPw/W++CFB/MAD/hCgL59PXPS8toRYKHEndkTauEQIIUQ0hToG2eAXOicKdBXmSPAo9CTpkDo5U4Ad6IEGILy0gFgFJctCACIh/yATABwIChvVyE3IBR7AAQAiOmIGZADAMEBQMkRL+AJAAgOALGUI07AQgBgCPb3uRbwAaYAGAIAZlIL2AA5AIYAgJXUAjaAAsAQADCWO4EjAAQGQAvYAUsDsDQAeuwAMZvu89PZ/jZhBmQCi2dl60+MPiMAf8UgZEUpK/LoJ4oX0C9LIIyF0U8yXkBPVCzRWzIDZjX9sWQG9Kv7ScYN6KnKfizZAf2qfpLzA3p5RV9JboDeytp/kk4Ao5WtP+UFQKCO9sdTSQQ03+OR/kxKdgAWZv/11VI6AWBmP5HSNQD5zwQknwxIqIBu468hBgDqNYCuFXBDASSNAbdWQHB1PiBpDLgOWtZdXPEDri/QswjYAOjbF9x0OQHd26Dl5+fn5+fn5+dn7i/3LEaKJNV/0wAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-size:24px;padding-left:24px}.instructions ::content .faq a[href*="developer.android.com"],.instructions ::content .faq a[href*=android-developer]{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAq1BMVEX///+lyjmfxyGhyCqkyjakyTP+/vuiyS7z+OWlyjKgxyTX57ChyCfa6bTx9uLy9+Sz0l6szk/D24Tt9NrN4ZnK4JSiyCyexh34+/D6/PTp8dPh7cjf7L7k78vc6rnW5qzU5ajS5KPP4p+21GWnzD3F3Yi813Kx0ViqzUWexhr8/vjv9d7Z6LKy0lyZxADh7cLA2n2rzkr1+erJ35C61m6uz1KcxRHn8M6/2XgEePWtAAACr0lEQVRo3u3Z2XKiQBiG4Y9ebNO2aCCyzOC+7zH7/V/ZRJZQZaJpWnKS4TlJUItXbX4pFJXK71DTusvccI6z5oMSAutdhDP2uzpK4CxwxsRBGYJdA19qLAOU4s4LkyUN7G4Ude2glmzuRihHKDqAPZhNuJRKSckms37rvctrKMnG728l5cxKMU7JuCF7KEvf87h1gnu0iXK4B2p9Sc3dUgZNMusMLvu42r20LiBXT8JMWRepN1xlGu+fK8/6xFPxwsvH697/eP/j7uDTOvB+dxwX/AaM2SQ+6icrYHDyGmgfWE3irNeCqTaPAwcArydroboAbuMAb8NQRNJn20SYtHK8HaKZzoffhZl5tlNxsD5PsnUQ2b9jwwnO35WvRo3lN/o2TDwKS5M3gokF0w2wZxgIlpY2FpgsgdQPkLXJQar0A/LVIDB6Idp2GxQQrJI/rbq2Voijlc5S9LZs8uYCqBVyXLTZhLW/fSn3hDMmZAQ05I020gT2PmeM+w4uGpLksFs+oEEtbaqJVnpUkz4uyebf6xQK0CY6XjoSC1xQ9/PPr4KB52zuvTrOa5EssC0auM0C0tYKtI0DqgpUgSpQBapAFfifAj90Tn5YZoGnooH8eutB56KDDosGhlTrYiTyk0epVdFAKJLn9rLHRSNfcE4tF0UDcAXlXPhDfGPtjGejEMUDCEdPY8eFHoOADvPAxiDQLBBQkUHAJfoB34UBS/9CfAETe6lZYKZft/QIFe94vicRy7tcvKOkB0PhYOo4zlNWYNvjpjOdZwU+O24OQlynK62EGCF2J9IbpIsy/P0I3CHW+Qj8qQJVoAr8VOCx3EB+YvDSwIDmXzaW4oZZseU6Lfr5aaAUPT8uyPuT33VeIpRkI5RHyRQfHEKFUj2UJuh1GjaQsxudKECl8jv8A6GtQkKSkMLrAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-size:20px;padding-left:20px}.instructions ::content h3>a[href*=github],.instructions ::content h3>a[href*=github]:visited{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:18px;color:#000;padding-left:24px;text-decoration:none} </style>
    +</template>
    +</dom-module>
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code+Pro">
    +<dom-module id="syntax-style" assetpath="../bower_components/google-codelab-elements/">
    +<template>
    +<style>
    +::content code,::content pre{border-radius:4px;font-family:Source Code Pro,Helvetica,Arial;font-size:inherit;overflow-x:auto;@apply(--google-codelab-step-code)}::content code{background-color:#e8eaed;padding:.1em .3em}::content pre{-webkit-text-size-adjust:none;background-color:#28323f;color:#fff;display:block;line-height:1.4;padding:14px}::content pre>code{background-color:transparent;padding:0}::content code em{color:#97c8f2}::content code .str,::content pre .str{color:#34a853}::content code .kwd,::content pre .kwd{color:#f538a0}::content code .com,::content pre .com{color:#bdc1c6;font-style:italic}::content code .typ,::content pre .typ{color:#24c1e0}::content code .lit,::content pre .lit{color:#4285f4}::content code .pln,::content code .pun,::content pre .pln,::content pre .pun{color:#f8f9fa}::content code .tag,::content pre .tag{color:#24c1e0}::content code .atn,::content pre .atn{color:#eda912}::content code .atv,::content pre .atv{color:#34a853}::content code .dec,::content pre .dec{color:#5195ea} </style>
    +</template>
    +</dom-module>
    +<script src="../bower_components/google-prettify/src/prettify.js"></script><dom-module id="google-codelab-step" assetpath="../bower_components/google-codelab-elements/">
    +<template strip-whitespace="">
    +<style include="shared-style"></style>
    +<style include="step-style"></style>
    +<style include="syntax-style"></style>
    +<div class="instructions">
    +<div class="inner">
    +<h2 id="title"><span>{{step}}</span>. <span>{{label}}</span></h2>
    +<content></content>
    +</div>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="iron-icon" assetpath="../bower_components/iron-icon/">
    +<template>
    +<style>
    +:host{@apply(--layout-inline);@apply(--layout-center-center);fill:var(--iron-icon-fill-color,currentcolor);height:var(--iron-icon-height,24px);position:relative;stroke:var(--iron-icon-stroke-color,none);vertical-align:middle;width:var(--iron-icon-width,24px);@apply(--iron-icon)} </style>
    +</template>
    +</dom-module>
    +<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.05 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.15-.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-.14.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-.55.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"><circle 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-7H4zm6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></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-2v-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.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z"></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"></path></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 9h2V6h3V4h-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.13 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.52 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.43C10.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.29L1.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.86 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g>
    +<g id="alarm-on"><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.47L8.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.95-.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.57 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.5V19h1c.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.63L7.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="announcement"><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 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-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-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    +<g id="arrow-drop-down-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 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.59L12 20l8-8z"></path></g>
    +<g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.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 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g>
    +<g id="assessment"><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-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-4H7V7h10v2z"></path></g>
    +<g id="assignment-ind"><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 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="assignment-turned-in"><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-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 10H17v2H9.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.5S5.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 14 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.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="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.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.55 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 12c0 4.42-3.58 8-8 8z"></path></g>
    +<g id="book"><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="bookmark"><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="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 .34.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-2h4v2z"></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.5l9.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"></path></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-5s2.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.75L8 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-.89 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.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="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-5H4V4h16v6z"></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"></path></g>
    +<g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 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.41L10 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 12s4.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"></path></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.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.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 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.96zM17 13l-5 5-5-5h3V9h4v4h3z"></path></g>
    +<g id="cloud-off"><path d="M19.35 10.04C18.67 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 6c3.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 18H6c-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 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.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 4s1.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 18H5V4h2v3h10V4h2v16z"></path></g>
    +<g id="copyright"><path d="M10.08 10.86c.05-.33.16-.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.36S8 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 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="create"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.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.99.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-3v3h-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-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g>
    +<g id="dashboard"><path d="M3 13h8V3H3v10zm0 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-2v2H8V2H6v2H5c-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="delete-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="description"><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.2L4.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.41 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-9v7.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-2V7h2v6z"></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="euro-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.3l-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"></path></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.1s.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 12s4.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.5S21.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.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.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 10c.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"><path 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-2h2v2zm0-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-4v2zM3 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-.4l-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.02-.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.34-3 3z"></path></g>
    +<g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46L12 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="fingerprint"><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 14 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.01-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.12zM14.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-.64-.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"></path></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.21 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.28L5.15 8.95l-.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g>
    +<g id="flight-takeoff"><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 id="flip-to-back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g>
    +<g id="flip-to-front"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-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="folder"><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-2V8c0-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-2zm0 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 2v1z"></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 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g>
    +<g id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-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.68c.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.93l1.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-7zM5 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-1zm10 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g>
    +<g id="grade"><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.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 .88-.36 1.68-.93 2.25z"></path></g>
    +<g id="help-outline"><path d="M11 18h2v-2h-2v2zm1-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.03-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"><path 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.99h-.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 0H14V15h1.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-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="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-.97 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 2H19c1.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.99V5H19v10z"></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"></path></g>
    +<g id="info"><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-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-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 8zM11 9h2V7h-2v2z"></path></g>
    +<g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 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.58c2.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 2H4.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-8H5.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 14c.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-.26 2h-3.38z"></path></g>
    +<g id="last-page"><path d="M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"></path></g>
    +<g id="launch"><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="lightbulb-outline"><path 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="line-style"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 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-2H3v2zm0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g>
    +<g id="link"><path 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.9H7c-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="list"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 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 2v10c0 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 2h12c1.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 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.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-.59l7-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.5S4.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.81 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="markunread"><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-mailbox"><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-2H3v2zm0-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 2H5c-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.82zM19 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="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.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.99V5H19v10zm-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"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm5 16H7v-2h10v2zm-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="opacity"><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 8zM6 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-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.07-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.21.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-device-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.9V17c0-.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-4zm0 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 3v10l3-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.89-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-8v6h8V7zm2-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"><path 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-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g>
    +<g id="polymer"><path 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.17l-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="query-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 2v20z"></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.69c.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.63c2.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.69.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.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.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="redo"><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.99 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 11v2h10v-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-shopping-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"></path></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.73 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-2V7h2v6z"></path></g>
    +<g id="report-problem"><path d="M1 21h22L12 2 1 21zm12-3h-2v-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-2V8l-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.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="rounded-corner"><path d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13h2v-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-2zm6 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-3s1.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-13H11v6l5.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.01 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-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></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-.03-.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.46c-.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-.98l2.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"></path></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-2V5c0-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-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.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="settings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-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.59 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-brightness"><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-2v2zm4 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-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 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.62 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z"></path></g>
    +<g id="settings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 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-11S18.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.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-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.02z"></path></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 9v2h2V9h-2z"></path></g>
    +<g id="settings-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-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 1h6c.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.41C15.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 0z"></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-2v2zm4 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-2h4v2h-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"></path></g>
    +<g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></path></g>
    +<g id="speaker-notes"><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-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g>
    +<g id="speaker-notes-off"><path 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.09L9.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.73L5.82 21z"></path></g>
    +<g id="star-border"><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.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.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 2zm4.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.73 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"><path 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.25c0-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.99h3V14h2V6.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 9H11v4H9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g>
    +<g id="system-update-alt"><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"><path d="M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-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-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g>
    +<g id="thumb-down"><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.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-.79-.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.75c.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-.67-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 2z"></path></g>
    +<g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 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.26C3.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.5v3.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"><path 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 4s-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.56l-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"><path 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 18V5h10v13z"></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 id="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"></path></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 19 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.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"></path></g>
    +<g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 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="view-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 5v13h5V5h-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-8h16V9H4v2zm0-6v2h16V5H4z"></path></g>
    +<g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-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="M10 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="view-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-3h-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-3c0-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.82V7c0-1.1-.9-2-2-2z"></path></g>
    +<g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-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-searched-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-out"><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>
    +<dom-module id="neon-animated-pages" assetpath="../bower_components/neon-animation/">
    +<template>
    +<style>
    +:host{display:block;position:relative}:host>::content>*{bottom:0;left:0;position:absolute;right:0;top:0}:host>::content>:not(.iron-selected):not(.neon-animating){display:none!important}:host>::content>.neon-animating{pointer-events:none} </style>
    +<content id="content"></content>
    +</template>
    +</dom-module>
    +<dom-module id="app-header-layout" assetpath="../bower_components/app-layout/app-header-layout/">
    +<template>
    +<style>
    +:host{display:block;position:relative;z-index:0}:host>::content>app-header{@apply(--layout-fixed-top);z-index:1}:host([has-scrolling-region]){height:100%}:host([has-scrolling-region])>::content>app-header{position:absolute}:host([has-scrolling-region])>#contentContainer{@apply(--layout-fit);-webkit-overflow-scrolling:touch;overflow-y:auto}:host([fullbleed]){@apply(--layout-vertical);@apply(--layout-fit)}:host([fullbleed])>#contentContainer{@apply(--layout-vertical);@apply(--layout-flex)}#contentContainer{position:relative;z-index:0} </style>
    +<content id="header" select="app-header"></content>
    +<div id="contentContainer">
    +<content></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="app-drawer" assetpath="../bower_components/app-layout/app-drawer/">
    +<template>
    +<style>
    +:host{bottom:-120px;left:0;position:fixed;right:0;top:-120px;transition-property:visibility;visibility:hidden}:host([opened]){visibility:visible}:host([persistent]){width:var(--app-drawer-width,256px)}:host([persistent][position=left]){right:auto}:host([persistent][position=right]){left:auto}#contentContainer{-webkit-transform:translate3d(-100%,0,0);background-color:#fff;bottom:0;left:0;padding:120px 0;position:absolute;top:0;transform:translate3d(-100%,0,0);transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;width:var(--app-drawer-width,256px);@apply(--app-drawer-content-container)}:host([position=right])>#contentContainer{-webkit-transform:translate3d(100%,0,0);left:auto;right:0;transform:translate3d(100%,0,0)}:host([swipe-open])>#contentContainer:after{bottom:0;content:"";left:100%;position:fixed;top:0;visibility:visible;width:20px}:host([swipe-open][position=right])>#contentContainer:after{left:auto;right:100%}#scrim,:host([opened])>#contentContainer{-webkit-transform:translateZ(0);transform:translateZ(0)}#scrim{background:var(--app-drawer-scrim-background,rgba(0,0,0,.5));bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition-property:opacity}:host([opened])>#scrim{opacity:1}:host([opened][persistent])>#scrim{opacity:0;visibility:hidden} </style>
    +<div id="scrim" on-tap="close"></div>
    +<div id="contentContainer">
    +<content></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="app-drawer-layout" assetpath="../bower_components/app-layout/app-drawer-layout/">
    +<template>
    +<style>
    +:host{display:block}:host([fullbleed]){@apply(--layout-fit)}#contentContainer{height:100%;position:relative;transition:var(--app-drawer-layout-content-transition,none)}#contentContainer:not(.narrow)>::content [drawer-toggle]{display:none} </style>
    +<div id="contentContainer">
    +<content select=":not(app-drawer)"></content>
    +</div>
    +<content id="drawerContent" select="app-drawer"></content>
    +<iron-media-query query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]" on-query-matches-changed="_onQueryMatchesChanged"></iron-media-query>
    +</template>
    +</dom-module>
    +<style is="custom-style">
    +:root{--shadow-transition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-shadow: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 rgba(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-elevation-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 16px 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-module id="paper-material-shared-styles" assetpath="../bower_components/paper-material/">
    +<template>
    +<style>
    +:host{display:block;position:relative}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:host([elevation="2"]){@apply(--shadow-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>
    +<dom-module id="paper-button" assetpath="../bower_components/paper-button/">
    +<template strip-whitespace="">
    +<style include="paper-material-shared-styles">
    +:host{@apply(--layout-inline);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;font:inherit;margin:0 .29em;min-width:5.14em;outline-width:0;padding:.7em .57em;position:relative;text-transform:uppercase;user-select:none;z-index:0;@apply(--paper-font-common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:host([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard-focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-button-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;cursor:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@apply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="iron-overlay-backdrop" assetpath="../bower_components/iron-overlay-behavior/">
    +<template>
    +<style>
    +:host{background-color:var(--iron-overlay-backdrop-background-color,#000);height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s;width:100%;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700">
    +<style is="custom-style">
    +:root{--paper-font-common-base:{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif};--paper-font-common-code:{-webkit-font-smoothing:antialiased;font-family:Roboto Mono,Consolas,Menlo,monospace};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};--paper-font-common-nowrap:{overflow:hidden;text-overflow:ellipsis;white-space:nowrap};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-height:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line-height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:45px;font-weight: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-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--paper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size: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-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-size:14px;font-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-spacing:.011em;line-height:20px};--paper-font-menu:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:500;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:.018em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper-font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font-code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-height:20px};}</style><dom-module id="paper-dialog-shared-styles" assetpath="../bower_components/paper-dialog-behavior/">
    +<template>
    +<style>
    +:host{background:var(--paper-dialog-background-color,--primary-background-color);color:var(--paper-dialog-color,--primary-text-color);display:block;margin:24px 40px;@apply(--paper-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::content>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:host>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bottom:24px}:host>::content h2{margin:0;position:relative;@apply(--paper-font-title);@apply(--paper-dialog-title)}:host>::content .buttons{color:var(--paper-dialog-button-color,--primary-color);margin:0;padding:8px 8px 8px 24px;position:relative;@apply(--layout-horizontal);@apply(--layout-end-justified)} </style>
    +</template>
    +</dom-module>
    +<dom-module id="paper-dialog" assetpath="../bower_components/paper-dialog/">
    +<template>
    +<style include="paper-dialog-shared-styles"></style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="paper-fab" assetpath="../bower_components/paper-fab/">
    +<template strip-whitespace="">
    +<style include="paper-material-shared-styles">
    +:host{@apply(--layout-vertical);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:var(--paper-fab-background,--accent-color);border-radius:50%;box-sizing:border-box;color:var(--text-primary-color);cursor:pointer;height:56px;min-width:0;outline:none;padding:16px;position:relative;user-select:none;width:56px;z-index:0;@apply(--paper-fab)}[hidden]{display:none!important}:host([mini]){height:40px;padding:8px;width:40px;@apply(--paper-fab-mini)}:host([disabled]){background:var(--paper-fab-disabled-background,--paper-grey-300);color:var(--paper-fab-disabled-text,--paper-grey-500);@apply(--paper-fab-disabled)}iron-icon{@apply(--paper-fab-iron-icon)}span{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;@apply(--paper-fab-label)}:host(.keyboard-focus){background:var(--paper-fab-keyboard-focus-background,--paper-pink-900)} </style>
    +<iron-icon id="icon" hidden$="{{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[icon]]"></iron-icon>
    +<span hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</span>
    +</template>
    +</dom-module>
    +<dom-module id="paper-icon-button" assetpath="../bower_components/paper-icon-button/">
    +<template strip-whitespace="">
    +<style>
    +:host{-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;box-sizing:border-box!important;cursor:pointer;display:inline-block;height:40px;line-height:1;outline:none;padding:8px;position:relative;user-select:none;width:40px;z-index:0;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink-color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon-button-disabled-text,--disabled-text-color);cursor:auto;pointer-events:none;@apply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover)}iron-icon{--iron-icon-height:100%;--iron-icon-width:100%} </style>
    +<iron-icon id="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon>
    +</template>
    +</dom-module>
    +<dom-module id="paper-menu-shared-styles" assetpath="../bower_components/paper-menu/">
    +<template>
    +<style>
    +.selectable-content>::content>.iron-selected{font-weight:700;@apply(--paper-menu-selected-item)}.selectable-content>::content>[disabled]{color:var(--paper-menu-disabled-color,--disabled-text-color)}.selectable-content>::content>:focus{outline:0;position:relative;@apply(--paper-menu-focused-item)}.selectable-content>::content>:focus:after{@apply(--layout-fit);background:currentColor;content:"";opacity:var(--dark-divider-opacity);pointer-events:none;@apply(--paper-menu-focused-item-after)}.selectable-content>::content>[colored]:focus:after{opacity:.26} </style>
    +</template>
    +</dom-module>
    +<dom-module id="paper-menu" assetpath="../bower_components/paper-menu/">
    +<template>
    +<style include="paper-menu-shared-styles"></style>
    +<style>
    +:host{background:var(--paper-menu-background-color,--primary-background-color);color:var(--paper-menu-color,--primary-text-color);display:block;padding:8px 0;@apply(--paper-menu)} </style>
    +<div class="selectable-content">
    +<content></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-item-shared-styles" assetpath="../bower_components/paper-item/">
    +<template>
    +<style>
    +.paper-item,:host{display:block;min-height:var(--paper-item-min-height,48px);padding:0 16px;position:relative}.paper-item{@apply(--paper-font-subhead);background:#fff;border:none;outline:none;text-align:left;width:100%}.paper-item[hidden],:host([hidden]){display:none!important}.paper-item.iron-selected,:host(.iron-selected){font-weight:var(--paper-item-selected-weight,bold);@apply(--paper-item-selected)}.paper-item[disabled],:host([disabled]){color:var(--paper-item-disabled-color,--disabled-text-color);@apply(--paper-item-disabled)}.paper-item:focus,:host(:focus){outline:0;position:relative;@apply(--paper-item-focused)}.paper-item:focus:before,:host(:focus):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="../bower_components/paper-item/">
    +<template>
    +<style include="paper-item-shared-styles"></style>
    +<style>
    +:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="layout-style" assetpath="../bower_components/google-codelab-elements/">
    +<template>
    +<style>
    +.layout{@apply(--layout)}.layout.horizontal{@apply(--layout-horizontal)}.layout.vertical{@apply(--layout-vertical)}.layout.center{@apply(--layout-center)}.layout.center-center{@apply(--layout-center-center)}.flex{@apply(--layout-flex)}.two{@apply(--layout-flex-2)}.end-justified{@apply(--layout-end-justified)}.end{@apply(--layout-end)}.justified{@apply(--layout-justified)}.self-center{@apply(--layout-self-center)}.wrap{@apply(--layout-wrap)} </style>
    +</template>
    +</dom-module>
    +<link href="https://fonts.googleapis.com/css?family=Google+Sans" rel="stylesheet">
    +<dom-module id="codelab-style" assetpath="../bower_components/google-codelab-elements/">
    +<template strip-whitespace="">
    +<style>
    +:host{--google-material-blue-600:#1a73e8;--google-material-blue-800:#185abc;--google-material-green-600:#1e8e3e;--google-material-grey-100:#f1f3f4;--google-material-grey-300:#dadce0;--google-material-grey-600:#80868b;--google-material-grey-700:#5f6368;--google-material-grey-800:#3c4043;--google-material-grey-900:#212124;--nav-height:64px;display:block;line-height:24px;--paper-menu:{background:inherit;cursor:pointer;padding:0};--app-drawer-content-container:{background:var(--google-codelab-background,#fff)};}:host([theme=minimal]){position:relative}#headerpanel{left:0;margin-left:256px;position:fixed;right:0;z-index:1}#headerpanel[narrow]{margin-left:0}app-drawer-layout{overflow-x:hidden}.drawer-content-wrapper{border-right:1px solid var(--google-material-grey-300);padding:16px}#main-content{background:var(--google-codelab-background,--paper-blue-300)}#pages{top:var(--nav-height)}#controls[narrow]{width:100%}#main-toolbar{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;background:var(--google-codelab-header-background,#fff);box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);color:var(--google-material-grey-800);display:-webkit-flex;display:-ms-flexbox;display:flex;height:var(--nav-height);justify-content:space-between;padding:0 16px}#main-toolbar .title{-ms-flex:1;-webkit-flex:1;flex:1;font-family:Google Sans,Arial,sans-serif;font-weight:400;margin:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}paper-icon-button[icon=menu]{margin-right:0!important}paper-fab{--paper-fab-background:var(--google-codelab-fab-background,--paper-blue-700);--paper-fab-keyboard-focus-background:var(--google-codelab-fab-background,--paper-blue-700);-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}:host([theme=minimal]) #resumeDialog>*{margin-top:20px;padding:0 24px}:host([theme=minimal]) #resumeDialog .buttons{margin:0;padding:8px 8px 8px 24px}.countdown iron-icon{margin-right:3px}:host(:not([theme=minimal])) #drawer .countdown{display:none}:host([theme=minimal]) #drawer .countdown{-ms-flex-negative:0;-webkit-flex-shrink:0;color:var(--paper-blue-500);flex-shrink:0;font-style:italic;padding:0 16px 16px}#controls{bottom:16px;box-sizing:border-box;padding:0 16px;pointer-events:none;position:fixed;right:0;width:calc(100% - 256px)}#controls .fabs{margin:0 auto;max-width:1050px}.navbutton{border-radius:4px;font-family:Google Sans,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding:6px 24px;pointer-events:auto;text-transform:none}.navbutton.nextbutton{background:var(--google-material-blue-600);color:#fff}.navbutton.prevbutton{background:#fff;color:var(--google-material-blue-600);transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.navbutton.prevbutton[disabled]{-webkit-transform:scale(0);color:#fff;transform:scale(0)}.navbutton.donebutton{background:var(--google-material-green-600);color:#fff}#toc{margin-bottom:1.5em}.toc-item{border-radius:4px;box-sizing:content-box;color:var(--google-material-grey-600);font-size:14px;font-weight:400;line-height:20px;overflow:hidden;padding:6px 16px}.toc-item i{background:var(--google-material-grey-600);border-radius:50%;color:#fff;display:inline-block;font-style:normal;height:26px;line-height:26px;margin-right:8px;min-width:26px;text-align:center;vertical-align:middle;width:26px}.toc-item i:after,.toc-item i:before{border-left:1px solid var(--google-material-grey-600);border-right:1px solid var(--google-material-grey-600);content:"";display:block;height:44px;margin-top:1px;width:0;z-index:1}.toc-item i:before{margin-left:11px;margin-top:-44px}.toc-item i:after{margin-left:11px}.toc-item.completed{color:var(--google-material-grey-900)}.toc-item.completed i,.toc-item.iron-selected i{background-color:var(--google-material-blue-600)}.toc-item.iron-selected{background-color:var(--google-material-grey-300);color:var(--google-material-grey-900);font-weight:600}.toc-item.completed i,.toc-item.completed i:after,.toc-item.completed i:before,.toc-item.iron-selected i,.toc-item.iron-selected i:before{border-color:var(--google-material-blue-600)}.toc-item:first-of-type i:before,.toc-item:last-of-type i:after{display:none}#metadata{-ms-flex:0 0 80px;-webkit-flex:0 0 80px;color:var(--google-codelab-footer-text-color,#777);flex:0 0 80px;font-size:.7em}#feedback a{color:currentcolor}@media (min-width:641px){:host(:not([theme=minimal])) #pages{margin-top:32px}#controls{bottom:32px;padding:0 32px}} </style>
    +</template>
    +</dom-module>
    +<dom-module id="google-codelab" assetpath="../bower_components/google-codelab-elements/">
    +<template strip-whitespace="">
    +<style include="layout-style"></style>
    +<style include="codelab-style"></style>
    +<iron-localstorage name="{{title}}" value="{{state}}" hidden="" on-iron-localstorage-load-empty="_stateInit" on-iron-localstorage-load="_stateLoaded">
    +</iron-localstorage>
    +<app-drawer-layout fullbleed="" narrow="{{_narrow}}">
    +<app-drawer id="drawer" swipe-open="">
    +<div class="drawer-content-wrapper layout vertical" style="height:100%">
    +<div class="flex" style="overflow:auto;">
    +<div title="Time remaining" hidden$="{{!_isPositiveNum(duration)}}" class="countdown layout horizontal">
    +<iron-icon icon="schedule"></iron-icon> <span>[[remaining]]</span>
    +</div>
    +<paper-menu id="toc" class="flex" selected="{{selected}}" on-iron-select="_allowCodelabComplete">
    +<template is="dom-repeat" items="{{steps}}" strip-whitespace="">
    +<paper-item class$="{{_tocItemClass(selected, index)}}">
    +<i>{{item.step}}</i><span>{{item.label}}</span>
    +</paper-item>
    +</template>
    +</paper-menu>
    +</div>
    +<div id="metadata">
    +<template is="dom-if" if="{{lastUpdated}}" strip-whitespace="">
    +<div id="last-updated">Last updated on {{lastUpdated}}.</div>
    +</template>
    +<div id="feedback" hidden$="[[!feedbackLink]]">
    +Did you find a mistake?
    +<a target="_blank" href$="{{feedbackLink}}">Please file a bug</a>.
    +</div>
    +</div>
    +</div>
    +</app-drawer>
    +<app-header-layout fullbleed="">
    +<div id="headerpanel" fixed="" narrow$="[[_narrow]]">
    +<div id="main-toolbar" hidden$="[[noToolbar]]">
    +<div>
    +<template is="dom-if" if="{{_narrow}}" strip-whitespace="">
    +<paper-icon-button icon="menu" drawer-toggle=""></paper-icon-button>
    +</template>
    +<template is="dom-if" if="{{!_narrow}}" strip-whitespace="">
    +<paper-icon-button icon="arrow-back" on-tap="_goToHome"></paper-icon-button>
    +</template>
    +</div>
    +<h3 class="title">[[title]]</h3>
    +<div title="Time remaining" hidden$="{{!_isPositiveNum(duration)}}" class="countdown layout horizontal">
    +<iron-icon icon="schedule"></iron-icon> <span>{{remaining}}</span>
    +</div>
    +</div>
    +</div>
    +<div id="main-content">
    +<neon-animated-pages id="pages" selected="{{selected}}" on-iron-deselect="_onStepLeave" on-iron-items-changed="_onStepsChanged">
    +<content select="google-codelab-step"></content>
    +</neon-animated-pages>
    +<footer id="controls" hidden$="[[noArrows]]" narrow$="[[_narrow]]">
    +<div class="fabs layout horizontal justified">
    +<paper-button raised="" class="navbutton prevbutton" on-tap="selectPrevious" title="Previous step" disabled$="{{_isFirstStep(selected)}}">Back</paper-button>
    +<div>
    +<template is="dom-if" if="{{_showNextFab(selected, steps)}}" strip-whitespace="">
    +<paper-button raised="" class="navbutton nextbutton" title="{{_nextFabTitle(selected)}}" on-tap="selectNext">Next</paper-button>
    +</template>
    +<template is="dom-if" if="{{_showDoneFab(selected, steps)}}" strip-whitespace="">
    +<paper-button raised="" class="navbutton donebutton" on-tap="_goToHome" title="Complete codelab">Done</paper-button>
    +</template>
    +</div>
    +</div>
    +</footer>
    +</div>
    +</app-header-layout>
    +</app-drawer-layout>
    +<paper-dialog id="resumeDialog" modal="">
    +<h2>Would you like to resume where you left off?</h2>
    +<p>Step <span>{{_storedStep.step}}</span>: <span>{{_storedStep.label}}</span></p>
    +<div class="buttons">
    +<paper-button dialog-dismiss="" on-click="_stateInit">Cancel</paper-button>
    +<paper-button dialog-confirm="" on-click="_resume" autofocus="">Resume</paper-button>
    +</div>
    +</paper-dialog>
    +</template>
    +</dom-module>
    +<dom-module id="google-youtube" assetpath="../bower_components/google-youtube/">
    +<style>
    +:host{display:block}:host([fluid]){max-width:100%;position:relative;width:100%}:host([fluid]) #thumbnail,:host([fluid]) iframe{height:100%;left:0;position:absolute;top:0;vertical-align:bottom;width:100%}iframe{@apply(--google-youtube-iframe)}#container{max-height:100%;max-width:100%;@apply(--google-youtube-container)}#thumbnail{cursor:pointer;height:100%;width:100%;@apply(--google-youtube-thumbnail)} </style>
    +<template>
    +<div id="container" style$="{{_computeContainerStyle(width, height)}}">
    +<template is="dom-if" if="{{thumbnail}}">
    +<img id="thumbnail" src$="{{thumbnail}}" title="YouTube video thumbnail." alt="YouTube video thumbnail." on-tap="_handleThumbnailTap">
    +</template>
    +<template is="dom-if" if="{{!thumbnail}}">
    +<template is="dom-if" if="{{videoId}}">
    +<google-youtube-api on-api-load="_apiLoad"></google-youtube-api>
    +</template>
    +</template>
    +<iron-localstorage name="google-youtube-playsupported" value="{{_playsupportedLocalStorage}}" on-iron-localstorage-load="_useExistingPlaySupportedValue" on-iron-localstorage-load-empty="_determinePlaySupported">
    +</iron-localstorage>
    +<div id="player"></div>
    +</div>
    +</template>
    +</dom-module>
    +<style is="custom-style">
    +:root{--google-material-blue-600:#1a73e8;--google-material-blue-800:#185abc;--google-material-green-600:#1e8e3e;--google-material-grey-100:#f1f3f4;--google-material-grey-300:#dadce0;--google-material-grey-600:#80868b;--google-material-grey-700:#5f6368;--google-material-grey-800:#3c4043;--google-material-grey-900:#212124}body{background:#f8f9fa!important}</style></div><script src="codelab.js"></script></body></html>
    \ No newline at end of file
    diff --git a/site/dist/elements/codelab.js b/site/dist/elements/codelab.js
    new file mode 100644
    index 000000000..367e3b048
    --- /dev/null
    +++ b/site/dist/elements/codelab.js
    @@ -0,0 +1 @@
    +!function(){function e(){document.body.removeAttribute("unresolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"interactive"===document.readyState||"complete"===document.readyState?e():addEventListener("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){for(var e,t=window.Polymer||{},i=location.search.slice(1).split("&"),n=0;n<i.length&&(e=i[n]);n++)(e=e.split("="))[0]&&(t[e[0]]=e[1]||!0);return t.wantShadow="shadow"===t.dom,t.hasShadow=Boolean(Element.prototype.createShadowRoot),t.nativeShadow=t.hasShadow&&!window.ShadowDOMPolyfill,t.useShadow=t.wantShadow&&t.hasShadow,t.hasNativeImports=Boolean("import"in document.createElement("link")),t.useNativeImports=t.hasNativeImports,t.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative,t.useNativeShadow=t.useShadow&&t.nativeShadow,t.usePolyfillProto=!t.useNativeCustomElements&&!Object.__proto__,t}()},function(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e.prototype),e||(e={});var i=t(e),n={prototype:e=i.prototype};return e.extends&&(n.extends=e.extends),Polymer.telemetry._registrate(e),document.registerElement(e.is,n),i};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polymer.Base._getExtendedPrototype(e.extends)),(e=Polymer.Base.chainObject(e,t)).registerCallback(),e.constructor};if(e)for(var i in e)Polymer[i]=e[i];Polymer.Class=t}(),Polymer.telemetry={registrations:[],_regLog:function(e){},_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,get:function(){return(document._currentScript||document.currentScript).ownerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function(e){this._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.RenderStatus._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextRender:function(e,t,i){this._watchNextRender(),this._afterNextRenderQueue.push([e,t,i])},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenReady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushRenderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNextRender=!1})},_flushRenderCallbacks:function(e){for(var t,i=0;i<e.length;i++)(t=e[i])[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._catchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.extend(this,e)},registerCallback:function(){this._desugarBehaviors(),this._doBehavior("beforeRegister"),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()},createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFinished(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBehavior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegisterFinished!==t.is&&(t.__hasRegisterFinished=t.is,t._finishRegisterFeatures&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&&t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},detachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,i){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,i])},_attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:function(e,t){if(e&&t)for(var i,n=Object.getOwnPropertyNames(t),r=0;r<n.length&&(i=n[r]);r++)this.copyOwnProperty(i,t,e);return e||t},mixin:function(e,t){for(var i in t)e[i]=t[i];return e},copyOwnProperty:function(e,t,i){var n=Object.getOwnPropertyDescriptor(t,e);n&&Object.defineProperty(i,e,n)},_logger:function(e,t){1===t.length&&Array.isArray(t[0])&&(t=t[0])},_log:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prototype.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=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent)?["%c[%s::%s]:","font-weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"],Polymer.Base.chainObject=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(Polymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=CustomElements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Polymer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.telemetry.instanceCount=0}(),function(){var e={},t={},i=function(i){return e[i]||t[i.toLowerCase()]},n=function(){return document.createElement("dom-module")};n.prototype=Object.create(HTMLElement.prototype),Polymer.Base.extend(n.prototype,{constructor:n,createdCallback:function(){this.register()},register:function(i){(i=i||this.id||this.getAttribute("name")||this.getAttribute("is"))&&(this.id=i,e[i]=this,t[i.toLowerCase()]=this)},import:function(e,t){if(e){var n=i(e);return n||(function(){if(r)for(var e,t=document._currentScript||document.currentScript,i=(t&&t.ownerDocument||document).querySelectorAll("dom-module"),n=i.length-1;n>=0&&(e=i[n]);n--){if(e.__upgraded__)return;CustomElements.upgrade(e)}}(),n=i(e)),n&&t&&(n=n.querySelector(t)),n}}});var r=window.CustomElements&&!CustomElements.useNative;document.registerElement("dom-module",n)}(),Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.currentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase())}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.behaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_desugarSomeBehaviors:function(e){for(var t=[],i=(e=this._flattenBehaviorsList(e)).length-1;i>=0;i--){var n=e[i];-1===t.indexOf(n)&&(this._mixinBehavior(n),t.unshift(n))}return t},_flattenBehaviorsList:function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n instanceof Array?t=t.concat(this._flattenBehaviorsList(n)):n?t.push(n):this._warn(this._logf("_flattenBehaviorsList","behavior is null, check for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length&&(t=i[n]);n++)Polymer.Base._behaviorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattenedBehaviors:function(e){for(var t=0,i=e.length;t<i;t++)this._prepBehavior(e[t]);this._prepBehavior(this)},_doBehavior:function(e,t){for(var i=0;i<this.behaviors.length;i++)this._invokeBehavior(this.behaviors[i],e,t);this._invokeBehavior(this,e,t)},_invokeBehavior:function(e,t,i){var n=e[t];n&&n.apply(this,i||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshalBehavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegister:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attached:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExtendedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePrototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes[e];if(!t){var i=this.getNativePrototype(e);t=this.extend(Object.create(i),Polymer.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){return Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProperty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructor",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e){var t=document.createElement.apply(document,this._factoryArgs);return this.factoryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polymer.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPropertyInfo(e,this.properties);if(!t)for(var i=0;i<this.behaviors.length;i++)if(t=this._getPropertyInfo(e,this.behaviors[i].properties))return t;return t||Polymer.nob},_getPropertyInfo:function(e,t){var i=t&&t[e];return"function"==typeof i&&(i=t[e]={type:i}),i&&(i.defined=!0),i},_prepPropertyInfo:function(){this._propertyInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._propertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects)},_addPropertyInfo:function(e,t){var i,n;if(t)for(var r in t)i=e[r],n=t[r],("_"!==r[0]||n.readOnly)&&(e[r]?(i.type||(i.type=n.type),i.readOnly||(i.readOnly=n.readOnly)):e[r]={type:"function"==typeof n?n:n.type,readOnly:n.readOnly,attribute:Polymer.CaseMap.camelToDashCase(r)})}}),Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCamel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLowerCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggregatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedAttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,t){for(var i in t)if(!this.hasAttribute(i)&&"class"!==i){var n=t[i];this.serializeValueToAttribute(n,i,this)}},_marshalAttributes:function(){this._takeAttributesToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(var t in this._propertyInfo){var i=this._propertyInfo[t];this.hasAttribute(i.attribute)&&this._setAttributeToProperty(e,i.attribute,t,i)}},_setAttributeToProperty:function(e,t,i,n){if(!this._serializing&&(i=i||Polymer.CaseMap.dashToCamelCase(t),(n=n||this._propertyInfo&&this._propertyInfo[i])&&!n.readOnly)){var r=this.getAttribute(t);e[i]=this.deserialize(r,n.type)}},_serializing:!1,reflectPropertyToAttribute:function(e,t,i){this._serializing=!0,i=void 0===i?this[e]:i,this.serializeValueToAttribute(i,t||Polymer.CaseMap.camelToDashCase(e)),this._serializing=!1},serializeValueToAttribute:function(e,t,i){var n=this.serialize(e);i=i||this,void 0===n?i.removeAttribute(t):i.setAttribute(t,n)},deserialize: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.parse(e)}catch(t){e=null}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){return""}default:return null!=e?e:void 0}}}),Polymer.version="master",Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this._marshalHostAttributes(),this._marshalBehaviors()}}),Polymer.Base._addFeature({_prepTemplate:function(){void 0===this._template&&(this._template=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer template must not be a type-extension, found",this._template,"Move inside simple <template>.")),this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_stampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._template))},instanceTemplate:function(e){return document.importNode(e._content||e.content,!0)}}),function(){var e=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this.dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._clients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_beginHosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clients=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:function(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeClientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clientsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_readyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var t,i=0,n=e.length;i<n&&(t=e[i]);i++)t._ready();this._finishDistribute()},_readySelf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&(this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attachedPending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,i){return{index:e,removed:t,addedCount:i}}function t(){}return t.prototype={calcEditDistances:function(e,t,i,n,r,o){for(var s=o-r+1,a=i-t+1,A=new Array(s),l=0;l<s;l++)A[l]=new Array(a),A[l][0]=l;for(var h=0;h<a;h++)A[0][h]=h;for(l=1;l<s;l++)for(h=1;h<a;h++)if(this.equals(e[t+h-1],n[r+l-1]))A[l][h]=A[l-1][h-1];else{var c=A[l-1][h]+1,u=A[l][h-1]+1;A[l][h]=c<u?c:u}return A},spliceOperationsFromEditDistances:function(e){for(var t=e.length-1,i=e[0].length-1,n=e[t][i],r=[];t>0||i>0;)if(0!=t)if(0!=i){var o,s=e[t-1][i-1],a=e[t-1][i],A=e[t][i-1];(o=a<A?a<s?a:s:A<s?A:s)==s?(s==n?r.push(0):(r.push(1),n=s),t--,i--):o==a?(r.push(3),t--,n=a):(r.push(2),i--,n=A)}else r.push(3),t--;else r.push(2),i--;return r.reverse(),r},calcSplices:function(t,i,n,r,o,s){var a=0,A=0,l=Math.min(n-i,s-o);if(0==i&&0==o&&(a=this.sharedPrefix(t,r,l)),n==t.length&&s==r.length&&(A=this.sharedSuffix(t,r,l-a)),o+=a,s-=A,(n-=A)-(i+=a)==0&&s-o==0)return[];if(i==n){for(var h=e(i,[],0);o<s;)h.removed.push(r[o++]);return[h]}if(o==s)return[e(i,[],n-i)];var c=this.spliceOperationsFromEditDistances(this.calcEditDistances(t,i,n,r,o,s));h=void 0;for(var u=[],d=i,f=o,p=0;p<c.length;p++)switch(c[p]){case 0:h&&(u.push(h),h=void 0),d++,f++;break;case 1:h||(h=e(d,[],0)),h.addedCount++,d++,h.removed.push(r[f]),f++;break;case 2:h||(h=e(d,[],0)),h.addedCount++,d++;break;case 3:h||(h=e(d,[],0)),h.removed.push(r[f]),f++}return h&&u.push(h),u},sharedPrefix:function(e,t,i){for(var n=0;n<i;n++)if(!this.equals(e[n],t[n]))return n;return i},sharedSuffix:function(e,t,i){for(var n=e.length,r=t.length,o=0;o<i&&this.equals(e[--n],t[--r]);)o++;return o},calculateSplices:function(e,t){return this.calcSplices(e,0,e.length,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHTML=function(){var e=/[&\u00A0"]/g,t=/[&\u00A0<>]/g;function i(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function n(t){return t.replace(e,i)}function r(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=!0;return t}var o=r(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),s=r(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function a(e,r,a){switch(e.nodeType){case Node.ELEMENT_NODE:for(var l,h=e.localName,c="<"+h,u=e.attributes,d=0;l=u[d];d++)c+=" "+l.name+'="'+n(l.value)+'"';return c+=">",o[h]?c:c+A(e,a)+"</"+h+">";case Node.TEXT_NODE:var f=e.data;return r&&s[r.localName]?f:f.replace(t,i);case Node.COMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw new Error("not implemented")}}function A(e,t){e instanceof HTMLTemplateElement&&(e=e.content);for(var i,n="",r=Polymer.dom(e).childNodes,o=0,s=r.length;o<s&&(i=r[o]);o++)n+=a(i,e,t);return n}return{getInnerHTML:A}}(),function(){"use strict";var e=Element.prototype.insertBefore,t=Element.prototype.appendChild,i=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[],i=0,n=e.firstChild;n;n=n.nextSibling)t[i++]=n;return t},arrayCopyChildren:function(e){for(var t=[],i=0,n=e.firstElementChild;n;n=n.nextElementSibling)t[i++]=n;return t},arrayCopy:function(e){for(var t=e.length,i=new Array(t),n=0;n<t;n++)i[n]=e[n];return i}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Boolean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e.__dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChildNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!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},getParentNode: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.firstChild?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstElementChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChild(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:function(e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElementSibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChildNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.firstChild=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var 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.previousSibling=t.previousSibling}},recordInsertBefore:function(e,t,i){if(t.__dom.childNodes=null,e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var n=e.firstChild;n;n=n.nextSibling)this._linkNode(n,t,i);else this._linkNode(e,t,i)},_linkNode:function(e,t,i){e.__dom=e.__dom||{},t.__dom=t.__dom||{},i&&(i.__dom=i.__dom||{}),e.__dom.previousSibling=i?i.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e.__dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=i,e.__dom.nextSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,i?i===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firstChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:function(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 i=e.__dom.previousSibling,n=e.__dom.nextSibling;i&&(i.__dom.nextSibling=n),n&&(n.__dom.previousSibling=i),e.__dom.parentNode=e.__dom.previousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeApi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNodes(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e){e.textContent=""},insertBefore:function(t,i,n){return e.call(t,i,n||null)},appendChild:function(e,i){return t.call(e,i)},removeChild:function(e,t){return i.call(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=function(e){this.node=n?i.wrap(e):e},n=e.hasShadow&&!e.nativeShadow;i.wrap=window.wrap?window.wrap:function(e){return e},i.prototype={flush:function(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))return!0;for(var t=e,i=e.ownerDocument;t&&t!==i&&t!==this.node;)t=Polymer.dom(t).parentNode||t.host;return t===this.node},queryDistributedElements:function(e){for(var t,n=this.getEffectiveChildNodes(),r=[],o=0,s=n.length;o<s&&(t=n[o]);o++)t.nodeType===Node.ELEMENT_NODE&&i.matchesSelector.call(t,e)&&r.push(t);return r},getEffectiveChildNodes:function(){for(var e,t=[],i=this.childNodes,n=0,s=i.length;n<s&&(e=i[n]);n++)if(e.localName===r)for(var a=o(e).getDistributedNodes(),A=0;A<a.length;A++)t.push(a[A]);else t.push(e);return t},observeNodes:function(e){if(e)return this.observer||(this.observer=this.node.localName===r?new i.DistributedNodesObserver(this):new i.EffectiveNodesObserver(this)),this.observer.addListener(e)},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},notifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e,i,n){i=i||this.node;var r=[];return this._queryElements(t.Logical.getChildNodes(i),e,n,r),r},_queryElements:function(e,t,i,n){for(var r,o=0,s=e.length;o<s&&(r=e[o]);o++)if(r.nodeType===Node.ELEMENT_NODE&&this._queryElement(r,t,i,n))return!0},_queryElement:function(e,i,n,r){var o=i(e);if(o&&r.push(e),n&&n(o))return o;this._queryElements(t.Logical.getChildNodes(e),i,n,r)}};var r=i.CONTENT="content",o=i.factory=function(e){return(e=e||document).__domApi||(e.__domApi=new i.ctor(e)),e.__domApi};i.hasApi=function(e){return Boolean(e.__domApi)},i.ctor=i,Polymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):i.factory(e,t)};var s=Element.prototype;return i.matchesSelector=s.matches||s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector,i}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.DomApi,i=t.factory,n=Polymer.TreeApi,r=Polymer.domInnerHTML.getInnerHTML,o=t.CONTENT;if(!e.useShadow){var s=Element.prototype.cloneNode,a=Document.prototype.importNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoot&&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,r){if(r&&n.Logical.getParentNode(r)!==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=n.Logical.getParentNode(e);s?(t.hasApi(s)&&i(s).notifyObserver(),this._removeNode(e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,r)){r&&(r=r.localName===o?this._firstComposedNode(r):r);var a=this.node._isShadyRoot?this.node.host:this.node;r?n.Composed.insertBefore(a,e,r):n.Composed.appendChild(a,e)}return this.notifyObserver(),e},_addNode:function(e,t){var i=this.getOwnerRoot();if(i){var r=this._maybeAddInsertionPoint(e,this.node);i._invalidInsertionPoints||(i._invalidInsertionPoints=r),this._addNodeToHost(i.host,e)}n.Logical.hasChildNodes(this.node)&&n.Logical.recordInsertBefore(e,this.node,t);var o=this._maybeDistribute(e)||this.node.shadyRoot;if(o)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firstChild;)n.Composed.removeChild(e,e.firstChild);else{var s=n.Composed.getParentNode(e);s&&n.Composed.removeChild(s,e)}return o},removeChild:function(e){if(n.Logical.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;t===n.Composed.getParentNode(e)&&n.Composed.removeChild(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,r=n.Logical.hasParentNode(e)&&n.Logical.getParentNode(e),o=this._ownerShadyRootForNode(e);return r&&(t=i(e)._maybeDistributeParent(),n.Logical.recordRemoveChild(e,r),o&&this._removeDistributedChildren(o,e)&&(o._invalidInsertionPoints=!0,this._lazyDistribute(o.host))),this._removeOwnerShadyRoot(e),o&&this._removeNodeFromHost(o.host,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChild(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoot)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_ownerShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e._isShadyRoot)t=e;else{var i=n.Logical.getParentNode(e);t=i?i._isShadyRoot?i:this._ownerShadyRootForNode(i):null}(t||document.documentElement.contains(e))&&(e._ownerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&i(e).querySelector(o),r=t&&n.Logical.getParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,s=t||e.localName===o;if(s){var a=this.getOwnerRoot();a&&this._lazyDistribute(a.host)}var A=this._nodeNeedsDistribution(this.node);return A&&this._lazyDistribute(this.node),A||s&&!r},_maybeAddInsertionPoint:function(e,t){var r;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||e.__noContent)e.localName===o&&(n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(e),r=!0);else for(var s,a,A,l=i(e).querySelectorAll(o),h=0;h<l.length&&(s=l[h]);h++)(a=n.Logical.getParentNode(s))===e&&(a=t),A=this._maybeAddInsertionPoint(s,a),r=r||A;return r},_updateInsertionPoints:function(e){for(var t,r=e.shadyRoot._insertionPoints=i(e.shadyRoot).querySelectorAll(o),s=0;s<r.length;s++)t=r[s],n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(n.Logical.getParentNode(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertionPoint(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)},_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_removeDistributedChildren:function(e,t){for(var r,o=e._insertionPoints,s=0;s<o.length;s++){var a=o[s];if(this._contains(t,a))for(var A=i(a).getDistributedNodes(),l=0;l<A.length;l++){r=!0;var h=A[l],c=n.Composed.getParentNode(h);c&&n.Composed.removeChild(c,h)}}return r},_contains:function(e,t){for(;t;){if(t==e)return!0;t=n.Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedOwnerRoot(e))for(var t,i=n.Logical.getChildNodes(e),r=0,o=i.length;r<o&&(t=i[r]);r++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:function(e){for(var t,n,r=i(e).getDistributedNodes(),o=0,s=r.length;o<s&&(t=r[o]);o++)if((n=i(t).getDestinationInsertionPoints())[n.length-1]===e)return t},querySelector:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node,function(e){return Boolean(e)})[0]||null},querySelectorAll:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node)},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[]},getDistributedNodes:function(){return this.node._distributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChild(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),this._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribute(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNode),!0},cloneNode:function(e){var t=s.call(this.node,!1);if(e)for(var n,r=this.childNodes,o=i(t),a=0;a<r.length;a++)n=i(r[a]).cloneNode(!0),o.appendChild(n);return t},importNode:function(e,t){var r=this.node instanceof Document?this.node:this.node.ownerDocument,o=a.call(r,e,!1);if(t)for(var s,A=n.Logical.getChildNodes(e),l=i(o),h=0;h<A.length;h++)s=i(r).importNode(A[h],!0),l.appendChild(s);return o},_getComposedInnerHTML:function(){return r(this.node,!0)}}),Object.defineProperties(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 n=i(e).getOwnerRoot();n&&n!==this.node;)e=n.host,n=i(e).getOwnerRoot();return this.node===document?n?null:e:n===this.node?e:null},configurable:!0},childNodes:{get:function(){var e=n.Logical.getChildNodes(this.node);return Array.isArray(e)?e:n.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return n.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNodes,function(e){return e.nodeType===Node.ELEMENT_NODE}):n.arrayCopyChildren(this.node)},configurable:!0},parentNode:{get:function(){return n.Logical.getParentNode(this.node)},configurable:!0},firstChild:{get:function(){return n.Logical.getFirstChild(this.node)},configurable:!0},lastChild:{get:function(){return n.Logical.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return n.Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:function(){return n.Logical.getPreviousSibling(this.node)},configurable:!0},firstElementChild:{get:function(){return n.Logical.getFirstElementChild(this.node)},configurable:!0},lastElementChild:{get:function(){return n.Logical.getLastElementChild(this.node)},configurable:!0},nextElementSibling:{get:function(){return n.Logical.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get:function(){return n.Logical.getPreviousElementSibling(this.node)},configurable:!0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||e===Node.COMMENT_NODE)return this.node.textContent;for(var t,i=[],n=0,r=this.childNodes;t=r[n];n++)t.nodeType!==Node.COMMENT_NODE&&i.push(t.textContent);return i.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(document.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.node.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:r(this.node)},set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT_NODE){this._clear();var i=document.createElement("div");i.innerHTML=e;for(var r=n.arrayCopyChildNodes(i),o=0;o<r.length;o++)this.appendChild(r[o])}},configurable:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.length)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=Polymer.DomApi;if(e.useShadow){Polymer.Base.extend(i.prototype,{querySelectorAll:function(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:function(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host)return e;e=e.parentNode}},importNode:function(e,t){return(this.node instanceof Document?this.node:this.node.ownerDocument).importNode(e,t)},getDestinationInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistributedNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedNodes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(i.prototype,{activeElement:{get:function(){var e=i.wrap(this.node),t=e.activeElement;return e.contains(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopyChildren(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 n=function(e){i.prototype[e]=function(){return this.node[e].apply(this.node,arguments)}};!function(e){for(var t=0;t<e.length;t++)n(e[t])}(["cloneNode","appendChild","insertBefore","removeChild","replaceChild","setAttribute","removeAttribute","querySelector"]);var r=function(e){Object.defineProperty(i.prototype,e,{get:function(){return this.node[e]},configurable:!0})};!function(e){for(var t=0;t<e.length;t++)r(e[t])}(["parentNode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.Base.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._debouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;)this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebouncer.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard,this._FLUSH_MAX},_prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for(var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStaticFlush: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(){Polymer.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;return e.Event=function(e){this.event=e},t.useShadow?e.Event.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){return 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(){return this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&Polymer.dom(e).getOwnerRoot(),i=this.path,n=0;n<i.length;n++)if(Polymer.dom(i[n]).getOwnerRoot()===t)return i[n]},get path(){if(!this.event._path){for(var e=[],t=this.rootTarget;t;){e.push(t);var i=Polymer.dom(t).getDestinationInsertionPoints();if(i.length){for(var n=0;n<i.length-1;n++)e.push(i[n]);t=i[i.length-1]}else t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return this.event._path}},{factory:function(t){return t.__eventApi||(t.__eventApi=new e.Event(t)),t.__eventApi}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"classList",{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._distributeParent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments),this._distributeParent()},_distributeParent:function(){t||this.domApi._maybeDistributeParent()},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver.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._listeners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isSetup=!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.Debounce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDebouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleNotify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_beforeCallListeners:function(){this._updateContentElements()},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes)},_observeContentElements:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.has(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeContent:function(e){var t=this,i=Polymer.dom(e).observeNodes(function(){t._scheduleNotify()});return i._avoidChangeCalculation=!0,i},_unobserveContentElements:function(e){for(var t,i,n=0;n<e.length&&(t=e[n]);n++)this._isContent(t)&&(i=t.__observeNodesMap.get(this))&&(Polymer.dom(t).unobserveNodes(i),t.__observeNodesMap.delete(this))},_isContent:function(e){return"content"===e.localName},_callListeners:function(){for(var e,t=this._listeners,i=this._getEffectiveNodes(),n=0;n<t.length&&(e=t[n]);n++){var r=this._generateListenerInfo(e,i);(r||e._alwaysNotify)&&this._callListener(e,r)}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculation)return!0;for(var i,n=e._nodes,r={target:this.node,addedNodes:[],removedNodes:[]},o=Polymer.ArraySplice.calculateSplices(t,n),s=0;s<o.length&&(i=o[s]);s++)for(var a,A=0;A<i.removed.length&&(a=i.removed[A]);A++)r.removedNodes.push(a);for(s=0;s<o.length&&(i=o[s]);s++)for(A=i.index;A<i.index+i.addedCount;A++)r.addedNodes.push(t[A]);return e._nodes=t,r.addedNodes.length||r.removedNodes.length?r:void 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAttributeTracking:function(){}},t.useShadow){var i=e.EffectiveNodesObserver.prototype._setup,n=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._observer=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(this.node,{childList:!0})}i.call(this)},_cleanup:function(){this._observer.disconnect(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlush(this._boundFlush),n.call(this)},_flush:function(){this._observer&&this._mutationHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.disconnect(),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&&Polymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwaysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)(e=this._listeners[t])._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.EffectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.create(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.host;if(t){var i=this;this._observer=Polymer.dom(t).observeNodes(function(){i._scheduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Polymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:function(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserveNodes(this._observer),this._observer=null}})}(),function(){var e=Polymer.DomApi,t=Polymer.TreeApi;function i(e,t){t._distributedNodes.push(e);var i=e._destinationInsertionPoints;i?i.push(t):e._destinationInsertionPoints=[t]}function n(e){var t=e._distributedNodes;if(t)for(var i=0;i<t.length;i++){var n=t[i]._destinationInsertionPoints;n&&n.splice(n.indexOf(e)+1,n.length)}}function r(e,t){var i=t._destinationInsertionPoints;return i&&i[i.length-1]===e}function o(e){return"content"==e.localName}function s(e){for(var i,n=t.Logical.getChildNodes(e),r=0;r<n.length;r++)if((i=n[r]).localName&&"content"===i.localName)return e.domHost}Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){this.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=null),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(){this._useContent&&t.Logical.saveChildNodes(this)},_setupRoot:function(){this._useContent&&(this._createLocalRoot(),this.dataHost||function(e){if(a&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}(t.Logical.getChildNodes(this)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._distributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];t.Logical.saveChildNodes(this.shadyRoot);for(var i,n=0;n<e.length;n++)i=e[n],t.Logical.saveChildNodes(i),t.Logical.saveChildNodes(i.parentNode);this.shadyRoot.host=this},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distributeContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||e;var t=function(e){for(;e&&s(e);)e=e.domHost;return e}(this);Polymer.dom(this)._lazyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoot._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this)._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_beginDistribute:function(){this._useContent&&e.hasInsertionPoint(this.shadyRoot)&&(this._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool()))},_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,i=0,n=t.length;i<n&&(e=t[i]);i++)e._distributeContent();this.shadyRoot._dirtyRoots=[]},_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributionClean=!0,e.hasInsertionPoint(this.shadyRoot))this._composeTree(),function(t){for(var i,n=0;n<t._insertionPoints.length;n++)i=t._insertionPoints[n],e.hasApi(i)&&Polymer.dom(i).notifyObserver()}(this.shadyRoot);else if(this.shadyRoot._hasDistributed){var i=this._composeNode(this);this._updateChildNodes(this,i)}else t.Composed.clearChildNodes(this),this.appendChild(this.shadyRoot);this.shadyRoot._hasDistributed||e.hasApi(this)&&Polymer.dom(this).notifyObserver(),this.shadyRoot._hasDistributed=!0}},elementMatches:function(t,i){return i=i||this,e.matchesSelector.call(i,t)},_resetDistribution:function(){for(var e=t.Logical.getChildNodes(this),i=0;i<e.length;i++){var r=e[i];r._destinationInsertionPoints&&(r._destinationInsertionPoints=void 0),o(r)&&n(r)}for(var s=this.shadyRoot._insertionPoints,a=0;a<s.length;a++)s[a]._distributedNodes=[]},_collectPool:function(){for(var e=[],i=t.Logical.getChildNodes(this),n=0;n<i.length;n++){var r=i[n];o(r)?e.push.apply(e,r._distributedNodes):e.push(r)}return e},_distributePool:function(i,n){for(var r,o=i._insertionPoints,s=0,a=o.length;s<a&&(r=o[s]);s++)this._distributeInsertionPoint(r,n),A=r,l=void 0,(l=t.Logical.getParentNode(A))&&l.shadyRoot&&e.hasInsertionPoint(l.shadyRoot)&&l.shadyRoot._distributionClean&&(l.shadyRoot._distributionClean=!1,this.shadyRoot._dirtyRoots.push(l));var A,l},_distributeInsertionPoint:function(e,n){for(var r,o=!1,s=0,a=n.length;s<a;s++)(r=n[s])&&this._matchesContentSelect(r,e)&&(i(r,e),n[s]=void 0,o=!0);if(!o)for(var A=t.Logical.getChildNodes(e),l=0;l<A.length;l++)i(A[l],e)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));for(var e,i,n=this.shadyRoot._insertionPoints,r=0,o=n.length;r<o&&(e=n[r]);r++)(i=t.Logical.getParentNode(e))._useContent||i===this||i===this.shadyRoot||this._updateChildNodes(i,this._composeNode(i))},_composeNode:function(e){for(var i=[],n=t.Logical.getChildNodes(e.shadyRoot||e),s=0;s<n.length;s++){var a=n[s];if(o(a))for(var A=a._distributedNodes,l=0;l<A.length;l++){var h=A[l];r(a,h)&&i.push(h)}else i.push(a)}return i},_updateChildNodes:function(e,i){for(var n=t.Composed.getChildNodes(e),r=Polymer.ArraySplice.calculateSplices(i,n),o=0,s=0;o<r.length&&(l=r[o]);o++){for(var a,A=0;A<l.removed.length&&(a=l.removed[A]);A++)t.Composed.getParentNode(a)===e&&t.Composed.removeChild(e,a),n.splice(l.index+s,1);s-=l.addedCount}var l,h;for(o=0;o<r.length&&(l=r[o]);o++)for(h=n[l.index],A=l.index;A<l.index+l.addedCount;A++)a=i[A],t.Composed.insertBefore(e,a,h),n.splice(A,0,a)},_matchesContentSelect:function(e,t){var i=t.getAttribute("select");return!i||!(i=i.trim())||e instanceof Element&&!!/^(:not\()?[*.#[a-zA-Z_|]/.test(i)&&this.elementMatches(i,e)},_elementAdd:function(){},_elementRemove:function(){}});var a=window.CustomElements&&!CustomElements.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root=this.shadowRoot}}),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),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;this._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.length,t=0;t<e;t++){var i=this._callbacks[t];if(i)try{i()}catch(e){throw t++,this._callbacks.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,{characterData:!0}),Polymer.Debounce=function(){var e=Polymer.Async,t=function(e){this.context=e;var t=this;this.boundComplete=function(){t.complete()}};return t.prototype={go:function(t,i){var n;this.finish=function(){e.cancel(n)},n=e.run(this.boundComplete,i),this.callback=t},stop:function(){this.finish&&(this.finish(),this.finish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.callback;this.stop(),e.call(this.context)}}},function(e,i,n){return e?e.stop():e=new t(this),e.go(i,n),e}}(),Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={}},debounce:function(e,t,i){return this._debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,i)},isDebouncerActive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebouncer:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:function(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createElement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),this._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._marshalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}}),Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],i=e._content||e.content;return this._parseNodeAnnotations(i,t,e.hasAttribute("strip-whitespace")),t},_parseNodeAnnotations:function(e,t,i){return e.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t,i)},_bindingRegex:new RegExp("(\\[\\[|{{)\\s*(?:(!)\\s*)?((?:[a-zA-Z_$][\\w.:$\\-*]*)\\s*(?:\\(\\s*(?:(?:(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*)(?:,\\s*(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*))*)?)\\)\\s*)?)(?:]]|}})","g"),_parseBindings:function(e){for(var t,i=this._bindingRegex,n=[],r=0;null!==(t=i.exec(e));){t.index>r&&n.push({literal:e.slice(r,t.index)});var o,s,a,A=t[1][0],l=Boolean(t[2]),h=t[3].trim();"{"==A&&(a=h.indexOf("::"))>0&&(s=h.substring(a+2),h=h.substring(0,a),o=!0),n.push({compoundIndex:n.length,value:h,mode:A,negate:l,event:s,customEvent:o}),r=i.lastIndex}if(r&&r<e.length){var c=e.substring(r);c&&n.push({literal:c})}if(n.length)return n},_literalFromParts:function(e){for(var t="",i=0;i<e.length;i++)t+=e[i].literal||"";return t},_parseTextNodeAnnotation:function(e,t){var i=this._parseBindings(e.textContent);if(i){e.textContent=this._literalFromParts(i)||" ";var n={bindings:[{kind:"text",name:"textContent",parts:i,isCompound:1!==i.length}]};return t.push(n),n}},_parseElementAnnotations:function(e,t,i){var n={bindings:[],events:[]};return"content"===e.localName&&(t._hasContent=!0),this._parseChildNodesAnnotations(e,n,t,i),e.attributes&&(this._parseNodeAttributeAnnotations(e,n,t),this.prepElement&&this.prepElement(e)),(n.bindings.length||n.events.length||n.id)&&t.push(n),n},_parseChildNodesAnnotations:function(e,t,i,n){if(e.firstChild)for(var r=e.firstChild,o=0;r;){var s=r.nextSibling;if("template"!==r.localName||r.hasAttribute("preserve-content")||this._parseTemplate(r,o,i,t),r.nodeType===Node.TEXT_NODE){for(var a=s;a&&a.nodeType===Node.TEXT_NODE;)r.textContent+=a.textContent,s=a.nextSibling,e.removeChild(a),a=s;n&&!r.textContent.trim()&&(e.removeChild(r),o--)}if(r.parentNode){var A=this._parseNodeAnnotations(r,i,n);A&&(A.parent=t,A.index=o)}r=s,o++}},_parseTemplate:function(e,t,i,n){var r=document.createDocumentFragment();r._notes=this.parseAnnotations(e),r.appendChild(e.content),i.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:r,parent:n,index:t})},_parseNodeAttributeAnnotations:function(e,t){for(var i,n=Array.prototype.slice.call(e.attributes),r=n.length-1;i=n[r];r--){var o,s=i.name,a=i.value;"on-"===s.slice(0,3)?(e.removeAttribute(s),t.events.push({name:s.slice(3),value:a})):(o=this._parseNodeAttributeAnnotation(e,s,a))?t.bindings.push(o):"id"===s&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,t,i){var n=this._parseBindings(i);if(n){var r=t,o="property";"$"==t[t.length-1]&&(t=t.slice(0,-1),o="attribute");var s=this._literalFromParts(n);s&&"attribute"==o&&e.setAttribute(t,s),"input"===e.localName&&"value"===r&&e.setAttribute(r,""),e.removeAttribute(r);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"===o&&(t=a),{kind:o,name:t,propertyName:a,parts:n,literal:s,isCompound:1!==n.length}}},findAnnotatedNode:function(e,t){var i=t.parent&&Polymer.Annotations.findAnnotatedNode(e,t.parent);if(!i)return e;for(var n=i.firstChild,r=0;n;n=n.nextSibling)if(t.index===r++)return n}},function(){function e(e,i){return e.replace(r,function(e,n,r,o){return n+"'"+t(r.replace(/["']/g,""),i)+"'"+o})}function t(e,t){if(e&&"#"===e[0])return e;var i=function(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a"))}(t);return i.href=e,i.href||e}var i,n,r=/(url\()([^)]*)(\))/g,o={"*":["href","src","style","url"],form:["action"]},s=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:e,resolveAttrs:function(i,n){for(var r in o)for(var a,A,l,h=o[r],c=0,u=h.length;c<u&&(a=h[c]);c++)"*"!==r&&i.localName!==r||(l=(A=i.attributes[a])&&A.value)&&l.search(s)<0&&(A.value="style"===a?e(l,n):t(l,n))},resolveUrl:function(e,r){return i||(i=document.implementation.createHTMLDocument("temp"),n=i.createElement("base"),i.head.appendChild(n)),n.href=r,t(e,i)}}}(),Polymer.Base._addFeature({_prepAnnotations:function(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t){e._prepElement(t)},this._template._content&&this._template._content._notes?this._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAnnotations(this._template),this._processAnnotations(this._notes)),Polymer.Annotations.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(var t=0;t<e.length;t++){for(var i=e[t],n=0;n<i.bindings.length;n++)for(var r=i.bindings[n],o=0;o<r.parts.length;o++){var s=r.parts[o];if(!s.literal){var a=this._parseMethod(s.value);a?s.signature=a:s.model=this._modelForPath(s.value)}}if(i.templateContent){this._processAnnotations(i.templateContent._notes);var A=i.templateContent._parentProps=this._discoverTemplateParentProps(i.templateContent._notes),l=[];for(var h in A){var c="_parent_"+h;l.push({index:i.index,kind:"property",name:c,propertyName:c,parts:[{mode:"{",model:h,value:h}]})}i.bindings=i.bindings.concat(l)}}},_discoverTemplateParentProps:function(e){for(var t,i={},n=0;n<e.length&&(t=e[n]);n++){for(var r,o=0,s=t.bindings;o<s.length&&(r=s[o]);o++)for(var a,A=0,l=r.parts;A<l.length&&(a=l[A]);A++)if(a.signature){for(var h=a.signature.args,c=0;c<h.length;c++){var u=h[c].model;u&&(i[u]=!0)}a.signature.dynamicFn&&(i[a.signature.method]=!0)}else a.model&&(i[a.model]=!0);if(t.templateContent){var d=t.templateContent._parentProps;Polymer.Base.mixin(i,d)}}return i},_prepElement:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedNodes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:function(){for(var e=this._notes,t=this._nodes,i=0;i<e.length;i++){var n=e[i],r=t[i];this._configureTemplateContent(n,r),this._configureCompoundBindings(n,r)}},_configureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateContent)},_configureCompoundBindings:function(e,t){for(var i=e.bindings,n=0;n<i.length;n++){var r=i[n];if(r.isCompound){for(var o=t.__compoundStorage__||(t.__compoundStorage__={}),s=r.parts,a=new Array(s.length),A=0;A<s.length;A++)a[A]=s[A].literal;var l=r.name;o[l]=a,r.literal&&"property"==r.kind&&(t._configValue?t._configValue(l,r.literal):t[l]=r.literal)}}},_marshalIdNodes:function(){this.$={};for(var e,t=0,i=this._notes.length;t<i&&(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._nodes=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,i=this._notes.length;t<i&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var n,r=this._findAnnotatedNode(this.root,e),o=0,s=e.events;o<s.length&&(n=s[o]);o++)this.listen(r,n.name,n.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:function(e){var t,i,n;for(n in e)n.indexOf(".")<0?(t=this,i=n):(i=n.split("."),t=this.$[i[0]],i=i[1]),this.listen(t,i,e[n])},listen:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n||(n=this._createEventHandler(e,t,i)),n._listening||(this._listen(e,t,n),n._listening=!0)},_boundListenerKey:function(e,t){return e+":"+t},_recordEventHandler:function(e,t,i,n,r){var o=e.__boundListeners;o||(o=e.__boundListeners=new WeakMap);var s=o.get(i);s||(s={},o.set(i,s)),s[this._boundListenerKey(t,n)]=r},_recallEventHandler:function(e,t,i,n){var r=e.__boundListeners;if(r){var o=r.get(i);if(o)return o[this._boundListenerKey(t,n)]}},_createEventHandler:function(e,t,i){var n=this,r=function(e){n[i]?n[i](e,e.detail):n._warn(n._logf("_createEventHandler","listener method `"+i+"` not defined"))};return r._listening=!1,this._recordEventHandler(n,t,e,i,r),r},unlisten:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n&&(this._unlisten(e,t,n),n._listening=!1)},_listen:function(e,t,i){e.addEventListener(t,i)},_unlisten:function(e,t,i){e.removeEventListener(t,i)}}),function(){"use strict";var e=Polymer.DomApi.wrap,t="string"==typeof document.head.style.touchAction,i="__polymerGesturesHandled",n="__polymerGesturesTouchAction",r=["mousedown","mousemove","mouseup","click"],o=[0,1,4,2],s=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),a=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),A=function(e){if(e[i]={skip:!0},"click"===e.type){for(var t=Polymer.dom(e).path,n=0;n<t.length;n++)if(t[n]===c.mouse.target)return;e.preventDefault(),e.stopPropagation()}};function l(e){for(var t,i=0;i<r.length;i++)t=r[i],e?document.addEventListener(t,A,!0):document.removeEventListener(t,A,!0)}function h(e){var t=e.type;if(-1===r.indexOf(t))return!1;if("mousemove"===t){var i=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!s&&(i=o[e.which]||0),Boolean(1&i)}return 0===(void 0===e.button?0:e.button)}var c={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function u(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function d(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var f={gestures:{},recognizers:[],deepTargetFind:function(e,t){for(var i=document.elementFromPoint(e,t),n=i;n&&n.shadowRoot;)(n=n.shadowRoot.elementFromPoint(e,t))&&(i=n);return i},findOriginalTarget:function(e){return e.path?e.path[0]:e.target},handleNative:function(n){var r,o=n.type,s=e(n.currentTarget).__polymerGestures;if(s){var A=s[o];if(A){if(!n[i]&&(n[i]={},"touch"===o.slice(0,5))){var h=n.changedTouches[0];if("touchstart"===o&&1===n.touches.length&&(c.touch.id=h.identifier),c.touch.id!==h.identifier)return;t||"touchstart"!==o&&"touchmove"!==o||f.handleTouchAction(n),"touchend"===o&&(c.mouse.target=Polymer.dom(n).rootTarget,a||(c.mouse.mouseIgnoreJob||l(!0),c.mouse.mouseIgnoreJob=Polymer.Debounce(c.mouse.mouseIgnoreJob,function(){l(),c.mouse.target=null,c.mouse.mouseIgnoreJob=null},2500)))}if(!(r=n[i]).skip){for(var u,d=f.recognizers,p=0;p<d.length;p++)A[(u=d[p]).name]&&!r[u.name]&&u.flow&&u.flow.start.indexOf(n.type)>-1&&u.reset&&u.reset();for(p=0;p<d.length;p++)A[(u=d[p]).name]&&!r[u.name]&&(r[u.name]=!0,u[o](n))}}}},handleTouchAction:function(e){var t=e.changedTouches[0],i=e.type;if("touchstart"===i)c.touch.x=t.clientX,c.touch.y=t.clientY,c.touch.scrollDecided=!1;else if("touchmove"===i){if(c.touch.scrollDecided)return;c.touch.scrollDecided=!0;var r=function(e){for(var t,i=Polymer.dom(e).path,r="auto",o=0;o<i.length;o++)if((t=i[o])[n]){r=t[n];break}return r}(e),o=!1,s=Math.abs(c.touch.x-t.clientX),a=Math.abs(c.touch.y-t.clientY);e.cancelable&&("none"===r?o=!0:"pan-x"===r?o=a>s:"pan-y"===r&&(o=s>a)),o?e.preventDefault():f.prevent("track")}},add:function(t,i,n){t=e(t);var o=this.gestures[i],s=o.deps,A=o.name,l=t.__polymerGestures;l||(t.__polymerGestures=l={});for(var h,c,u=0;u<s.length;u++)h=s[u],a&&r.indexOf(h)>-1||((c=l[h])||(l[h]=c={_count:0}),0===c._count&&t.addEventListener(h,this.handleNative),c[A]=(c[A]||0)+1,c._count=(c._count||0)+1);t.addEventListener(i,n),o.touchAction&&this.setTouchAction(t,o.touchAction)},remove:function(t,i,n){t=e(t);var r=this.gestures[i],o=r.deps,s=r.name,a=t.__polymerGestures;if(a)for(var A,l,h=0;h<o.length;h++)(l=a[A=o[h]])&&l[s]&&(l[s]=(l[s]||1)-1,l._count=(l._count||1)-1,0===l._count&&t.removeEventListener(A,this.handleNative));t.removeEventListener(i,n)},register:function(e){this.recognizers.push(e);for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByEvent:function(e){for(var t,i=0;i<this.recognizers.length;i++){t=this.recognizers[i];for(var n=0;n<t.emits.length;n++)if(t.emits[n]===e)return t}return null},setTouchAction:function(e,i){t&&(e.style.touchAction=i),e[n]=i},fire:function(e,t,i){if(Polymer.Base.fire(t,i,{node:e,bubbles:!0,cancelable:!0}).defaultPrevented){var n=i.sourceEvent;n&&n.preventDefault&&n.preventDefault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info.prevent=!0)},resetMouseCanceller:function(){c.mouse.mouseIgnoreJob&&c.mouse.mouseIgnoreJob.complete()}};f.register({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){d(this.info)},mousedown:function(e){if(h(e)){var t=f.findOriginalTarget(e),i=this;u(this.info,function(e){h(e)||(i.fire("up",t,e),d(i.info))},function(e){h(e)&&i.fire("up",t,e),d(i.info)}),this.fire("down",t,e)}},touchstart:function(e){this.fire("down",f.findOriginalTarget(e),e.changedTouches[0])},touchend:function(e){this.fire("up",f.findOriginalTarget(e),e.changedTouches[0])},fire:function(e,t,i){f.fire(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,prevent:function(e){return f.prevent(e)}})}}),f.register({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>2&&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,d(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var i=Math.abs(this.info.x-e),n=Math.abs(this.info.y-t);return i>=5||n>=5},mousedown:function(e){if(h(e)){var t=f.findOriginalTarget(e),i=this,n=function(e){var n=e.clientX,r=e.clientY;i.hasMovedEnough(n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&f.prevent("tap"),i.info.addMove({x:n,y:r}),h(e)||(i.info.state="end",d(i.info)),i.fire(t,e),i.info.started=!0)};u(this.info,n,function(e){i.info.started&&n(e),d(i.info)}),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:function(e){var t=f.findOriginalTarget(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;this.hasMovedEnough(n,r)&&("start"===this.info.state&&f.prevent("tap"),this.info.addMove({x:n,y:r}),this.fire(t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=f.findOriginalTarget(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),this.fire(t,i))},fire:function(e,t){var i,n=this.info.moves[this.info.moves.length-2],r=this.info.moves[this.info.moves.length-1],o=r.x-this.info.x,s=r.y-this.info.y,a=0;return n&&(i=r.x-n.x,a=r.y-n.y),f.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:s,ddx:i,ddy:a,sourceEvent:t,hover:function(){return f.deepTargetFind(t.clientX,t.clientY)}})}}),f.register({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.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){h(e)&&this.save(e)},click:function(e){h(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0])},touchend:function(e){this.forward(e.changedTouches[0])},forward:function(e){var t=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),n=f.findOriginalTarget(e);(isNaN(t)||isNaN(i)||t<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=f.findOriginalTarget(e).getBoundingClientRect(),i=e.pageX,n=e.pageY;return!(i>=t.left&&i<=t.right&&n>=t.top&&n<=t.bottom)}return!1}(e))&&(this.info.prevent||f.fire(n,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e}))}});var p={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null},_listen:function(e,t,i){f.gestures[t]?f.add(e,t,i):e.addEventListener(t,i)},_unlisten:function(e,t,i){f.gestures[t]?f.remove(e,t,i):e.removeEventListener(t,i)},setScrollDirection:function(e,t){t=t||this,f.setTouchAction(t,p[e]||"auto")}}),Polymer.Gestures=f}(),Polymer.Base._addFeature({$$:function(e){return Polymer.dom(this.root).querySelector(e)},toggleClass:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.classList.contains(e)),t?Polymer.dom(i).classList.add(e):Polymer.dom(i).classList.remove(e)},toggleAttribute:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.hasAttribute(e)),t?Polymer.dom(i).setAttribute(e,""):Polymer.dom(i).removeAttribute(e)},classFollows:function(e,t,i){i&&Polymer.dom(i).classList.remove(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,i){i&&Polymer.dom(i).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},getEffectiveChildren:function(){return Polymer.dom(this).getEffectiveChildNodes().filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveTextContent:function(){for(var e,t=this.getEffectiveChildNodes(),i=[],n=0;e=t[n];n++)e.nodeType!==Node.COMMENT_NODE&&i.push(Polymer.dom(e).textContent);return i.join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistributedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Polymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){var t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).getDistributedNodes():[]},getContentChildren:function(e){return this.getContentChildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:function(e,t,i){var n=(i=i||Polymer.nob).node||this;t=null===t||void 0===t?{}:t;var r=void 0===i.bubbles||i.bubbles,o=Boolean(i.cancelable),s=i._useCache,a=this._getEvent(e,r,o,s);return a.detail=t,s&&(this.__eventCache[e]=null),n.dispatchEvent(a),s&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,i,n){var r=n&&this.__eventCache[e];return r&&r.bubbles==t&&r.cancelable==i||(r=new Event(e,{bubbles:Boolean(t),cancelable:i})),r},async:function(e,t){var i=this;return Polymer.Async.run(function(){e.call(i)},t)},cancelAsync:function(e){Polymer.Async.cancel(e)},arrayDelete:function(e,t){var i;if(Array.isArray(e)){if((i=e.indexOf(t))>=0)return e.splice(i,1)}else if((i=this._get(e).indexOf(t))>=0)return this.splice(e,i,1)},transform:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e},translate3d:function(e,t,i,n){n=n||this,this.transform("translate3d("+e+","+t+","+i+")",n)},importHref:function(e,t,i,n){var r=document.createElement("link");r.rel="import",r.href=e,(n=Boolean(n))&&r.setAttribute("async","");var o=this;return t&&(r.onload=function(e){return t.call(o,e)}),i&&(r.onerror=function(e){return i.call(o,e)}),document.head.appendChild(r),r},create:function(e,t){var i=document.createElement(e);if(t)for(var n in t)i[n]=t[n];return i},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function(e){return this.root===Polymer.dom(e).getOwnerRoot()}}),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin(e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,i){i=void 0===i?this[e]:i,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:i},{bubbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,i,n){var r=this.__data__[e];return r===t||r!=r&&t!=t||(this.__data__[e]=t,"object"==typeof t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,r),i&&this._effectEffects(e,t,i,r,n)),r},__setProperty:function(e,t,i,n){var r=(n=n||this)._propertyEffects&&n._propertyEffects[e];r?n._propertySetter(e,t,r,i):n[e]=t},_effectEffects:function(e,t,i,n,r){for(var o,s=0,a=i.length;s<a&&(o=i[s]);s++)o.fn.call(this,e,t,o.effect,n,r)},_clearPath:function(e){for(var t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensurePropertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var i=e._propertyEffects[t];return i||(i=e._propertyEffects[t]=[]),i},addPropertyEffect:function(e,t,i,n){var r=this.ensurePropertyEffects(e,t),o={kind:i,effect:n,fn:Polymer.Bind["_"+i+"Effect"]};return r.push(o),o},createBindings:function(e){var t=e._propertyEffects;if(t)for(var i in t){var n=t[i];n.sort(this._sortPropertyEffects),this._createAccessors(e,i,n)}},_sortPropertyEffects:function(){var e={compute:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObserver:6,function:7};return function(t,i){return e[t.kind]-e[i.kind]}}(),_createAccessors:function(e,t,i){var n={get:function(){return this.__data__[t]}},r=function(e){this._propertySetter(t,e,i)},o=e.getPropertyInfo&&e.getPropertyInfo(t);o&&o.readOnly?o.computed||(e["_set"+this.upper(t)]=r):n.set=r,Object.defineProperty(e,t,n)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnotatedListener:function(e,t,i,n,r,o){e._bindListeners||(e._bindListeners=[]);var s=this._notedListenerFactory(i,n,this._isStructured(n),o),a=r||Polymer.CaseMap.camelToDashCase(i)+"-changed";e._bindListeners.push({index:t,property:i,path:n,changedFn:s,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBogus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e,t,i,n){return function(r,o,s){s?this._notifyPath(this._fixPath(t,e,s),o):(o=r[e],n&&(o=!o),i?this.__data__[t]!=o&&this.set(t,o):this[t]=o)}},prepareInstance:function(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var t,i=e._bindListeners,n=0,r=i.length;n<r&&(t=i[n]);n++){var o=e._nodes[t.index];this._addNotifyListener(o,e,t.event,t.changedFn)}},_addNotifyListener:function(e,t,i,n){e.addEventListener(i,function(e){return t._notifyListener(n,e)})}},Polymer.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attribute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotationEffect:function(e,t,i){e!=i.value&&(t=this._get(i.value),this.__data__[i.value]=t),this._applyEffectValue(i,t)},_reflectEffect:function(e,t,i){this.reflectPropertyToAttribute(e,i.attribute,t)},_notifyEffect:function(e,t,i,n,r){r||this._notifyChange(e,i.event,t)},_functionEffect:function(e,t,i,n,r){i.call(this,e,t,n,r)},_observerEffect:function(e,t,i,n){var r=this[i.method];r?r.call(this,t,n):this._warn(this._logf("_observerEffect","observer method `"+i.method+"` not defined"))},_complexObserverEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);r&&n.apply(this,r)}else i.dynamicFn||this._warn(this._logf("_complexObserverEffect","observer method `"+i.method+"` not defined"))},_computeEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(r){var o=n.apply(this,r);this.__setProperty(i.name,o)}}else i.dynamicFn||this._warn(this._logf("_computeEffect","compute method `"+i.method+"` not defined"))},_annotatedComputationEffect:function(e,t,i){var n=this._rootDataHost||this,r=n[i.method];if(r){var o=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(o){var s=r.apply(n,o);this._applyEffectValue(i,s)}}else i.dynamicFn||n._warn(n._logf("_annotatedComputationEffect","compute method `"+i.method+"` not defined"))},_marshalArgs:function(e,t,i,n){for(var r=[],o=t.args,s=o.length>1||t.dynamicFn,a=0,A=o.length;a<A;a++){var l,h=o[a],c=h.name;if(h.literal?l=h.value:i===c?l=n:void 0===(l=e[c])&&h.structured&&(l=Polymer.Base._get(c,e)),s&&void 0===l)return;if(h.wildcard){var u=0===i.indexOf(c+".");r[a]={path:u?i:c,value:u?n:l,base:l}}else r[a]=l}return r}}),Polymer.Base._addFeature({_addPropertyEffect:function(e,t,i){var n=Polymer.Bind.addPropertyEffect(this,e,t,i);n.pathFn=this["_"+n.kind+"PathEffect"]},_prepEffects:function(){Polymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBindings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function(e){if(e)for(var t in e){var i=e[t];if(i.observer&&this._addObserverEffect(t,i.observer),i.computed&&(i.readOnly=!0,this._addComputedEffect(t,i.computed)),i.notify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t)+"-changed"}),i.reflectToAttribute){var n=Polymer.CaseMap.camelToDashCase(t);"-"===n[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be reflected to attribute "+n+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.')):this._addPropertyEffect(t,"reflect",{attribute:n})}i.readOnly&&Polymer.Bind.ensurePropertyEffects(this,t)}},_addComputedEffect:function(e,t){for(var i,n=this._parseMethod(t),r=n.dynamicFn,o=0;o<n.args.length&&(i=n.args[o]);o++)this._addPropertyEffect(i.model,"compute",{method:n.method,args:n.args,trigger:i,name:e,dynamicFn:r});r&&this._addPropertyEffect(n.method,"compute",{method:n.method,args:n.args,trigger:null,name:e,dynamicFn:r})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"observer",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(var t,i=0;i<e.length&&(t=e[i]);i++)this._addComplexObserverEffect(t)},_addComplexObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Malformed observer expression '"+e+"'");for(var i,n=t.dynamicFn,r=0;r<t.args.length&&(i=t.args[r]);r++)this._addPropertyEffect(i.model,"complexObserver",{method:t.method,args:t.args,trigger:i,dynamicFn:n});n&&this._addPropertyEffect(t.method,"complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:n})},_addAnnotationEffects:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)for(var n,r=t.bindings,o=0;o<r.length&&(n=r[o]);o++)this._addAnnotationEffect(n,i)},_addAnnotationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addAnnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].negate);for(var i=0;i<e.parts.length;i++){var n=e.parts[i];n.signature?this._addAnnotatedComputationEffect(e,n,t):n.literal||("attribute"===e.kind&&"-"===e.name[0]?this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' because "-" is not a valid attribute starting character')):this._addPropertyEffect(n.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyName,value:n.value,isCompound:e.isCompound,compoundIndex:n.compoundIndex,event:n.event,customEvent:n.customEvent,negate:n.negate}))}},_addAnnotatedComputationEffect:function(e,t,i){var n=t.signature;if(n.static)this.__addAnnotatedComputationEffect("__static__",i,e,t,null);else{for(var r,o=0;o<n.args.length&&(r=n.args[o]);o++)r.literal||this.__addAnnotatedComputationEffect(r.model,i,e,t,r);n.dynamicFn&&this.__addAnnotatedComputationEffect(n.method,i,e,t,null)}},__addAnnotatedComputationEffect:function(e,t,i,n,r){this._addPropertyEffect(e,"annotatedComputation",{index:t,isCompound:i.isCompound,compoundIndex:n.compoundIndex,kind:i.kind,name:i.name,negate:n.negate,method:n.signature.method,args:n.signature.args,trigger:r,dynamicFn:n.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/([^\s]+?)\(([\s\S]*)\)/);if(t){var i={method:t[1],static:!0};if(this.getPropertyInfo(i.method)!==Polymer.nob&&(i.static=!1,i.dynamicFn=!0),t[2].trim()){var n=t[2].replace(/\\,/g,"&comma;").split(",");return this._parseArgs(n,i)}return i.args=Polymer.nar,i}},_parseArgs:function(e,t){return t.args=e.map(function(e){var i=this._parseArg(e);return i.literal||(t.static=!1),i},this),t},_parseArg:function(e){var t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),i={name:t},n=t[0];switch("-"===n&&(n=t[1]),n>="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.model=this._modelForPath(t),i.structured=t.indexOf(".")>0,i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindListeners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){var i=this._nodes[e.index],n=e.name;if(t=this._computeFinalAnnotationValue(i,n,t,e),!e.customEvent||i[n]!==t)if("attribute"==e.kind)this.serializeValueToAttribute(t,n,i);else{var r=i._propertyInfo&&i._propertyInfo[n];if(r&&r.readOnly)return;this.__setProperty(n,t,!1,i)}},_computeFinalAnnotationValue:function(e,t,i,n){if(n.negate&&(i=!i),n.isCompound){var r=e.__compoundStorage__[t];r[n.compoundIndex]=i,i=r.join("")}return"attribute"!==n.kind&&("className"===t&&(i=this._scopeElementClass(e,i)),("textContent"===t||"input"==e.localName&&"value"==t)&&(i=void 0==i?"":i)),i},_executeStaticEffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this._effectEffects("__static__",null,this._propertyEffects.__static__)}}),function(){var e=Polymer.Settings.usePolyfillProto;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._config[t]=e[t])},_marshalAttributes:function(){this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){var t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_configValue:function(e,t){var i=this._propertyInfo[e];i&&i.readOnly||(this._config[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function(){this._configureAnnotationReferences(),this._aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.length;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureProperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this._clients&&this._clients.length&&this._distributeConfig(this._config)},_configureProperties:function(t,i){for(var n in t){var r=t[n];if(!e&&this.hasOwnProperty(n)&&this._propertyEffects&&this._propertyEffects[n])i[n]=this[n],delete this[n];else if(void 0!==r.value){var o=r.value;"function"==typeof o&&(o=o.call(this,this._config)),i[n]=o}}},_distributeConfig:function(e){var t=this._propertyEffects;if(t)for(var i in e){var n=t[i];if(n)for(var r,o=0,s=n.length;o<s&&(r=n[o]);o++)if("annotation"===r.kind){var a=this._nodes[r.effect.index],A=r.effect.propertyName,l="attribute"==r.effect.kind,h=a._propertyEffects&&a._propertyEffects[A];if(a._configValue&&(h||!l)){var c=i===r.effect.value?e[i]:this._get(r.effect.value,e);c=this._computeFinalAnnotationValue(a,A,c,r.effect),l&&(c=a.deserialize(this.serialize(c),a._propertyInfo[A].type)),a._configValue(A,c)}}}},_afterClientsReady:function(){this._executeStaticEffects(),this._applyConfig(this._config,this._aboveConfig),this._flushHandlers()},_applyConfig:function(e,t){for(var i in e)void 0===this[i]&&this.__setProperty(i,e[i],i in t)},_notifyListener:function(e,t){if(!Polymer.Bind._isEventBogus(t,t.target)){var i,n;if(t.detail&&(i=t.detail.value,n=t.detail.path),this._clientsReadied)return e.call(this,t.target,i,n);this._queueHandler([e,t.target,i,n])}},_queueHandler:function(e){this._handlers.push(e)},_flushHandlers:function(){for(var e,t=this._handlers,i=0,n=t.length;i<n&&(e=t[i]);i++)e[0].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Polymer.Base._addFeature({notifyPath:function(e,t,i){var n={},r=this._get(e,this,n);1===arguments.length&&(t=r),n.path&&this._notifyPath(n.path,t,i)},_notifyPath:function(e,t,i){var n=this._propertySetter(e,t);if(n!==t&&(n==n||t==t))return this._pathEffector(e,t),i||this._notifyPathUp(e,t),!0},_getPathParts:function(e){if(Array.isArray(e)){for(var t=[],i=0;i<e.length;i++)for(var n=e[i].toString().split("."),r=0;r<n.length;r++)t.push(n[r]);return t}return e.toString().split(".")},set:function(e,t,i){var n,r=i||this,o=this._getPathParts(e),s=o[o.length-1];if(o.length>1){for(var a=0;a<o.length-1;a++){var A=o[a];if(n&&"#"==A[0]?r=Polymer.Collection.get(n).getItem(A):(r=r[A],n&&parseInt(A,10)==A&&(o[a]=Polymer.Collection.get(n).getKey(r))),!r)return;n=Array.isArray(r)?r:null}if(n){var l,h,c=Polymer.Collection.get(n);"#"==s[0]?(h=s,l=c.getItem(h),s=n.indexOf(l),c.setItem(h,t)):parseInt(s,10)==s&&(l=r[s],h=c.getKey(l),o[a]=h,c.setItem(h,t))}r[s]=t,i||this._notifyPath(o.join("."),t)}else r[e]=t},get:function(e,t){return this._get(e,t)},_get:function(e,t,i){for(var n,r=t||this,o=this._getPathParts(e),s=0;s<o.length;s++){if(!r)return;var a=o[s];n&&"#"==a[0]?r=Polymer.Collection.get(n).getItem(a):(r=r[a],i&&n&&parseInt(a,10)==a&&(o[s]=Polymer.Collection.get(n).getKey(r))),n=Array.isArray(r)?r:null}return i&&(i.path=o.join(".")),r},_pathEffector:function(e,t){var i=this._modelForPath(e),n=this._propertyEffects&&this._propertyEffects[i];if(n)for(var r,o=0;o<n.length&&(r=n[o]);o++){var s=r.pathFn;s&&s.call(this,e,t,r.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEffect:function(e,t,i){if(i.value===e||0===i.value.indexOf(e+"."))Polymer.Bind._annotationEffect.call(this,e,t,i);else if(0===e.indexOf(i.value+".")&&!i.negate){var n=this._nodes[i.index];if(n&&n._notifyPath){var r=this._fixPath(i.name,i.value,e);n._notifyPath(r,t,!0)}}},_complexObserverPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._complexObserverEffect.call(this,e,t,i)},_computePathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._computeEffect.call(this,e,t,i)},_annotatedComputationPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,i)},_pathMatchesEffect:function(e,t){var i=t.trigger.name;return i==e||0===i.indexOf(e+".")||t.trigger.wildcard&&0===e.indexOf(i)},linkPaths:function(e,t){this._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)},unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyBoundPaths:function(e,t){for(var i in this._boundPaths){var n=this._boundPaths[i];0==e.indexOf(i+".")?this._notifyPath(this._fixPath(n,i,e),t):0==e.indexOf(n+".")&&this._notifyPath(this._fixPath(i,n,e),t)}},_fixPath:function(e,t,i){return e+i.slice(t.length)},_notifyPathUp:function(e,t){var i=this._modelForPath(e),n=Polymer.CaseMap.camelToDashCase(i)+this._EVENT_CHANGED;this.fire(n,{path:e,value:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t){var i={},n=this._get(e,this,i);this._notifySplices(n,i.path,t)},_notifySplices:function(e,t,i){var n={keySplices:Polymer.Collection.applySplices(e,i),indexSplices:i},r=t+".splices";this._notifyPath(r,n),this._notifyPath(t+".length",e.length),this.__data__[r]={keySplices:null,indexSplices:null}},_notifySplice:function(e,t,i,n,r){this._notifySplices(e,t,[{index:i,addedCount:n,removed:r,object:e,type:"splice"}])},push:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.length,o=i.push.apply(i,n);return n.length&&this._notifySplice(i,t.path,r,n.length,[]),o},pop:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.pop.apply(i,r);return n&&this._notifySplice(i,t.path,i.length,0,[o]),o},splice:function(e,t){var i={},n=this._get(e,this,i);(t=t<0?n.length-Math.floor(-t):Math.floor(t))||(t=0);var r=Array.prototype.slice.call(arguments,1),o=n.splice.apply(n,r),s=Math.max(r.length-2,0);return(s||o.length)&&this._notifySplice(n,i.path,t,s,o),o},shift:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.shift.apply(i,r);return n&&this._notifySplice(i,t.path,0,0,[o]),o},unshift:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.unshift.apply(i,n);return n.length&&this._notifySplice(i,t.path,0,n.length,[]),r},prepareModelNotifyPath:function(e){this.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Polymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolveUrl:function(e){var t=Polymer.DomModule.import(this.is),i="";if(t){var n=t.getAttribute("assetpath")||"";i=Polymer.ResolveUrl.resolveUrl(n,t.ownerDocument.baseURI)}return Polymer.ResolveUrl.resolveUrl(e,i)}}),Polymer.CssParse={parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"")},_lex:function(e){for(var t={start:0,end:e.length},i=t,n=0,r=e.length;n<r;n++)switch(e[n]){case this.OPEN_BRACE:i.rules||(i.rules=[]);var o=i;i={start:n+1,parent:o,previous:o.rules[o.rules.length-1]},o.rules.push(i);break;case this.CLOSE_BRACE:i.end=n+1,i=i.parent||t}return t},_parseCss:function(e,t){var i=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=i.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;i=t.substring(n,e.start-1),i=(i=(i=this._expandUnicodeEscapes(i)).replace(this._rx.multipleSpaces," ")).substring(i.lastIndexOf(";")+1);var r=e.parsedSelector=e.selector=i.trim();e.atRule=0===r.indexOf(this.AT_START),e.atRule?0===r.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA_RULE:r.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(this._rx.multipleSpaces).pop()):0===r.indexOf(this.VAR_START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var o=e.rules;if(o)for(var s,a=0,A=o.length;a<A&&(s=o[a]);a++)this._parseCss(s,t);return e},_expandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:function(e,t,i){i=i||"";var n="";if(e.cssText||e.rules){var r=e.rules;if(!r||!t&&this._hasMixinRules(r))(n=(n=t?e.cssText:this.removeCustomProps(e.cssText)).trim())&&(n="  "+n+"\n");else for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)n=this.stringify(o,t,n)}return n&&(e.selector&&(i+=e.selector+" "+this.OPEN_BRACE+"\n"),i+=n,e.selector&&(i+=this.CLOSE_BRACE+"\n\n")),i},_hasMixinRules:function(e){return 0===e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=this.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPropAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._rx.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mixinApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE: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/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"},Polymer.StyleUtil={MODULE_STYLES_SELECTOR:"style, link[rel=import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t,i){return"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.parser.stringify(e,i)},forRulesInStyles:function(e,t,i){if(e)for(var n,r=0,o=e.length;r<o&&(n=e[r]);r++)this.forEachRule(this.rulesForStyle(n),t,i)},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},forEachRule:function(e,t,i){if(e){var n=!1;e.type===this.ruleTypes.STYLE_RULE?t(e):i&&e.type===this.ruleTypes.KEYFRAMES_RULE?i(e):e.type===this.ruleTypes.MIXIN_RULE&&(n=!0);var r=e.rules;if(r&&!n)for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)this.forEachRule(o,t,i)}},applyCss:function(e,t,i,n){var r=this.createScopeStyle(e,t);i=i||document.head;var o=n&&n.nextSibling||i.firstChild;return this.__lastHeadApplyNode=r,i.insertBefore(r,o)},createScopeStyle:function(e,t){var i=document.createElement("style");return t&&i.setAttribute("scope",t),i.textContent=e,i},__lastHeadApplyNode:null,applyStylePlaceHolder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),i=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,n=document.head;return n.insertBefore(t,i||n.firstChild),this.__lastHeadApplyNode=t,t},cssFromModules:function(e,t){for(var i=e.trim().split(" "),n="",r=0;r<i.length;r++)n+=this.cssFromModule(i[r],t);return n},cssFromModule:function(e,t){var i=Polymer.DomModule.import(e);return i&&!i._cssText&&(i._cssText=this.cssFromElement(i)),i&&i._cssText||""},cssFromElement:function(e){for(var t,i="",n=e.content||e,r=Polymer.TreeApi.arrayCopy(n.querySelectorAll(this.MODULE_STYLES_SELECTOR)),o=0;o<r.length;o++)if("template"===(t=r[o]).localName)i+=this.cssFromElement(t);else if("style"===t.localName){var s=t.getAttribute(this.INCLUDE_ATTR);s&&(i+=this.cssFromModules(s,!0)),(t=t.__appliedElement||t).parentNode.removeChild(t),i+=this.resolveCss(t.textContent,e.ownerDocument)}else t.import&&t.import.body&&(i+=this.resolveCss(t.import.body.textContent,t.import));return i},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types},Polymer.StyleTransformer=function(){var e=Polymer.Settings.useNativeShadow,t=Polymer.StyleUtil,i={dom:function(e,t,i,n){this._transformDom(e,t||"",i,n)},_transformDom:function(e,t,i,n){e.setAttribute&&this.element(e,t,i,n);for(var r=Polymer.dom(e).childNodes,o=0;o<r.length;o++)this._transformDom(r[o],t,i,n)},element:function(e,t,i,r){if(i)r?e.removeAttribute(n):e.setAttribute(n,t);else if(t)if(e.classList)r?(e.classList.remove(n),e.classList.remove(t)):(e.classList.add(n),e.classList.add(t));else if(e.getAttribute){var o=e.getAttribute(y);r?o&&e.setAttribute(y,o.replace(n,"").replace(t,"")):e.setAttribute(y,(o?o+" ":"")+n+" "+t)}},elementStyles:function(i,n){for(var r,o=i._styles,s="",a=0,A=o.length;a<A&&(r=o[a]);a++){var l=t.rulesForStyle(r);s+=e?t.toCssText(l,n):this.css(l,i.is,i.extends,n,i._scopeCssViaAttr)+"\n\n"}return s.trim()},css:function(e,i,n,r,o){var s=this._calcHostScope(i,n);i=this._calcElementScope(i,o);var a=this;return t.toCssText(e,function(e){e.isScoped||(a.rule(e,i,s),e.isScoped=!0),r&&r(e,i,s)})},_calcElementScope:function(e,t){return e?t?p+e+_:f+e:""},_calcHostScope:function(e,t){return t?"[is="+e+"]":e},rule:function(e,t,i){this._transformRule(e,this._transformComplexSelector,t,i)},_transformRule:function(e,i,n,r){var s=e.selector.split(o);if(!t.isKeyframesSelector(e))for(var a,A=0,l=s.length;A<l&&(a=s[A]);A++)s[A]=i.call(this,a,n,r);e.selector=e.transformedSelector=s.join(o)},_transformComplexSelector:function(e,t,i){var n=!1,r=!1,A=this;return e=(e=e.replace(g,a+" $1")).replace(s,function(e,o,s){if(n)s=s.replace(d," ");else{var a=A._transformCompoundSelector(s,o,t,i);n=n||a.stop,r=r||a.hostContext,o=a.combinator,s=a.value}return o+s}),r&&(e=e.replace(c,function(e,t,n,r){return t+n+" "+i+r+o+" "+t+i+n+r})),e},_transformCompoundSelector:function(e,t,i,n){var r,o=e.search(d),s=!1;return e.indexOf(h)>=0?s=!0:e.indexOf(a)>=0?e=(e=e.replace(l,function(e,t,i){return n+i})).replace(a,n):0!==o&&(e=i?this._transformSimpleSelector(e,i):e),e.indexOf(u)>=0&&(t=""),o>=0&&(e=e.replace(d," "),r=!0),{value:e,combinator:t,stop:r,hostContext:s}},_transformSimpleSelector:function(e,t){var i=e.split(m);return i[0]+=t,i.join(m)},documentRule:function(t){t.selector=t.parsedSelector,this.normalizeRootSelector(t),e||this._transformRule(t,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.selector===A&&(e.selector="body")},_transformDocumentSelector:function(e){return e.match(d)?this._transformComplexSelector(e,r):this._transformSimpleSelector(e.trim(),r)},SCOPE_NAME:"style-scope"},n=i.SCOPE_NAME,r=":not(["+n+"]):not(."+n+")",o=",",s=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=":host",A=":root",l=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g,h=":host-context",c=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,u="::content",d=/::content|::shadow|\/deep\//,f=".",p="["+n+"~=",_="]",m=":",y="class",g=new RegExp("^("+u+")");return i}(),Polymer.StyleExtends=function(){var e=Polymer.StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))},transform:function(t){var i=e.rulesForStyle(t),n=this;return e.forEachRule(i,function(e){if(n._mapRuleOntoParent(e),e.parent)for(var t;t=n.rx.EXTEND.exec(e.cssText);){var i=t[1],r=n._findExtendor(i,e);r&&n._extendRule(e,r)}e.cssText=e.cssText.replace(n.rx.EXTEND,"")}),e.toCssText(i,function(e){e.selector.match(n.rx.STRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var t=e.parent.map||(e.parent.map={}),i=e.selector.split(","),n=0;n<i.length;n++)t[i[n].trim()]=e;return t}},_findExtendor:function(e,t){return t.parent&&t.parent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule: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.rx.STRIP,""),t.selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t){(e=Object.create(e)).parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),function(){var e=Polymer.Base._prepElement,t=Polymer.Settings.useNativeShadow,i=Polymer.StyleUtil,n=Polymer.StyleTransformer,r=Polymer.StyleExtends;Polymer.Base._addFeature({_prepElement:function(t){this._encapsulateStyle&&n.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function(){t||(this._scopeStyle=i.applyStylePlaceHolder(this.is))},_prepShimStyles:function(){if(this._template){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),this._styles=this._collectStyles();var e=n.elementStyles(this);this._prepStyleProperties(),!this._needsStyleProperties()&&this._styles.length&&i.applyCss(e,this.is,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectStyles:function(){var e=[],t="",n=this.styleModules;if(n)for(var o,s=0,a=n.length;s<a&&(o=n[s]);s++)t+=i.cssFromModule(o);t+=i.cssFromModule(this.is);var A=this._template&&this._template.parentNode;if(!this._template||A&&A.id.toLowerCase()===this.is||(t+=i.cssFromElement(this._template)),t){var l=document.createElement("style");l.textContent=t,r.hasExtends(l.textContent)&&(t=r.transform(l)),e.push(l)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.__styleScoped=!1:n.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:function(e){this._encapsulateStyle&&n.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSubtree:function(e,i){if(!t){var n=this,r=function(e){if(e.nodeType===Node.ELEMENT_NODE){var t=e.getAttribute("class");e.setAttribute("class",n._scopeElementClass(e,t));for(var i,r=e.querySelectorAll("*"),o=0;o<r.length&&(i=r[o]);o++)t=i.getAttribute("class"),i.setAttribute("class",n._scopeElementClass(i,t))}};if(r(e),i){var o=new MutationObserver(function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)if(t.addedNodes)for(var n=0;n<t.addedNodes.length;n++)r(t.addedNodes[n])});return o.observe(e,{childList:!0,subtree:!0}),o}}}})}(),Polymer.StyleProperties=function(){"use strict";var e=Polymer.Settings.useNativeShadow,t=Polymer.DomApi.matchesSelector,i=Polymer.StyleUtil,n=Polymer.StyleTransformer;return{decorateStyles:function(e){var t=this,n={},r=[];i.forRulesInStyles(e,function(e){t.decorateRule(e),t.collectPropertiesInCssText(e.propertyInfo.cssText,n)},function(e){r.push(e)}),e._keyframes=r;var o=[];for(var s in n)o.push(s);return o},decorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},i={};return this.collectProperties(e,i)&&(t.properties=i,e.rules=null),t.cssText=this.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var i=e.propertyInfo;if(!i){for(var n,r,o=this.rx.VAR_ASSIGN,s=e.parsedCssText;n=o.exec(s);)t[n[1]]=(n[2]||n[3]).trim(),r=!0;return r}if(i.properties)return Polymer.Base.mixin(t,i.properties),!0},collectCssText:function(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssText:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIGN,"")},collectPropertiesInCssText:function(e,t){for(var i;i=this.rx.VAR_CAPTURE.exec(e);){t[i[1]]=!0;var n=i[2];n&&n.match(this.rx.IS_VAR)&&(t[n]=!0)}},reify:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length;n++)e[t=i[n]]=this.valueForProperty(e[t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueForProperties(e,t);else{var i=this;e=e.replace(this.rx.VAR_MATCH,function(e,n,r,o){return n+(i.valueForProperty(t[r],t)||(t[o]?i.valueForProperty(t[o],t):o)||"")})}return e&&e.trim()||""},valueForProperties:function(e,t){for(var i,n,r=e.split(";"),o=0;o<r.length;o++)if(i=r[o]){if(n=i.match(this.rx.MIXIN_MATCH))i=this.valueForProperty(t[n[1]],t);else{var s=i.indexOf(":");if(-1!==s){var a=i.substring(s);a=a.trim(),a=this.valueForProperty(a,t)||a,i=i.substring(0,s)+a}}r[o]=i&&i.lastIndexOf(";")===i.length-1?i.slice(0,-1):i||""}return r.join(";")},applyProperties:function(e,t){var i="";e.propertyInfo||this.decorateRule(e),e.propertyInfo.cssText&&(i=this.valueForProperties(e.propertyInfo.cssText,t)),e.cssText=i},applyKeyframeTransforms:function(e,t){var i=e.cssText,n=e.cssText;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(i)),e.hasAnimations)if(null==e.keyframeNamesToTransform)for(var r in e.keyframeNamesToTransform=[],t)i!==(n=(0,t[r])(i))&&(i=n,e.keyframeNamesToTransform.push(r));else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)i=(0,t[e.keyframeNamesToTransform[o]])(i);n=i}e.cssText=n},propertyDataFromStyles:function(e,n){var r={},o=this,s=[],a=0;return i.forRulesInStyles(e,function(e){e.propertyInfo||o.decorateRule(e),n&&e.propertyInfo.properties&&t.call(n,e.transformedSelector||e.parsedSelector)&&(o.collectProperties(e,r),function(e,t){var i=parseInt(e/32),n=1<<e%32;t[i]=(t[i]||0)|n}(a,s)),a++}),{properties:r,key:s}},scopePropertiesFromStyles:function(e){return e._scopeStyleProperties||(e._scopeStyleProperties=this.selectedPropertiesFromStyles(e,this.SCOPE_SELECTORS)),e._scopeStyleProperties},hostPropertiesFromStyles:function(e){return e._hostStyleProperties||(e._hostStyleProperties=this.selectedPropertiesFromStyles(e,this.HOST_SELECTORS)),e._hostStyleProperties},selectedPropertiesFromStyles:function(e,t){var n={},r=this;return i.forRulesInStyles(e,function(e){e.propertyInfo||r.decorateRule(e);for(var i=0;i<t.length;i++)if(e.parsedSelector===t[i])return void r.collectProperties(e,n)}),n},transformStyles:function(t,i,r){var o=this,s=n._calcHostScope(t.is,t.extends),a=t.extends?"\\"+s.slice(0,-1)+"\\]":s,A=new RegExp(this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),l=this._elementKeyframeTransforms(t,r);return n.elementStyles(t,function(n){o.applyProperties(n,i),e||Polymer.StyleUtil.isKeyframesSelector(n)||!n.cssText||(o.applyKeyframeTransforms(n,l),o._scopeSelector(n,A,s,t._scopeCssViaAttr,r))})},_elementKeyframeTransforms:function(t,i){var n=t._styles._keyframes,r={};if(!e&&n)for(var o=0,s=n[o];o<n.length;s=n[++o])this._scopeKeyframes(s,i),r[s.keyframesName]=this._keyframesRuleTransformer(s);return r},_keyframesRuleTransformer:function(e){return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesName)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,"g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.transformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyframesName,e.transformedKeyframesName)},_scopeSelector:function(e,t,i,r,o){e.transformedSelector=e.transformedSelector||e.selector;for(var s,a=e.transformedSelector,A=r?"["+n.SCOPE_NAME+"~="+o+"]":"."+o,l=a.split(","),h=0,c=l.length;h<c&&(s=l[h]);h++)l[h]=s.match(t)?s.replace(i,A):A+" "+s;e.selector=l.join(",")},applyElementScopeSelector:function(e,t,i,r){var o=r?e.getAttribute(n.SCOPE_NAME):e.getAttribute("class")||"",s=i?o.replace(i,t):(o?o+" ":"")+this.XSCOPE_NAME+" "+t;o!==s&&(r?e.setAttribute(n.SCOPE_NAME,s):e.setAttribute("class",s))},applyElementStyle:function(t,n,r,o){var s=o?o.textContent||"":this.transformStyles(t,n,r),a=t._customStyle;return a&&!e&&a!==o&&(a._useCount--,a._useCount<=0&&a.parentNode&&a.parentNode.removeChild(a)),!e&&o&&o.parentNode||(e&&t._customStyle?(t._customStyle.textContent=s,o=t._customStyle):s&&(o=i.applyCss(s,r,e?t.root:null,t._scopeStyle))),o&&(o._useCount=o._useCount||0,t._customStyle!=o&&o._useCount++,t._customStyle=o),o},mixinCustomStyle:function(e,t){var i;for(var n in t)((i=t[n])||0===i)&&(e[n]=i)},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,VAR_MATCH:/(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)))[\s]*?\)/gi,VAR_CAPTURE:/\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:])",HOST_SUFFIX:"($|[.:[\\s>+~])"},HOST_SELECTORS:[":host"],SCOPE_SELECTORS:[":root"],XSCOPE_NAME:"x-scope"}}(),Polymer.StyleCache=function(){this.cache={}},Polymer.StyleCache.prototype={MAX:100,store:function(e,t,i,n){t.keyValues=i,t.styles=n;var r=this.cache[e]=this.cache[e]||[];r.push(t),r.length>this.MAX&&r.shift()},retrieve:function(e,t,i){var n=this.cache[e];if(n)for(var r,o=n.length-1;o>=0;o--)if(i===(r=n[o]).styles&&this._objectsEqual(t,r.keyValues))return r},clear:function(){this.cache={}},_objectsEqual:function(e,t){var i,n;for(var r in e)if(i=e[r],n=t[r],!("object"==typeof i&&i?this._objectsStrictlyEqual(i,n):i===n))return!1;return!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){return this._objectsEqual(e,t)&&this._objectsEqual(t,e)}},Polymer.StyleDefaults=function(){var e=Polymer.StyleProperties;return{_styles:[],_properties:null,customStyle:{},_styleCache:new(0,Polymer.StyleCache),addStyle:function(e){this._styles.push(e),this._properties=null},get _styleProperties(){return this._properties||(e.decorateStyles(this._styles),this._styles._scopeStyleProperties=null,this._properties=e.scopePropertiesFromStyles(this._styles),e.mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),this._properties},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties},updateStyles:function(e){this._properties=null,e&&Polymer.Base.mixin(this.customStyle,e),this._styleCache.clear();for(var t,i=0;i<this._styles.length;i++)(t=(t=this._styles[i]).__importElement||t)._apply()}}}(),function(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.StyleProperties,i=Polymer.StyleTransformer,n=Polymer.StyleDefaults,r=Polymer.Settings.useNativeShadow;Polymer.Base._addFeature({_prepStyleProperties:function(){this._ownStylePropertyNames=this._styles&&this._styles.length?t.decorateStyles(this._styles):null},customStyle:null,getComputedStyleValue:function(e){return this._styleProperties&&this._styleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStyleProperties:function(){this.customStyle={},this._styleCache=null,this._styleProperties=null,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=null},_needsStyleProperties:function(){return Boolean(this._ownStylePropertyNames&&this._ownStylePropertyNames.length)},_beforeAttached:function(){!this._scopeSelector&&this._needsStyleProperties()&&this._updateStyleProperties()},_findStyleHost:function(){for(var e,t=this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.host;t=e.host}return n},_updateStyleProperties:function(){var e,i=this._findStyleHost();i._styleCache||(i._styleCache=new Polymer.StyleCache);var n=t.propertyDataFromStyles(i._styles,this);n.key.customStyle=this.customStyle,e=i._styleCache.retrieve(this.is,n.key,this._styles);var s=Boolean(e);s?this._styleProperties=e._styleProperties:this._computeStyleProperties(n.properties),this._computeOwnStyleProperties(),s||(e=o.retrieve(this.is,this._ownStyleProperties,this._styles));var a=Boolean(e)&&!s,A=this._applyStyleProperties(e);s||(e={style:A=A&&r?A.cloneNode(!0):A,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties},n.key.customStyle={},this.mixin(n.key.customStyle,this.customStyle),i._styleCache.store(this.is,e,n.key,this._styles),a||o.store(this.is,Object.create(e),this._ownStyleProperties,this._styles))},_computeStyleProperties:function(e){var i=this._findStyleHost();i._styleProperties||i._computeStyleProperties();var n=Object.create(i._styleProperties);this.mixin(n,t.hostPropertiesFromStyles(this._styles)),e=e||t.propertyDataFromStyles(i._styles,this).properties,this.mixin(n,e),this.mixin(n,t.scopePropertiesFromStyles(this._styles)),t.mixinCustomStyle(n,this.customStyle),t.reify(n),this._styleProperties=n},_computeOwnStyleProperties:function(){for(var e,t={},i=0;i<this._ownStylePropertyNames.length;i++)t[e=this._ownStylePropertyNames[i]]=this._styleProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:function(e){var i=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:this.is+"-"+this.__proto__._scopeCount++;var n=t.applyElementStyle(this,this._styleProperties,this._scopeSelector,e&&e.style);return r||t.applyElementScopeSelector(this,this._scopeSelector,i,this._scopeCssViaAttr),n},serializeValueToAttribute:function(t,i,n){if(n=n||this,"class"===i&&!r){var o=n===this?this.domHost||this.dataHost:this;o&&(t=o._scopeElementClass(n,t))}n=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(n):n,e.call(this,t,i,n)},_scopeElementClass:function(e,t){return r||this._scopeCssViaAttr||(t=(t?t+" ":"")+s+" "+this.is+(e._scopeSelector?" "+a+" "+e._scopeSelector:"")),t},updateStyles:function(e){this.isAttached&&(e&&this.mixin(this.customStyle,e),this._needsStyleProperties()?this._updateStyleProperties():this._styleProperties=null,this._styleCache&&this._styleCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||this.root;for(var t,i=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shadowRoot}),n=0,r=i.length;n<r&&(t=i[n]);n++)t.updateStyles&&t.updateStyles()}}),Polymer.updateStyles=function(e){n.updateStyles(e),Polymer.Base._updateRootStyles(document)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var s=i.SCOPE_NAME,a=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeatures:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBindings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e.properties),this._addComplexObserverEffects(e.observers),this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupConfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady(),this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marshalAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_marshalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),function(){var e=Polymer.StyleProperties,t=Polymer.StyleUtil,i=Polymer.CssParse,n=Polymer.StyleDefaults,r=Polymer.StyleTransformer;Polymer({is:"custom-style",extends:"style",_template:null,properties:{include:String},ready:function(){this._tryApply()},attached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDocument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesToDocument=!0;var e=this.__appliedElement||this;if(n.addStyle(e),e.textContent||this.include)this._apply(!0);else{var t=this,i=new MutationObserver(function(){i.disconnect(),t._apply(!0)});i.observe(e,{childList:!0})}}},_apply:function(e){var i=this.__appliedElement||this;if(this.include&&(i.textContent=t.cssFromModules(this.include,!0)+i.textContent),i.textContent){t.forEachRule(t.rulesForStyle(i),function(e){r.documentRule(e)});var n=this,o=function(){n._applyCustomProperties(i)};this._pendingApplyProperties&&(cancelAnimationFrame(this._pendingApplyProperties),this._pendingApplyProperties=null),e?this._pendingApplyProperties=requestAnimationFrame(o):o()}},_applyCustomProperties:function(n){this._computeStyleProperties();var r=this._styleProperties,o=t.rulesForStyle(n);n.textContent=t.toCssText(o,function(t){var n=t.cssText=t.parsedCssText;t.propertyInfo&&t.propertyInfo.cssText&&(n=i.removeCustomPropAssignment(n),t.cssText=e.valueForProperties(n,r))})}})}(),Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer.nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content._ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create(Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyInfo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementClass=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=this._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=this.__setPropertyImpl;var i=this._constructorImpl,n=function(e,t){i.call(this,e,t)};n.prototype=t,t.constructor=n,e._content._ctor=n,this.ctor=n},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},_showHideChildrenImpl:function(e){for(var t=this._children,i=0;i<t.length;i++){var n=t[i];Boolean(e)!=Boolean(n.__hideTemplateChildren__)&&(n.nodeType===Node.TEXT_NODE?e?(n.__polymerTextContent__=n.textContent,n.textContent=""):n.textContent=n.__polymerTextContent__:n.style&&(e?(n.__polymerDisplay__=n.style.display,n.style.display="none"):n.style.display=n.__polymerDisplay__)),n.__hideTemplateChildren__=e}},__setPropertyImpl:function(e,t,i,n){n&&n.__hideTemplateChildren__&&"textContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,i,n)},_debounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTemplate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:function(e){var t=e._parentProps;for(var i in t)e._addPropertyEffect(i,"function",this._createHostPropEffector(i));for(i in this._instanceProps)e._addPropertyEffect(i,"function",this._createInstancePropEffector(i))},_customPrepAnnotations:function(e,t){e._template=t;var i=t._content;if(!i._notes){var n=e._rootDataHost;n&&(Polymer.Annotations.prepElement=function(){n._prepElement()}),i._notes=Polymer.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._processAnnotations(i._notes)}e._notes=i._notes,e._parentProps=i._parentProps},_prepParentProperties:function(e,t){var i=this._parentProps=e._parentProps;if(this._forwardParentProp&&i){var n,r=e._parentPropProto;if(!r){for(n in this._instanceProps)delete i[n];for(n in r=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.prepareModel(r),Polymer.Base.prepareModelNotifyPath(r)),i){var o=this._parentPropPrefix+n,s=[{kind:"function",effect:this._createForwardPropEffector(n),fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(o)+"-changed"}}];Polymer.Bind._createAccessors(r,o,s)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forwardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,r),t._pathEffector=function(e,t,i){return a._pathEffectorImpl(e,t,i)}}},_createForwardPropEffector:function(e){return function(t,i){this._forwardParentProp(e,i)}},_createHostPropEffector:function(e){var t=this._parentPropPrefix;return function(i,n){this.dataHost._templatized[t+e]=n}},_createInstancePropEffector:function(e){return function(t,i,n,r){r||this.dataHost._forwardInstanceProp(this,e,i)}},_extendTemplate:function(e,t){var i=Object.getOwnPropertyNames(t);t._propertySetter&&(e._propertySetter=t._propertySetter);for(var n,r=0;r<i.length&&(n=i[r]);r++){var o=e[n],s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s),void 0!==o&&e._propertySetter(n,o)}},_showHideChildren:function(e){},_forwardInstancePath:function(e,t,i){},_forwardInstanceProp:function(e,t,i){},_notifyPathUpImpl:function(e,t){var i=this.dataHost,n=e.indexOf("."),r=n<0?e:e.slice(0,n);i._forwardInstancePath.call(i,this,e,t),r in i._parentProps&&i._templatized._notifyPath(i._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,i){if(this._forwardParentPath&&0===e.indexOf(this._parentPropPrefix)){var n=e.substring(this._parentPropPrefix.length);this._modelForPath(n)in this._parentProps&&this._forwardParentPath(n,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,i)},_constructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupConfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTemplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.__styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalInstanceEffects(),this._marshalAnnotatedListeners();for(var i=[],n=this.root.firstChild;n;n=n.nextSibling)i.push(n),n._templateInstance=this;this._children=i,t.__hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImpl:function(e,t,i){var n=this,r=this._rootDataHost,o=r._createEventHandler(e,t,i);r._listen(e,t,function(e){e.model=n,o(e)})},_scopeElementClassImpl:function(e,t){var i=this._rootDataHost;return i?i._scopeElementClass(e,t):t},stamp:function(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var i in this._parentProps)void 0===e[i]&&(e[i]=t[this._parentPropPrefix+i])}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.parentNode}},Polymer({is:"dom-template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.Collection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.store=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},i=this.store,n=0;n<i.length;n++){var r=i[n];r&&"object"==typeof r?e.set(r,n):t[r]=n}},add:function(e){var t=this.store.push(e)-1;return e&&"object"==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 this.pmap[e]},remove:function(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var t;if(void 0!=(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e]))return"#"+t},getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e})},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t){if(e=this._parseKey(e)){var i=this.store[e];i&&this._removeFromMap(i),t&&"object"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:function(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],t=this.store;for(var i in t)e.push(t[i]);return e},_applySplices:function(e){for(var t,i,n={},r=0;r<e.length&&(i=e[r]);r++){i.addedKeys=[];for(var o=0;o<i.removed.length;o++)n[t=this.getKey(i.removed[o])]=n[t]?null:-1;for(o=0;o<i.addedCount;o++){var s=this.userArray[i.index+o];n[t=void 0===(t=this.getKey(s))?this.add(s):t]=n[t]?null:1,i.addedKeys.push(t)}}var a=[],A=[];for(t in n)n[t]<0&&(this.removeKey(t),a.push(t)),n[t]>0&&A.push(t);return[{removed:a,added:A}]}},Polymer.Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Collection(e)},Polymer.Collection.applySplices=function(e,t){var i=Polymer._collections.get(e);return i?i._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:Function,observer:"_sortChanged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,observer:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,readOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFrameTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChanged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=Infinity;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:function(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detachInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for(var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t++)this._attachInstance(t,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._getRootDataHost();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._filterFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:function(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&(this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChunkTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<this.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChunk:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._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._needFullRefresh=!0,this._initializeChunking(),this._debounceTemplate(this._render);else if("items.splices"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._indexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplate(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,i=0;i<t.length;i++)if(0===e.indexOf(t[i]))return this._needFullRefresh=!0,void(this.delay?this.debounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFullRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh():this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._indexSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--){var i=this._instances[t];i.isPlaceholder&&t<this._limit?i=this._insertInstance(t,i.__key__):!i.isPlaceholder&&t>=this._limit&&(i=this._downgradeInstance(t,i.__key__)),e[i.__key__]=t,i.isPlaceholder||i.__setProperty(this.indexAs,t,!0)}this._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("dom-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.collection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var i=this.items;if(i)for(var n=0;n<i.length;n++)e.push(t.getKey(i[n]))}var r=this;for(this._filterFn&&(e=e.filter(function(e){return r._filterFn(t.getItem(e))})),this._sortFn&&e.sort(function(e,i){return r._sortFn(t.getItem(e),t.getItem(i))}),n=0;n<e.length;n++){var o=e[n],s=this._instances[n];s?(s.__key__=o,!s.isPlaceholder&&n<this._limit&&s.__setProperty(this.as,t.getItem(o),!0)):n<this._limit?this._insertInstance(n,o):this._insertPlaceholder(n,o)}for(var a=this._instances.length-1;a>=n;a--)this._detachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUserSort:function(e){for(var t,i,n=this.collection,r={},o=0;o<e.length&&(i=e[o]);o++){for(var s=0;s<i.removed.length;s++)r[t=i.removed[s]]=r[t]?null:-1;for(s=0;s<i.added.length;s++)r[t=i.added[s]]=r[t]?null:1}var a=[],A=[];for(t in r)-1===r[t]&&a.push(this._keyToInstIdx[t]),1===r[t]&&A.push(t);if(a.length)for(a.sort(this._numericSort),o=a.length-1;o>=0;o--){var l=a[o];void 0!==l&&this._detachAndRemoveInstance(l)}var h=this;if(A.length){this._filterFn&&(A=A.filter(function(e){return h._filterFn(n.getItem(e))})),A.sort(function(e,t){return h._sortFn(n.getItem(e),n.getItem(t))});var c=0;for(o=0;o<A.length;o++)c=this._insertRowUserSort(c,A[o])}},_insertRowUserSort:function(e,t){for(var i=this.collection,n=i.getItem(t),r=this._instances.length-1,o=-1;e<=r;){var s=e+r>>1,a=this._instances[s].__key__,A=this._sortFn(i.getItem(a),n);if(A<0)e=s+1;else{if(!(A>0)){o=s;break}r=s-1}}return o<0&&(o=r+1),this._insertPlaceholder(o,t),o},_applySplicesArrayOrder:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++){for(var n=0;n<t.removed.length;n++)this._detachAndRemoveInstance(t.index);for(n=0;n<t.addedKeys.length;n++)this._insertPlaceholder(t.index+n,t.addedKeys[n])}},_detachInstance:function(e){var t=this._instances[e];if(!t.isPlaceholder){for(var i=0;i<t._children.length;i++){var n=t._children[i];Polymer.dom(t.root).appendChild(n)}return t}},_attachInstance:function(e,t){var i=this._instances[e];i.isPlaceholder||t.insertBefore(i.root,this)},_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:function(e,t){var i={__key__:t};return i[this.as]=this.collection.getItem(t),i[this.indexAs]=e,this.stamp(i)},_insertInstance:function(e,t){var i=this._pool.pop();i?(i.__setProperty(this.as,this.collection.getItem(t),!0),i.__setProperty("__key__",t,!0)):i=this._stampInstance(e,t);var n=this._instances[e+1],r=n&&!n.isPlaceholder?n._children[0]:this,o=Polymer.dom(this).parentNode;return Polymer.dom(o).insertBefore(i.root,r),this._instances[e]=i,i},_downgradeInstance:function(e,t){var i=this._detachInstance(e);return i&&this._pool.push(i),i={isPlaceholder:!0,__key__:t},this._instances[e]=i,i},_showHideChildren:function(e){for(var t=0;t<this._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstanceProp:function(e,t,i){var n;t==this.as&&(n=this._sortFn||this._filterFn?this.items.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items."+n,i))},_forwardInstancePath:function(e,t,i){0===t.indexOf(this.as+".")&&this._notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),i)},_forwardParentProp:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i._notifyPath(e,t,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var i=e.indexOf("."),n=e.substring(0,i<0?e.length:i),r=this._keyToInstIdx[n],o=this._instances[r];o&&!o.isPlaceholder&&(i>=0?(e=this.as+"."+e.substring(i+1),o._notifyPath(e,t,!0)):o.__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-selector",_template:null,properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,value:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function(){if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unlinkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("selectedItem");this.multi?this.selected&&!this.selected.length||(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.selected==e},deselect:function(e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.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.get(this.items).getKey(e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.push("selected",e);var i=this._selectedColl.getKey(e);this.linkPaths("selected."+i,"items."+t)}else this.toggle&&e==this.selected?this.deselect():(this.selected=e,this.selectedItem=e,this.linkPaths("selected","items."+t),this.linkPaths("selectedItem","items."+t))}}),Polymer({is:"dom-if",extends:"template",_template:null,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:Boolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render)},detached:function(){this.parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Settings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance()},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},render:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||this.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restamp&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildren(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensureInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom(e);if(this._instance){var i=this._instance._children;if(i&&i.length&&Polymer.dom(this).previousSibling!==i[i.length-1])for(var n,r=0;r<i.length&&(n=i[r]);r++)t.insertBefore(n,this)}else{this._instance=this.stamp();var o=this._instance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._instance){var e=this._instance._children;if(e&&e.length)for(var t,i=Polymer.dom(Polymer.dom(e[0]).parentNode),n=0;n<e.length&&(t=e[n]);n++)i.removeChild(t);this._instance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__||!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentProp:function(e,t){this._instance&&(this._instance[e]=t)},_forwardParentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Polymer({is:"dom-bind",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._readied||this._readySelf()},_markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registerFeatures:function(){this._prepConstructor()},_insertChildren:function(){Polymer.dom(Polymer.dom(this).parentNode).insertBefore(this.root,this)},_removeChildren:function(){if(this._children)for(var e=0;e<this._children.length;e++)this.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElementClass:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t},_prepConfigure:function(){var e={};for(var t in this._propertyEffects)e[t]=this[t];var i=this._setupConfigure;this._setupConfigure=function(){i.call(this,e)}},attached:function(){this._importsReady&&this.render()},detached:function(){this._removeChildren()},render:function(){this._ensureReady(),this._children||(this._template=this,this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindings(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.fire("dom-change")}}),Polymer({is:"iron-localstorage",properties:{name:{type:String,value:""},value:{type:Object,notify:!0},useRaw:{type:Boolean,value:!1},autoSaveDisabled:{type:Boolean,value:!1},errorMessage:{type:String,notify:!0},_loaded:{type:Boolean,value:!1}},observers:["_debounceReload(name,useRaw)","_trySaveValue(autoSaveDisabled)","_trySaveValue(value.*)"],ready:function(){this._boundHandleStorage=this._handleStorage.bind(this)},attached:function(){window.addEventListener("storage",this._boundHandleStorage)},detached:function(){window.removeEventListener("storage",this._boundHandleStorage)},_handleStorage:function(e){e.key==this.name&&this._load(!0)},_trySaveValue:function(){this._doNotSave||this._loaded&&!this.autoSaveDisabled&&this.debounce("save",this.save)},_debounceReload:function(){this.debounce("reload",this.reload)},reload:function(){this._loaded=!1,this._load()},_load:function(e){try{var t=window.localStorage.getItem(this.name)}catch(e){this.errorMessage=e.message,this._error("Could not save to localStorage.  Try enabling cookies for this page.",e)}if(null===t)this._loaded=!0,this._doNotSave=!0,this.value=null,this._doNotSave=!1,this.fire("iron-localstorage-load-empty",{externalChange:e});else{if(!this.useRaw)try{t=JSON.parse(t)}catch(e){this.errorMessage="Could not parse local storage value",Polymer.Base._error("could not parse local storage value",t),t=null}this._loaded=!0,this._doNotSave=!0,this.value=t,this._doNotSave=!1,this.fire("iron-localstorage-load",{externalChange:e})}},save:function(){var e=this.useRaw?this.value:JSON.stringify(this.value);try{null===this.value||void 0===this.value?window.localStorage.removeItem(this.name):window.localStorage.setItem(this.name,e)}catch(e){this.errorMessage=e.message,Polymer.Base._error("Could not save to localStorage. Incognito mode may be blocking this action",e)}}}),function(){var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged"},value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hidden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":case"value":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyChanged:function(e,t){this._resetRegistration(t)},_valueChanged:function(e){this._resetRegistration(this.key)},_selfChanged:function(e){e&&(this.value=this)},_typeChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={}),this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.key,this.value)},byKey:function(e){return this._metaData&&this._metaData[e]},_resetRegistration:function(e){this._unregisterKey(e),this._registerKeyValue(this.key,this.value)},_unregisterKey:function(e){this._unregister(e,this._metaData,this.list)},_registerKeyValue:function(e,t){this._register(e,t,this._metaData,this.list)},_register:function(e,t,i,n){e&&i&&void 0!==t&&(i[e]=t,n.push(t))},_unregister:function(e,t,i){if(e&&t&&e in t){var n=t[e];delete t[e],this.arrayDelete(i,n)}}}),Polymer.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.IronMeta),i},Polymer.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}},factoryImpl: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:function(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]}})}(),Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_validator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},hasValidator:function(){return null!=this._validator},validate:function(e){return this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)},__computeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehaviorMeta.byKey(this.validator)}},Polymer.IronFormElementBehavior={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})}},Polymer.IronCheckedElementBehaviorImpl={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},Polymer.IronCheckedElementBehavior=[Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior,Polymer.IronCheckedElementBehaviorImpl],function(){"use strict";var e={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},t={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:"*"},i={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},n=/[a-z0-9*]/,r=/U\+/,o=/^arrow/,s=/^space(bar)?/,a=/^escape$/;function A(e,t){var i="";if(e){var r=e.toLowerCase();" "===r||s.test(r)?i="space":a.test(r)?i="esc":1==r.length?t&&!n.test(r)||(i=r):i=o.test(r)?r.replace("arrow",""):"multiply"==r?"*":r}return i}function l(i,n){return o=n,s=i.hasModifiers,(o.key?A(o.key,s):o.detail&&o.detail.key?A(o.detail.key,s):(l="",(a=o.keyIdentifier)&&(a in e?l=e[a]:r.test(a)?(a=parseInt(a.replace("U+","0x"),16),l=String.fromCharCode(a).toLowerCase()):l=a.toLowerCase()),l||function(e){var i="";return Number(e)&&(i=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):t[e]),i}(o.keyCode)||""))===i.key&&(!i.hasModifiers||!!n.shiftKey==!!i.shiftKey&&!!n.ctrlKey==!!i.ctrlKey&&!!n.altKey==!!i.altKey&&!!n.metaKey==!!i.metaKey);var o,s,a,l}function h(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),r=n[0],o=n[1];return r in i?(e[i[r]]=!0,e.hasModifiers=!0):(e.key=r,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var i=h(t),n=0;n<i.length;++n)if(l(i[n],e))return!0;return!1},_collectKeyBindings:function(){var e=this.behaviors.map(function(e){return e.keyBindings});return-1===e.indexOf(this.keyBindings)&&e.push(this.keyBindings),e},_prepKeyBindings:function(){for(var e in this._keyBindings={},this._collectKeyBindings().forEach(function(e){for(var t in e)this._addKeyBinding(t,e[t])},this),this._imperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings)this._keyBindings[t].sort(function(e,t){var i=e[0].hasModifiers;return i===t[0].hasModifiers?0:i?-1:1})},_addKeyBinding:function(e,t){h(e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.event]||[],this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:function(){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEventListeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forEach(function(e){var t=this._keyBindings[e],i=this._onKeyBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,i]),this.keyEventTarget.addEventListener(e,i)},this)},_unlistenKeyEventListeners:function(){for(var e,t,i,n;this._boundKeyHandlers.length;)t=(e=this._boundKeyHandlers.pop())[0],i=e[1],n=e[2],t.removeEventListener(i,n)},_onKeyBindingEvent:function(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var i=0;i<e.length;i++){var n=e[i][0],r=e[i][1];if(l(n,t)&&(this._triggerKeyHandler(n,r,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,i){var n=Object.create(e);n.keyboardEvent=i;var r=new CustomEvent(e.event,{detail:n,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&i.preventDefault()}}}(),Polymer.IronControlState={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){if(e.target===this)this._setFocused("focus"===e.type);else 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.cancelable})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabIndex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}},Polymer.IronButtonStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_detectKeyboardFocus(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!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))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer.IronButtonStateImpl],function(){var e={distance:function(e,t,i,n){var r=e-i,o=t-n;return Math.sqrt(r*r+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function t(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function i(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=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.resetInteractionState()}t.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),r=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),s=e.distance(t,i,this.width,this.height);return Math.max(n,r,o,s)}},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},get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),i.MAX_RADIUS)+5,r=1.1-n/i.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/r,s=n*(1-Math.pow(80,-o));return Math.abs(s)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&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.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.element)},draw:function(){var e,t,i;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,i=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+i+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+i+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){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:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e<this.ripples.length;++e)if(!this.ripples[e].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(function(){this.upAction()},1)},uiDownAction:function(e){this.noink||this.downAction(e)},downAction:function(e){this.holdDown&&this.ripples.length>0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new i(this);return Polymer.dom(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e<this.ripples.length;++e)(t=this.ripples[e]).draw(),this.$.background.style.opacity=t.outerOpacity,t.isOpacityFullyDecayed&&!t.isRestingAtMaxRadius&&this.removeRipple(t);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(e,t){void 0!==t&&(e?this.downAction():this.upAction())}})}(),Polymer.PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Polymer.dom(t).appendChild(this._ripple),e){var i=Polymer.dom(this._rippleContainer||this),n=Polymer.dom(e).rootTarget;i.deepContains(n)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return 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)}},Polymer.PaperInkyFocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl],Polymer.PaperCheckedElementBehaviorImpl={_checkedChanged:function(){Polymer.IronCheckedElementBehaviorImpl._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){Polymer.PaperRippleBehavior._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},Polymer.PaperCheckedElementBehavior=[Polymer.PaperInkyFocusBehavior,Polymer.IronCheckedElementBehavior,Polymer.PaperCheckedElementBehaviorImpl],Polymer({is:"paper-radio-button",behaviors:[Polymer.PaperCheckedElementBehavior],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.customStyle["--paper-radio-button-ink-size"]=t+"px",this.updateStyles()}}}),Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.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?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}},Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue: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.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.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:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var n=i.indexOf(t);if(n>=0){var r=this._indexToValue(n);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&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 null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var i=0;i<t.length;i++)this._selection.setItemSelected(t[i],!0);this.fallbackSelection&&this.items.length&&!this._selection.get().length&&this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?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.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl],Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String}},_SEARCH_RESET_TIMEOUT_MS:1e3,hostAttributes:{role:"menu",tabindex:"0"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){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.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");for(var t,i=this._searchText||"",n=(i+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase()).length,r=0;t=this.items[r];r++)if(!t.hasAttribute("disabled")){var o=this.attrForItemTitle||"textContent",s=(t[o]||t.getAttribute(o)||"").trim();if(!(s.length<n)&&s.slice(0,n).toLocaleLowerCase()==i){this._setFocusedItem(t);break}}this._searchText=i,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t-i+e)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t+i)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),e&&(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl],Polymer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?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.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Polymer.IronMenubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImpl],Polymer({is:"paper-radio-group",behaviors:[Polymer.IronMenubarBehavior],hostAttributes:{role:"radiogroup",tabindex:0},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var i=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(i&&(i.checked=!0));e=""}i&&(i.checked=!1)}Polymer.IronSelectableBehavior.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){Polymer.IronMenubarBehaviorImpl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){Polymer.IronMenubarBehaviorImpl._onRightKey.apply(this,arguments),this._activateFocusedItem()}}),Polymer({is:"google-codelab-survey",properties:{surveyId:{type:String,value:""},answers:{type:Object,notify:!0}},listeners:{click:"_onClick"},ready:function(){for(var e,t=Polymer.dom(this).queryDistributedElements("paper-radio-group"),i=0;e=t[i];i++)this._selectAnswer(e)},_initAnswers:function(){this.answers={}},_storageKey:function(e){return"codelab-survey-"+e},_storageLoaded:function(){for(var e,t=this.getContentChildren(),i="",n=0;e=t[n];n++)"H4"!==e.tagName?i&&e.select&&this._selectAnswer(e,i):i=this.answers[this._elemText(e)]},_selectAnswer:function(e,t){for(var i,n=0;i=e.children[n];n++)i.name||(i.name=this._elemText(i)),i.name===t&&e.select(t)},_onClick:function(e){if("PAPER-RADIO-BUTTON"===(e=Polymer.dom(e)).localTarget.tagName){var t=e.localTarget.parentElement.previousElementSibling;if(t&&"H4"===t.tagName){var i=this._elemText(t),n=e.localTarget.name;this.set("answers."+i,n),this.fire("google-codelab-survey-answer",{question:i,answer:n})}}},_elemText:function(e){return e.textContent.trim().replace(/\n|\r/g,"")}}),Polymer({is:"google-codelab-step",properties:{step:{type:Number,value:1,notify:!0},label:{type:String,value:""},duration:{type:Number,value:0,notify:!0},active:{type:Boolean,value:!1,observer:"_activeChanged"}},_isHighlighted:!1,_activeChanged:function(){var e=Polymer.dom(this).parentNode;"google-codelab"===e.localName&&e.noHighlight||this.active&&!this._isHighlighted&&this.async(function(){Polymer.dom(this).querySelectorAll("pre > code").forEach(function(e){Polymer.dom(e).innerHTML=prettyPrintOne(e.textContent.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")),e.addEventListener("copy",function(){this.fire("google-codelab-snippet-copy",{snippet:e.textContent})}.bind(this))}.bind(this)),this._isHighlighted=!0})}}),Polymer({is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Polymer.dom(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.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))}}),Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!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.removeIcon(e);var i=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(i){var n=Polymer.dom(e);return n.insertBefore(i,n.childNodes[0]),e._svgIcon=i}return null},removeIcon:function(e){(e=e.root||e)._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,i){if(e){var n=e.cloneNode(!0),r=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=n.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return i&&n.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),r.setAttribute("viewBox",o),r.setAttribute("preserveAspectRatio","xMidYMid meet"),r.style.cssText=s,r.appendChild(n).removeAttribute("id"),r}return null}}),Polymer.IronResizableBehavior={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():Polymer.Settings.useShadow||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=e.path?e.path[0]:e.target;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)}},Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var i in t)e[i]=t[i]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,i){var n;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(n=e?this.animationConfig[e]:this.animationConfig,Array.isArray(n)||(n=[n]),n)for(var r,o=0;r=n[o];o++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,i);else if(r.id){var s=t[r.id];s?(s.isClone||(t[r.id]=this._cloneConfig(s),s=t[r.id]),this._copyProperties(s,r)):t[r.id]=r}else i.push(r)},getAnimationConfig:function(e){var t={},i=[];for(var n in this._getAnimationConfigRecursive(e,t,i),t)i.push(t[n]);return i}},Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(e){var t=[];if(e.length>0)for(var i,n=0;i=e[n];n++){var r=document.createElement(i.name);if(r.isNeonAnimation){var o=null;try{"function"!=typeof(o=r.configure(i)).cancel&&(o=document.timeline.play(o))}catch(e){o=null}o&&t.push({neonAnimation:r,config:i,animation:o})}}return t},_shouldComplete:function(e){for(var t=!0,i=0;i<e.length;i++)if("finished"!=e[i].animation.playState){t=!1;break}return t},_complete:function(e){for(var t=0;t<e.length;t++)e[t].neonAnimation.complete(e[t].config);for(t=0;t<e.length;t++)e[t].animation.cancel()},playAnimation:function(e,t){var i=this.getAnimationConfig(e);if(i){this._active=this._active||{},this._active[e]&&(this._complete(this._active[e]),delete this._active[e]);var n=this._configureAnimations(i);if(0!=n.length){this._active[e]=n;for(var r=0;r<n.length;r++)n[r].animation.onfinish=function(){this._shouldComplete(n)&&(this._complete(n),delete this._active[e],this.fire("neon-animation-finish",t,{bubbles:!1}))}.bind(this)}else this.fire("neon-animation-finish",t,{bubbles:!1})}},cancelAnimation:function(){for(var e in this._animations)this._animations[e].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl],Polymer({is:"neon-animated-pages",behaviors:[Polymer.IronResizableBehavior,Polymer.IronSelectableBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{activateEvent:{type:String,value:""},animateInitialSelection:{type:Boolean,value:!1}},listeners:{"iron-select":"_onIronSelect","neon-animation-finish":"_onNeonAnimationFinish"},_onIronSelect:function(e){var t=e.detail.item;if(!(this.items.indexOf(t)<0)){var i=this._valueToItem(this._prevSelected)||!1;this._prevSelected=this.selected,i||this.animateInitialSelection?(this.animationConfig=[],this.entryAnimation?this.animationConfig.push({name:this.entryAnimation,node:t}):t.getAnimationConfig&&this.animationConfig.push({animatable:t,type:"entry"}),i&&(i.classList.contains("neon-animating")&&(this._squelchNextFinishEvent=!0,this.cancelAnimation(),this._completeSelectedChanged(),this._squelchNextFinishEvent=!1),this.exitAnimation?this.animationConfig.push({name:this.exitAnimation,node:i}):i.getAnimationConfig&&this.animationConfig.push({animatable:i,type:"exit"}),i.classList.add("neon-animating")),t.classList.add("neon-animating"),this.animationConfig.length>=1?this.isAttached?this.playAnimation(void 0,{fromPage:i,toPage:t}):this.async(function(){this.playAnimation(void 0,{fromPage:null,toPage:t})}):this._completeSelectedChanged(i,t)):this._completeSelectedChanged()}},_completeSelectedChanged:function(e,t){if(t&&t.classList.remove("neon-animating"),e&&e.classList.remove("neon-animating"),!t||!e)for(var i,n=Polymer.dom(this.$.content).getDistributedNodes(),r=0;i=n[r];r++)i.classList&&i.classList.remove("neon-animating");this.async(this._notifyPageResize)},_onNeonAnimationFinish:function(e){this._squelchNextFinishEvent?this._squelchNextFinishEvent=!1:this._completeSelectedChanged(e.detail.fromPage,e.detail.toPage)},_notifyPageResize:function(){var e=this.selectedItem||this._valueToItem(this.selected);this.resizerShouldNotify=function(t){return t==e},this.notifyResize()}}),Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(e){if(e.timing)for(var t in e.timing)this.animationTiming[t]=e.timing[t];return this.animationTiming},setPrefixedProperty:function(e,t,i){for(var n,r={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]}[t],o=0;n=r[o];o++)e.style[n]=i;e.style[t]=i},complete:function(){}},function(a,b){var c={},d={},e={},f=null;!function(e,t){function i(){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=u}function n(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,n,r){var o=new i;return n&&(o.fill="both",o.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(i){if("auto"!=t[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof t[i]||isNaN(t[i])))return;if("fill"==i&&-1==h.indexOf(t[i]))return;if("direction"==i&&-1==c.indexOf(t[i]))return;if("playbackRate"==i&&1!==t[i]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=t[i]}}):o.duration=t,o}function o(e,t,i,n){return e<0||e>1||i<0||i>1?u:function(r){function o(e,t,i){return 3*e*(1-i)*(1-i)*i+3*t*(1-i)*i*i+i*i*i}if(r<=0){var s=0;return e>0?s=t/e:!t&&i>0&&(s=n/i),s*r}if(r>=1){var a=0;return i<1?a=(n-1)/(i-1):1==i&&e<1&&(a=(t-1)/(e-1)),1+a*(r-1)}for(var A=0,l=1;A<l;){var h=(A+l)/2,c=o(e,i,h);if(Math.abs(r-c)<1e-5)return o(t,n,h);c<r?A=h:l=h}return o(t,n,h)}}function s(e,t){return function(i){if(i>=1)return 1;var n=1/e;return(i+=t*n)-i%n}}function a(e){m||(m=document.createElement("div").style),m.animationTimingFunction="",m.animationTimingFunction=e;var t=m.animationTimingFunction;if(""==t&&n())throw new TypeError(e+" is not a valid value for easing");return t}function A(e){if("linear"==e)return u;var t=g.exec(e);if(t)return o.apply(this,t.slice(1).map(Number));var i=v.exec(e);return i?s(Number(i[1]),{start:d,middle:f,end:p}[i[2]]):_[e]||u}function l(e,t,i){if(null==t)return b;var n=i.delay+e+i.endDelay;return t<Math.min(i.delay,n)?P:t>=Math.min(i.delay+e,n)?C:S}var h="backwards|forwards|both|none".split("|"),c="reverse|alternate|alternate-reverse".split("|"),u=function(e){return e};i.prototype={_setMember:function(t,i){this["_"+t]=i,this._effect&&(this._effect._timingInput[t]=i,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&n())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=A(a(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var d=1,f=.5,p=0,_={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,d),"step-middle":s(1,f),"step-end":s(1,p)},m=null,y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),v=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,b=0,P=1,C=2,S=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var i in e)t[i]=e[i];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,i){return r(t=e.numericTimingToObject(t),i)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,i){var n=l(e,t,i),r=function(e,t,i,n,r){switch(n){case P:return"backwards"==t||"both"==t?0:null;case S:return i-r;case C:return"forwards"==t||"both"==t?e:null;case b:return null}}(e,i.fill,t,n,i.delay);if(null===r)return null;var o=function(e,t,i,n,r){var o=r;return 0===e?t!==P&&(o+=i):o+=n/e,o}(i.duration,n,i.iterations,r,i.iterationStart),s=function(e,t,i,n,r,o){var s=e===1/0?t%1:e%1;return 0!==s||i!==C||0===n||0===r&&0!==o||(s=1),s}(o,i.iterationStart,n,i.iterations,r,i.duration),a=function(e,t,i,n){return e===C&&t===1/0?1/0:1===s?Math.floor(n)-1:Math.floor(n)}(n,i.iterations,0,o),A=function(e,t,i){var n=e;if("normal"!==e&&"reverse"!==e){var r=a;"alternate-reverse"===e&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?s:1-s}(i.direction);return i._easingFunction(A)},e.calculatePhase=l,e.normalizeEasing=a,e.parseEasingFunction=A}(c),function(e,t){function i(e,t){return e in A&&A[e][t]||t}function n(e,t,n){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=o[e];if(r)for(var a in s.style[e]=t,r){var A=r[a],l=s.style[A];n[A]=i(A,l)}else n[e]=i(e,t)}}function r(e){var t=[];for(var i in e)if(!(i in["easing","offset","composite"])){var n=e[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;s<o;s++)(r={}).offset="offset"in e?e.offset:1==o?1:s/(o-1),"easing"in e&&(r.easing=e.easing),"composite"in e&&(r.composite=e.composite),r[i]=n[s],t.push(r)}return t.sort(function(e,t){return e.offset-t.offset}),t}var o={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},s=document.createElementNS("http://www.w3.org/1999/xhtml","div"),a={thin:"1px",medium:"3px",thick:"5px"},A={borderBottomWidth:a,borderLeftWidth:a,borderRightWidth:a,borderTopWidth:a,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:a,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};e.convertToArrayForm=r,e.normalizeKeyframes=function(t){if(null==t)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||(t=r(t));for(var i=t.map(function(t){var i={};for(var r in t){var o=t[r];if("offset"==r){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){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"==r?e.normalizeEasing(o):""+o;n(r,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),o=!0,s=-1/0,a=0;a<i.length;a++){var A=i[a].offset;if(null!=A){if(A<s)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");s=A}else o=!1}return i=i.filter(function(e){return e.offset>=0&&e.offset<=1}),o||function(){var e=i.length;null==i[e-1].offset&&(i[e-1].offset=1),e>1&&null==i[0].offset&&(i[0].offset=0);for(var t=0,n=i[0].offset,r=1;r<e;r++){var o=i[r].offset;if(null!=o){for(var s=1;s<r-t;s++)i[t+s].offset=n+(o-n)*s/(r-t);t=r,n=o}}}(),i}}(c),function(e){var t={};e.isDeprecated=function(e,i,n,r){var o=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(o<s&&(t[e]=!0,1))},e.deprecated=function(t,i,n,r){var o=r?"are":"is";if(e.isDeprecated(t,i,n,r))throw new Error(t+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(e){void 0===a[e]&&(b=!0)})),!b)return}!function(e,t,i){t.convertEffectInput=function(i){var n=function(e){for(var t={},i=0;i<e.length;i++)for(var n in e[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:e[i].offset,easing:e[i].easing,value:e[i][n]};t[n]=t[n]||[],t[n].push(r)}for(var o in t){var s=t[o];if(0!=s[0].offset||1!=s[s.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return t}(e.normalizeKeyframes(i)),r=function(i){var n=[];for(var r in i)for(var o=i[r],s=0;s<o.length-1;s++){var a=s,A=s+1,l=o[a].offset,h=o[A].offset,c=l,u=h;0==s&&(c=-1/0,0==h&&(A=a)),s==o.length-2&&(u=1/0,1==l&&(a=A)),n.push({applyFrom:c,applyTo:u,startOffset:o[a].offset,endOffset:o[A].offset,easingFunction:e.parseEasingFunction(o[a].easing),property:r,interpolation:t.propertyInterpolation(r,o[a].value,o[A].value)})}return n.sort(function(e,t){return e.startOffset-t.startOffset}),n}(n);return function(e,i){if(null!=i)r.filter(function(e){return i>=e.applyFrom&&i<e.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,s=0==o?0:n.easingFunction(r/o);t.apply(e,n.property,n.interpolation(s))});else for(var o in n)"offset"!=o&&"easing"!=o&&"composite"!=o&&t.clear(e,o)}}}(c,d),function(e,t,i){function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function r(e,t,i){o[i]=o[i]||[],o[i].push([e,t])}var o={};t.addPropertiesHandler=function(e,t,i){for(var o=0;o<i.length;o++)r(e,t,n(i[o]))};var s={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"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:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};t.propertyInterpolation=function(i,r,a){var A=i;/-/.test(i)&&!e.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(A=n(i)),"initial"!=r&&"initial"!=a||("initial"==r&&(r=s[A]),"initial"==a&&(a=s[A]));for(var l=r==a?[]:o[A],h=0;l&&h<l.length;h++){var c=l[h][0](r),u=l[h][0](a);if(void 0!==c&&void 0!==u){var d=l[h][1](c,u);if(d){var f=t.Interpolation.apply(null,d);return function(e){return 0==e?r:1==e?a:f(e)}}}}return t.Interpolation(!1,!0,function(e){return e?a:r})}}(c,d),function(e,t,i){t.KeyframeEffect=function(i,n,r,o){var s,a=function(t){var i=e.calculateActiveDuration(t),n=function(n){return e.calculateIterationProgress(i,n,t)};return n._totalDuration=t.delay+i+t.endDelay,n}(e.normalizeTimingInput(r)),A=t.convertEffectInput(n),l=function(){A(i,s)};return l._update=function(e){return null!==(s=a(e))},l._clear=function(){A(i,null)},l._hasSameTarget=function(e){return i===e},l._target=i,l._totalDuration=a._totalDuration,l._id=o,l},t.NullEffect=function(e){var t=function(){e&&(e(),e=null)};return t._update=function(){return null},t._totalDuration=0,t._hasSameTarget=function(){return!1},t}}(c,d),function(e,t){e.apply=function(t,i,n){t.style[e.propertyName(i)]=n},e.clear=function(t,i){t.style[e.propertyName(i)]=""}}(d),function(e){window.Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(e.KeyframeEffect(this,t,i,n))}}(d),d.Interpolation=function(e,t,i){return function(n){return i(function e(t,i,n){if("number"==typeof t&&"number"==typeof i)return t*(1-n)+i*n;if("boolean"==typeof t&&"boolean"==typeof i)return n<.5?t:i;if(t.length==i.length){for(var r=[],o=0;o<t.length;o++)r.push(e(t[o],i[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+i}(e,t,n))}},function(e,t,i){e.sequenceNumber=0,t.Animation=function(t){this.id="",t&&t._id&&(this.id=t._id),this._sequenceNumber=e.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=t,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},t.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,t.timeline._animations.push(this))},_tickCurrentTime:function(e,t){e!=this._currentTime&&(this._currentTime=e,this._isFinished&&!t&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var i=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel: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),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var i=this._finishHandlers.indexOf(t);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,i){this.target=e,this.currentTime=t,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(c,d),function(e,t,i){function n(e){var t=l;l=[],e<p.currentTime&&(e=p.currentTime),p._animations.sort(r),p._animations=a(e,!0,p._animations)[0],t.forEach(function(t){t[1](e)}),s()}function r(e,t){return e._sequenceNumber-t._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function s(){d.forEach(function(e){e()}),d.length=0}function a(e,i,n){f=!0,u=!1,t.timeline.currentTime=e,c=!1;var r=[],o=[],s=[],a=[];return n.forEach(function(t){t._tick(e,i),t._inEffect?(o.push(t._effect),t._markTarget()):(r.push(t._effect),t._unmarkTarget()),t._needsTick&&(c=!0);var n=t._inEffect||t._needsTick;t._inTimeline=n,n?s.push(t):a.push(t)}),d.push.apply(d,r),d.push.apply(d,o),c&&requestAnimationFrame(function(){}),f=!1,[s,a]}var A=window.requestAnimationFrame,l=[],h=0;window.requestAnimationFrame=function(e){var t=h++;return 0==l.length&&A(n),l.push([t,e]),t},window.cancelAnimationFrame=function(e){l.forEach(function(t){t[0]==e&&(t[1]=function(){})})},o.prototype={_play:function(i){i._timing=e.normalizeTimingInput(i.timing);var n=new t.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),t.restart(),t.applyDirtiedAnimation(n),n}};var c=!1,u=!1;t.restart=function(){return c||(c=!0,requestAnimationFrame(function(){}),u=!0),u},t.applyDirtiedAnimation=function(e){if(!f){e._markTarget();var i=e._targetAnimations();i.sort(r),a(t.timeline.currentTime,!1,i.slice())[1].forEach(function(e){var t=p._animations.indexOf(e);-1!==t&&p._animations.splice(t,1)}),s()}};var d=[],f=!1,p=new o;t.timeline=p}(c,d),function(e){function t(e,t){var i=e.exec(t);if(i)return[i=e.ignoreCase?i[0].toLowerCase():i[0],t.substr(i.length)]}function i(e,t){var i=e(t=t.replace(/^\s*/,""));if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(e,t,i,n,r){for(var o=[],s=[],a=[],A=function(e,t){for(var i=e,n=t;i&&n;)i>n?i%=n:n%=i;return e*t/(i+n)}(n.length,r.length),l=0;l<A;l++){var h=t(n[l%n.length],r[l%r.length]);if(!h)return;o.push(h[0]),s.push(h[1]),a.push(h[2])}return[o,s,function(t){var n=t.map(function(e,t){return a[t](e)}).join(i);return e?e(n):n}]}e.consumeToken=t,e.consumeTrimmed=i,e.consumeRepeated=function(e,n,r){e=i.bind(null,e);for(var o=[];;){var s=e(r);if(!s)return[o,r];if(o.push(s[0]),!(s=t(n,r=s[1]))||""==s[1])return[o,r];r=s[1]}},e.consumeParenthesised=function(e,t){for(var i=0,n=0;n<t.length&&(!/\s|,/.test(t[n])||0!=i);n++)if("("==t[n])i++;else if(")"==t[n]&&(0==--i&&n++,i<=0))break;var r=e(t.substr(0,n));return void 0==r?void 0:[r,t.substr(n)]},e.ignore=function(e){return function(t){var i=e(t);return i&&(i[0]=void 0),i}},e.optional=function(e,t){return function(i){return e(i)||[t,i]}},e.consumeList=function(t,i){for(var n=[],r=0;r<t.length;r++){var o=e.consumeTrimmed(t[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n},e.mergeNestedRepeated=n.bind(null,null),e.mergeWrappedNestedRepeated=n,e.mergeList=function(e,t,i){for(var n=[],r=[],o=[],s=0,a=0;a<i.length;a++)if("function"==typeof i[a]){var A=i[a](e[s],t[s++]);n.push(A[0]),r.push(A[1]),o.push(A[2])}else!function(e){n.push(!1),r.push(!1),o.push(function(){return i[e]})}(a);return[n,r,function(e){for(var t="",i=0;i<e.length;i++)t+=o[i](e[i]);return t}]}}(d),function(e){function t(t){var i={inset:!1,lengths:[],color:null},n=e.consumeRepeated(function(t){var n;return(n=e.consumeToken(/^inset/i,t))?(i.inset=!0,n):(n=e.consumeLengthOrPercent(t))?(i.lengths.push(n[0]),n):(n=e.consumeColor(t))?(i.color=n[0],n):void 0},/^/,t);if(n&&n[0].length)return[i,n[1]]}var i=function(t,i,n,r){function o(e){return{inset:e,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var s=[],a=[],A=0;A<n.length||A<r.length;A++){var l=n[A]||o(r[A].inset),h=r[A]||o(n[A].inset);s.push(l),a.push(h)}return e.mergeNestedRepeated(t,i,s,a)}.bind(null,function(t,i){for(;t.lengths.length<Math.max(t.lengths.length,i.lengths.length);)t.lengths.push({px:0});for(;i.lengths.length<Math.max(t.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(t.inset==i.inset&&!!t.color==!!i.color){for(var n,r=[],o=[[],0],s=[[],0],a=0;a<t.lengths.length;a++){var A=e.mergeDimensions(t.lengths[a],i.lengths[a],2==a);o[0].push(A[0]),s[0].push(A[1]),r.push(A[2])}if(t.color&&i.color){var l=e.mergeColors(t.color,i.color);o[1]=l[0],s[1]=l[1],n=l[2]}return[o,s,function(e){for(var i=t.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](e[0][o])+" ";return n&&(i+=n(e[1])),i}]}},", ");e.addPropertiesHandler(function(i){var n=e.consumeRepeated(t,/^,/,i);if(n&&""==n[1])return n[0]},i,["box-shadow","text-shadow"])}(d),function(e,t){function i(e){return e.toFixed(3).replace(".000","")}function n(e,t,i){return Math.min(t,Math.max(e,i))}function r(e){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e))return Number(e)}function o(e,t){return function(r,o){return[r,o,function(r){return i(n(e,t,r))}]}}e.clamp=n,e.addPropertiesHandler(r,o(0,1/0),["border-image-width","line-height"]),e.addPropertiesHandler(r,o(0,1),["opacity","shape-image-threshold"]),e.addPropertiesHandler(r,function(e,t){if(0!=e)return o(0,1/0)(e,t)},["flex-grow","flex-shrink"]),e.addPropertiesHandler(r,function(e,t){return[e,t,function(e){return Math.round(n(1,1/0,e))}]},["orphans","widows"]),e.addPropertiesHandler(r,function(e,t){return[e,t,Math.round]},["z-index"]),e.parseNumber=r,e.mergeNumbers=function(e,t){return[e,t,i]},e.numberToString=i}(d),d.addPropertiesHandler(String,function(e,t){if("visible"==e||"visible"==t)return[0,1,function(i){return i<=0?e:i>=1?t:"visible"}]},["visibility"]),function(e,t){function i(e){e=e.trim(),o.fillStyle="#000",o.fillStyle=e;var t=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=e,t==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(t,i){return[t,i,function(t){function i(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var n=0;n<3;n++)t[n]=Math.round(i(t[n]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");e.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,i),e.mergeColors=n}(d),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(e){return c[e]=null,"U"+e});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\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(e,t,i){var n,r=[];for(n in e)r.push(n);for(n in t)r.indexOf(n)<0&&r.push(n);return e=r.map(function(t){return e[t]||0}),t=r.map(function(e){return t[e]||0}),[e,t,function(e){var t=e.map(function(t,n){return 1==e.length&&i&&(t=Math.max(t,0)),a.numberToString(t)+r[n]}).join(" + ");return e.length>1?"calc("+t+")":t}]}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.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=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=function(e){var t=l(e);if(t&&""==t[1])return t[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,["border-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-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(e,t){function i(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function n(t){var n=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,i,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(n&&4==n[0].length)return n[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,i){return"auto"==t||"auto"==i?[!0,!1,function(n){var r=n?t:i;if("auto"==r)return"auto";var o=e.mergeDimensions(r,r);return o[2](o[0])}]:e.mergeDimensions(t,i)},", ");e.parseBox=n,e.mergeBoxes=r,e.addPropertiesHandler(n,r,["clip"])}(d),function(e,t){function i(e){return function(t){var i=0;return e.map(function(e){return e===A?t[i++]:e})}}function n(e){return e}function r(e){return e.toFixed(6).replace(".000000","")}function o(t,i){if(t.decompositionPair!==i){t.decompositionPair=i;var n=e.makeMatrixDecomposition(t)}if(i.decompositionPair!==t){i.decompositionPair=t;var o=e.makeMatrixDecomposition(i)}return null==n[0]||null==o[0]?[[!1],[!0],function(e){return e?i[0].d:t[0].d}]:(n[0].push(0),o[0].push(1),[n,o,function(t){var i=e.quat(n[0][3],o[0][3],t[5]);return e.composeMatrix(t[0],t[1],t[2],i,t[4]).map(r).join(",")}])}function s(e){return e.replace(/[xy]/,"")}function a(e){return e.replace(/(x|y|z|3d)?$/,"3d")}var A=null,l={px:0},h={deg:0},c={matrix:["NNNNNN",[A,A,0,0,A,A,0,0,0,0,1,0,A,A,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([A,A,1]),n],scalex:["N",i([A,1,1]),i([A,1])],scaley:["N",i([1,A,1]),i([1,A])],scalez:["N",i([1,1,A])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([A,h])],skewy:["A",null,i([h,A])],translate:["Tt",i([A,A,l]),n],translatex:["T",i([A,l,l]),i([A,l])],translatey:["T",i([l,A,l]),i([l,A])],translatez:["L",i([l,l,A])],translate3d:["TTL",n]};e.addPropertiesHandler(function(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(t);){if(i.index!=o)return;o=i.index+i[0].length;var s=i[1],a=c[s];if(!a)return;var A=i[2].split(","),u=a[0];if(u.length<A.length)return;for(var d=[],f=0;f<u.length;f++){var p,_=A[f],m=u[f];if(void 0===(p=_?{A:function(t){return"0"==t.trim()?h:e.parseAngle(t)},N:e.parseNumber,T:e.parseLengthOrPercent,L:e.parseLength}[m.toUpperCase()](_):{a:h,n:d[0],t:l}[m]))return;d.push(p)}if(r.push({t:s,d:d}),n.lastIndex==t.length)return r}},function(t,i){var n=e.makeMatrixDecomposition&&!0,r=!1;if(!t.length||!i.length){t.length||(r=!0,t=i,i=[]);for(var A=0;A<t.length;A++){var l=t[A].t,h=t[A].d,u="scale"==l.substr(0,5)?1:0;i.push({t:l,d:h.map(function(e){if("number"==typeof e)return u;var t={};for(var i in e)t[i]=u;return t})})}}var d=function(e,t){return"perspective"==e&&"perspective"==t||("matrix"==e||"matrix3d"==e)&&("matrix"==t||"matrix3d"==t)},f=[],p=[],_=[];if(t.length!=i.length){if(!n)return;f=[(C=o(t,i))[0]],p=[C[1]],_=[["matrix",[C[2]]]]}else for(A=0;A<t.length;A++){var m=t[A].t,y=i[A].t,g=t[A].d,v=i[A].d,b=c[m],P=c[y];if(d(m,y)){if(!n)return;var C=o([t[A]],[i[A]]);f.push(C[0]),p.push(C[1]),_.push(["matrix",[C[2]]])}else{if(m==y)l=m;else if(b[2]&&P[2]&&s(m)==s(y))l=s(m),g=b[2](g),v=P[2](v);else{if(!b[1]||!P[1]||a(m)!=a(y)){if(!n)return;f=[(C=o(t,i))[0]],p=[C[1]],_=[["matrix",[C[2]]]];break}l=a(m),g=b[1](g),v=P[1](v)}for(var S=[],E=[],w=[],T=0;T<g.length;T++)C=("number"==typeof g[T]?e.mergeNumbers:e.mergeDimensions)(g[T],v[T]),S[T]=C[0],E[T]=C[1],w.push(C[2]);f.push(S),p.push(E),_.push([l,w])}}if(r){var N=f;f=p,p=N}return[f,p,function(e){return e.map(function(e,t){var i=e.map(function(e,i){return _[t][1][i](e)}).join(",");return"matrix"==_[t][0]&&16==i.split(",").length&&(_[t][0]="matrix3d"),_[t][0]+"("+i+")"}).join(" ")}]},["transform"])}(d),function(e,t){function i(e,t){t.concat([e]).forEach(function(t){t in document.documentElement.style&&(n[e]=t)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),e.propertyName=function(e){return n[e]||e}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){if(window.performance&&performance.now)var e=function(){return performance.now()};else e=function(){return Date.now()};var t=window.Element.prototype.animate;window.Element.prototype.animate=function(i,n){var r=t.call(this,i,n);r._cancelHandlers=[],r.oncancel=null;var o=r.cancel;r.cancel=function(){o.call(this);var t=new function(e,t,i){this.target=e,this.currentTime=null,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,null,e()),i=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0)};var s=r.addEventListener;r.addEventListener=function(e,t){"function"==typeof t&&"cancel"==e?this._cancelHandlers.push(t):s.call(this,e,t)};var a=r.removeEventListener;return r.removeEventListener=function(e,t){if("cancel"==e){var i=this._cancelHandlers.indexOf(t);i>=0&&this._cancelHandlers.splice(i,1)}else a.call(this,e,t)},r}}}(),function(e){var t=document.documentElement,i=null,n=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(i=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,n=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{i&&i.cancel()}if(!n){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(t,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),o.call(this,t,i)}}}(c),function(e,t,i){function n(e){var i=t.timeline;i.currentTime=e,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(i){t.timeline._updateAnimationsPromises(),e(i),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var i=new t.Animation(e,this);return this._animations.push(i),t.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(e){return e&&e.remove(),this._play(e)}};var o=!1;t.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var s=new t.AnimationTimeline;t.timeline=s;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return s}})}catch(e){}try{window.document.timeline=s}catch(e){}}(0,e),function(e,t,i){t.animationsWithPromises=[],t.Animation=function(t,i){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,i,n,r,o=!!this._animation;o&&(e=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),o&&(1!=e&&(this.playbackRate=e),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t<this.effect.children.length;t++)this.effect.children[t]._animation=e,this._childAnimations[t]._setExternalAnimation(e)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var e=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=t.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(e,t){null===this.startTime?e.currentTime=this.currentTime-t/this.playbackRate:e.startTime!==this.startTime+t/this.playbackRate&&(e.startTime=this.startTime+t/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(e,t){this._resolveFinishedPromise=function(){e(this)},this._rejectFinishedPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):null},get ready(){return window.Promise?(this._readyPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._readyPromise=new Promise(function(e,t){this._resolveReadyPromise=function(){e(this)},this._rejectReadyPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):null},get onfinish(){return this._animation.onfinish},set onfinish(e){this._animation.onfinish="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get oncancel(){return this._animation.oncancel},set oncancel(e){this._animation.oncancel="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get currentTime(){this._updatePromises();var e=this._animation.currentTime;return this._updatePromises(),e},set currentTime(e){this._updatePromises(),this._animation.currentTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.currentTime=e-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(e){this._updatePromises(),this._animation.startTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.startTime=e+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(e){this._updatePromises();var t=this.currentTime;this._animation.playbackRate=e,this._forEachChild(function(t){t.playbackRate=e}),null!==t&&(this.currentTime=t),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),t.awaitStartTime(this),this._forEachChild(function(e){var t=e.currentTime;e.play(),e.currentTime=t}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(e){e.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var e=this.currentTime;this._animation.reverse(),this._forEachChild(function(e){e.reverse()}),null!==e&&(this.currentTime=e),this._updatePromises()},addEventListener:function(e,t){var i=t;"function"==typeof t&&(i=function(e){e.target=this,t.call(this,e)}.bind(this),t._wrapper=i),this._animation.addEventListener(e,i)},removeEventListener:function(e,t){this._animation.removeEventListener(e,t&&t._wrapper||t)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(t){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(e){t.call(this,e,i),this.effect instanceof window.SequenceEffect&&(i+=e.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=e.calculateIterationProgress(e.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=t.Animation}(c,e),function(e,t,i){function n(){for(var e=!1;a.length;)a.shift()._updateChildren(),e=!0;return e}var r=function(e){if(e._animation=void 0,e instanceof window.SequenceEffect||e instanceof window.GroupEffect)for(var t=0;t<e.children.length;t++)r(e.children[t])};t.removeMulti=function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n._parent?(-1==t.indexOf(n._parent)&&t.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,r(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),r(n))}for(i=0;i<t.length;i++)t[i]._rebuild()},t.KeyframeEffect=function(t,i,n,r){return this.target=t,this._parent=null,n=e.numericTimingToObject(n),this._timingInput=e.cloneTimingInput(n),this._timing=e.normalizeTimingInput(n),this.timing=e.makeTiming(n,!1,this),this.timing._effect=this,"function"==typeof i?(e.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new function(t){this._frames=e.normalizeKeyframes(t)}(i),this._keyframes=i,this.activeDuration=e.calculateActiveDuration(this._timing),this._id=r,this},t.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(e){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=e,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var t=new KeyframeEffect(this.target,[],e.cloneTimingInput(this._timingInput),this._id);return t._normalizedKeyframes=this._normalizedKeyframes,t._keyframes=this._keyframes,t},remove:function(){t.removeMulti([this])}};var o=Element.prototype.animate;Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(new t.KeyframeEffect(this,e,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");t.newUnderlyingAnimationForKeyframeEffect=function(e){if(e){var t=e.target||s;"function"==typeof(i=e._keyframes)&&(i=[]),(n=e._timingInput).id=e._id}else{t=s;var i=[],n=0}return o.apply(t,[i,n])},t.bindAnimationForKeyframeEffect=function(e){e.effect&&"function"==typeof e.effect._normalizedKeyframes&&t.bindAnimationForCustomEffect(e)};var a=[];t.awaitStartTime=function(e){null===e.startTime&&e._isGroup&&(0==a.length&&requestAnimationFrame(n),a.push(e))};var A=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){t.timeline._updateAnimationsPromises();var e=A.apply(this,arguments);return n()&&(e=A.apply(this,arguments)),t.timeline._updateAnimationsPromises(),e}}),window.KeyframeEffect=t.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(e){return null!==e.effect&&e.effect.target==this}.bind(this))}}(c,e),function(e,t,i){function n(e){e._registered||(e._registered=!0,s.push(e),a||(a=!0,requestAnimationFrame(r)))}function r(e){var t=s;s=[],t.sort(function(e,t){return e._sequenceNumber-t._sequenceNumber}),t=t.filter(function(e){e();var t=e._animation?e._animation.playState:"idle";return"running"!=t&&"pending"!=t&&(e._registered=!1),e._registered}),s.push.apply(s,t),s.length?(a=!0,requestAnimationFrame(r)):a=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);t.bindAnimationForCustomEffect=function(t){var i,r=t.effect.target,s="function"==typeof t.effect.getFrames();i=s?t.effect.getFrames():t.effect._onsample;var a=t.effect.timing,A=null;a=e.normalizeTimingInput(a);var l=function(){var n=l._animation?l._animation.currentTime:null;null!==n&&(n=e.calculateIterationProgress(e.calculateActiveDuration(a),n,a),isNaN(n)&&(n=null)),n!==A&&(s?i(n,r,t.effect):i(n,t.effect,t.effect._animation)),A=n};l._animation=t,l._registered=!1,l._sequenceNumber=o++,t._callback=l,n(l)};var s=[],a=!1;t.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(e,t,i){function n(e){return e._timing.delay+e.activeDuration+e._timing.endDelay}function r(t,i,n){this._id=n,this._parent=null,this.children=t||[],this._reparent(this.children),i=e.numericTimingToObject(i),this._timingInput=e.cloneTimingInput(i),this._timing=e.normalizeTimingInput(i,!0),this.timing=e.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(e){for(var t=this;null!==t;){if(t==e)return!0;t=t._parent}return!1},_rebuild:function(){for(var e=this;e;)"auto"===e.timing.duration&&(e._timing.duration=e.activeDuration),e=e._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(e){t.removeMulti(e);for(var i=0;i<e.length;i++)e[i]._parent=this},_putChild:function(e,t){for(var i=t?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<e.length;n++)if(this._isAncestor(e[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(n=0;n<e.length;n++)t?this.children.push(e[n]):this.children.unshift(e[n]);this._reparent(e),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._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 t=e.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,t):new SequenceEffect(i,t)},remove:function(){t.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e+=n(t)}),Math.max(e,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e=Math.max(e,n(t))}),e}}),t.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=new KeyframeEffect(null,[],i._timing,i._id);return o.onsample=function(t){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==t?void i._removeChildAnimations():0==t&&i.playbackRate<0&&(r||(r=e.normalizeTimingInput(i.effect.timing)),t=e.calculateIterationProgress(e.calculateActiveDuration(r),-1,r),isNaN(t)||null==t)?(i._forEachChild(function(e){e.currentTime=-1}),void i._removeChildAnimations()):void 0},n=t.timeline._play(o)},t.bindAnimationForGroup=function(e){e._animation._wrapper=e,e._isGroup=!0,t.awaitStartTime(e),e._constructChildAnimations(),e._setExternalAnimation(e)},t.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}()),Polymer({is:"slide-from-right-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"translateX(100%)"},{transform:"none"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-from-left-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"translateX(-100%)"},{transform:"none"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-right-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"none"},{transform:"translateX(100%)"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-left-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"none"},{transform:"translateX(-100%)"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"app-header-layout",behaviors:[Polymer.IronResizableBehavior],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},listeners:{"iron-resize":"_resizeHandler","app-header-reset-layout":"_resetLayoutHandler"},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Polymer.dom(this.$.header).getDistributedNodes()[0]},resetLayout:function(){this._updateScroller(),this.debounce("_resetLayout",this._updateContentPosition)},_updateContentPosition:function(){var e=this.header;if(this.isAttached&&e){var t=e.offsetHeight;if(this.hasScrollingRegion)e.style.left="",e.style.right="";else{var i=this.getBoundingClientRect(),n=document.documentElement.clientWidth-i.right;e.style.left=i.left+"px",e.style.right=n+"px"}var r=this.$.contentContainer.style;e.fixed&&!e.willCondense()&&this.hasScrollingRegion?(r.marginTop=t+"px",r.paddingTop=""):(r.paddingTop=t+"px",r.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.stopPropagation()}}),Polymer({is:"app-drawer",properties:{opened:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},persistent:{type:Boolean,value:!1,reflectToAttribute:!0},transitionDuration:{type:Number,value:200},align:{type:String,value:"left"},position:{type:String,readOnly:!0,reflectToAttribute:!0},swipeOpen:{type:Boolean,value:!1,reflectToAttribute:!0},noFocusTrap:{type:Boolean,value:!1},disableSwipe:{type:Boolean,value:!1}},observers:["resetLayout(position, isAttached)","_resetPosition(align, isAttached)","_styleTransitionDuration(transitionDuration)","_openedPersistentChanged(opened, persistent)"],_translateOffset:0,_trackDetails:null,_drawerState:0,_boundEscKeydownHandler:null,_firstTabStop:null,_lastTabStop:null,attached:function(){this._styleTransitionDuration(0),Polymer.RenderStatus.afterNextRender(this,function(){this._styleTransitionDuration(this.transitionDuration),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-attached")},detached:function(){document.removeEventListener("keydown",this._boundEscKeydownHandler)},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-reset-layout")},_isRTL:function(){return"rtl"===window.getComputedStyle(this).direction},_resetPosition:function(){switch(this.align){case"start":return void this._setPosition(this._isRTL()?"right":"left");case"end":return void this._setPosition(this._isRTL()?"left":"right")}this._setPosition(this.align)},_escKeydownHandler:function(e){27===e.keyCode&&(e.preventDefault(),this.close())},_track:function(e){if(!this.persistent&&!this.disableSwipe)switch(e.preventDefault(),e.detail.state){case"start":this._trackStart(e);break;case"track":this._trackMove(e);break;case"end":this._trackEnd(e)}},_trackStart:function(e){this._drawerState=this._DRAWER_STATE.TRACKING,this._styleTransitionDuration(0),this.style.visibility="visible";var t=this.$.contentContainer.getBoundingClientRect();"left"===this.position?this._translateOffset=t.left:this._translateOffset=t.right-window.innerWidth,this._trackDetails=[]},_trackMove:function(e){this._translateDrawer(e.detail.dx+this._translateOffset),this._trackDetails.push({dx:e.detail.dx,timeStamp:Date.now()})},_trackEnd:function(e){var t=e.detail.dx+this._translateOffset,i=this.getWidth(),n="left"===this.position?t>=0||t<=-i:t<=0||t>=i;if(!n){var r=this._trackDetails;if(this._trackDetails=null,this._flingDrawer(e,r),this._drawerState===this._DRAWER_STATE.FLINGING)return}var o=i/2;e.detail.dx<-o?this.opened="right"===this.position:e.detail.dx>o&&(this.opened="left"===this.position),n?this.debounce("_resetDrawerState",this._resetDrawerState):this.debounce("_resetDrawerState",this._resetDrawerState,this.transitionDuration),this._styleTransitionDuration(this.transitionDuration),this._resetDrawerTranslate(),this.style.visibility=""},_calculateVelocity:function(e,t){for(var i,n=Date.now(),r=n-100,o=0,s=t.length-1;o<=s;){var a=o+s>>1,A=t[a];A.timeStamp>=r?(i=A,s=a-1):o=a+1}return i?(e.detail.dx-i.dx)/(n-i.timeStamp||1):0},_flingDrawer:function(e,t){var i=this._calculateVelocity(e,t);if(!(Math.abs(i)<this._MIN_FLING_THRESHOLD)){this._drawerState=this._DRAWER_STATE.FLINGING;var n,r=e.detail.dx+this._translateOffset,o=this.getWidth(),s="left"===this.position,a=i>0;n=!a&&s?-(r+o):a&&!s?o-r:-r,a?(i=Math.max(i,this._MIN_TRANSITION_VELOCITY),this.opened="left"===this.position):(i=Math.min(i,-this._MIN_TRANSITION_VELOCITY),this.opened="right"===this.position);var A=this._FLING_INITIAL_SLOPE*n/i;this._styleTransitionDuration(A),this._styleTransitionTimingFunction(this._FLING_TIMING_FUNCTION),this._resetDrawerTranslate(),this.debounce("_resetDrawerState",this._resetDrawerState,A)}},_styleTransitionDuration:function(e){this.style.transitionDuration=e+"ms",this.$.contentContainer.style.transitionDuration=e+"ms",this.$.scrim.style.transitionDuration=e+"ms"},_styleTransitionTimingFunction:function(e){this.$.contentContainer.style.transitionTimingFunction=e,this.$.scrim.style.transitionTimingFunction=e},_translateDrawer:function(e){var t=this.getWidth();"left"===this.position?(e=Math.max(-t,Math.min(e,0)),this.$.scrim.style.opacity=1+e/t):(e=Math.max(0,Math.min(e,t)),this.$.scrim.style.opacity=1-e/t),this.translate3d(e+"px","0","0",this.$.contentContainer)},_resetDrawerTranslate:function(){this.$.scrim.style.opacity="",this.transform("",this.$.contentContainer)},_resetDrawerState:function(){var e=this._drawerState;e===this._DRAWER_STATE.FLINGING&&(this._styleTransitionDuration(this.transitionDuration),this._styleTransitionTimingFunction(""),this.style.visibility=""),this.opened?this._drawerState=this.persistent?this._DRAWER_STATE.OPENED_PERSISTENT:this._DRAWER_STATE.OPENED:this._drawerState=this._DRAWER_STATE.CLOSED,e!==this._drawerState&&(this._drawerState===this._DRAWER_STATE.OPENED?(this._setKeyboardFocusTrap(),document.addEventListener("keydown",this._boundEscKeydownHandler),document.body.style.overflow="hidden"):(document.removeEventListener("keydown",this._boundEscKeydownHandler),document.body.style.overflow=""),e!==this._DRAWER_STATE.INIT&&this.fire("app-drawer-transitioned"))},_setKeyboardFocusTrap:function(){if(!this.noFocusTrap){var e=['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(","),t=Polymer.dom(this).querySelectorAll(e);t.length>0?(this._firstTabStop=t[0],this._lastTabStop=t[t.length-1]):(this._firstTabStop=null,this._lastTabStop=null);var i=this.getAttribute("tabindex");i&&parseInt(i,10)>-1?this.focus():this._firstTabStop&&this._firstTabStop.focus()}},_tabKeydownHandler:function(e){this.noFocusTrap||this._drawerState===this._DRAWER_STATE.OPENED&&9===e.keyCode&&(e.shiftKey?this._firstTabStop&&Polymer.dom(e).localTarget===this._firstTabStop&&(e.preventDefault(),this._lastTabStop.focus()):this._lastTabStop&&Polymer.dom(e).localTarget===this._lastTabStop&&(e.preventDefault(),this._firstTabStop.focus()))},_openedPersistentChanged:function(){this.debounce("_resetDrawerState",this._resetDrawerState,this.transitionDuration)},_MIN_FLING_THRESHOLD:.2,_MIN_TRANSITION_VELOCITY:1.2,_FLING_TIMING_FUNCTION:"cubic-bezier(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}}),Polymer({is:"iron-media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",this.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}}),Polymer({is:"app-drawer-layout",behaviors:[Polymer.IronResizableBehavior],properties:{forceNarrow:{type:Boolean,value:!1},responsiveWidth:{type:String,value:"640px"},narrow:{type:Boolean,readOnly:!0,notify:!0},openedWhenNarrow:{type:Boolean,value:!1}},listeners:{tap:"_tapHandler","app-drawer-attached":"_resetDrawerState","app-drawer-reset-layout":"resetLayout","iron-resize":"resetLayout"},observers:["resetLayout(narrow, isAttached)","_narrowChanged(narrow, isAttached)"],get drawer(){return Polymer.dom(this.$.drawerContent).getDistributedNodes()[0]},_tapHandler:function(e){var t=Polymer.dom(e).localTarget;if(t&&t.hasAttribute("drawer-toggle")){var i=this.drawer;i&&!i.persistent&&i.toggle()}},resetLayout:function(){this.debounce("_resetLayout",function(){var e=this.drawer,t=this.$.contentContainer;if(this.narrow||!e)t.style.marginLeft="",t.style.marginRight="";else{var i=e.getWidth();"right"==e.position?(t.style.marginLeft="",t.style.marginRight=i+"px"):(t.style.marginLeft=i+"px",t.style.marginRight="")}})},_resetDrawerState:function(){this.debounce("_resetDrawerState",function(){var e=this.drawer;e&&(this.narrow?(e.opened=this.openedWhenNarrow,e.persistent=!1):e.opened=e.persistent=!0)})},_narrowChanged:function(e){this.toggleClass("narrow",e,this.$.contentContainer),this._resetDrawerState(),this.notifyResize()},_onQueryMatchesChanged:function(e){this._setNarrow(e.detail.value)},_computeMediaQuery:function(e,t){return e?"(min-width: 0px)":"(max-width: "+t+")"}}),Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBehaviorImpl],Polymer({is:"paper-button",behaviors:[Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._setElevation(0)}}),Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Polymer.dom(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);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:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),i=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,r={width:e.width+n.left+n.right,height:e.height+n.top+n.bottom},o=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,t,i),s=o.left+n.left,a=o.top+n.top,A=Math.min(i.right-n.right,s+e.width),l=Math.min(i.bottom-n.bottom,a+e.height);s=Math.max(i.left+n.left,Math.min(s,A-this._fitInfo.sizedBy.minWidth)),a=Math.max(i.top+n.top,Math.min(a,l-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(A-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(l-a,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-e.left+"px",this.style.top=a-e.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,i,n,r){this.__sizeDimension(e,t,i,n,r)},__sizeDimension:function(e,t,i,n,r){var o=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),a="Width"===r?s.width:s.height,A=t===n,l=A?a-e[n]:e[i],h=o.margin[A?i:n],c="offset"+r,u=this[c]-this.sizingTarget[c];this.sizingTarget.style["max"+r]=a-h-l-u+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var n=i.top-t.top+(i.height-t.height)/2;this.style.top=n+"px"}if(!e.horizontally){var r=i.left-t.left+(i.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getCroppedArea:function(e,t,i){var n=Math.min(0,e.top)+Math.min(0,i.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,i.right-(e.left+t.width));return Math.abs(n)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,i,n,r){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-i.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-i.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-i.height-this.verticalOffset,left:n.right-i.width-this.horizontalOffset}];if(this.noOverlap){for(var a=0,A=s.length;a<A;a++){var l={};for(var h in s[a])l[h]=s[a][h];s.push(l)}s[0].top=s[1].top+=n.height,s[2].top=s[3].top-=n.height,s[4].left=s[6].left+=n.width,s[5].left=s[7].left-=n.width}for(t="auto"===t?null:t,e="auto"===e?null:e,a=0;a<s.length;a++){var c=s[a];if(!this.dynamicAlign&&!this.noOverlap&&c.verticalAlign===t&&c.horizontalAlign===e){o=c;break}var u=!(t&&c.verticalAlign!==t||e&&c.horizontalAlign!==e);if(this.dynamicAlign||u){o=o||c,c.croppedArea=this.__getCroppedArea(c,i,r);var d=c.croppedArea-o.croppedArea;if((d<0||0===d&&u)&&(o=c),0===o.croppedArea&&u)break}}return o}},function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}(),Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var i=this._overlays.length-1,n=this._overlays[i];if(n&&this._shouldBeBehindOverlay(t,n)&&i--,!(e>=i)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e<i;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[i]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var i=this._overlays.length,n=this._overlays[i-1],r=Math.max(this._getZ(n),this._minimumZ),o=this._getZ(e);if(n&&this._shouldBeBehindOverlay(e,n)){this._applyOverlayZ(n,r),i--;var s=this._overlays[i-1];r=Math.max(this._getZ(s),this._minimumZ)}o<=r&&this._applyOverlayZ(e,r),this._overlays.splice(i,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(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._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-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 i=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);i==i&&(t=i)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ: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:function(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.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass,function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable: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){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var i,n=e,r=this._normalizedTabIndex(n),o=r>0;r>=0&&t.push(n),i="content"===n.localName?Polymer.dom(n).getDistributedNodes():Polymer.dom(n.root||n).children;for(var s=0;s<i.length;s++){var a=this._collectTabbableNodes(i[s],t);o=o||a}return o},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&"hidden"!==(t=window.getComputedStyle(e)).visibility&&"none"!==t.display},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var i=Math.ceil(t/2),n=this._sortByTabIndex(e.slice(0,i)),r=this._sortByTabIndex(e.slice(i));return this._mergeSortByTabIndex(n,r)},_mergeSortByTabIndex:function(e,t){for(var i=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)},_hasLowerTabOrder:function(e,t){var i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}}}(),function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).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.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",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="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),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;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode,r=!1;if(i===n)r=!0;else{var o=this._manager.deepActiveElement;r=o===i||o===this}r&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}(),Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Polymer.dom(e).path,i=0;i<t.indexOf(this);i++){var n=t[i];if(n.hasAttribute&&(n.hasAttribute("dialog-dismiss")||n.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirmed(n.hasAttribute("dialog-confirm")),this.close(),e.stopPropagation();break}}}},Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBehaviorImpl],Polymer({is:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRunnerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}}),Polymer({is:"paper-fab",behaviors:[Polymer.PaperButtonBehavior],properties:{src:{type:String,value:""},icon:{type:String,value:""},mini:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,observer:"_labelChanged"}},_labelChanged:function(){this.setAttribute("aria-label",this.label)},_computeIsIconFab:function(e,t){return e.length>0||t.length>0}}),Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0"},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var i=this.getAttribute("aria-label");i&&t!=i||this.setAttribute("aria-label",e)}}),Polymer({is:"paper-menu",behaviors:[Polymer.IronMenuBehavior]}),Polymer.PaperItemBehaviorImpl={hostAttributes:{role:"option",tabindex:"0"}},Polymer.PaperItemBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperItemBehaviorImpl],Polymer({is:"paper-item",behaviors:[Polymer.PaperItemBehavior]});var GoogleCodelabs=window.GoogleCodelabs||{};GoogleCodelabs.AnalyticsBehavior={listeners:{"google-codelab-step":"_trackStepChanged","google-codelab-complete":"_trackCodelabComplete","google-codelab-snippet-copy":"_trackSnippetCopy","google-codelab-survey-answer":"_trackSurveyAnswer"},get _isTrackingEnabled(){return!!window.ga},_gaSend:function(e,t,i){i.hitType=e,i.dimension1=t.environment,i.dimension2=t.category,window.ga(function(){for(var e=ga.getAll(),t=0;t<e.length;t++)e[t].send(i)})},_trackStepChanged:function(e,t){this._isTrackingEnabled&&this._gaSend("pageview",e.target,{page:location.pathname+"#"+t.index,title:t.step.label})},_trackCodelabComplete:function(e){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"codelab",eventAction:"complete",eventLabel:e.target.title})},_trackSnippetCopy:function(e,t){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"snippet",eventAction:"copy",eventLabel:t.snippet.substring(0,500)})},_trackSurveyAnswer:function(e,t){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"survey",eventAction:t.question.substring(0,500),eventLabel:t.answer.substring(0,500)})}},Polymer({is:"google-codelab",behaviors:[Polymer.IronA11yKeysBehavior,GoogleCodelabs.AnalyticsBehavior],properties:{title:{type:String,value:""},category:{type:String,value:null},environment:{type:String,value:null},feedbackLink:{type:String,value:""},selected:{type:Number,value:0},duration:{type:Number,value:0,readOnly:!0},remaining:{type:String,value:"",readOnly:!0},lastUpdated:{type:String,value:""},steps:{type:Array,value:function(){return[]},readOnly:!0},state:{type:Object,value:null},noToolbar:{type:Boolean,value:!1},noArrows:{type:Boolean,value:!1},noHighlight:{type:Boolean,value:!1,reflectToAttribute:!0},_storedStep:{type:Object,value:null},_resumed:{type:Boolean,value:!1},_userHasNavigated:{type:Boolean,value:!1,readOnly:!0}},observers:["_selectedChanged(steps, selected)"],keyBindings:{left:"selectPrevious",right:"selectNext"},ready:function(){this.keyEventTarget=document.body,this._updateStepIndexFromUrl()},_onStepsChanged:function(){var e=0,t=this.$.pages.items.map(function(t,i){return e+=t.duration,t.step=i+1,t}.bind(this));this._setSteps(t),this._setDuration(e),this._updateRemaining(),this.fire("google-codelab-ready",{steps:this.steps})},selectNext:function(){this.$.pages.entryAnimation="slide-from-right-animation",this.$.pages.exitAnimation="slide-left-animation",this.select(this.selected+1)},selectPrevious:function(){this.$.pages.entryAnimation="slide-from-left-animation",this.$.pages.exitAnimation="slide-right-animation",this.select(this.selected-1)},select:function(e){e<0||e>this.steps.length-1||(this._allowCodelabComplete(),this.selected=e)},_selectedChanged:function(e,t){if(this.set("state.stepIndex",this.selected),this._updateRemaining(),this.steps.length){var i=this.steps[this.selected];i.active=!0,location.hash=this.selected.toString(),this.fire("google-codelab-step",{index:this.selected,step:i}),this.selected===this.steps.length-1&&!this._resumed&&this._userHasNavigated&&this.fire("google-codelab-complete")}},_onStepLeave:function(e,t){t.item.active=!1,this._scrollToTopOfStep()},_stateInit:function(){this.state={stepIndex:this.selected}},_stateLoaded:function(){this.async(function(){this._storedStep=this.steps[this.state.stepIndex],0===this.selected&&this.state.stepIndex>0&&this.$.resumeDialog.open()},500)},_updateStepIndexFromUrl:function(){var e=parseInt(location.hash.slice(1),10);(isNaN(e)||e<0)&&(e=0),this.steps&&this.steps.length&&e>this.steps.length-1&&(e=this.steps.length-1),this.selected=e},_allowCodelabComplete:function(){this._set_userHasNavigated(!0)},_updateRemaining:function(){if(this.steps){var e=0;this.steps.slice(this.selected).forEach(function(t){e+=t.duration||0});var t=this._narrow?"":" remaining";this._setRemaining(e+" min"+t)}},_resume:function(){this._resumed=!0,this.select(this.state.stepIndex),this._resumed=!1},_goToHome:function(){for(var e,t=location.search.substring(1).split("&"),i=0;i<t.length;i++){var n=t[i].split("=");if("index"===n[0]){e=n[1];break}}"index"===(e=(e=e?decodeURIComponent(e):"").replace(/[^a-z0-9\-]+/gi,""))&&(e=""),window.location.href="/"+e},_tocItemClass:function(e,t){var i=["toc-item"];return t<e&&i.push("completed"),i.join(" ")},_scrollToTopOfStep:function(){document.body.scrollTop=0},_isPositiveNum:function(e){return e>0},_isFirstStep:function(e){return isNaN(e)||0==e},_isLastStep:function(e){return!!this.steps.length&&e>=this.steps.length-1},_showDoneFab:function(e,t){return this._isLastStep(e)},_showNextFab:function(e,t){return!this._isLastStep(e)},_nextFabTitle:function(e){return e>0?"Next step":"Start codelab"}}),function(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{libraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{type:String,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(libraryUrl)"],_libraryUrlChanged:function(e){this._isReady&&this.libraryUrl&&this._loadLibrary()},_libraryLoadCallback:function(e,t){e?this._setLibraryErrorMessage(e.message):(this._setLibraryErrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.notifyEvent,t))},_loadLibrary:function(){e.require(this.libraryUrl,this._libraryLoadCallback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this.libraryUrl&&this._loadLibrary()}};var e={apiMap:{},require:function(e,i,n){var r=this.nameFromUrl(e);this.apiMap[r]||(this.apiMap[r]=new t(r,e,n)),this.apiMap[r].requestNotify(i)},nameFromUrl:function(e){return e.replace(/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}},t=function(e,t,i){if(this.notifiers=[],!i){if(!(t.indexOf(this.callbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior a %%callback%% parameter is required in libraryUrl"));i=e+"_loaded",t=t.replace(this.callbackMacro,i)}this.callbackName=i,window[this.callbackName]=this.success.bind(this),this.addScript(t)};t.prototype={callbackMacro:"%%callback%%",loaded:!1,addScript:function(e){var t=document.createElement("script");t.src=e,t.onerror=this.handleError.bind(this);var i=document.querySelector("script")||document.body;i.parentNode.insertBefore(t,i),this.script=t},removeScript:function(){this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.script=null},handleError:function(e){this.error=new Error("Library failed to load"),this.notifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array.prototype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:function(){delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEach(function(e){e(this.error,this.result)}.bind(this)),this.notifiers=[]},requestNotify:function(e){this.loaded||this.error?e(this.error,this.result):this.notifiers.push(e)}}}(),Polymer({is:"iron-jsonp-library",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:String,notifyEvent:String}}),Polymer({is:"google-youtube-api",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"https://www.youtube.com/iframe_api"},notifyEvent:{type:String,value:"api-load"},callbackName:{type:String,value:"onYouTubeIframeAPIReady"}},get api(){return YT}}),Polymer({is:"google-youtube",properties:{videoId:{type:String,value:"",observer:"_videoIdChanged"},playsupported:{type:Boolean,value:null,notify:!0},autoplay:{type:Number,value:0},playbackstarted:{type:Boolean,value:!1,notify:!0},height:{type:String,value:"270px"},width:{type:String,value:"480px"},state:{type:Number,value:-1,notify:!0},currenttime:{type:Number,value:0,notify:!0},duration:{type:Number,value:1,notify:!0},currenttimeformatted:{type:String,value:"0:00",notify:!0},durationformatted:{type:String,value:"0:00",notify:!0},fractionloaded:{type:Number,value:0,notify:!0},chromeless:{type:Boolean,value:!1},thumbnail:{type:String,value:""},fluid:{type:Boolean,value:!1}},_computeContainerStyle:function(e,t){return"width:"+e+"; height:"+t},_useExistingPlaySupportedValue:function(){this.playsupported=this._playsupportedLocalStorage},_determinePlaySupported:function(){if(null==this.playsupported){var e,t=document.createElement("video");if("play"in t){t.id="playtest",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px";var i=document.createElement("source");i.src="data:video/mp4;base64,AAAAFGZ0eXBNU05WAAACAE1TTlYAAAOUbW9vdgAAAGxtdmhkAAAAAM9ghv7PYIb+AAACWAAACu8AAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAnh0cmFrAAAAXHRraGQAAAAHz2CG/s9ghv4AAAABAAAAAAAACu8AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAFAAAAA4AAAAAAHgbWRpYQAAACBtZGhkAAAAAM9ghv7PYIb+AAALuAAANq8AAAAAAAAAIWhkbHIAAAAAbWhscnZpZGVBVlMgAAAAAAABAB4AAAABl21pbmYAAAAUdm1oZAAAAAAAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAVdzdGJsAAAAp3N0c2QAAAAAAAAAAQAAAJdhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAFAAOABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAEmNvbHJuY2xjAAEAAQABAAAAL2F2Y0MBTUAz/+EAGGdNQDOadCk/LgIgAAADACAAAAMA0eMGVAEABGjuPIAAAAAYc3R0cwAAAAAAAAABAAAADgAAA+gAAAAUc3RzcwAAAAAAAAABAAAAAQAAABxzdHNjAAAAAAAAAAEAAAABAAAADgAAAAEAAABMc3RzegAAAAAAAAAAAAAADgAAAE8AAAAOAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAAOAAAAFHN0Y28AAAAAAAAAAQAAA7AAAAA0dXVpZFVTTVQh0k/Ou4hpXPrJx0AAAAAcTVREVAABABIAAAAKVcQAAAAAAAEAAAAAAAAAqHV1aWRVU01UIdJPzruIaVz6ycdAAAAAkE1URFQABAAMAAAAC1XEAAACHAAeAAAABBXHAAEAQQBWAFMAIABNAGUAZABpAGEAAAAqAAAAASoOAAEAZABlAHQAZQBjAHQAXwBhAHUAdABvAHAAbABhAHkAAAAyAAAAA1XEAAEAMgAwADAANQBtAGUALwAwADcALwAwADYAMAA2ACAAMwA6ADUAOgAwAAABA21kYXQAAAAYZ01AM5p0KT8uAiAAAAMAIAAAAwDR4wZUAAAABGjuPIAAAAAnZYiAIAAR//eBLT+oL1eA2Nlb/edvwWZflzEVLlhlXtJvSAEGRA3ZAAAACkGaAQCyJ/8AFBAAAAAJQZoCATP/AOmBAAAACUGaAwGz/wDpgAAAAAlBmgQCM/8A6YEAAAAJQZoFArP/AOmBAAAACUGaBgMz/wDpgQAAAAlBmgcDs/8A6YEAAAAJQZoIBDP/AOmAAAAACUGaCQSz/wDpgAAAAAlBmgoFM/8A6YEAAAAJQZoLBbP/AOmAAAAACkGaDAYyJ/8AFBAAAAAKQZoNBrIv/4cMeQ==",t.appendChild(i);var n=document.createElement("source");n.src="data:video/webm;base64,GkXfo49CgoR3ZWJtQoeBAUKFgQEYU4BnAQAAAAAAF60RTZt0vE27jFOrhBVJqWZTrIIQA027jFOrhBZUrmtTrIIQbE27jFOrhBFNm3RTrIIXmU27jFOrhBxTu2tTrIIWs+xPvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUmpZuQq17GDD0JATYCjbGliZWJtbCB2MC43LjcgKyBsaWJtYXRyb3NrYSB2MC44LjFXQY9BVlNNYXRyb3NrYUZpbGVEiYRFnEAARGGIBc2Lz1QNtgBzpJCy3XZ0KNuKNZS4+fDpFxzUFlSua9iu1teBAXPFhL4G+bmDgQG5gQGIgQFVqoEAnIEAbeeBASMxT4Q/gAAAVe6BAIaFVl9WUDiqgQEj44OEE95DVSK1nIN1bmTgkbCBULqBPJqBAFSwgVBUuoE87EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9DtnVB4eeBAKC4obaBAAAAkAMAnQEqUAA8AABHCIWFiIWEiAICAAamYnoOC6cfJa8f5Zvda4D+/7YOf//nNefQYACgnKGWgQFNANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQKbANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQPoANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQU1ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQaDANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQfQANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQkdANEBAAEQEBRgAGFgv9AAIiGAAPuC/rOgnKGWgQprANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQu4ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ0FANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ5TANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQ+gANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRDtANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRI7ANEBAAEQEAAYABhYL/QACIhgAPuC/rIcU7trQOC7jLOBALeH94EB8YIUzLuNs4IBTbeH94EB8YIUzLuNs4ICm7eH94EB8YIUzLuNs4ID6LeH94EB8YIUzLuNs4IFNbeH94EB8YIUzLuNs4IGg7eH94EB8YIUzLuNs4IH0LeH94EB8YIUzLuNs4IJHbeH94EB8YIUzLuNs4IKa7eH94EB8YIUzLuNs4ILuLeH94EB8YIUzLuNs4INBbeH94EB8YIUzLuNs4IOU7eH94EB8YIUzLuNs4IPoLeH94EB8YIUzLuNs4IQ7beH94EB8YIUzLuNs4ISO7eH94EB8YIUzBFNm3SPTbuMU6uEH0O2dVOsghTM",t.appendChild(n),document.body.appendChild(t),this.async(function(){t.onplaying=function(i){clearTimeout(e),this.playsupported=i&&"playing"===i.type||0!==t.currentTime,this._playsupportedLocalStorage=this.playsupported,t.onplaying=null,document.body.removeChild(t)}.bind(this),e=setTimeout(t.onplaying,500),t.play()})}else this.playsupported=!1,this._playsupportedLocalStorage=!1}},ready:function(){if(this.hasAttribute("fluid")){var e=parseInt(this.height,10)/parseInt(this.width,10);isNaN(e)&&(e=9/16),e*=100,this.width="100%",this.height="auto",this.$.container.style["padding-top"]=e+"%"}},detached:function(){this._player&&this._player.destroy()},play:function(){this._player&&this._player.playVideo&&this.playsupported&&this._player.playVideo()},setVolume:function(e){this._player&&this._player.setVolume&&this._player.setVolume(e)},mute:function(){this._player&&this._player.mute&&this._player.mute()},unMute:function(){this._player&&this._player.unMute&&this._player.unMute()},pause:function(){this._player&&this._player.pauseVideo&&this._player.pauseVideo()},seekTo:function(e){this._player&&this._player.seekTo&&(this._player.seekTo(e,!0),this.async(function(){this._updatePlaybackStats()},null,100))},_videoIdChanged:function(){this.currenttime=0,this.currenttimeformatted=this._toHHMMSS(0),this.fractionloaded=0,this.duration=1,this.durationformatted=this._toHHMMSS(0),this._player&&this._player.cueVideoById?this.playsupported&&this.attributes.autoplay&&"1"==this.attributes.autoplay.value?this._player.loadVideoById(this.videoId):this._player.cueVideoById(this.videoId):this._pendingVideoId=this.videoId},_player:null,__updatePlaybackStatsInterval:null,_pendingVideoId:"",_apiLoad:function(){var e={playsinline:1,controls:2,autohide:1,autoplay:this.autoplay};this.chromeless&&(e.controls=0,e.modestbranding=1,e.showinfo=0,e.iv_load_policy=3,e.rel=0);for(var t=0;t<this.attributes.length;t++){var i=this.attributes[t];e[i.nodeName]=i.value}this._player=new YT.Player(this.$.player,{videoId:this.videoId,width:"100%",height:"100%",playerVars:e,events:{onReady:function(e){this._pendingVideoId&&this._pendingVideoId!=this.videoId&&(this._player.cueVideoById(this._pendingVideoId),this._pendingVideoId=""),this.fire("google-youtube-ready",e)}.bind(this),onStateChange:function(e){this.state=e.data,1==this.state?(this.playbackstarted=!0,this.playsupported=!0,this.duration=this._player.getDuration(),this.durationformatted=this._toHHMMSS(this.duration),this.__updatePlaybackStatsInterval||(this.__updatePlaybackStatsInterval=setInterval(this._updatePlaybackStats.bind(this),1e3))):this.__updatePlaybackStatsInterval&&(clearInterval(this.__updatePlaybackStatsInterval),this.__updatePlaybackStatsInterval=null),this.fire("google-youtube-state-change",e)}.bind(this),onError:function(e){this.state=0,this.fire("google-youtube-error",e)}.bind(this)}})},_updatePlaybackStats:function(){this.currenttime=Math.round(this._player.getCurrentTime()),this.currenttimeformatted=this._toHHMMSS(this.currenttime),this.fractionloaded=this._player.getVideoLoadedFraction()},_toHHMMSS:function(e){var t=Math.floor(e/3600);e-=3600*t;var i=Math.floor(e/60),n=Math.round(e-60*i),r="";return t>0&&(r+=t+":",i<10&&(i="0"+i)),n<10&&(n="0"+n),r+i+":"+n},_handleThumbnailTap:function(){this.autoplay=1,this.thumbnail=""}});
    \ No newline at end of file
    diff --git a/site/dist/elements/elements.html b/site/dist/elements/elements.html
    new file mode 100644
    index 000000000..17bd8aa70
    --- /dev/null
    +++ b/site/dist/elements/elements.html
    @@ -0,0 +1,570 @@
    +<html><head><meta charset="UTF-8">
    +</head><body><div hidden="" by-vulcanize=""><style>
    +[hidden]{display:none!important}</style><style is="custom-style">
    +:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:flex};--layout-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row};--layout-horizontal-reverse:{@apply(--layout);-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column};--layout-vertical-reverse:{@apply(--layout);-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse};--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-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:none;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0.000000001px;-ms-flex-preferred-size:0.000000001px;-webkit-flex:1;-webkit-flex-basis:0.000000001px;flex:1;flex-basis:0.000000001px};--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};--layout-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-start};--layout-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-end};--layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline};--layout-start-justified:{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start};--layout-center-justified:{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center};--layout-end-justified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between};--layout-center-center:{@apply(--layout-center);@apply(--layout-center-justified)};--layout-self-start:{-ms-align-self:flex-start;-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start};--layout-self-center:{-ms-align-self:center;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center};--layout-self-end:{-ms-align-self:flex-end;-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end};--layout-self-stretch:{-ms-align-self:stretch;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch};--layout-self-baseline:{-ms-align-self:baseline;-ms-flex-item-align:baseline;-webkit-align-self:baseline;align-self:baseline};--layout-start-aligned:{-ms-align-content:flex-start;-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start};--layout-end-aligned:{-ms-align-content:flex-end;-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end};--layout-center-aligned:{-ms-align-content:center;-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center};--layout-between-aligned:{-ms-align-content:space-between;-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between};--layout-around-aligned:{-ms-align-content:space-around;-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around};--layout-block:{display:block};--layout-invisible:{visibility:hidden!important};--layout-relative:{position:relative};--layout-fit:{bottom:0;left:0;position:absolute;right:0;top:0};--layout-scroll:{-webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed:{height:100vh;margin:0};--layout-fixed-top:{left:0;position:fixed;right:0;top:0};--layout-fixed-right:{bottom:0;position:fixed;right:0;top:0};--layout-fixed-bottom:{bottom:0;left:0;position:fixed;right:0};--layout-fixed-left:{bottom:0;left:0;position:fixed;top:0};}</style><dom-module id="iron-icon" assetpath="../bower_components/iron-icon/">
    +<template>
    +<style>
    +:host{@apply(--layout-inline);@apply(--layout-center-center);fill:var(--iron-icon-fill-color,currentcolor);height:var(--iron-icon-height,24px);position:relative;stroke:var(--iron-icon-stroke-color,none);vertical-align:middle;width:var(--iron-icon-width,24px);@apply(--iron-icon)} </style>
    +</template>
    +</dom-module>
    +<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.05 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.15-.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-.14.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-.55.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"><circle 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-7H4zm6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></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-2v-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.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z"></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"></path></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 9h2V6h3V4h-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.13 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.52 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.43C10.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.29L1.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.86 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g>
    +<g id="alarm-on"><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.47L8.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.95-.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.57 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.5V19h1c.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.63L7.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="announcement"><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 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-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-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    +<g id="arrow-drop-down-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 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.59L12 20l8-8z"></path></g>
    +<g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.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 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g>
    +<g id="assessment"><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-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-4H7V7h10v2z"></path></g>
    +<g id="assignment-ind"><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 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="assignment-turned-in"><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-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 10H17v2H9.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.5S5.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 14 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.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="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.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.55 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 12c0 4.42-3.58 8-8 8z"></path></g>
    +<g id="book"><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="bookmark"><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="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 .34.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-2h4v2z"></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.5l9.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"></path></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-5s2.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.75L8 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-.89 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.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="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-5H4V4h16v6z"></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"></path></g>
    +<g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 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.41L10 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 12s4.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"></path></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.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.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 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.96zM17 13l-5 5-5-5h3V9h4v4h3z"></path></g>
    +<g id="cloud-off"><path d="M19.35 10.04C18.67 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 6c3.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 18H6c-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 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.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 4s1.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 18H5V4h2v3h10V4h2v16z"></path></g>
    +<g id="copyright"><path d="M10.08 10.86c.05-.33.16-.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.36S8 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 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="create"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.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.99.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-3v3h-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-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g>
    +<g id="dashboard"><path d="M3 13h8V3H3v10zm0 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-2v2H8V2H6v2H5c-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="delete-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="description"><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.2L4.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.41 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-9v7.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-2V7h2v6z"></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="euro-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.3l-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"></path></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.1s.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 12s4.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.5S21.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.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.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 10c.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"><path 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-2h2v2zm0-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-4v2zM3 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-.4l-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.02-.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.34-3 3z"></path></g>
    +<g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46L12 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="fingerprint"><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 14 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.01-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.12zM14.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-.64-.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"></path></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.21 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.28L5.15 8.95l-.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g>
    +<g id="flight-takeoff"><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 id="flip-to-back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g>
    +<g id="flip-to-front"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-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="folder"><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-2V8c0-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-2zm0 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 2v1z"></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 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g>
    +<g id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-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.68c.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.93l1.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-7zM5 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-1zm10 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g>
    +<g id="grade"><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.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 .88-.36 1.68-.93 2.25z"></path></g>
    +<g id="help-outline"><path d="M11 18h2v-2h-2v2zm1-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.03-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"><path 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.99h-.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 0H14V15h1.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-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="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-.97 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 2H19c1.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.99V5H19v10z"></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"></path></g>
    +<g id="info"><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-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-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 8zM11 9h2V7h-2v2z"></path></g>
    +<g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 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.58c2.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 2H4.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-8H5.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 14c.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-.26 2h-3.38z"></path></g>
    +<g id="last-page"><path d="M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"></path></g>
    +<g id="launch"><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="lightbulb-outline"><path 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="line-style"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 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-2H3v2zm0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g>
    +<g id="link"><path 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.9H7c-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="list"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 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 2v10c0 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 2h12c1.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 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.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-.59l7-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.5S4.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.81 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="markunread"><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-mailbox"><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-2H3v2zm0-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 2H5c-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.82zM19 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="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.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.99V5H19v10zm-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"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm5 16H7v-2h10v2zm-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="opacity"><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 8zM6 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-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.07-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.21.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-device-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.9V17c0-.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-4zm0 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 3v10l3-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.89-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-8v6h8V7zm2-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"><path 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-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g>
    +<g id="polymer"><path 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.17l-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="query-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 2v20z"></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.69c.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.63c2.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.69.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.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.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="redo"><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.99 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 11v2h10v-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-shopping-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"></path></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.73 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-2V7h2v6z"></path></g>
    +<g id="report-problem"><path d="M1 21h22L12 2 1 21zm12-3h-2v-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-2V8l-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.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="rounded-corner"><path d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13h2v-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-2zm6 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-3s1.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-13H11v6l5.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.01 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-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></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-.03-.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.46c-.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-.98l2.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"></path></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-2V5c0-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-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.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="settings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-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.59 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-brightness"><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-2v2zm4 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-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 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.62 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z"></path></g>
    +<g id="settings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 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-11S18.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.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-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.02z"></path></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 9v2h2V9h-2z"></path></g>
    +<g id="settings-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-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 1h6c.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.41C15.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 0z"></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-2v2zm4 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-2h4v2h-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"></path></g>
    +<g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></path></g>
    +<g id="speaker-notes"><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-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g>
    +<g id="speaker-notes-off"><path 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.09L9.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.73L5.82 21z"></path></g>
    +<g id="star-border"><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.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.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 2zm4.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.73 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"><path 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.25c0-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.99h3V14h2V6.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 9H11v4H9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g>
    +<g id="system-update-alt"><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"><path d="M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-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-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g>
    +<g id="thumb-down"><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.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-.79-.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.75c.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-.67-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 2z"></path></g>
    +<g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 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.26C3.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.5v3.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"><path 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 4s-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.56l-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"><path 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 18V5h10v13z"></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 id="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"></path></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 19 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.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"></path></g>
    +<g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 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="view-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 5v13h5V5h-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-8h16V9H4v2zm0-6v2h16V5H4z"></path></g>
    +<g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-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="M10 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="view-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-3h-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-3c0-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.82V7c0-1.1-.9-2-2-2z"></path></g>
    +<g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-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-searched-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-out"><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>
    +<dom-module id="paper-ripple" assetpath="../bower_components/paper-ripple/">
    +<template>
    +<style>
    +:host{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}:host([animating]){-webkit-transform:translate(0);transform:translateZ(0)}#background,#waves,.wave,.wave-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}#background,.wave{opacity:0}#waves,.wave{overflow:hidden}.wave,.wave-container,:host(.circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflow:hidden} </style>
    +<div id="background"></div>
    +<div id="waves"></div>
    +</template>
    +</dom-module>
    +<style is="custom-style">
    +:root{--shadow-transition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-shadow: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 rgba(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-elevation-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 16px 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-module id="paper-material-shared-styles" assetpath="../bower_components/paper-material/">
    +<template>
    +<style>
    +:host{display:block;position:relative}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:host([elevation="2"]){@apply(--shadow-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>
    +<dom-module id="paper-button" assetpath="../bower_components/paper-button/">
    +<template strip-whitespace="">
    +<style include="paper-material-shared-styles">
    +:host{@apply(--layout-inline);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;font:inherit;margin:0 .29em;min-width:5.14em;outline-width:0;padding:.7em .57em;position:relative;text-transform:uppercase;user-select:none;z-index:0;@apply(--paper-font-common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:host([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard-focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-button-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;cursor:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@apply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="paper-drawer-panel" assetpath="../bower_components/paper-drawer-panel/">
    +<template>
    +<style>
    +:host{display:block;overflow:hidden;width:100%}:host,iron-selector>#drawer{height:100%;left:0;position:absolute;top:0}iron-selector>#drawer{background-color:#fff;box-sizing:border-box;@apply(--paper-drawer-panel-drawer-container)}.transition-drawer{transition:-webkit-transform .3s ease-in-out,width .3s ease-in-out,visibility .3s;transition:width .3s ease-in-out,visibility .3s,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,width .3s ease-in-out,visibility .3s;transition:transform .3s ease-in-out,width .3s ease-in-out,visibility .3s,-webkit-transform .3s ease-in-out}.left-drawer>#drawer{@apply(--paper-drawer-panel-left-drawer-container)}.right-drawer>#drawer{left:auto;right:0;@apply(--paper-drawer-panel-right-drawer-container)}iron-selector>#main{bottom:0;position:absolute;right:0;top:0;@apply(--paper-drawer-panel-main-container)}.transition>#main{transition:left .3s ease-in-out,padding .3s ease-in-out}.right-drawer>#main{left:0}.right-drawer.transition>#main{transition:right .3s ease-in-out,padding .3s ease-in-out}#drawer>::content>[drawer],#main>::content>[main]{height:100%}#scrim{background-color:rgba(0,0,0,.3);bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .38s ease-in-out,visibility .38s ease-in-out;visibility:hidden;@apply(--paper-drawer-panel-scrim)}.narrow-layout>#drawer{will-change:transform}.narrow-layout>#drawer.iron-selected{box-shadow:2px 2px 4px rgba(0,0,0,.15)}.right-drawer.narrow-layout>#drawer.iron-selected{box-shadow:-2px 2px 4px rgba(0,0,0,.15)}.narrow-layout>#drawer>::content>[drawer]{border:0}.left-drawer.narrow-layout>#drawer:not(.iron-selected){-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:hidden}.right-drawer.narrow-layout>#drawer:not(.iron-selected){-webkit-transform:translateX(100%);left:auto;transform:translateX(100%);visibility:hidden}.left-drawer.dragging>#drawer:not(.iron-selected),.left-drawer.peeking>#drawer:not(.iron-selected),.right-drawer.dragging>#drawer:not(.iron-selected),.right-drawer.peeking>#drawer:not(.iron-selected){visibility:visible}.narrow-layout>#main{padding:0}.right-drawer.narrow-layout>#main{left:0;right:0}.dragging>#main>#scrim,.narrow-layout>#main:not(.iron-selected)>#scrim{opacity:var(--paper-drawer-panel-scrim-opacity,1);visibility:visible}.narrow-layout>#main>*{box-sizing:border-box;left:0;margin:0;min-height:100%;right:0}iron-selector:not(.narrow-layout) ::content [paper-drawer-toggle]{display:none} </style>
    +<iron-media-query id="mq" on-query-matches-changed="_onQueryMatchesChanged" query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]">
    +</iron-media-query>
    +<iron-selector attr-for-selected="id" class$="[[_computeIronSelectorClass(narrow, _transition, dragging, rightDrawer, peeking)]]" activate-event="" selected="[[selected]]">
    +<div id="main" style$="[[_computeMainStyle(narrow, rightDrawer, drawerWidth)]]">
    +<content select="[main]"></content>
    +<div id="scrim" on-tap="closeDrawer"></div>
    +</div>
    +<div id="drawer" style$="[[_computeDrawerStyle(drawerWidth)]]">
    +<content id="drawerContent" select="[drawer]"></content>
    +</div>
    +</iron-selector>
    +</template>
    +</dom-module>
    +<dom-module id="paper-header-panel" assetpath="../bower_components/paper-header-panel/">
    +<template>
    +<style>
    +:host{@apply(--layout-vertical);height:100%;position:relative;@apply(--paper-header-panel)}#mainContainer{@apply(--layout-flex);-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto;position:relative}#mainPanel{@apply(--layout-vertical);@apply(--layout-flex);min-height:0;position:relative;@apply(--paper-header-panel-body)}#mainContainer{@apply(--paper-header-panel-container)}:host([mode=scroll]) #mainContainer{@apply(--paper-header-panel-scroll-container);overflow:visible}:host([mode=scroll]){-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}:host([mode=cover]) #mainContainer{@apply(--paper-header-panel-cover-container);bottom:0;left:0;position:absolute;right:0;top:0}:host([mode=cover]) #mainPanel{position:static}:host([mode=standard]) #mainContainer{@apply(--paper-header-panel-standard-container)}:host([mode=seamed]) #mainContainer{@apply(--paper-header-panel-seamed-container)}:host([mode=waterfall]) #mainContainer{@apply(--paper-header-panel-waterfall-container)}:host([mode=waterfall-tall]) #mainContainer{@apply(--paper-header-panel-waterfall-tall-container)}#dropShadow{box-shadow:inset 0 5px 6px -3px rgba(0,0,0,.4);height:6px;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .5s;@apply(--paper-header-panel-shadow);right:0;top:0}#dropShadow.has-shadow{opacity:1} </style>
    +<content id="headerContent" select="paper-toolbar, .paper-header"></content>
    +<div id="mainPanel">
    +<div id="mainContainer" class$="[[_computeMainContainerClass(mode)]]">
    +<content id="mainContent" select="*"></content>
    +</div>
    +<div id="dropShadow"></div>
    +</div>
    +</template>
    +</dom-module>
    +<style is="custom-style">
    +:root{--dark-disabled-opacity:0.38;--dark-divider-opacity:0.12;--dark-primary-opacity:0.87;--dark-secondary-opacity:0.54;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--light-disabled-opacity:0.3;--light-divider-opacity:0.12;--light-primary-opacity:1.0;--light-secondary-opacity:0.7;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-50:#fff8e1;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-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-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-50:#e3f2fd;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--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-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-50:#eceff1;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-50:#efebe9;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-50:#e0f7fa;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-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-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-50:#e8f5e9;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-grey-100:#f5f5f5;--paper-grey-200:#eee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-50:#fafafa;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-50:#e8eaf6;--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-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-50:#e1f5fe;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-50:#f1f8e9;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-50:#f9fbe7;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-50:#fff3e0;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-50:#fce4ec;--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:#f50057;--paper-pink-a700:#c51162;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-50:#f3e5f5;--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:#a0f;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-50:#ffebee;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-50:#e0f2f1;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-50:#fffde7;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ff0;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600}</style><style is="custom-style">
    +:root{--accent-color:var(--paper-pink-a200);--dark-accent-color:var(--paper-pink-a400);--dark-primary-color:var(--paper-indigo-700);--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#fff;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--dark-theme-secondary-color:#bcbcbc;--dark-theme-text-color:#fff;--default-primary-color:var(--primary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--light-accent-color:var(--paper-pink-a100);--light-primary-color:var(--paper-indigo-100);--light-theme-background-color:#fff;--light-theme-base-color:#000;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--light-theme-secondary-color:#737373;--light-theme-text-color:var(--paper-grey-900);--primary-background-color:var(--light-theme-background-color);--primary-color:var(--paper-indigo-500);--primary-text-color:var(--light-theme-text-color);--secondary-text-color:var(--light-theme-secondary-color);--text-primary-color:var(--dark-theme-text-color)}</style><dom-module id="paper-icon-button" assetpath="../bower_components/paper-icon-button/">
    +<template strip-whitespace="">
    +<style>
    +:host{-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;box-sizing:border-box!important;cursor:pointer;display:inline-block;height:40px;line-height:1;outline:none;padding:8px;position:relative;user-select:none;width:40px;z-index:0;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink-color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon-button-disabled-text,--disabled-text-color);cursor:auto;pointer-events:none;@apply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover)}iron-icon{--iron-icon-height:100%;--iron-icon-width:100%} </style>
    +<iron-icon id="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon>
    +</template>
    +</dom-module>
    +<dom-module id="iron-a11y-announcer" assetpath="../bower_components/iron-a11y-announcer/">
    +<template>
    +<style>
    +:host{clip:rect(0,0,0,0);display:inline-block;position:fixed} </style>
    +<div aria-live$="[[mode]]">[[_text]]</div>
    +</template>
    +</dom-module>
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
    +<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700">
    +<style is="custom-style">
    +:root{--paper-font-common-base:{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif};--paper-font-common-code:{-webkit-font-smoothing:antialiased;font-family:Roboto Mono,Consolas,Menlo,monospace};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};--paper-font-common-nowrap:{overflow:hidden;text-overflow:ellipsis;white-space:nowrap};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-height:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line-height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:45px;font-weight: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-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--paper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size: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-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-size:14px;font-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-spacing:.011em;line-height:20px};--paper-font-menu:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:500;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:.018em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper-font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font-code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-height:20px};}</style><dom-module id="paper-input-char-counter" assetpath="../bower_components/paper-input/">
    +<template>
    +<style>
    +:host{display:inline-block;float:right;@apply(--paper-font-caption);@apply(--paper-input-char-counter)}:host([hidden]){display:none!important}:host-context([dir=rtl]){float:left} </style>
    +<span>[[_charCounterStr]]</span>
    +</template>
    +</dom-module>
    +<dom-module id="paper-input-container" assetpath="../bower_components/paper-input/">
    +<template>
    +<style>
    +:host{display:block;padding:8px 0;@apply(--paper-input-container)}:host([inline]){display:inline-block}:host([disabled]){opacity:.33;pointer-events:none;@apply(--paper-input-container-disabled)}:host([hidden]){display:none!important}.floated-label-placeholder{@apply(--paper-font-caption)}.underline{height:2px;position:relative}.focused-line{@apply(--layout-fit);-webkit-transform:scaleX(0);-webkit-transform-origin:center center;border-bottom:2px solid var(--paper-input-container-focus-color,--primary-color);transform:scaleX(0);transform-origin:center center;@apply(--paper-input-container-underline-focus)}.underline.is-highlighted .focused-line{@apply(--paper-transition-easing)}.underline.is-highlighted .focused-line,.underline.is-invalid .focused-line{-webkit-transform:none;transform:none;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s}.underline.is-invalid .focused-line{border-color:var(--paper-input-container-invalid-color,--error-color);@apply(--paper-transition-easing)}.unfocused-line{@apply(--layout-fit);border-bottom:1px solid var(--paper-input-container-color,--secondary-text-color);@apply(--paper-input-container-underline)}:host([disabled]) .unfocused-line{border-left-color:var(--paper-input-container-color,--secondary-text-color);border-bottom:1px dashed;border-bottom-color:var(--paper-input-container-color,--secondary-text-color);border-right-color:var(--paper-input-container-color,--secondary-text-color);border-top-color:var(--paper-input-container-color,--secondary-text-color);@apply(--paper-input-container-underline-disabled)}.label-and-input-container{@apply(--layout-flex-auto);@apply(--layout-relative);max-width:100%;width:100%}.input-content{@apply(--layout-horizontal);@apply(--layout-center);position:relative}.input-content ::content .paper-input-label,.input-content ::content label{-webkit-transform-origin:left top;color:var(--paper-input-container-color,--secondary-text-color);font:inherit;left:0;position:absolute;right:0;top:0;transform-origin:left top;transition:width .25s,-webkit-transform .25s;transition:transform .25s,width .25s;transition:transform .25s,width .25s,-webkit-transform .25s;width:100%;@apply(--paper-font-common-nowrap);@apply(--paper-font-subhead);@apply(--paper-input-container-label);@apply(--paper-transition-easing)}.input-content.label-is-floating ::content .paper-input-label,.input-content.label-is-floating ::content label{-webkit-transform:translateY(-75%) scale(.75);transform:translateY(-75%) scale(.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{-webkit-transform-origin:right top;transform-origin:right top;width:100%}.input-content.label-is-highlighted ::content .paper-input-label,.input-content.label-is-highlighted ::content label{color:var(--paper-input-container-focus-color,--primary-color);@apply(--paper-input-container-label-focus)}.input-content.is-invalid ::content .paper-input-label,.input-content.is-invalid ::content label{color:var(--paper-input-container-invalid-color,--error-color)}.input-content.label-is-hidden ::content .paper-input-label,.input-content.label-is-hidden ::content label{visibility:hidden}.input-content ::content .paper-input-input,.input-content ::content input,.input-content ::content iron-autogrow-textarea,.input-content ::content textarea{-webkit-appearance:none;background:transparent;border:none;box-shadow:none;color:var(--paper-input-container-input-color,--primary-text-color);max-width:100%;outline:none;padding:0;position:relative;text-align:inherit;vertical-align:bottom;width:100%;@apply(--paper-font-subhead);@apply(--paper-input-container-input)}.input-content ::content input::-webkit-inner-spin-button,.input-content ::content input::-webkit-outer-spin-button{@apply(--paper-input-container-input-webkit-spinner)}::content [prefix]{@apply(--paper-font-subhead);@apply(--paper-input-prefix);@apply(--layout-flex-none)}::content [suffix]{@apply(--paper-font-subhead);@apply(--paper-input-suffix);@apply(--layout-flex-none)}.input-content ::content input{min-width:0}.input-content ::content textarea{resize:none}.add-on-content{position:relative}.add-on-content.is-invalid ::content *{color:var(--paper-input-container-invalid-color,--error-color)}.add-on-content.is-highlighted ::content *{color:var(--paper-input-container-focus-color,--primary-color)} </style>
    +<template is="dom-if" if="[[!noLabelFloat]]">
    +<div class="floated-label-placeholder" aria-hidden="true">&nbsp;</div>
    +</template>
    +<div class$="[[_computeInputContentClass(noLabelFloat,alwaysFloatLabel,focused,invalid,_inputHasContent)]]">
    +<content select="[prefix]" id="prefix"></content>
    +<div class="label-and-input-container" id="labelAndInputContainer">
    +<content select=":not([add-on]):not([prefix]):not([suffix])"></content>
    +</div>
    +<content select="[suffix]"></content>
    +</div>
    +<div class$="[[_computeUnderlineClass(focused,invalid)]]">
    +<div class="unfocused-line"></div>
    +<div class="focused-line"></div>
    +</div>
    +<div class$="[[_computeAddOnContentClass(focused,invalid)]]">
    +<content id="addOnContent" select="[add-on]"></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-input-error" assetpath="../bower_components/paper-input/">
    +<template>
    +<style>
    +:host{color:var(--paper-input-container-invalid-color,--error-color);display:inline-block;left:0;position:absolute;visibility:hidden;@apply(--paper-font-caption);@apply(--paper-input-error);right:0}:host([invalid]){visibility:visible}; </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="paper-input" assetpath="../bower_components/paper-input/">
    +<template>
    +<style>
    +:host{display:block}:host([focused]){outline:none}:host([hidden]){display:none!important}input::-webkit-input-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}input:-moz-placeholder,input::-moz-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}input:-ms-input-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}label{pointer-events:none} </style>
    +<paper-input-container no-label-float="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[autoValidate]]" 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$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" title$="[[title]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" required$="[[required]]" autocomplete$="[[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$="[[autocapitalize]]" autocorrect$="[[autocorrect]]" on-change="_onChange" tabindex$="[[tabindex]]" autosave$="[[autosave]]" results$="[[results]]" accept$="[[accept]]" multiple$="[[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]]">
    +<paper-input-char-counter></paper-input-char-counter>
    +</template>
    +</paper-input-container>
    +</template>
    +</dom-module>
    +<dom-module id="paper-item-shared-styles" assetpath="../bower_components/paper-item/">
    +<template>
    +<style>
    +.paper-item,:host{display:block;min-height:var(--paper-item-min-height,48px);padding:0 16px;position:relative}.paper-item{@apply(--paper-font-subhead);background:#fff;border:none;outline:none;text-align:left;width:100%}.paper-item[hidden],:host([hidden]){display:none!important}.paper-item.iron-selected,:host(.iron-selected){font-weight:var(--paper-item-selected-weight,bold);@apply(--paper-item-selected)}.paper-item[disabled],:host([disabled]){color:var(--paper-item-disabled-color,--disabled-text-color);@apply(--paper-item-disabled)}.paper-item:focus,:host(:focus){outline:0;position:relative;@apply(--paper-item-focused)}.paper-item:focus:before,:host(:focus):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="../bower_components/paper-item/">
    +<template>
    +<style include="paper-item-shared-styles"></style>
    +<style>
    +:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="iron-overlay-backdrop" assetpath="../bower_components/iron-overlay-behavior/">
    +<template>
    +<style>
    +:host{background-color:var(--iron-overlay-backdrop-background-color,#000);height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s;width:100%;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<dom-module id="iron-dropdown" assetpath="../bower_components/iron-dropdown/">
    +<template>
    +<style>
    +:host{position:fixed}#contentWrapper ::content>*{overflow:auto}#contentWrapper.animating ::content>*{overflow:hidden} </style>
    +<div id="contentWrapper">
    +<content id="content" select=".dropdown-content"></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-menu-button" assetpath="../bower_components/paper-menu-button/">
    +<template>
    +<style>
    +:host{display:inline-block;outline:none;padding:8px;position:relative;@apply(--paper-menu-button)}:host([disabled]){color:var(--disabled-text-color);cursor:auto;@apply(--paper-menu-button-disabled)}iron-dropdown{@apply(--paper-menu-button-dropdown)}.dropdown-content{@apply(--shadow-elevation-2dp);background-color:var(--paper-menu-button-dropdown-background,--primary-background-color);border-radius:2px;position:relative;@apply(--paper-menu-button-content)}:host([vertical-align=top]) .dropdown-content{margin-bottom:20px;margin-top:-10px;top:10px}:host([vertical-align=bottom]) .dropdown-content{bottom:10px;margin-bottom:-10px;margin-top:20px}#trigger{cursor:pointer} </style>
    +<div id="trigger" on-tap="toggle">
    +<content select=".dropdown-trigger"></content>
    +</div>
    +<iron-dropdown id="dropdown" opened="{{opened}}" horizontal-align="[[horizontalAlign]]" vertical-align="[[verticalAlign]]" dynamic-align="[[dynamicAlign]]" horizontal-offset="[[horizontalOffset]]" vertical-offset="[[verticalOffset]]" no-overlap="[[noOverlap]]" open-animation-config="[[openAnimationConfig]]" close-animation-config="[[closeAnimationConfig]]" no-animations="[[noAnimations]]" focus-target="[[_dropdownContent]]" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]" on-iron-overlay-canceled="__onIronOverlayCanceled">
    +<div class="dropdown-content">
    +<content id="content" select=".dropdown-content"></content>
    +</div>
    +</iron-dropdown>
    +</template>
    +</dom-module>
    +<iron-iconset-svg name="paper-dropdown-menu" size="24">
    +<svg><defs>
    +<g id="arrow-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    +</defs></svg>
    +</iron-iconset-svg>
    +<dom-module id="paper-dropdown-menu-shared-styles" assetpath="../bower_components/paper-dropdown-menu/">
    +<template>
    +<style>
    +:host{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;display:inline-block;position:relative;text-align:left;--paper-input-container-input:{box-sizing:border-box;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap};@apply(--paper-dropdown-menu)}:host([disabled]){@apply(--paper-dropdown-menu-disabled)}:host([noink]) paper-ripple{display:none}:host([no-label-float]) paper-ripple{top:8px}paper-ripple{bottom:8px;left:0;right:0;top:12px;@apply(--paper-dropdown-menu-ripple)}paper-menu-button{display:block;padding:0;@apply(--paper-dropdown-menu-button)}paper-input{@apply(--paper-dropdown-menu-input)}iron-icon{color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)} </style>
    +</template>
    +</dom-module>
    +<dom-module id="paper-dropdown-menu" assetpath="../bower_components/paper-dropdown-menu/">
    +<template>
    +<style include="paper-dropdown-menu-shared-styles"></style>
    +<span role="button"></span>
    +<paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" dynamic-align="[[dynamicAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate="" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]">
    +<div class="dropdown-trigger">
    +<paper-ripple></paper-ripple>
    +<paper-input type="text" invalid="[[invalid]]" readonly="" disabled="[[disabled]]" value="[[selectedItemLabel]]" placeholder="[[placeholder]]" error-message="[[errorMessage]]" always-float-label="[[alwaysFloatLabel]]" no-label-float="[[noLabelFloat]]" label="[[label]]">
    +<iron-icon icon="paper-dropdown-menu:arrow-drop-down" suffix=""></iron-icon>
    +</paper-input>
    +</div>
    +<content id="content" select=".dropdown-content"></content>
    +</paper-menu-button>
    +</template>
    +</dom-module>
    +<dom-module id="paper-toolbar" assetpath="../bower_components/paper-toolbar/">
    +<template>
    +<style>
    +:host{--calculated-paper-toolbar-height:var(--paper-toolbar-height,64px);--calculated-paper-toolbar-sm-height:var(--paper-toolbar-sm-height,56px);-moz-box-sizing:border-box;background:var(--paper-toolbar-background,--primary-color);box-sizing:border-box;color:var(--paper-toolbar-color,--dark-theme-text-color);display:block;height:var(--calculated-paper-toolbar-height);position:relative;@apply(--paper-toolbar)}:host(.animate){transition:var(--paper-toolbar-transition,height .18s ease-in)}:host(.medium-tall){height:calc(var(--calculated-paper-toolbar-height)*2);@apply(--paper-toolbar-medium)}:host(.tall){height:calc(var(--calculated-paper-toolbar-height)*3);@apply(--paper-toolbar-tall)}.toolbar-tools{height:var(--calculated-paper-toolbar-height);padding:0 16px;pointer-events:none;position:relative;@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-toolbar-content)}@media (max-width:600px){:host{height:var(--calculated-paper-toolbar-sm-height)}:host(.medium-tall){height:calc(var(--calculated-paper-toolbar-sm-height)*2)}:host(.tall){height:calc(var(--calculated-paper-toolbar-sm-height)*3)}.toolbar-tools{height:var(--calculated-paper-toolbar-sm-height)}}#topBar{position:relative}#middleBar{left:0;position:absolute;right:0;top:0}:host(.medium-tall) #middleBar,:host(.tall) #middleBar{-webkit-transform:translateY(100%);transform:translateY(100%)}#bottomBar{bottom:0;left:0;position:absolute;right:0}.toolbar-tools>::content>:not([disabled]){pointer-events:auto}.toolbar-tools>::content .title{@apply(--paper-font-common-base);font-size:20px;font-weight:400;line-height:1;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;@apply(--layout-flex)}.toolbar-tools>::content>.title{margin-left:56px}.toolbar-tools>::content>paper-icon-button+.title{margin-left:0}.toolbar-tools>::content .title{@apply(--paper-toolbar-title)}.toolbar-tools>::content paper-icon-button[icon=menu]{margin-right:24px}.toolbar-tools>::content>.fit{bottom:0;left:0;margin:0;position:absolute;right:0;top:auto;width:auto}.start-justified{@apply(--layout-start-justified)}.center-justified{@apply(--layout-center-justified)}.end-justified{@apply(--layout-end-justified)}.around-justified{@apply(--layout-around-justified)}.justified{@apply(--layout-justified)} </style>
    +<div id="topBar" class$="toolbar-tools [[_computeBarExtraClasses(justify)]]">
    +<content select=":not(.middle):not(.bottom)"></content>
    +</div>
    +<div id="middleBar" class$="toolbar-tools [[_computeBarExtraClasses(middleJustify)]]">
    +<content select=".middle"></content>
    +</div>
    +<div id="bottomBar" class$="toolbar-tools [[_computeBarExtraClasses(bottomJustify)]]">
    +<content select=".bottom"></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-listbox" assetpath="../bower_components/paper-listbox/">
    +<template>
    +<style>
    +:host{background:var(--paper-listbox-background-color,--primary-background-color);color:var(--paper-listbox-color,--primary-text-color);display:block;padding:8px 0;@apply(--paper-listbox)} </style>
    +<content></content>
    +</template>
    +</dom-module>
    +<iron-iconset-svg name="paper-tabs" size="24">
    +<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-tab" assetpath="../bower_components/paper-tabs/">
    +<template>
    +<style>
    +:host{@apply(--layout-inline);@apply(--layout-center);@apply(--layout-center-justified);@apply(--layout-flex-auto);cursor:pointer;overflow:hidden;padding:0 12px;position:relative;vertical-align:middle;@apply(--paper-font-common-base);@apply(--paper-tab)}:host(:focus){outline:none}:host([link]){padding:0}.tab-content{-webkit-transform:translateZ(0);height:100%;transform:translateZ(0);transition:opacity .1s cubic-bezier(.4,0,1,1);@apply(--layout-horizontal);@apply(--layout-center-center);@apply(--layout-flex-auto);@apply(--paper-tab-content)}:host(:not(.iron-selected))>.tab-content{opacity:.8;@apply(--paper-tab-content-unselected)}:host(:focus) .tab-content{font-weight:700;opacity:1}paper-ripple{color:var(--paper-tab-ink,--paper-yellow-a100)}.tab-content>::content>a{@apply(--layout-flex-auto);height:100%} </style>
    +<div class="tab-content">
    +<content></content>
    +</div>
    +</template>
    +</dom-module>
    +<dom-module id="paper-tabs" assetpath="../bower_components/paper-tabs/">
    +<template>
    +<style>
    +:host{@apply(--layout);@apply(--layout-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;font-size:14px;font-weight:500;height:48px;overflow:hidden;user-select:none;@apply(--paper-tabs)}:host-context([dir=rtl]){@apply(--layout-horizontal-reverse)}#tabsContainer{height:100%;overflow:hidden;position:relative;white-space:nowrap;@apply(--layout-flex-auto);@apply(--paper-tabs-container)}#tabsContent{-ms-flex-basis:auto;-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto;height:100%;@apply(--paper-tabs-content)}#tabsContent.scrollable{position:absolute;white-space:nowrap}#tabsContent.scrollable.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}.hidden{display:none}.not-visible{cursor:default;opacity:0}paper-icon-button{height:48px;margin:0 4px;padding:12px;width:48px}#selectionBar{-webkit-transform:scale(0);-webkit-transform-origin:left center;border-bottom:2px solid var(--paper-tabs-selection-bar-color,--paper-yellow-a100);bottom:0;height:0;left:0;position:absolute;right:0;transform:scale(0);transform-origin:left center;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform;@apply(--paper-tabs-selection-bar)}#selectionBar.align-bottom{bottom:auto;top:0}#selectionBar.expand{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,1,1)}#selectionBar.contract{transition-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="_onLeftScrollButtonDown" tabindex="-1"></paper-icon-button>
    +<div id="tabsContainer" on-track="_scroll" on-down="_down">
    +<div id="tabsContent" class$="[[_computeTabsContentClass(scrollable, fitContainer)]]">
    +<div id="selectionBar" class$="[[_computeSelectionBarClass(noBar, alignBottom)]]" on-transitionend="_onBarTransitionEnd"></div>
    +<content select="*"></content>
    +</div>
    +</div>
    +<paper-icon-button icon="paper-tabs:chevron-right" class$="[[_computeScrollButtonClass(_rightHidden, scrollable, hideScrollButtons)]]" on-up="_onScrollButtonUp" on-down="_onRightScrollButtonDown" tabindex="-1"></paper-icon-button>
    +</template>
    +</dom-module>
    +</div><script src="elements.js"></script></body></html>
    \ No newline at end of file
    diff --git a/site/dist/elements/elements.js b/site/dist/elements/elements.js
    new file mode 100644
    index 000000000..c1a704767
    --- /dev/null
    +++ b/site/dist/elements/elements.js
    @@ -0,0 +1 @@
    +!function(){function e(){document.body.removeAttribute("unresolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"interactive"===document.readyState||"complete"===document.readyState?e():addEventListener("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){for(var e,t=window.Polymer||{},i=location.search.slice(1).split("&"),n=0;n<i.length&&(e=i[n]);n++)(e=e.split("="))[0]&&(t[e[0]]=e[1]||!0);return t.wantShadow="shadow"===t.dom,t.hasShadow=Boolean(Element.prototype.createShadowRoot),t.nativeShadow=t.hasShadow&&!window.ShadowDOMPolyfill,t.useShadow=t.wantShadow&&t.hasShadow,t.hasNativeImports=Boolean("import"in document.createElement("link")),t.useNativeImports=t.hasNativeImports,t.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative,t.useNativeShadow=t.useShadow&&t.nativeShadow,t.usePolyfillProto=!t.useNativeCustomElements&&!Object.__proto__,t}()},function(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e.prototype),e||(e={});var i=t(e),n={prototype:e=i.prototype};return e.extends&&(n.extends=e.extends),Polymer.telemetry._registrate(e),document.registerElement(e.is,n),i};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polymer.Base._getExtendedPrototype(e.extends)),(e=Polymer.Base.chainObject(e,t)).registerCallback(),e.constructor};if(e)for(var i in e)Polymer[i]=e[i];Polymer.Class=t}(),Polymer.telemetry={registrations:[],_regLog:function(e){},_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,get:function(){return(document._currentScript||document.currentScript).ownerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function(e){this._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.RenderStatus._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextRender:function(e,t,i){this._watchNextRender(),this._afterNextRenderQueue.push([e,t,i])},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenReady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushRenderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNextRender=!1})},_flushRenderCallbacks:function(e){for(var t,i=0;i<e.length;i++)(t=e[i])[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._catchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.extend(this,e)},registerCallback:function(){this._desugarBehaviors(),this._doBehavior("beforeRegister"),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()},createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFinished(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBehavior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegisterFinished!==t.is&&(t.__hasRegisterFinished=t.is,t._finishRegisterFeatures&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&&t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},detachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,i){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,i])},_attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:function(e,t){if(e&&t)for(var i,n=Object.getOwnPropertyNames(t),r=0;r<n.length&&(i=n[r]);r++)this.copyOwnProperty(i,t,e);return e||t},mixin:function(e,t){for(var i in t)e[i]=t[i];return e},copyOwnProperty:function(e,t,i){var n=Object.getOwnPropertyDescriptor(t,e);n&&Object.defineProperty(i,e,n)},_logger:function(e,t){1===t.length&&Array.isArray(t[0])&&(t=t[0])},_log:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prototype.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=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent)?["%c[%s::%s]:","font-weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"],Polymer.Base.chainObject=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(Polymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=CustomElements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Polymer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.telemetry.instanceCount=0}(),function(){var e={},t={},i=function(i){return e[i]||t[i.toLowerCase()]},n=function(){return document.createElement("dom-module")};n.prototype=Object.create(HTMLElement.prototype),Polymer.Base.extend(n.prototype,{constructor:n,createdCallback:function(){this.register()},register:function(i){(i=i||this.id||this.getAttribute("name")||this.getAttribute("is"))&&(this.id=i,e[i]=this,t[i.toLowerCase()]=this)},import:function(e,t){if(e){var n=i(e);return n||(function(){if(r)for(var e,t=document._currentScript||document.currentScript,i=(t&&t.ownerDocument||document).querySelectorAll("dom-module"),n=i.length-1;n>=0&&(e=i[n]);n--){if(e.__upgraded__)return;CustomElements.upgrade(e)}}(),n=i(e)),n&&t&&(n=n.querySelector(t)),n}}});var r=window.CustomElements&&!CustomElements.useNative;document.registerElement("dom-module",n)}(),Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.currentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase())}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.behaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_desugarSomeBehaviors:function(e){for(var t=[],i=(e=this._flattenBehaviorsList(e)).length-1;i>=0;i--){var n=e[i];-1===t.indexOf(n)&&(this._mixinBehavior(n),t.unshift(n))}return t},_flattenBehaviorsList:function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n instanceof Array?t=t.concat(this._flattenBehaviorsList(n)):n?t.push(n):this._warn(this._logf("_flattenBehaviorsList","behavior is null, check for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length&&(t=i[n]);n++)Polymer.Base._behaviorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattenedBehaviors:function(e){for(var t=0,i=e.length;t<i;t++)this._prepBehavior(e[t]);this._prepBehavior(this)},_doBehavior:function(e,t){for(var i=0;i<this.behaviors.length;i++)this._invokeBehavior(this.behaviors[i],e,t);this._invokeBehavior(this,e,t)},_invokeBehavior:function(e,t,i){var n=e[t];n&&n.apply(this,i||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshalBehavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegister:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attached:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExtendedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePrototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes[e];if(!t){var i=this.getNativePrototype(e);t=this.extend(Object.create(i),Polymer.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){return Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProperty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructor",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e){var t=document.createElement.apply(document,this._factoryArgs);return this.factoryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polymer.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPropertyInfo(e,this.properties);if(!t)for(var i=0;i<this.behaviors.length;i++)if(t=this._getPropertyInfo(e,this.behaviors[i].properties))return t;return t||Polymer.nob},_getPropertyInfo:function(e,t){var i=t&&t[e];return"function"==typeof i&&(i=t[e]={type:i}),i&&(i.defined=!0),i},_prepPropertyInfo:function(){this._propertyInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._propertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects)},_addPropertyInfo:function(e,t){var i,n;if(t)for(var r in t)i=e[r],n=t[r],("_"!==r[0]||n.readOnly)&&(e[r]?(i.type||(i.type=n.type),i.readOnly||(i.readOnly=n.readOnly)):e[r]={type:"function"==typeof n?n:n.type,readOnly:n.readOnly,attribute:Polymer.CaseMap.camelToDashCase(r)})}}),Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCamel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLowerCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggregatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedAttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,t){for(var i in t)if(!this.hasAttribute(i)&&"class"!==i){var n=t[i];this.serializeValueToAttribute(n,i,this)}},_marshalAttributes:function(){this._takeAttributesToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(var t in this._propertyInfo){var i=this._propertyInfo[t];this.hasAttribute(i.attribute)&&this._setAttributeToProperty(e,i.attribute,t,i)}},_setAttributeToProperty:function(e,t,i,n){if(!this._serializing&&(i=i||Polymer.CaseMap.dashToCamelCase(t),(n=n||this._propertyInfo&&this._propertyInfo[i])&&!n.readOnly)){var r=this.getAttribute(t);e[i]=this.deserialize(r,n.type)}},_serializing:!1,reflectPropertyToAttribute:function(e,t,i){this._serializing=!0,i=void 0===i?this[e]:i,this.serializeValueToAttribute(i,t||Polymer.CaseMap.camelToDashCase(e)),this._serializing=!1},serializeValueToAttribute:function(e,t,i){var n=this.serialize(e);i=i||this,void 0===n?i.removeAttribute(t):i.setAttribute(t,n)},deserialize: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.parse(e)}catch(t){e=null}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){return""}default:return null!=e?e:void 0}}}),Polymer.version="master",Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this._marshalHostAttributes(),this._marshalBehaviors()}}),Polymer.Base._addFeature({_prepTemplate:function(){void 0===this._template&&(this._template=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer template must not be a type-extension, found",this._template,"Move inside simple <template>.")),this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_stampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._template))},instanceTemplate:function(e){return document.importNode(e._content||e.content,!0)}}),function(){var e=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this.dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._clients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_beginHosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clients=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:function(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeClientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clientsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_readyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var t,i=0,n=e.length;i<n&&(t=e[i]);i++)t._ready();this._finishDistribute()},_readySelf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&(this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attachedPending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,i){return{index:e,removed:t,addedCount:i}}function t(){}return t.prototype={calcEditDistances:function(e,t,i,n,r,o){for(var s=o-r+1,a=i-t+1,l=new Array(s),h=0;h<s;h++)l[h]=new Array(a),l[h][0]=h;for(var c=0;c<a;c++)l[0][c]=c;for(h=1;h<s;h++)for(c=1;c<a;c++)if(this.equals(e[t+c-1],n[r+h-1]))l[h][c]=l[h-1][c-1];else{var u=l[h-1][c]+1,d=l[h][c-1]+1;l[h][c]=u<d?u:d}return l},spliceOperationsFromEditDistances:function(e){for(var t=e.length-1,i=e[0].length-1,n=e[t][i],r=[];t>0||i>0;)if(0!=t)if(0!=i){var o,s=e[t-1][i-1],a=e[t-1][i],l=e[t][i-1];(o=a<l?a<s?a:s:l<s?l:s)==s?(s==n?r.push(0):(r.push(1),n=s),t--,i--):o==a?(r.push(3),t--,n=a):(r.push(2),i--,n=l)}else r.push(3),t--;else r.push(2),i--;return r.reverse(),r},calcSplices:function(t,i,n,r,o,s){var a=0,l=0,h=Math.min(n-i,s-o);if(0==i&&0==o&&(a=this.sharedPrefix(t,r,h)),n==t.length&&s==r.length&&(l=this.sharedSuffix(t,r,h-a)),o+=a,s-=l,(n-=l)-(i+=a)==0&&s-o==0)return[];if(i==n){for(var c=e(i,[],0);o<s;)c.removed.push(r[o++]);return[c]}if(o==s)return[e(i,[],n-i)];var u=this.spliceOperationsFromEditDistances(this.calcEditDistances(t,i,n,r,o,s));c=void 0;for(var d=[],f=i,p=o,_=0;_<u.length;_++)switch(u[_]){case 0:c&&(d.push(c),c=void 0),f++,p++;break;case 1:c||(c=e(f,[],0)),c.addedCount++,f++,c.removed.push(r[p]),p++;break;case 2:c||(c=e(f,[],0)),c.addedCount++,f++;break;case 3:c||(c=e(f,[],0)),c.removed.push(r[p]),p++}return c&&d.push(c),d},sharedPrefix:function(e,t,i){for(var n=0;n<i;n++)if(!this.equals(e[n],t[n]))return n;return i},sharedSuffix:function(e,t,i){for(var n=e.length,r=t.length,o=0;o<i&&this.equals(e[--n],t[--r]);)o++;return o},calculateSplices:function(e,t){return this.calcSplices(e,0,e.length,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHTML=function(){var e=/[&\u00A0"]/g,t=/[&\u00A0<>]/g;function i(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function n(t){return t.replace(e,i)}function r(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=!0;return t}var o=r(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),s=r(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function a(e,r,a){switch(e.nodeType){case Node.ELEMENT_NODE:for(var h,c=e.localName,u="<"+c,d=e.attributes,f=0;h=d[f];f++)u+=" "+h.name+'="'+n(h.value)+'"';return u+=">",o[c]?u:u+l(e,a)+"</"+c+">";case Node.TEXT_NODE:var p=e.data;return r&&s[r.localName]?p:p.replace(t,i);case Node.COMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw new Error("not implemented")}}function l(e,t){e instanceof HTMLTemplateElement&&(e=e.content);for(var i,n="",r=Polymer.dom(e).childNodes,o=0,s=r.length;o<s&&(i=r[o]);o++)n+=a(i,e,t);return n}return{getInnerHTML:l}}(),function(){"use strict";var e=Element.prototype.insertBefore,t=Element.prototype.appendChild,i=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[],i=0,n=e.firstChild;n;n=n.nextSibling)t[i++]=n;return t},arrayCopyChildren:function(e){for(var t=[],i=0,n=e.firstElementChild;n;n=n.nextElementSibling)t[i++]=n;return t},arrayCopy:function(e){for(var t=e.length,i=new Array(t),n=0;n<t;n++)i[n]=e[n];return i}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Boolean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e.__dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChildNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!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},getParentNode: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.firstChild?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstElementChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChild(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:function(e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElementSibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChildNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.firstChild=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var 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.previousSibling=t.previousSibling}},recordInsertBefore:function(e,t,i){if(t.__dom.childNodes=null,e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var n=e.firstChild;n;n=n.nextSibling)this._linkNode(n,t,i);else this._linkNode(e,t,i)},_linkNode:function(e,t,i){e.__dom=e.__dom||{},t.__dom=t.__dom||{},i&&(i.__dom=i.__dom||{}),e.__dom.previousSibling=i?i.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e.__dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=i,e.__dom.nextSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,i?i===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firstChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:function(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 i=e.__dom.previousSibling,n=e.__dom.nextSibling;i&&(i.__dom.nextSibling=n),n&&(n.__dom.previousSibling=i),e.__dom.parentNode=e.__dom.previousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeApi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNodes(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e){e.textContent=""},insertBefore:function(t,i,n){return e.call(t,i,n||null)},appendChild:function(e,i){return t.call(e,i)},removeChild:function(e,t){return i.call(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=function(e){this.node=n?i.wrap(e):e},n=e.hasShadow&&!e.nativeShadow;i.wrap=window.wrap?window.wrap:function(e){return e},i.prototype={flush:function(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))return!0;for(var t=e,i=e.ownerDocument;t&&t!==i&&t!==this.node;)t=Polymer.dom(t).parentNode||t.host;return t===this.node},queryDistributedElements:function(e){for(var t,n=this.getEffectiveChildNodes(),r=[],o=0,s=n.length;o<s&&(t=n[o]);o++)t.nodeType===Node.ELEMENT_NODE&&i.matchesSelector.call(t,e)&&r.push(t);return r},getEffectiveChildNodes:function(){for(var e,t=[],i=this.childNodes,n=0,s=i.length;n<s&&(e=i[n]);n++)if(e.localName===r)for(var a=o(e).getDistributedNodes(),l=0;l<a.length;l++)t.push(a[l]);else t.push(e);return t},observeNodes:function(e){if(e)return this.observer||(this.observer=this.node.localName===r?new i.DistributedNodesObserver(this):new i.EffectiveNodesObserver(this)),this.observer.addListener(e)},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},notifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e,i,n){i=i||this.node;var r=[];return this._queryElements(t.Logical.getChildNodes(i),e,n,r),r},_queryElements:function(e,t,i,n){for(var r,o=0,s=e.length;o<s&&(r=e[o]);o++)if(r.nodeType===Node.ELEMENT_NODE&&this._queryElement(r,t,i,n))return!0},_queryElement:function(e,i,n,r){var o=i(e);if(o&&r.push(e),n&&n(o))return o;this._queryElements(t.Logical.getChildNodes(e),i,n,r)}};var r=i.CONTENT="content",o=i.factory=function(e){return(e=e||document).__domApi||(e.__domApi=new i.ctor(e)),e.__domApi};i.hasApi=function(e){return Boolean(e.__domApi)},i.ctor=i,Polymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):i.factory(e,t)};var s=Element.prototype;return i.matchesSelector=s.matches||s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector,i}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.DomApi,i=t.factory,n=Polymer.TreeApi,r=Polymer.domInnerHTML.getInnerHTML,o=t.CONTENT;if(!e.useShadow){var s=Element.prototype.cloneNode,a=Document.prototype.importNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoot&&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,r){if(r&&n.Logical.getParentNode(r)!==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=n.Logical.getParentNode(e);s?(t.hasApi(s)&&i(s).notifyObserver(),this._removeNode(e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,r)){r&&(r=r.localName===o?this._firstComposedNode(r):r);var a=this.node._isShadyRoot?this.node.host:this.node;r?n.Composed.insertBefore(a,e,r):n.Composed.appendChild(a,e)}return this.notifyObserver(),e},_addNode:function(e,t){var i=this.getOwnerRoot();if(i){var r=this._maybeAddInsertionPoint(e,this.node);i._invalidInsertionPoints||(i._invalidInsertionPoints=r),this._addNodeToHost(i.host,e)}n.Logical.hasChildNodes(this.node)&&n.Logical.recordInsertBefore(e,this.node,t);var o=this._maybeDistribute(e)||this.node.shadyRoot;if(o)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firstChild;)n.Composed.removeChild(e,e.firstChild);else{var s=n.Composed.getParentNode(e);s&&n.Composed.removeChild(s,e)}return o},removeChild:function(e){if(n.Logical.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;t===n.Composed.getParentNode(e)&&n.Composed.removeChild(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,r=n.Logical.hasParentNode(e)&&n.Logical.getParentNode(e),o=this._ownerShadyRootForNode(e);return r&&(t=i(e)._maybeDistributeParent(),n.Logical.recordRemoveChild(e,r),o&&this._removeDistributedChildren(o,e)&&(o._invalidInsertionPoints=!0,this._lazyDistribute(o.host))),this._removeOwnerShadyRoot(e),o&&this._removeNodeFromHost(o.host,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChild(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoot)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_ownerShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e._isShadyRoot)t=e;else{var i=n.Logical.getParentNode(e);t=i?i._isShadyRoot?i:this._ownerShadyRootForNode(i):null}(t||document.documentElement.contains(e))&&(e._ownerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&i(e).querySelector(o),r=t&&n.Logical.getParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,s=t||e.localName===o;if(s){var a=this.getOwnerRoot();a&&this._lazyDistribute(a.host)}var l=this._nodeNeedsDistribution(this.node);return l&&this._lazyDistribute(this.node),l||s&&!r},_maybeAddInsertionPoint:function(e,t){var r;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||e.__noContent)e.localName===o&&(n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(e),r=!0);else for(var s,a,l,h=i(e).querySelectorAll(o),c=0;c<h.length&&(s=h[c]);c++)(a=n.Logical.getParentNode(s))===e&&(a=t),l=this._maybeAddInsertionPoint(s,a),r=r||l;return r},_updateInsertionPoints:function(e){for(var t,r=e.shadyRoot._insertionPoints=i(e.shadyRoot).querySelectorAll(o),s=0;s<r.length;s++)t=r[s],n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(n.Logical.getParentNode(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertionPoint(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)},_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_removeDistributedChildren:function(e,t){for(var r,o=e._insertionPoints,s=0;s<o.length;s++){var a=o[s];if(this._contains(t,a))for(var l=i(a).getDistributedNodes(),h=0;h<l.length;h++){r=!0;var c=l[h],u=n.Composed.getParentNode(c);u&&n.Composed.removeChild(u,c)}}return r},_contains:function(e,t){for(;t;){if(t==e)return!0;t=n.Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedOwnerRoot(e))for(var t,i=n.Logical.getChildNodes(e),r=0,o=i.length;r<o&&(t=i[r]);r++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:function(e){for(var t,n,r=i(e).getDistributedNodes(),o=0,s=r.length;o<s&&(t=r[o]);o++)if((n=i(t).getDestinationInsertionPoints())[n.length-1]===e)return t},querySelector:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node,function(e){return Boolean(e)})[0]||null},querySelectorAll:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node)},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[]},getDistributedNodes:function(){return this.node._distributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChild(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),this._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribute(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNode),!0},cloneNode:function(e){var t=s.call(this.node,!1);if(e)for(var n,r=this.childNodes,o=i(t),a=0;a<r.length;a++)n=i(r[a]).cloneNode(!0),o.appendChild(n);return t},importNode:function(e,t){var r=this.node instanceof Document?this.node:this.node.ownerDocument,o=a.call(r,e,!1);if(t)for(var s,l=n.Logical.getChildNodes(e),h=i(o),c=0;c<l.length;c++)s=i(r).importNode(l[c],!0),h.appendChild(s);return o},_getComposedInnerHTML:function(){return r(this.node,!0)}}),Object.defineProperties(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 n=i(e).getOwnerRoot();n&&n!==this.node;)e=n.host,n=i(e).getOwnerRoot();return this.node===document?n?null:e:n===this.node?e:null},configurable:!0},childNodes:{get:function(){var e=n.Logical.getChildNodes(this.node);return Array.isArray(e)?e:n.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return n.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNodes,function(e){return e.nodeType===Node.ELEMENT_NODE}):n.arrayCopyChildren(this.node)},configurable:!0},parentNode:{get:function(){return n.Logical.getParentNode(this.node)},configurable:!0},firstChild:{get:function(){return n.Logical.getFirstChild(this.node)},configurable:!0},lastChild:{get:function(){return n.Logical.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return n.Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:function(){return n.Logical.getPreviousSibling(this.node)},configurable:!0},firstElementChild:{get:function(){return n.Logical.getFirstElementChild(this.node)},configurable:!0},lastElementChild:{get:function(){return n.Logical.getLastElementChild(this.node)},configurable:!0},nextElementSibling:{get:function(){return n.Logical.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get:function(){return n.Logical.getPreviousElementSibling(this.node)},configurable:!0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||e===Node.COMMENT_NODE)return this.node.textContent;for(var t,i=[],n=0,r=this.childNodes;t=r[n];n++)t.nodeType!==Node.COMMENT_NODE&&i.push(t.textContent);return i.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(document.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.node.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:r(this.node)},set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT_NODE){this._clear();var i=document.createElement("div");i.innerHTML=e;for(var r=n.arrayCopyChildNodes(i),o=0;o<r.length;o++)this.appendChild(r[o])}},configurable:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.length)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=Polymer.DomApi;if(e.useShadow){Polymer.Base.extend(i.prototype,{querySelectorAll:function(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:function(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host)return e;e=e.parentNode}},importNode:function(e,t){return(this.node instanceof Document?this.node:this.node.ownerDocument).importNode(e,t)},getDestinationInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistributedNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedNodes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(i.prototype,{activeElement:{get:function(){var e=i.wrap(this.node),t=e.activeElement;return e.contains(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopyChildren(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 n=function(e){i.prototype[e]=function(){return this.node[e].apply(this.node,arguments)}};!function(e){for(var t=0;t<e.length;t++)n(e[t])}(["cloneNode","appendChild","insertBefore","removeChild","replaceChild","setAttribute","removeAttribute","querySelector"]);var r=function(e){Object.defineProperty(i.prototype,e,{get:function(){return this.node[e]},configurable:!0})};!function(e){for(var t=0;t<e.length;t++)r(e[t])}(["parentNode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.Base.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._debouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;)this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebouncer.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard,this._FLUSH_MAX},_prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for(var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStaticFlush: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(){Polymer.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;return e.Event=function(e){this.event=e},t.useShadow?e.Event.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){return 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(){return this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&Polymer.dom(e).getOwnerRoot(),i=this.path,n=0;n<i.length;n++)if(Polymer.dom(i[n]).getOwnerRoot()===t)return i[n]},get path(){if(!this.event._path){for(var e=[],t=this.rootTarget;t;){e.push(t);var i=Polymer.dom(t).getDestinationInsertionPoints();if(i.length){for(var n=0;n<i.length-1;n++)e.push(i[n]);t=i[i.length-1]}else t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return this.event._path}},{factory:function(t){return t.__eventApi||(t.__eventApi=new e.Event(t)),t.__eventApi}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"classList",{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._distributeParent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments),this._distributeParent()},_distributeParent:function(){t||this.domApi._maybeDistributeParent()},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver.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._listeners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isSetup=!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.Debounce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDebouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleNotify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_beforeCallListeners:function(){this._updateContentElements()},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes)},_observeContentElements:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.has(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeContent:function(e){var t=this,i=Polymer.dom(e).observeNodes(function(){t._scheduleNotify()});return i._avoidChangeCalculation=!0,i},_unobserveContentElements:function(e){for(var t,i,n=0;n<e.length&&(t=e[n]);n++)this._isContent(t)&&(i=t.__observeNodesMap.get(this))&&(Polymer.dom(t).unobserveNodes(i),t.__observeNodesMap.delete(this))},_isContent:function(e){return"content"===e.localName},_callListeners:function(){for(var e,t=this._listeners,i=this._getEffectiveNodes(),n=0;n<t.length&&(e=t[n]);n++){var r=this._generateListenerInfo(e,i);(r||e._alwaysNotify)&&this._callListener(e,r)}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculation)return!0;for(var i,n=e._nodes,r={target:this.node,addedNodes:[],removedNodes:[]},o=Polymer.ArraySplice.calculateSplices(t,n),s=0;s<o.length&&(i=o[s]);s++)for(var a,l=0;l<i.removed.length&&(a=i.removed[l]);l++)r.removedNodes.push(a);for(s=0;s<o.length&&(i=o[s]);s++)for(l=i.index;l<i.index+i.addedCount;l++)r.addedNodes.push(t[l]);return e._nodes=t,r.addedNodes.length||r.removedNodes.length?r:void 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAttributeTracking:function(){}},t.useShadow){var i=e.EffectiveNodesObserver.prototype._setup,n=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._observer=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(this.node,{childList:!0})}i.call(this)},_cleanup:function(){this._observer.disconnect(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlush(this._boundFlush),n.call(this)},_flush:function(){this._observer&&this._mutationHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.disconnect(),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&&Polymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwaysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)(e=this._listeners[t])._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.EffectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.create(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.host;if(t){var i=this;this._observer=Polymer.dom(t).observeNodes(function(){i._scheduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Polymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:function(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserveNodes(this._observer),this._observer=null}})}(),function(){var e=Polymer.DomApi,t=Polymer.TreeApi;function i(e,t){t._distributedNodes.push(e);var i=e._destinationInsertionPoints;i?i.push(t):e._destinationInsertionPoints=[t]}function n(e){var t=e._distributedNodes;if(t)for(var i=0;i<t.length;i++){var n=t[i]._destinationInsertionPoints;n&&n.splice(n.indexOf(e)+1,n.length)}}function r(e,t){var i=t._destinationInsertionPoints;return i&&i[i.length-1]===e}function o(e){return"content"==e.localName}function s(e){for(var i,n=t.Logical.getChildNodes(e),r=0;r<n.length;r++)if((i=n[r]).localName&&"content"===i.localName)return e.domHost}Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){this.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=null),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(){this._useContent&&t.Logical.saveChildNodes(this)},_setupRoot:function(){this._useContent&&(this._createLocalRoot(),this.dataHost||function(e){if(a&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}(t.Logical.getChildNodes(this)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._distributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];t.Logical.saveChildNodes(this.shadyRoot);for(var i,n=0;n<e.length;n++)i=e[n],t.Logical.saveChildNodes(i),t.Logical.saveChildNodes(i.parentNode);this.shadyRoot.host=this},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distributeContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||e;var t=function(e){for(;e&&s(e);)e=e.domHost;return e}(this);Polymer.dom(this)._lazyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoot._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this)._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_beginDistribute:function(){this._useContent&&e.hasInsertionPoint(this.shadyRoot)&&(this._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool()))},_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,i=0,n=t.length;i<n&&(e=t[i]);i++)e._distributeContent();this.shadyRoot._dirtyRoots=[]},_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributionClean=!0,e.hasInsertionPoint(this.shadyRoot))this._composeTree(),function(t){for(var i,n=0;n<t._insertionPoints.length;n++)i=t._insertionPoints[n],e.hasApi(i)&&Polymer.dom(i).notifyObserver()}(this.shadyRoot);else if(this.shadyRoot._hasDistributed){var i=this._composeNode(this);this._updateChildNodes(this,i)}else t.Composed.clearChildNodes(this),this.appendChild(this.shadyRoot);this.shadyRoot._hasDistributed||e.hasApi(this)&&Polymer.dom(this).notifyObserver(),this.shadyRoot._hasDistributed=!0}},elementMatches:function(t,i){return i=i||this,e.matchesSelector.call(i,t)},_resetDistribution:function(){for(var e=t.Logical.getChildNodes(this),i=0;i<e.length;i++){var r=e[i];r._destinationInsertionPoints&&(r._destinationInsertionPoints=void 0),o(r)&&n(r)}for(var s=this.shadyRoot._insertionPoints,a=0;a<s.length;a++)s[a]._distributedNodes=[]},_collectPool:function(){for(var e=[],i=t.Logical.getChildNodes(this),n=0;n<i.length;n++){var r=i[n];o(r)?e.push.apply(e,r._distributedNodes):e.push(r)}return e},_distributePool:function(i,n){for(var r,o=i._insertionPoints,s=0,a=o.length;s<a&&(r=o[s]);s++)this._distributeInsertionPoint(r,n),l=r,h=void 0,(h=t.Logical.getParentNode(l))&&h.shadyRoot&&e.hasInsertionPoint(h.shadyRoot)&&h.shadyRoot._distributionClean&&(h.shadyRoot._distributionClean=!1,this.shadyRoot._dirtyRoots.push(h));var l,h},_distributeInsertionPoint:function(e,n){for(var r,o=!1,s=0,a=n.length;s<a;s++)(r=n[s])&&this._matchesContentSelect(r,e)&&(i(r,e),n[s]=void 0,o=!0);if(!o)for(var l=t.Logical.getChildNodes(e),h=0;h<l.length;h++)i(l[h],e)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));for(var e,i,n=this.shadyRoot._insertionPoints,r=0,o=n.length;r<o&&(e=n[r]);r++)(i=t.Logical.getParentNode(e))._useContent||i===this||i===this.shadyRoot||this._updateChildNodes(i,this._composeNode(i))},_composeNode:function(e){for(var i=[],n=t.Logical.getChildNodes(e.shadyRoot||e),s=0;s<n.length;s++){var a=n[s];if(o(a))for(var l=a._distributedNodes,h=0;h<l.length;h++){var c=l[h];r(a,c)&&i.push(c)}else i.push(a)}return i},_updateChildNodes:function(e,i){for(var n=t.Composed.getChildNodes(e),r=Polymer.ArraySplice.calculateSplices(i,n),o=0,s=0;o<r.length&&(h=r[o]);o++){for(var a,l=0;l<h.removed.length&&(a=h.removed[l]);l++)t.Composed.getParentNode(a)===e&&t.Composed.removeChild(e,a),n.splice(h.index+s,1);s-=h.addedCount}var h,c;for(o=0;o<r.length&&(h=r[o]);o++)for(c=n[h.index],l=h.index;l<h.index+h.addedCount;l++)a=i[l],t.Composed.insertBefore(e,a,c),n.splice(l,0,a)},_matchesContentSelect:function(e,t){var i=t.getAttribute("select");return!i||!(i=i.trim())||e instanceof Element&&!!/^(:not\()?[*.#[a-zA-Z_|]/.test(i)&&this.elementMatches(i,e)},_elementAdd:function(){},_elementRemove:function(){}});var a=window.CustomElements&&!CustomElements.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root=this.shadowRoot}}),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),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;this._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.length,t=0;t<e;t++){var i=this._callbacks[t];if(i)try{i()}catch(e){throw t++,this._callbacks.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,{characterData:!0}),Polymer.Debounce=function(){var e=Polymer.Async,t=function(e){this.context=e;var t=this;this.boundComplete=function(){t.complete()}};return t.prototype={go:function(t,i){var n;this.finish=function(){e.cancel(n)},n=e.run(this.boundComplete,i),this.callback=t},stop:function(){this.finish&&(this.finish(),this.finish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.callback;this.stop(),e.call(this.context)}}},function(e,i,n){return e?e.stop():e=new t(this),e.go(i,n),e}}(),Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={}},debounce:function(e,t,i){return this._debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,i)},isDebouncerActive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebouncer:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:function(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createElement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),this._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._marshalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}}),Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],i=e._content||e.content;return this._parseNodeAnnotations(i,t,e.hasAttribute("strip-whitespace")),t},_parseNodeAnnotations:function(e,t,i){return e.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t,i)},_bindingRegex:new RegExp("(\\[\\[|{{)\\s*(?:(!)\\s*)?((?:[a-zA-Z_$][\\w.:$\\-*]*)\\s*(?:\\(\\s*(?:(?:(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*)(?:,\\s*(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*))*)?)\\)\\s*)?)(?:]]|}})","g"),_parseBindings:function(e){for(var t,i=this._bindingRegex,n=[],r=0;null!==(t=i.exec(e));){t.index>r&&n.push({literal:e.slice(r,t.index)});var o,s,a,l=t[1][0],h=Boolean(t[2]),c=t[3].trim();"{"==l&&(a=c.indexOf("::"))>0&&(s=c.substring(a+2),c=c.substring(0,a),o=!0),n.push({compoundIndex:n.length,value:c,mode:l,negate:h,event:s,customEvent:o}),r=i.lastIndex}if(r&&r<e.length){var u=e.substring(r);u&&n.push({literal:u})}if(n.length)return n},_literalFromParts:function(e){for(var t="",i=0;i<e.length;i++)t+=e[i].literal||"";return t},_parseTextNodeAnnotation:function(e,t){var i=this._parseBindings(e.textContent);if(i){e.textContent=this._literalFromParts(i)||" ";var n={bindings:[{kind:"text",name:"textContent",parts:i,isCompound:1!==i.length}]};return t.push(n),n}},_parseElementAnnotations:function(e,t,i){var n={bindings:[],events:[]};return"content"===e.localName&&(t._hasContent=!0),this._parseChildNodesAnnotations(e,n,t,i),e.attributes&&(this._parseNodeAttributeAnnotations(e,n,t),this.prepElement&&this.prepElement(e)),(n.bindings.length||n.events.length||n.id)&&t.push(n),n},_parseChildNodesAnnotations:function(e,t,i,n){if(e.firstChild)for(var r=e.firstChild,o=0;r;){var s=r.nextSibling;if("template"!==r.localName||r.hasAttribute("preserve-content")||this._parseTemplate(r,o,i,t),r.nodeType===Node.TEXT_NODE){for(var a=s;a&&a.nodeType===Node.TEXT_NODE;)r.textContent+=a.textContent,s=a.nextSibling,e.removeChild(a),a=s;n&&!r.textContent.trim()&&(e.removeChild(r),o--)}if(r.parentNode){var l=this._parseNodeAnnotations(r,i,n);l&&(l.parent=t,l.index=o)}r=s,o++}},_parseTemplate:function(e,t,i,n){var r=document.createDocumentFragment();r._notes=this.parseAnnotations(e),r.appendChild(e.content),i.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:r,parent:n,index:t})},_parseNodeAttributeAnnotations:function(e,t){for(var i,n=Array.prototype.slice.call(e.attributes),r=n.length-1;i=n[r];r--){var o,s=i.name,a=i.value;"on-"===s.slice(0,3)?(e.removeAttribute(s),t.events.push({name:s.slice(3),value:a})):(o=this._parseNodeAttributeAnnotation(e,s,a))?t.bindings.push(o):"id"===s&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,t,i){var n=this._parseBindings(i);if(n){var r=t,o="property";"$"==t[t.length-1]&&(t=t.slice(0,-1),o="attribute");var s=this._literalFromParts(n);s&&"attribute"==o&&e.setAttribute(t,s),"input"===e.localName&&"value"===r&&e.setAttribute(r,""),e.removeAttribute(r);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"===o&&(t=a),{kind:o,name:t,propertyName:a,parts:n,literal:s,isCompound:1!==n.length}}},findAnnotatedNode:function(e,t){var i=t.parent&&Polymer.Annotations.findAnnotatedNode(e,t.parent);if(!i)return e;for(var n=i.firstChild,r=0;n;n=n.nextSibling)if(t.index===r++)return n}},function(){function e(e,i){return e.replace(r,function(e,n,r,o){return n+"'"+t(r.replace(/["']/g,""),i)+"'"+o})}function t(e,t){if(e&&"#"===e[0])return e;var i=function(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a"))}(t);return i.href=e,i.href||e}var i,n,r=/(url\()([^)]*)(\))/g,o={"*":["href","src","style","url"],form:["action"]},s=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:e,resolveAttrs:function(i,n){for(var r in o)for(var a,l,h,c=o[r],u=0,d=c.length;u<d&&(a=c[u]);u++)"*"!==r&&i.localName!==r||(h=(l=i.attributes[a])&&l.value)&&h.search(s)<0&&(l.value="style"===a?e(h,n):t(h,n))},resolveUrl:function(e,r){return i||(i=document.implementation.createHTMLDocument("temp"),n=i.createElement("base"),i.head.appendChild(n)),n.href=r,t(e,i)}}}(),Polymer.Base._addFeature({_prepAnnotations:function(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t){e._prepElement(t)},this._template._content&&this._template._content._notes?this._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAnnotations(this._template),this._processAnnotations(this._notes)),Polymer.Annotations.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(var t=0;t<e.length;t++){for(var i=e[t],n=0;n<i.bindings.length;n++)for(var r=i.bindings[n],o=0;o<r.parts.length;o++){var s=r.parts[o];if(!s.literal){var a=this._parseMethod(s.value);a?s.signature=a:s.model=this._modelForPath(s.value)}}if(i.templateContent){this._processAnnotations(i.templateContent._notes);var l=i.templateContent._parentProps=this._discoverTemplateParentProps(i.templateContent._notes),h=[];for(var c in l){var u="_parent_"+c;h.push({index:i.index,kind:"property",name:u,propertyName:u,parts:[{mode:"{",model:c,value:c}]})}i.bindings=i.bindings.concat(h)}}},_discoverTemplateParentProps:function(e){for(var t,i={},n=0;n<e.length&&(t=e[n]);n++){for(var r,o=0,s=t.bindings;o<s.length&&(r=s[o]);o++)for(var a,l=0,h=r.parts;l<h.length&&(a=h[l]);l++)if(a.signature){for(var c=a.signature.args,u=0;u<c.length;u++){var d=c[u].model;d&&(i[d]=!0)}a.signature.dynamicFn&&(i[a.signature.method]=!0)}else a.model&&(i[a.model]=!0);if(t.templateContent){var f=t.templateContent._parentProps;Polymer.Base.mixin(i,f)}}return i},_prepElement:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedNodes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:function(){for(var e=this._notes,t=this._nodes,i=0;i<e.length;i++){var n=e[i],r=t[i];this._configureTemplateContent(n,r),this._configureCompoundBindings(n,r)}},_configureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateContent)},_configureCompoundBindings:function(e,t){for(var i=e.bindings,n=0;n<i.length;n++){var r=i[n];if(r.isCompound){for(var o=t.__compoundStorage__||(t.__compoundStorage__={}),s=r.parts,a=new Array(s.length),l=0;l<s.length;l++)a[l]=s[l].literal;var h=r.name;o[h]=a,r.literal&&"property"==r.kind&&(t._configValue?t._configValue(h,r.literal):t[h]=r.literal)}}},_marshalIdNodes:function(){this.$={};for(var e,t=0,i=this._notes.length;t<i&&(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._nodes=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,i=this._notes.length;t<i&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var n,r=this._findAnnotatedNode(this.root,e),o=0,s=e.events;o<s.length&&(n=s[o]);o++)this.listen(r,n.name,n.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:function(e){var t,i,n;for(n in e)n.indexOf(".")<0?(t=this,i=n):(i=n.split("."),t=this.$[i[0]],i=i[1]),this.listen(t,i,e[n])},listen:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n||(n=this._createEventHandler(e,t,i)),n._listening||(this._listen(e,t,n),n._listening=!0)},_boundListenerKey:function(e,t){return e+":"+t},_recordEventHandler:function(e,t,i,n,r){var o=e.__boundListeners;o||(o=e.__boundListeners=new WeakMap);var s=o.get(i);s||(s={},o.set(i,s)),s[this._boundListenerKey(t,n)]=r},_recallEventHandler:function(e,t,i,n){var r=e.__boundListeners;if(r){var o=r.get(i);if(o)return o[this._boundListenerKey(t,n)]}},_createEventHandler:function(e,t,i){var n=this,r=function(e){n[i]?n[i](e,e.detail):n._warn(n._logf("_createEventHandler","listener method `"+i+"` not defined"))};return r._listening=!1,this._recordEventHandler(n,t,e,i,r),r},unlisten:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n&&(this._unlisten(e,t,n),n._listening=!1)},_listen:function(e,t,i){e.addEventListener(t,i)},_unlisten:function(e,t,i){e.removeEventListener(t,i)}}),function(){"use strict";var e=Polymer.DomApi.wrap,t="string"==typeof document.head.style.touchAction,i="__polymerGesturesHandled",n="__polymerGesturesTouchAction",r=["mousedown","mousemove","mouseup","click"],o=[0,1,4,2],s=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),a=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),l=function(e){if(e[i]={skip:!0},"click"===e.type){for(var t=Polymer.dom(e).path,n=0;n<t.length;n++)if(t[n]===u.mouse.target)return;e.preventDefault(),e.stopPropagation()}};function h(e){for(var t,i=0;i<r.length;i++)t=r[i],e?document.addEventListener(t,l,!0):document.removeEventListener(t,l,!0)}function c(e){var t=e.type;if(-1===r.indexOf(t))return!1;if("mousemove"===t){var i=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!s&&(i=o[e.which]||0),Boolean(1&i)}return 0===(void 0===e.button?0:e.button)}var u={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function d(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function f(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var p={gestures:{},recognizers:[],deepTargetFind:function(e,t){for(var i=document.elementFromPoint(e,t),n=i;n&&n.shadowRoot;)(n=n.shadowRoot.elementFromPoint(e,t))&&(i=n);return i},findOriginalTarget:function(e){return e.path?e.path[0]:e.target},handleNative:function(n){var r,o=n.type,s=e(n.currentTarget).__polymerGestures;if(s){var l=s[o];if(l){if(!n[i]&&(n[i]={},"touch"===o.slice(0,5))){var c=n.changedTouches[0];if("touchstart"===o&&1===n.touches.length&&(u.touch.id=c.identifier),u.touch.id!==c.identifier)return;t||"touchstart"!==o&&"touchmove"!==o||p.handleTouchAction(n),"touchend"===o&&(u.mouse.target=Polymer.dom(n).rootTarget,a||(u.mouse.mouseIgnoreJob||h(!0),u.mouse.mouseIgnoreJob=Polymer.Debounce(u.mouse.mouseIgnoreJob,function(){h(),u.mouse.target=null,u.mouse.mouseIgnoreJob=null},2500)))}if(!(r=n[i]).skip){for(var d,f=p.recognizers,_=0;_<f.length;_++)l[(d=f[_]).name]&&!r[d.name]&&d.flow&&d.flow.start.indexOf(n.type)>-1&&d.reset&&d.reset();for(_=0;_<f.length;_++)l[(d=f[_]).name]&&!r[d.name]&&(r[d.name]=!0,d[o](n))}}}},handleTouchAction:function(e){var t=e.changedTouches[0],i=e.type;if("touchstart"===i)u.touch.x=t.clientX,u.touch.y=t.clientY,u.touch.scrollDecided=!1;else if("touchmove"===i){if(u.touch.scrollDecided)return;u.touch.scrollDecided=!0;var r=function(e){for(var t,i=Polymer.dom(e).path,r="auto",o=0;o<i.length;o++)if((t=i[o])[n]){r=t[n];break}return r}(e),o=!1,s=Math.abs(u.touch.x-t.clientX),a=Math.abs(u.touch.y-t.clientY);e.cancelable&&("none"===r?o=!0:"pan-x"===r?o=a>s:"pan-y"===r&&(o=s>a)),o?e.preventDefault():p.prevent("track")}},add:function(t,i,n){t=e(t);var o=this.gestures[i],s=o.deps,l=o.name,h=t.__polymerGestures;h||(t.__polymerGestures=h={});for(var c,u,d=0;d<s.length;d++)c=s[d],a&&r.indexOf(c)>-1||((u=h[c])||(h[c]=u={_count:0}),0===u._count&&t.addEventListener(c,this.handleNative),u[l]=(u[l]||0)+1,u._count=(u._count||0)+1);t.addEventListener(i,n),o.touchAction&&this.setTouchAction(t,o.touchAction)},remove:function(t,i,n){t=e(t);var r=this.gestures[i],o=r.deps,s=r.name,a=t.__polymerGestures;if(a)for(var l,h,c=0;c<o.length;c++)(h=a[l=o[c]])&&h[s]&&(h[s]=(h[s]||1)-1,h._count=(h._count||1)-1,0===h._count&&t.removeEventListener(l,this.handleNative));t.removeEventListener(i,n)},register:function(e){this.recognizers.push(e);for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByEvent:function(e){for(var t,i=0;i<this.recognizers.length;i++){t=this.recognizers[i];for(var n=0;n<t.emits.length;n++)if(t.emits[n]===e)return t}return null},setTouchAction:function(e,i){t&&(e.style.touchAction=i),e[n]=i},fire:function(e,t,i){if(Polymer.Base.fire(t,i,{node:e,bubbles:!0,cancelable:!0}).defaultPrevented){var n=i.sourceEvent;n&&n.preventDefault&&n.preventDefault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info.prevent=!0)},resetMouseCanceller:function(){u.mouse.mouseIgnoreJob&&u.mouse.mouseIgnoreJob.complete()}};p.register({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){f(this.info)},mousedown:function(e){if(c(e)){var t=p.findOriginalTarget(e),i=this;d(this.info,function(e){c(e)||(i.fire("up",t,e),f(i.info))},function(e){c(e)&&i.fire("up",t,e),f(i.info)}),this.fire("down",t,e)}},touchstart:function(e){this.fire("down",p.findOriginalTarget(e),e.changedTouches[0])},touchend:function(e){this.fire("up",p.findOriginalTarget(e),e.changedTouches[0])},fire:function(e,t,i){p.fire(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,prevent:function(e){return p.prevent(e)}})}}),p.register({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>2&&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,f(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var i=Math.abs(this.info.x-e),n=Math.abs(this.info.y-t);return i>=5||n>=5},mousedown:function(e){if(c(e)){var t=p.findOriginalTarget(e),i=this,n=function(e){var n=e.clientX,r=e.clientY;i.hasMovedEnough(n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&p.prevent("tap"),i.info.addMove({x:n,y:r}),c(e)||(i.info.state="end",f(i.info)),i.fire(t,e),i.info.started=!0)};d(this.info,n,function(e){i.info.started&&n(e),f(i.info)}),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:function(e){var t=p.findOriginalTarget(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;this.hasMovedEnough(n,r)&&("start"===this.info.state&&p.prevent("tap"),this.info.addMove({x:n,y:r}),this.fire(t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=p.findOriginalTarget(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),this.fire(t,i))},fire:function(e,t){var i,n=this.info.moves[this.info.moves.length-2],r=this.info.moves[this.info.moves.length-1],o=r.x-this.info.x,s=r.y-this.info.y,a=0;return n&&(i=r.x-n.x,a=r.y-n.y),p.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:s,ddx:i,ddy:a,sourceEvent:t,hover:function(){return p.deepTargetFind(t.clientX,t.clientY)}})}}),p.register({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.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){c(e)&&this.save(e)},click:function(e){c(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0])},touchend:function(e){this.forward(e.changedTouches[0])},forward:function(e){var t=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),n=p.findOriginalTarget(e);(isNaN(t)||isNaN(i)||t<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=p.findOriginalTarget(e).getBoundingClientRect(),i=e.pageX,n=e.pageY;return!(i>=t.left&&i<=t.right&&n>=t.top&&n<=t.bottom)}return!1}(e))&&(this.info.prevent||p.fire(n,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e}))}});var _={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null},_listen:function(e,t,i){p.gestures[t]?p.add(e,t,i):e.addEventListener(t,i)},_unlisten:function(e,t,i){p.gestures[t]?p.remove(e,t,i):e.removeEventListener(t,i)},setScrollDirection:function(e,t){t=t||this,p.setTouchAction(t,_[e]||"auto")}}),Polymer.Gestures=p}(),Polymer.Base._addFeature({$$:function(e){return Polymer.dom(this.root).querySelector(e)},toggleClass:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.classList.contains(e)),t?Polymer.dom(i).classList.add(e):Polymer.dom(i).classList.remove(e)},toggleAttribute:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.hasAttribute(e)),t?Polymer.dom(i).setAttribute(e,""):Polymer.dom(i).removeAttribute(e)},classFollows:function(e,t,i){i&&Polymer.dom(i).classList.remove(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,i){i&&Polymer.dom(i).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},getEffectiveChildren:function(){return Polymer.dom(this).getEffectiveChildNodes().filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveTextContent:function(){for(var e,t=this.getEffectiveChildNodes(),i=[],n=0;e=t[n];n++)e.nodeType!==Node.COMMENT_NODE&&i.push(Polymer.dom(e).textContent);return i.join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistributedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Polymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){var t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).getDistributedNodes():[]},getContentChildren:function(e){return this.getContentChildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:function(e,t,i){var n=(i=i||Polymer.nob).node||this;t=null===t||void 0===t?{}:t;var r=void 0===i.bubbles||i.bubbles,o=Boolean(i.cancelable),s=i._useCache,a=this._getEvent(e,r,o,s);return a.detail=t,s&&(this.__eventCache[e]=null),n.dispatchEvent(a),s&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,i,n){var r=n&&this.__eventCache[e];return r&&r.bubbles==t&&r.cancelable==i||(r=new Event(e,{bubbles:Boolean(t),cancelable:i})),r},async:function(e,t){var i=this;return Polymer.Async.run(function(){e.call(i)},t)},cancelAsync:function(e){Polymer.Async.cancel(e)},arrayDelete:function(e,t){var i;if(Array.isArray(e)){if((i=e.indexOf(t))>=0)return e.splice(i,1)}else if((i=this._get(e).indexOf(t))>=0)return this.splice(e,i,1)},transform:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e},translate3d:function(e,t,i,n){n=n||this,this.transform("translate3d("+e+","+t+","+i+")",n)},importHref:function(e,t,i,n){var r=document.createElement("link");r.rel="import",r.href=e,(n=Boolean(n))&&r.setAttribute("async","");var o=this;return t&&(r.onload=function(e){return t.call(o,e)}),i&&(r.onerror=function(e){return i.call(o,e)}),document.head.appendChild(r),r},create:function(e,t){var i=document.createElement(e);if(t)for(var n in t)i[n]=t[n];return i},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function(e){return this.root===Polymer.dom(e).getOwnerRoot()}}),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin(e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,i){i=void 0===i?this[e]:i,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:i},{bubbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,i,n){var r=this.__data__[e];return r===t||r!=r&&t!=t||(this.__data__[e]=t,"object"==typeof t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,r),i&&this._effectEffects(e,t,i,r,n)),r},__setProperty:function(e,t,i,n){var r=(n=n||this)._propertyEffects&&n._propertyEffects[e];r?n._propertySetter(e,t,r,i):n[e]=t},_effectEffects:function(e,t,i,n,r){for(var o,s=0,a=i.length;s<a&&(o=i[s]);s++)o.fn.call(this,e,t,o.effect,n,r)},_clearPath:function(e){for(var t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensurePropertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var i=e._propertyEffects[t];return i||(i=e._propertyEffects[t]=[]),i},addPropertyEffect:function(e,t,i,n){var r=this.ensurePropertyEffects(e,t),o={kind:i,effect:n,fn:Polymer.Bind["_"+i+"Effect"]};return r.push(o),o},createBindings:function(e){var t=e._propertyEffects;if(t)for(var i in t){var n=t[i];n.sort(this._sortPropertyEffects),this._createAccessors(e,i,n)}},_sortPropertyEffects:function(){var e={compute:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObserver:6,function:7};return function(t,i){return e[t.kind]-e[i.kind]}}(),_createAccessors:function(e,t,i){var n={get:function(){return this.__data__[t]}},r=function(e){this._propertySetter(t,e,i)},o=e.getPropertyInfo&&e.getPropertyInfo(t);o&&o.readOnly?o.computed||(e["_set"+this.upper(t)]=r):n.set=r,Object.defineProperty(e,t,n)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnotatedListener:function(e,t,i,n,r,o){e._bindListeners||(e._bindListeners=[]);var s=this._notedListenerFactory(i,n,this._isStructured(n),o),a=r||Polymer.CaseMap.camelToDashCase(i)+"-changed";e._bindListeners.push({index:t,property:i,path:n,changedFn:s,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBogus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e,t,i,n){return function(r,o,s){s?this._notifyPath(this._fixPath(t,e,s),o):(o=r[e],n&&(o=!o),i?this.__data__[t]!=o&&this.set(t,o):this[t]=o)}},prepareInstance:function(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var t,i=e._bindListeners,n=0,r=i.length;n<r&&(t=i[n]);n++){var o=e._nodes[t.index];this._addNotifyListener(o,e,t.event,t.changedFn)}},_addNotifyListener:function(e,t,i,n){e.addEventListener(i,function(e){return t._notifyListener(n,e)})}},Polymer.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attribute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotationEffect:function(e,t,i){e!=i.value&&(t=this._get(i.value),this.__data__[i.value]=t),this._applyEffectValue(i,t)},_reflectEffect:function(e,t,i){this.reflectPropertyToAttribute(e,i.attribute,t)},_notifyEffect:function(e,t,i,n,r){r||this._notifyChange(e,i.event,t)},_functionEffect:function(e,t,i,n,r){i.call(this,e,t,n,r)},_observerEffect:function(e,t,i,n){var r=this[i.method];r?r.call(this,t,n):this._warn(this._logf("_observerEffect","observer method `"+i.method+"` not defined"))},_complexObserverEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);r&&n.apply(this,r)}else i.dynamicFn||this._warn(this._logf("_complexObserverEffect","observer method `"+i.method+"` not defined"))},_computeEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(r){var o=n.apply(this,r);this.__setProperty(i.name,o)}}else i.dynamicFn||this._warn(this._logf("_computeEffect","compute method `"+i.method+"` not defined"))},_annotatedComputationEffect:function(e,t,i){var n=this._rootDataHost||this,r=n[i.method];if(r){var o=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(o){var s=r.apply(n,o);this._applyEffectValue(i,s)}}else i.dynamicFn||n._warn(n._logf("_annotatedComputationEffect","compute method `"+i.method+"` not defined"))},_marshalArgs:function(e,t,i,n){for(var r=[],o=t.args,s=o.length>1||t.dynamicFn,a=0,l=o.length;a<l;a++){var h,c=o[a],u=c.name;if(c.literal?h=c.value:i===u?h=n:void 0===(h=e[u])&&c.structured&&(h=Polymer.Base._get(u,e)),s&&void 0===h)return;if(c.wildcard){var d=0===i.indexOf(u+".");r[a]={path:d?i:u,value:d?n:h,base:h}}else r[a]=h}return r}}),Polymer.Base._addFeature({_addPropertyEffect:function(e,t,i){var n=Polymer.Bind.addPropertyEffect(this,e,t,i);n.pathFn=this["_"+n.kind+"PathEffect"]},_prepEffects:function(){Polymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBindings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function(e){if(e)for(var t in e){var i=e[t];if(i.observer&&this._addObserverEffect(t,i.observer),i.computed&&(i.readOnly=!0,this._addComputedEffect(t,i.computed)),i.notify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t)+"-changed"}),i.reflectToAttribute){var n=Polymer.CaseMap.camelToDashCase(t);"-"===n[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be reflected to attribute "+n+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.')):this._addPropertyEffect(t,"reflect",{attribute:n})}i.readOnly&&Polymer.Bind.ensurePropertyEffects(this,t)}},_addComputedEffect:function(e,t){for(var i,n=this._parseMethod(t),r=n.dynamicFn,o=0;o<n.args.length&&(i=n.args[o]);o++)this._addPropertyEffect(i.model,"compute",{method:n.method,args:n.args,trigger:i,name:e,dynamicFn:r});r&&this._addPropertyEffect(n.method,"compute",{method:n.method,args:n.args,trigger:null,name:e,dynamicFn:r})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"observer",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(var t,i=0;i<e.length&&(t=e[i]);i++)this._addComplexObserverEffect(t)},_addComplexObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Malformed observer expression '"+e+"'");for(var i,n=t.dynamicFn,r=0;r<t.args.length&&(i=t.args[r]);r++)this._addPropertyEffect(i.model,"complexObserver",{method:t.method,args:t.args,trigger:i,dynamicFn:n});n&&this._addPropertyEffect(t.method,"complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:n})},_addAnnotationEffects:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)for(var n,r=t.bindings,o=0;o<r.length&&(n=r[o]);o++)this._addAnnotationEffect(n,i)},_addAnnotationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addAnnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].negate);for(var i=0;i<e.parts.length;i++){var n=e.parts[i];n.signature?this._addAnnotatedComputationEffect(e,n,t):n.literal||("attribute"===e.kind&&"-"===e.name[0]?this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' because "-" is not a valid attribute starting character')):this._addPropertyEffect(n.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyName,value:n.value,isCompound:e.isCompound,compoundIndex:n.compoundIndex,event:n.event,customEvent:n.customEvent,negate:n.negate}))}},_addAnnotatedComputationEffect:function(e,t,i){var n=t.signature;if(n.static)this.__addAnnotatedComputationEffect("__static__",i,e,t,null);else{for(var r,o=0;o<n.args.length&&(r=n.args[o]);o++)r.literal||this.__addAnnotatedComputationEffect(r.model,i,e,t,r);n.dynamicFn&&this.__addAnnotatedComputationEffect(n.method,i,e,t,null)}},__addAnnotatedComputationEffect:function(e,t,i,n,r){this._addPropertyEffect(e,"annotatedComputation",{index:t,isCompound:i.isCompound,compoundIndex:n.compoundIndex,kind:i.kind,name:i.name,negate:n.negate,method:n.signature.method,args:n.signature.args,trigger:r,dynamicFn:n.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/([^\s]+?)\(([\s\S]*)\)/);if(t){var i={method:t[1],static:!0};if(this.getPropertyInfo(i.method)!==Polymer.nob&&(i.static=!1,i.dynamicFn=!0),t[2].trim()){var n=t[2].replace(/\\,/g,"&comma;").split(",");return this._parseArgs(n,i)}return i.args=Polymer.nar,i}},_parseArgs:function(e,t){return t.args=e.map(function(e){var i=this._parseArg(e);return i.literal||(t.static=!1),i},this),t},_parseArg:function(e){var t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),i={name:t},n=t[0];switch("-"===n&&(n=t[1]),n>="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.model=this._modelForPath(t),i.structured=t.indexOf(".")>0,i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindListeners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){var i=this._nodes[e.index],n=e.name;if(t=this._computeFinalAnnotationValue(i,n,t,e),!e.customEvent||i[n]!==t)if("attribute"==e.kind)this.serializeValueToAttribute(t,n,i);else{var r=i._propertyInfo&&i._propertyInfo[n];if(r&&r.readOnly)return;this.__setProperty(n,t,!1,i)}},_computeFinalAnnotationValue:function(e,t,i,n){if(n.negate&&(i=!i),n.isCompound){var r=e.__compoundStorage__[t];r[n.compoundIndex]=i,i=r.join("")}return"attribute"!==n.kind&&("className"===t&&(i=this._scopeElementClass(e,i)),("textContent"===t||"input"==e.localName&&"value"==t)&&(i=void 0==i?"":i)),i},_executeStaticEffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this._effectEffects("__static__",null,this._propertyEffects.__static__)}}),function(){var e=Polymer.Settings.usePolyfillProto;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._config[t]=e[t])},_marshalAttributes:function(){this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){var t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_configValue:function(e,t){var i=this._propertyInfo[e];i&&i.readOnly||(this._config[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function(){this._configureAnnotationReferences(),this._aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.length;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureProperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this._clients&&this._clients.length&&this._distributeConfig(this._config)},_configureProperties:function(t,i){for(var n in t){var r=t[n];if(!e&&this.hasOwnProperty(n)&&this._propertyEffects&&this._propertyEffects[n])i[n]=this[n],delete this[n];else if(void 0!==r.value){var o=r.value;"function"==typeof o&&(o=o.call(this,this._config)),i[n]=o}}},_distributeConfig:function(e){var t=this._propertyEffects;if(t)for(var i in e){var n=t[i];if(n)for(var r,o=0,s=n.length;o<s&&(r=n[o]);o++)if("annotation"===r.kind){var a=this._nodes[r.effect.index],l=r.effect.propertyName,h="attribute"==r.effect.kind,c=a._propertyEffects&&a._propertyEffects[l];if(a._configValue&&(c||!h)){var u=i===r.effect.value?e[i]:this._get(r.effect.value,e);u=this._computeFinalAnnotationValue(a,l,u,r.effect),h&&(u=a.deserialize(this.serialize(u),a._propertyInfo[l].type)),a._configValue(l,u)}}}},_afterClientsReady:function(){this._executeStaticEffects(),this._applyConfig(this._config,this._aboveConfig),this._flushHandlers()},_applyConfig:function(e,t){for(var i in e)void 0===this[i]&&this.__setProperty(i,e[i],i in t)},_notifyListener:function(e,t){if(!Polymer.Bind._isEventBogus(t,t.target)){var i,n;if(t.detail&&(i=t.detail.value,n=t.detail.path),this._clientsReadied)return e.call(this,t.target,i,n);this._queueHandler([e,t.target,i,n])}},_queueHandler:function(e){this._handlers.push(e)},_flushHandlers:function(){for(var e,t=this._handlers,i=0,n=t.length;i<n&&(e=t[i]);i++)e[0].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Polymer.Base._addFeature({notifyPath:function(e,t,i){var n={},r=this._get(e,this,n);1===arguments.length&&(t=r),n.path&&this._notifyPath(n.path,t,i)},_notifyPath:function(e,t,i){var n=this._propertySetter(e,t);if(n!==t&&(n==n||t==t))return this._pathEffector(e,t),i||this._notifyPathUp(e,t),!0},_getPathParts:function(e){if(Array.isArray(e)){for(var t=[],i=0;i<e.length;i++)for(var n=e[i].toString().split("."),r=0;r<n.length;r++)t.push(n[r]);return t}return e.toString().split(".")},set:function(e,t,i){var n,r=i||this,o=this._getPathParts(e),s=o[o.length-1];if(o.length>1){for(var a=0;a<o.length-1;a++){var l=o[a];if(n&&"#"==l[0]?r=Polymer.Collection.get(n).getItem(l):(r=r[l],n&&parseInt(l,10)==l&&(o[a]=Polymer.Collection.get(n).getKey(r))),!r)return;n=Array.isArray(r)?r:null}if(n){var h,c,u=Polymer.Collection.get(n);"#"==s[0]?(c=s,h=u.getItem(c),s=n.indexOf(h),u.setItem(c,t)):parseInt(s,10)==s&&(h=r[s],c=u.getKey(h),o[a]=c,u.setItem(c,t))}r[s]=t,i||this._notifyPath(o.join("."),t)}else r[e]=t},get:function(e,t){return this._get(e,t)},_get:function(e,t,i){for(var n,r=t||this,o=this._getPathParts(e),s=0;s<o.length;s++){if(!r)return;var a=o[s];n&&"#"==a[0]?r=Polymer.Collection.get(n).getItem(a):(r=r[a],i&&n&&parseInt(a,10)==a&&(o[s]=Polymer.Collection.get(n).getKey(r))),n=Array.isArray(r)?r:null}return i&&(i.path=o.join(".")),r},_pathEffector:function(e,t){var i=this._modelForPath(e),n=this._propertyEffects&&this._propertyEffects[i];if(n)for(var r,o=0;o<n.length&&(r=n[o]);o++){var s=r.pathFn;s&&s.call(this,e,t,r.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEffect:function(e,t,i){if(i.value===e||0===i.value.indexOf(e+"."))Polymer.Bind._annotationEffect.call(this,e,t,i);else if(0===e.indexOf(i.value+".")&&!i.negate){var n=this._nodes[i.index];if(n&&n._notifyPath){var r=this._fixPath(i.name,i.value,e);n._notifyPath(r,t,!0)}}},_complexObserverPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._complexObserverEffect.call(this,e,t,i)},_computePathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._computeEffect.call(this,e,t,i)},_annotatedComputationPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,i)},_pathMatchesEffect:function(e,t){var i=t.trigger.name;return i==e||0===i.indexOf(e+".")||t.trigger.wildcard&&0===e.indexOf(i)},linkPaths:function(e,t){this._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)},unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyBoundPaths:function(e,t){for(var i in this._boundPaths){var n=this._boundPaths[i];0==e.indexOf(i+".")?this._notifyPath(this._fixPath(n,i,e),t):0==e.indexOf(n+".")&&this._notifyPath(this._fixPath(i,n,e),t)}},_fixPath:function(e,t,i){return e+i.slice(t.length)},_notifyPathUp:function(e,t){var i=this._modelForPath(e),n=Polymer.CaseMap.camelToDashCase(i)+this._EVENT_CHANGED;this.fire(n,{path:e,value:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t){var i={},n=this._get(e,this,i);this._notifySplices(n,i.path,t)},_notifySplices:function(e,t,i){var n={keySplices:Polymer.Collection.applySplices(e,i),indexSplices:i},r=t+".splices";this._notifyPath(r,n),this._notifyPath(t+".length",e.length),this.__data__[r]={keySplices:null,indexSplices:null}},_notifySplice:function(e,t,i,n,r){this._notifySplices(e,t,[{index:i,addedCount:n,removed:r,object:e,type:"splice"}])},push:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.length,o=i.push.apply(i,n);return n.length&&this._notifySplice(i,t.path,r,n.length,[]),o},pop:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.pop.apply(i,r);return n&&this._notifySplice(i,t.path,i.length,0,[o]),o},splice:function(e,t){var i={},n=this._get(e,this,i);(t=t<0?n.length-Math.floor(-t):Math.floor(t))||(t=0);var r=Array.prototype.slice.call(arguments,1),o=n.splice.apply(n,r),s=Math.max(r.length-2,0);return(s||o.length)&&this._notifySplice(n,i.path,t,s,o),o},shift:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.shift.apply(i,r);return n&&this._notifySplice(i,t.path,0,0,[o]),o},unshift:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.unshift.apply(i,n);return n.length&&this._notifySplice(i,t.path,0,n.length,[]),r},prepareModelNotifyPath:function(e){this.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Polymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolveUrl:function(e){var t=Polymer.DomModule.import(this.is),i="";if(t){var n=t.getAttribute("assetpath")||"";i=Polymer.ResolveUrl.resolveUrl(n,t.ownerDocument.baseURI)}return Polymer.ResolveUrl.resolveUrl(e,i)}}),Polymer.CssParse={parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"")},_lex:function(e){for(var t={start:0,end:e.length},i=t,n=0,r=e.length;n<r;n++)switch(e[n]){case this.OPEN_BRACE:i.rules||(i.rules=[]);var o=i;i={start:n+1,parent:o,previous:o.rules[o.rules.length-1]},o.rules.push(i);break;case this.CLOSE_BRACE:i.end=n+1,i=i.parent||t}return t},_parseCss:function(e,t){var i=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=i.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;i=t.substring(n,e.start-1),i=(i=(i=this._expandUnicodeEscapes(i)).replace(this._rx.multipleSpaces," ")).substring(i.lastIndexOf(";")+1);var r=e.parsedSelector=e.selector=i.trim();e.atRule=0===r.indexOf(this.AT_START),e.atRule?0===r.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA_RULE:r.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(this._rx.multipleSpaces).pop()):0===r.indexOf(this.VAR_START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var o=e.rules;if(o)for(var s,a=0,l=o.length;a<l&&(s=o[a]);a++)this._parseCss(s,t);return e},_expandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:function(e,t,i){i=i||"";var n="";if(e.cssText||e.rules){var r=e.rules;if(!r||!t&&this._hasMixinRules(r))(n=(n=t?e.cssText:this.removeCustomProps(e.cssText)).trim())&&(n="  "+n+"\n");else for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)n=this.stringify(o,t,n)}return n&&(e.selector&&(i+=e.selector+" "+this.OPEN_BRACE+"\n"),i+=n,e.selector&&(i+=this.CLOSE_BRACE+"\n\n")),i},_hasMixinRules:function(e){return 0===e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=this.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPropAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._rx.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mixinApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE: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/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"},Polymer.StyleUtil={MODULE_STYLES_SELECTOR:"style, link[rel=import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t,i){return"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.parser.stringify(e,i)},forRulesInStyles:function(e,t,i){if(e)for(var n,r=0,o=e.length;r<o&&(n=e[r]);r++)this.forEachRule(this.rulesForStyle(n),t,i)},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},forEachRule:function(e,t,i){if(e){var n=!1;e.type===this.ruleTypes.STYLE_RULE?t(e):i&&e.type===this.ruleTypes.KEYFRAMES_RULE?i(e):e.type===this.ruleTypes.MIXIN_RULE&&(n=!0);var r=e.rules;if(r&&!n)for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)this.forEachRule(o,t,i)}},applyCss:function(e,t,i,n){var r=this.createScopeStyle(e,t);i=i||document.head;var o=n&&n.nextSibling||i.firstChild;return this.__lastHeadApplyNode=r,i.insertBefore(r,o)},createScopeStyle:function(e,t){var i=document.createElement("style");return t&&i.setAttribute("scope",t),i.textContent=e,i},__lastHeadApplyNode:null,applyStylePlaceHolder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),i=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,n=document.head;return n.insertBefore(t,i||n.firstChild),this.__lastHeadApplyNode=t,t},cssFromModules:function(e,t){for(var i=e.trim().split(" "),n="",r=0;r<i.length;r++)n+=this.cssFromModule(i[r],t);return n},cssFromModule:function(e,t){var i=Polymer.DomModule.import(e);return i&&!i._cssText&&(i._cssText=this.cssFromElement(i)),i&&i._cssText||""},cssFromElement:function(e){for(var t,i="",n=e.content||e,r=Polymer.TreeApi.arrayCopy(n.querySelectorAll(this.MODULE_STYLES_SELECTOR)),o=0;o<r.length;o++)if("template"===(t=r[o]).localName)i+=this.cssFromElement(t);else if("style"===t.localName){var s=t.getAttribute(this.INCLUDE_ATTR);s&&(i+=this.cssFromModules(s,!0)),(t=t.__appliedElement||t).parentNode.removeChild(t),i+=this.resolveCss(t.textContent,e.ownerDocument)}else t.import&&t.import.body&&(i+=this.resolveCss(t.import.body.textContent,t.import));return i},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types},Polymer.StyleTransformer=function(){var e=Polymer.Settings.useNativeShadow,t=Polymer.StyleUtil,i={dom:function(e,t,i,n){this._transformDom(e,t||"",i,n)},_transformDom:function(e,t,i,n){e.setAttribute&&this.element(e,t,i,n);for(var r=Polymer.dom(e).childNodes,o=0;o<r.length;o++)this._transformDom(r[o],t,i,n)},element:function(e,t,i,r){if(i)r?e.removeAttribute(n):e.setAttribute(n,t);else if(t)if(e.classList)r?(e.classList.remove(n),e.classList.remove(t)):(e.classList.add(n),e.classList.add(t));else if(e.getAttribute){var o=e.getAttribute(v);r?o&&e.setAttribute(v,o.replace(n,"").replace(t,"")):e.setAttribute(v,(o?o+" ":"")+n+" "+t)}},elementStyles:function(i,n){for(var r,o=i._styles,s="",a=0,l=o.length;a<l&&(r=o[a]);a++){var h=t.rulesForStyle(r);s+=e?t.toCssText(h,n):this.css(h,i.is,i.extends,n,i._scopeCssViaAttr)+"\n\n"}return s.trim()},css:function(e,i,n,r,o){var s=this._calcHostScope(i,n);i=this._calcElementScope(i,o);var a=this;return t.toCssText(e,function(e){e.isScoped||(a.rule(e,i,s),e.isScoped=!0),r&&r(e,i,s)})},_calcElementScope:function(e,t){return e?t?_+e+m:p+e:""},_calcHostScope:function(e,t){return t?"[is="+e+"]":e},rule:function(e,t,i){this._transformRule(e,this._transformComplexSelector,t,i)},_transformRule:function(e,i,n,r){var s=e.selector.split(o);if(!t.isKeyframesSelector(e))for(var a,l=0,h=s.length;l<h&&(a=s[l]);l++)s[l]=i.call(this,a,n,r);e.selector=e.transformedSelector=s.join(o)},_transformComplexSelector:function(e,t,i){var n=!1,r=!1,l=this;return e=(e=e.replace(g,a+" $1")).replace(s,function(e,o,s){if(n)s=s.replace(f," ");else{var a=l._transformCompoundSelector(s,o,t,i);n=n||a.stop,r=r||a.hostContext,o=a.combinator,s=a.value}return o+s}),r&&(e=e.replace(u,function(e,t,n,r){return t+n+" "+i+r+o+" "+t+i+n+r})),e},_transformCompoundSelector:function(e,t,i,n){var r,o=e.search(f),s=!1;return e.indexOf(c)>=0?s=!0:e.indexOf(a)>=0?e=(e=e.replace(h,function(e,t,i){return n+i})).replace(a,n):0!==o&&(e=i?this._transformSimpleSelector(e,i):e),e.indexOf(d)>=0&&(t=""),o>=0&&(e=e.replace(f," "),r=!0),{value:e,combinator:t,stop:r,hostContext:s}},_transformSimpleSelector:function(e,t){var i=e.split(y);return i[0]+=t,i.join(y)},documentRule:function(t){t.selector=t.parsedSelector,this.normalizeRootSelector(t),e||this._transformRule(t,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.selector===l&&(e.selector="body")},_transformDocumentSelector:function(e){return e.match(f)?this._transformComplexSelector(e,r):this._transformSimpleSelector(e.trim(),r)},SCOPE_NAME:"style-scope"},n=i.SCOPE_NAME,r=":not(["+n+"]):not(."+n+")",o=",",s=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=":host",l=":root",h=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g,c=":host-context",u=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,d="::content",f=/::content|::shadow|\/deep\//,p=".",_="["+n+"~=",m="]",y=":",v="class",g=new RegExp("^("+d+")");return i}(),Polymer.StyleExtends=function(){var e=Polymer.StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))},transform:function(t){var i=e.rulesForStyle(t),n=this;return e.forEachRule(i,function(e){if(n._mapRuleOntoParent(e),e.parent)for(var t;t=n.rx.EXTEND.exec(e.cssText);){var i=t[1],r=n._findExtendor(i,e);r&&n._extendRule(e,r)}e.cssText=e.cssText.replace(n.rx.EXTEND,"")}),e.toCssText(i,function(e){e.selector.match(n.rx.STRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var t=e.parent.map||(e.parent.map={}),i=e.selector.split(","),n=0;n<i.length;n++)t[i[n].trim()]=e;return t}},_findExtendor:function(e,t){return t.parent&&t.parent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule: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.rx.STRIP,""),t.selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t){(e=Object.create(e)).parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),function(){var e=Polymer.Base._prepElement,t=Polymer.Settings.useNativeShadow,i=Polymer.StyleUtil,n=Polymer.StyleTransformer,r=Polymer.StyleExtends;Polymer.Base._addFeature({_prepElement:function(t){this._encapsulateStyle&&n.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function(){t||(this._scopeStyle=i.applyStylePlaceHolder(this.is))},_prepShimStyles:function(){if(this._template){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),this._styles=this._collectStyles();var e=n.elementStyles(this);this._prepStyleProperties(),!this._needsStyleProperties()&&this._styles.length&&i.applyCss(e,this.is,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectStyles:function(){var e=[],t="",n=this.styleModules;if(n)for(var o,s=0,a=n.length;s<a&&(o=n[s]);s++)t+=i.cssFromModule(o);t+=i.cssFromModule(this.is);var l=this._template&&this._template.parentNode;if(!this._template||l&&l.id.toLowerCase()===this.is||(t+=i.cssFromElement(this._template)),t){var h=document.createElement("style");h.textContent=t,r.hasExtends(h.textContent)&&(t=r.transform(h)),e.push(h)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.__styleScoped=!1:n.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:function(e){this._encapsulateStyle&&n.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSubtree:function(e,i){if(!t){var n=this,r=function(e){if(e.nodeType===Node.ELEMENT_NODE){var t=e.getAttribute("class");e.setAttribute("class",n._scopeElementClass(e,t));for(var i,r=e.querySelectorAll("*"),o=0;o<r.length&&(i=r[o]);o++)t=i.getAttribute("class"),i.setAttribute("class",n._scopeElementClass(i,t))}};if(r(e),i){var o=new MutationObserver(function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)if(t.addedNodes)for(var n=0;n<t.addedNodes.length;n++)r(t.addedNodes[n])});return o.observe(e,{childList:!0,subtree:!0}),o}}}})}(),Polymer.StyleProperties=function(){"use strict";var e=Polymer.Settings.useNativeShadow,t=Polymer.DomApi.matchesSelector,i=Polymer.StyleUtil,n=Polymer.StyleTransformer;return{decorateStyles:function(e){var t=this,n={},r=[];i.forRulesInStyles(e,function(e){t.decorateRule(e),t.collectPropertiesInCssText(e.propertyInfo.cssText,n)},function(e){r.push(e)}),e._keyframes=r;var o=[];for(var s in n)o.push(s);return o},decorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},i={};return this.collectProperties(e,i)&&(t.properties=i,e.rules=null),t.cssText=this.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var i=e.propertyInfo;if(!i){for(var n,r,o=this.rx.VAR_ASSIGN,s=e.parsedCssText;n=o.exec(s);)t[n[1]]=(n[2]||n[3]).trim(),r=!0;return r}if(i.properties)return Polymer.Base.mixin(t,i.properties),!0},collectCssText:function(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssText:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIGN,"")},collectPropertiesInCssText:function(e,t){for(var i;i=this.rx.VAR_CAPTURE.exec(e);){t[i[1]]=!0;var n=i[2];n&&n.match(this.rx.IS_VAR)&&(t[n]=!0)}},reify:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length;n++)e[t=i[n]]=this.valueForProperty(e[t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueForProperties(e,t);else{var i=this;e=e.replace(this.rx.VAR_MATCH,function(e,n,r,o){return n+(i.valueForProperty(t[r],t)||(t[o]?i.valueForProperty(t[o],t):o)||"")})}return e&&e.trim()||""},valueForProperties:function(e,t){for(var i,n,r=e.split(";"),o=0;o<r.length;o++)if(i=r[o]){if(n=i.match(this.rx.MIXIN_MATCH))i=this.valueForProperty(t[n[1]],t);else{var s=i.indexOf(":");if(-1!==s){var a=i.substring(s);a=a.trim(),a=this.valueForProperty(a,t)||a,i=i.substring(0,s)+a}}r[o]=i&&i.lastIndexOf(";")===i.length-1?i.slice(0,-1):i||""}return r.join(";")},applyProperties:function(e,t){var i="";e.propertyInfo||this.decorateRule(e),e.propertyInfo.cssText&&(i=this.valueForProperties(e.propertyInfo.cssText,t)),e.cssText=i},applyKeyframeTransforms:function(e,t){var i=e.cssText,n=e.cssText;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(i)),e.hasAnimations)if(null==e.keyframeNamesToTransform)for(var r in e.keyframeNamesToTransform=[],t)i!==(n=(0,t[r])(i))&&(i=n,e.keyframeNamesToTransform.push(r));else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)i=(0,t[e.keyframeNamesToTransform[o]])(i);n=i}e.cssText=n},propertyDataFromStyles:function(e,n){var r={},o=this,s=[],a=0;return i.forRulesInStyles(e,function(e){e.propertyInfo||o.decorateRule(e),n&&e.propertyInfo.properties&&t.call(n,e.transformedSelector||e.parsedSelector)&&(o.collectProperties(e,r),function(e,t){var i=parseInt(e/32),n=1<<e%32;t[i]=(t[i]||0)|n}(a,s)),a++}),{properties:r,key:s}},scopePropertiesFromStyles:function(e){return e._scopeStyleProperties||(e._scopeStyleProperties=this.selectedPropertiesFromStyles(e,this.SCOPE_SELECTORS)),e._scopeStyleProperties},hostPropertiesFromStyles:function(e){return e._hostStyleProperties||(e._hostStyleProperties=this.selectedPropertiesFromStyles(e,this.HOST_SELECTORS)),e._hostStyleProperties},selectedPropertiesFromStyles:function(e,t){var n={},r=this;return i.forRulesInStyles(e,function(e){e.propertyInfo||r.decorateRule(e);for(var i=0;i<t.length;i++)if(e.parsedSelector===t[i])return void r.collectProperties(e,n)}),n},transformStyles:function(t,i,r){var o=this,s=n._calcHostScope(t.is,t.extends),a=t.extends?"\\"+s.slice(0,-1)+"\\]":s,l=new RegExp(this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),h=this._elementKeyframeTransforms(t,r);return n.elementStyles(t,function(n){o.applyProperties(n,i),e||Polymer.StyleUtil.isKeyframesSelector(n)||!n.cssText||(o.applyKeyframeTransforms(n,h),o._scopeSelector(n,l,s,t._scopeCssViaAttr,r))})},_elementKeyframeTransforms:function(t,i){var n=t._styles._keyframes,r={};if(!e&&n)for(var o=0,s=n[o];o<n.length;s=n[++o])this._scopeKeyframes(s,i),r[s.keyframesName]=this._keyframesRuleTransformer(s);return r},_keyframesRuleTransformer:function(e){return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesName)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,"g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.transformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyframesName,e.transformedKeyframesName)},_scopeSelector:function(e,t,i,r,o){e.transformedSelector=e.transformedSelector||e.selector;for(var s,a=e.transformedSelector,l=r?"["+n.SCOPE_NAME+"~="+o+"]":"."+o,h=a.split(","),c=0,u=h.length;c<u&&(s=h[c]);c++)h[c]=s.match(t)?s.replace(i,l):l+" "+s;e.selector=h.join(",")},applyElementScopeSelector:function(e,t,i,r){var o=r?e.getAttribute(n.SCOPE_NAME):e.getAttribute("class")||"",s=i?o.replace(i,t):(o?o+" ":"")+this.XSCOPE_NAME+" "+t;o!==s&&(r?e.setAttribute(n.SCOPE_NAME,s):e.setAttribute("class",s))},applyElementStyle:function(t,n,r,o){var s=o?o.textContent||"":this.transformStyles(t,n,r),a=t._customStyle;return a&&!e&&a!==o&&(a._useCount--,a._useCount<=0&&a.parentNode&&a.parentNode.removeChild(a)),!e&&o&&o.parentNode||(e&&t._customStyle?(t._customStyle.textContent=s,o=t._customStyle):s&&(o=i.applyCss(s,r,e?t.root:null,t._scopeStyle))),o&&(o._useCount=o._useCount||0,t._customStyle!=o&&o._useCount++,t._customStyle=o),o},mixinCustomStyle:function(e,t){var i;for(var n in t)((i=t[n])||0===i)&&(e[n]=i)},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,VAR_MATCH:/(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)))[\s]*?\)/gi,VAR_CAPTURE:/\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:])",HOST_SUFFIX:"($|[.:[\\s>+~])"},HOST_SELECTORS:[":host"],SCOPE_SELECTORS:[":root"],XSCOPE_NAME:"x-scope"}}(),Polymer.StyleCache=function(){this.cache={}},Polymer.StyleCache.prototype={MAX:100,store:function(e,t,i,n){t.keyValues=i,t.styles=n;var r=this.cache[e]=this.cache[e]||[];r.push(t),r.length>this.MAX&&r.shift()},retrieve:function(e,t,i){var n=this.cache[e];if(n)for(var r,o=n.length-1;o>=0;o--)if(i===(r=n[o]).styles&&this._objectsEqual(t,r.keyValues))return r},clear:function(){this.cache={}},_objectsEqual:function(e,t){var i,n;for(var r in e)if(i=e[r],n=t[r],!("object"==typeof i&&i?this._objectsStrictlyEqual(i,n):i===n))return!1;return!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){return this._objectsEqual(e,t)&&this._objectsEqual(t,e)}},Polymer.StyleDefaults=function(){var e=Polymer.StyleProperties;return{_styles:[],_properties:null,customStyle:{},_styleCache:new(0,Polymer.StyleCache),addStyle:function(e){this._styles.push(e),this._properties=null},get _styleProperties(){return this._properties||(e.decorateStyles(this._styles),this._styles._scopeStyleProperties=null,this._properties=e.scopePropertiesFromStyles(this._styles),e.mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),this._properties},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties},updateStyles:function(e){this._properties=null,e&&Polymer.Base.mixin(this.customStyle,e),this._styleCache.clear();for(var t,i=0;i<this._styles.length;i++)(t=(t=this._styles[i]).__importElement||t)._apply()}}}(),function(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.StyleProperties,i=Polymer.StyleTransformer,n=Polymer.StyleDefaults,r=Polymer.Settings.useNativeShadow;Polymer.Base._addFeature({_prepStyleProperties:function(){this._ownStylePropertyNames=this._styles&&this._styles.length?t.decorateStyles(this._styles):null},customStyle:null,getComputedStyleValue:function(e){return this._styleProperties&&this._styleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStyleProperties:function(){this.customStyle={},this._styleCache=null,this._styleProperties=null,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=null},_needsStyleProperties:function(){return Boolean(this._ownStylePropertyNames&&this._ownStylePropertyNames.length)},_beforeAttached:function(){!this._scopeSelector&&this._needsStyleProperties()&&this._updateStyleProperties()},_findStyleHost:function(){for(var e,t=this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.host;t=e.host}return n},_updateStyleProperties:function(){var e,i=this._findStyleHost();i._styleCache||(i._styleCache=new Polymer.StyleCache);var n=t.propertyDataFromStyles(i._styles,this);n.key.customStyle=this.customStyle,e=i._styleCache.retrieve(this.is,n.key,this._styles);var s=Boolean(e);s?this._styleProperties=e._styleProperties:this._computeStyleProperties(n.properties),this._computeOwnStyleProperties(),s||(e=o.retrieve(this.is,this._ownStyleProperties,this._styles));var a=Boolean(e)&&!s,l=this._applyStyleProperties(e);s||(e={style:l=l&&r?l.cloneNode(!0):l,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties},n.key.customStyle={},this.mixin(n.key.customStyle,this.customStyle),i._styleCache.store(this.is,e,n.key,this._styles),a||o.store(this.is,Object.create(e),this._ownStyleProperties,this._styles))},_computeStyleProperties:function(e){var i=this._findStyleHost();i._styleProperties||i._computeStyleProperties();var n=Object.create(i._styleProperties);this.mixin(n,t.hostPropertiesFromStyles(this._styles)),e=e||t.propertyDataFromStyles(i._styles,this).properties,this.mixin(n,e),this.mixin(n,t.scopePropertiesFromStyles(this._styles)),t.mixinCustomStyle(n,this.customStyle),t.reify(n),this._styleProperties=n},_computeOwnStyleProperties:function(){for(var e,t={},i=0;i<this._ownStylePropertyNames.length;i++)t[e=this._ownStylePropertyNames[i]]=this._styleProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:function(e){var i=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:this.is+"-"+this.__proto__._scopeCount++;var n=t.applyElementStyle(this,this._styleProperties,this._scopeSelector,e&&e.style);return r||t.applyElementScopeSelector(this,this._scopeSelector,i,this._scopeCssViaAttr),n},serializeValueToAttribute:function(t,i,n){if(n=n||this,"class"===i&&!r){var o=n===this?this.domHost||this.dataHost:this;o&&(t=o._scopeElementClass(n,t))}n=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(n):n,e.call(this,t,i,n)},_scopeElementClass:function(e,t){return r||this._scopeCssViaAttr||(t=(t?t+" ":"")+s+" "+this.is+(e._scopeSelector?" "+a+" "+e._scopeSelector:"")),t},updateStyles:function(e){this.isAttached&&(e&&this.mixin(this.customStyle,e),this._needsStyleProperties()?this._updateStyleProperties():this._styleProperties=null,this._styleCache&&this._styleCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||this.root;for(var t,i=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shadowRoot}),n=0,r=i.length;n<r&&(t=i[n]);n++)t.updateStyles&&t.updateStyles()}}),Polymer.updateStyles=function(e){n.updateStyles(e),Polymer.Base._updateRootStyles(document)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var s=i.SCOPE_NAME,a=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeatures:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBindings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e.properties),this._addComplexObserverEffects(e.observers),this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupConfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady(),this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marshalAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_marshalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),function(){var e=Polymer.Base._tryReady;Polymer.Base._tryReady=function(){if(this.is&&this.hasAttribute("lazy-bind")||this.dataHost&&this.dataHost.lazyChildren)for(var t in this._propertyEffects)if(this.hasOwnProperty(t)){var i=this[t];delete this[t],this._config[t]=i}e.apply(this,arguments)},Polymer.LightDomBindingBehavior={lazyChildren:!0,_initFeatures:function(){this._beginHosting(),this.root=this,this._template=this,this._content=this,this._notes=null,this._prepAnnotations(),this._prepEffects(),this._prepBindings(),this._setupConfigure(),this._marshalAnnotationReferences(),this._marshalInstanceEffects(),this._tryReady()}}}(),Polymer({extends:"body",is:"body-bind",behaviors:[Polymer.LightDomBindingBehavior]}),function(){var e=Polymer.StyleProperties,t=Polymer.StyleUtil,i=Polymer.CssParse,n=Polymer.StyleDefaults,r=Polymer.StyleTransformer;Polymer({is:"custom-style",extends:"style",_template:null,properties:{include:String},ready:function(){this._tryApply()},attached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDocument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesToDocument=!0;var e=this.__appliedElement||this;if(n.addStyle(e),e.textContent||this.include)this._apply(!0);else{var t=this,i=new MutationObserver(function(){i.disconnect(),t._apply(!0)});i.observe(e,{childList:!0})}}},_apply:function(e){var i=this.__appliedElement||this;if(this.include&&(i.textContent=t.cssFromModules(this.include,!0)+i.textContent),i.textContent){t.forEachRule(t.rulesForStyle(i),function(e){r.documentRule(e)});var n=this,o=function(){n._applyCustomProperties(i)};this._pendingApplyProperties&&(cancelAnimationFrame(this._pendingApplyProperties),this._pendingApplyProperties=null),e?this._pendingApplyProperties=requestAnimationFrame(o):o()}},_applyCustomProperties:function(n){this._computeStyleProperties();var r=this._styleProperties,o=t.rulesForStyle(n);n.textContent=t.toCssText(o,function(t){var n=t.cssText=t.parsedCssText;t.propertyInfo&&t.propertyInfo.cssText&&(n=i.removeCustomPropAssignment(n),t.cssText=e.valueForProperties(n,r))})}})}(),Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer.nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content._ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create(Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyInfo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementClass=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=this._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=this.__setPropertyImpl;var i=this._constructorImpl,n=function(e,t){i.call(this,e,t)};n.prototype=t,t.constructor=n,e._content._ctor=n,this.ctor=n},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},_showHideChildrenImpl:function(e){for(var t=this._children,i=0;i<t.length;i++){var n=t[i];Boolean(e)!=Boolean(n.__hideTemplateChildren__)&&(n.nodeType===Node.TEXT_NODE?e?(n.__polymerTextContent__=n.textContent,n.textContent=""):n.textContent=n.__polymerTextContent__:n.style&&(e?(n.__polymerDisplay__=n.style.display,n.style.display="none"):n.style.display=n.__polymerDisplay__)),n.__hideTemplateChildren__=e}},__setPropertyImpl:function(e,t,i,n){n&&n.__hideTemplateChildren__&&"textContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,i,n)},_debounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTemplate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:function(e){var t=e._parentProps;for(var i in t)e._addPropertyEffect(i,"function",this._createHostPropEffector(i));for(i in this._instanceProps)e._addPropertyEffect(i,"function",this._createInstancePropEffector(i))},_customPrepAnnotations:function(e,t){e._template=t;var i=t._content;if(!i._notes){var n=e._rootDataHost;n&&(Polymer.Annotations.prepElement=function(){n._prepElement()}),i._notes=Polymer.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._processAnnotations(i._notes)}e._notes=i._notes,e._parentProps=i._parentProps},_prepParentProperties:function(e,t){var i=this._parentProps=e._parentProps;if(this._forwardParentProp&&i){var n,r=e._parentPropProto;if(!r){for(n in this._instanceProps)delete i[n];for(n in r=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.prepareModel(r),Polymer.Base.prepareModelNotifyPath(r)),i){var o=this._parentPropPrefix+n,s=[{kind:"function",effect:this._createForwardPropEffector(n),fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(o)+"-changed"}}];Polymer.Bind._createAccessors(r,o,s)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forwardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,r),t._pathEffector=function(e,t,i){return a._pathEffectorImpl(e,t,i)}}},_createForwardPropEffector:function(e){return function(t,i){this._forwardParentProp(e,i)}},_createHostPropEffector:function(e){var t=this._parentPropPrefix;return function(i,n){this.dataHost._templatized[t+e]=n}},_createInstancePropEffector:function(e){return function(t,i,n,r){r||this.dataHost._forwardInstanceProp(this,e,i)}},_extendTemplate:function(e,t){var i=Object.getOwnPropertyNames(t);t._propertySetter&&(e._propertySetter=t._propertySetter);for(var n,r=0;r<i.length&&(n=i[r]);r++){var o=e[n],s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s),void 0!==o&&e._propertySetter(n,o)}},_showHideChildren:function(e){},_forwardInstancePath:function(e,t,i){},_forwardInstanceProp:function(e,t,i){},_notifyPathUpImpl:function(e,t){var i=this.dataHost,n=e.indexOf("."),r=n<0?e:e.slice(0,n);i._forwardInstancePath.call(i,this,e,t),r in i._parentProps&&i._templatized._notifyPath(i._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,i){if(this._forwardParentPath&&0===e.indexOf(this._parentPropPrefix)){var n=e.substring(this._parentPropPrefix.length);this._modelForPath(n)in this._parentProps&&this._forwardParentPath(n,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,i)},_constructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupConfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTemplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.__styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalInstanceEffects(),this._marshalAnnotatedListeners();for(var i=[],n=this.root.firstChild;n;n=n.nextSibling)i.push(n),n._templateInstance=this;this._children=i,t.__hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImpl:function(e,t,i){var n=this,r=this._rootDataHost,o=r._createEventHandler(e,t,i);r._listen(e,t,function(e){e.model=n,o(e)})},_scopeElementClassImpl:function(e,t){var i=this._rootDataHost;return i?i._scopeElementClass(e,t):t},stamp:function(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var i in this._parentProps)void 0===e[i]&&(e[i]=t[this._parentPropPrefix+i])}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.parentNode}},Polymer({is:"dom-template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.Collection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.store=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},i=this.store,n=0;n<i.length;n++){var r=i[n];r&&"object"==typeof r?e.set(r,n):t[r]=n}},add:function(e){var t=this.store.push(e)-1;return e&&"object"==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 this.pmap[e]},remove:function(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var t;if(void 0!=(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e]))return"#"+t},getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e})},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t){if(e=this._parseKey(e)){var i=this.store[e];i&&this._removeFromMap(i),t&&"object"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:function(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],t=this.store;for(var i in t)e.push(t[i]);return e},_applySplices:function(e){for(var t,i,n={},r=0;r<e.length&&(i=e[r]);r++){i.addedKeys=[];for(var o=0;o<i.removed.length;o++)n[t=this.getKey(i.removed[o])]=n[t]?null:-1;for(o=0;o<i.addedCount;o++){var s=this.userArray[i.index+o];n[t=void 0===(t=this.getKey(s))?this.add(s):t]=n[t]?null:1,i.addedKeys.push(t)}}var a=[],l=[];for(t in n)n[t]<0&&(this.removeKey(t),a.push(t)),n[t]>0&&l.push(t);return[{removed:a,added:l}]}},Polymer.Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Collection(e)},Polymer.Collection.applySplices=function(e,t){var i=Polymer._collections.get(e);return i?i._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:Function,observer:"_sortChanged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,observer:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,readOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFrameTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChanged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=Infinity;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:function(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detachInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for(var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t++)this._attachInstance(t,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._getRootDataHost();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._filterFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:function(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&(this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChunkTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<this.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChunk:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._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._needFullRefresh=!0,this._initializeChunking(),this._debounceTemplate(this._render);else if("items.splices"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._indexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplate(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,i=0;i<t.length;i++)if(0===e.indexOf(t[i]))return this._needFullRefresh=!0,void(this.delay?this.debounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFullRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh():this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._indexSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--){var i=this._instances[t];i.isPlaceholder&&t<this._limit?i=this._insertInstance(t,i.__key__):!i.isPlaceholder&&t>=this._limit&&(i=this._downgradeInstance(t,i.__key__)),e[i.__key__]=t,i.isPlaceholder||i.__setProperty(this.indexAs,t,!0)}this._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("dom-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.collection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var i=this.items;if(i)for(var n=0;n<i.length;n++)e.push(t.getKey(i[n]))}var r=this;for(this._filterFn&&(e=e.filter(function(e){return r._filterFn(t.getItem(e))})),this._sortFn&&e.sort(function(e,i){return r._sortFn(t.getItem(e),t.getItem(i))}),n=0;n<e.length;n++){var o=e[n],s=this._instances[n];s?(s.__key__=o,!s.isPlaceholder&&n<this._limit&&s.__setProperty(this.as,t.getItem(o),!0)):n<this._limit?this._insertInstance(n,o):this._insertPlaceholder(n,o)}for(var a=this._instances.length-1;a>=n;a--)this._detachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUserSort:function(e){for(var t,i,n=this.collection,r={},o=0;o<e.length&&(i=e[o]);o++){for(var s=0;s<i.removed.length;s++)r[t=i.removed[s]]=r[t]?null:-1;for(s=0;s<i.added.length;s++)r[t=i.added[s]]=r[t]?null:1}var a=[],l=[];for(t in r)-1===r[t]&&a.push(this._keyToInstIdx[t]),1===r[t]&&l.push(t);if(a.length)for(a.sort(this._numericSort),o=a.length-1;o>=0;o--){var h=a[o];void 0!==h&&this._detachAndRemoveInstance(h)}var c=this;if(l.length){this._filterFn&&(l=l.filter(function(e){return c._filterFn(n.getItem(e))})),l.sort(function(e,t){return c._sortFn(n.getItem(e),n.getItem(t))});var u=0;for(o=0;o<l.length;o++)u=this._insertRowUserSort(u,l[o])}},_insertRowUserSort:function(e,t){for(var i=this.collection,n=i.getItem(t),r=this._instances.length-1,o=-1;e<=r;){var s=e+r>>1,a=this._instances[s].__key__,l=this._sortFn(i.getItem(a),n);if(l<0)e=s+1;else{if(!(l>0)){o=s;break}r=s-1}}return o<0&&(o=r+1),this._insertPlaceholder(o,t),o},_applySplicesArrayOrder:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++){for(var n=0;n<t.removed.length;n++)this._detachAndRemoveInstance(t.index);for(n=0;n<t.addedKeys.length;n++)this._insertPlaceholder(t.index+n,t.addedKeys[n])}},_detachInstance:function(e){var t=this._instances[e];if(!t.isPlaceholder){for(var i=0;i<t._children.length;i++){var n=t._children[i];Polymer.dom(t.root).appendChild(n)}return t}},_attachInstance:function(e,t){var i=this._instances[e];i.isPlaceholder||t.insertBefore(i.root,this)},_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:function(e,t){var i={__key__:t};return i[this.as]=this.collection.getItem(t),i[this.indexAs]=e,this.stamp(i)},_insertInstance:function(e,t){var i=this._pool.pop();i?(i.__setProperty(this.as,this.collection.getItem(t),!0),i.__setProperty("__key__",t,!0)):i=this._stampInstance(e,t);var n=this._instances[e+1],r=n&&!n.isPlaceholder?n._children[0]:this,o=Polymer.dom(this).parentNode;return Polymer.dom(o).insertBefore(i.root,r),this._instances[e]=i,i},_downgradeInstance:function(e,t){var i=this._detachInstance(e);return i&&this._pool.push(i),i={isPlaceholder:!0,__key__:t},this._instances[e]=i,i},_showHideChildren:function(e){for(var t=0;t<this._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstanceProp:function(e,t,i){var n;t==this.as&&(n=this._sortFn||this._filterFn?this.items.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items."+n,i))},_forwardInstancePath:function(e,t,i){0===t.indexOf(this.as+".")&&this._notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),i)},_forwardParentProp:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i._notifyPath(e,t,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var i=e.indexOf("."),n=e.substring(0,i<0?e.length:i),r=this._keyToInstIdx[n],o=this._instances[r];o&&!o.isPlaceholder&&(i>=0?(e=this.as+"."+e.substring(i+1),o._notifyPath(e,t,!0)):o.__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-selector",_template:null,properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,value:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function(){if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unlinkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("selectedItem");this.multi?this.selected&&!this.selected.length||(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.selected==e},deselect:function(e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.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.get(this.items).getKey(e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.push("selected",e);var i=this._selectedColl.getKey(e);this.linkPaths("selected."+i,"items."+t)}else this.toggle&&e==this.selected?this.deselect():(this.selected=e,this.selectedItem=e,this.linkPaths("selected","items."+t),this.linkPaths("selectedItem","items."+t))}}),Polymer({is:"dom-if",extends:"template",_template:null,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:Boolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render)},detached:function(){this.parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Settings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance()},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},render:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||this.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restamp&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildren(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensureInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom(e);if(this._instance){var i=this._instance._children;if(i&&i.length&&Polymer.dom(this).previousSibling!==i[i.length-1])for(var n,r=0;r<i.length&&(n=i[r]);r++)t.insertBefore(n,this)}else{this._instance=this.stamp();var o=this._instance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._instance){var e=this._instance._children;if(e&&e.length)for(var t,i=Polymer.dom(Polymer.dom(e[0]).parentNode),n=0;n<e.length&&(t=e[n]);n++)i.removeChild(t);this._instance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__||!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentProp:function(e,t){this._instance&&(this._instance[e]=t)},_forwardParentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Polymer({is:"dom-bind",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._readied||this._readySelf()},_markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registerFeatures:function(){this._prepConstructor()},_insertChildren:function(){Polymer.dom(Polymer.dom(this).parentNode).insertBefore(this.root,this)},_removeChildren:function(){if(this._children)for(var e=0;e<this._children.length;e++)this.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElementClass:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t},_prepConfigure:function(){var e={};for(var t in this._propertyEffects)e[t]=this[t];var i=this._setupConfigure;this._setupConfigure=function(){i.call(this,e)}},attached:function(){this._importsReady&&this.render()},detached:function(){this._removeChildren()},render:function(){this._ensureReady(),this._children||(this._template=this,this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindings(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.fire("dom-change")}}),function(){var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged"},value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hidden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":case"value":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyChanged:function(e,t){this._resetRegistration(t)},_valueChanged:function(e){this._resetRegistration(this.key)},_selfChanged:function(e){e&&(this.value=this)},_typeChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={}),this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.key,this.value)},byKey:function(e){return this._metaData&&this._metaData[e]},_resetRegistration:function(e){this._unregisterKey(e),this._registerKeyValue(this.key,this.value)},_unregisterKey:function(e){this._unregister(e,this._metaData,this.list)},_registerKeyValue:function(e,t){this._register(e,t,this._metaData,this.list)},_register:function(e,t,i,n){e&&i&&void 0!==t&&(i[e]=t,n.push(t))},_unregister:function(e,t,i){if(e&&t&&e in t){var n=t[e];delete t[e],this.arrayDelete(i,n)}}}),Polymer.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.IronMeta),i},Polymer.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}},factoryImpl: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:function(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]}})}(),Polymer({is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Polymer.dom(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.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))}}),Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!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.removeIcon(e);var i=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(i){var n=Polymer.dom(e);return n.insertBefore(i,n.childNodes[0]),e._svgIcon=i}return null},removeIcon:function(e){(e=e.root||e)._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,i){if(e){var n=e.cloneNode(!0),r=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=n.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return i&&n.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),r.setAttribute("viewBox",o),r.setAttribute("preserveAspectRatio","xMidYMid meet"),r.style.cssText=s,r.appendChild(n).removeAttribute("id"),r}return null}}),function(){"use strict";var e={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},t={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:"*"},i={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},n=/[a-z0-9*]/,r=/U\+/,o=/^arrow/,s=/^space(bar)?/,a=/^escape$/;function l(e,t){var i="";if(e){var r=e.toLowerCase();" "===r||s.test(r)?i="space":a.test(r)?i="esc":1==r.length?t&&!n.test(r)||(i=r):i=o.test(r)?r.replace("arrow",""):"multiply"==r?"*":r}return i}function h(i,n){return o=n,s=i.hasModifiers,(o.key?l(o.key,s):o.detail&&o.detail.key?l(o.detail.key,s):(h="",(a=o.keyIdentifier)&&(a in e?h=e[a]:r.test(a)?(a=parseInt(a.replace("U+","0x"),16),h=String.fromCharCode(a).toLowerCase()):h=a.toLowerCase()),h||function(e){var i="";return Number(e)&&(i=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):t[e]),i}(o.keyCode)||""))===i.key&&(!i.hasModifiers||!!n.shiftKey==!!i.shiftKey&&!!n.ctrlKey==!!i.ctrlKey&&!!n.altKey==!!i.altKey&&!!n.metaKey==!!i.metaKey);var o,s,a,h}function c(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),r=n[0],o=n[1];return r in i?(e[i[r]]=!0,e.hasModifiers=!0):(e.key=r,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var i=c(t),n=0;n<i.length;++n)if(h(i[n],e))return!0;return!1},_collectKeyBindings:function(){var e=this.behaviors.map(function(e){return e.keyBindings});return-1===e.indexOf(this.keyBindings)&&e.push(this.keyBindings),e},_prepKeyBindings:function(){for(var e in this._keyBindings={},this._collectKeyBindings().forEach(function(e){for(var t in e)this._addKeyBinding(t,e[t])},this),this._imperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings)this._keyBindings[t].sort(function(e,t){var i=e[0].hasModifiers;return i===t[0].hasModifiers?0:i?-1:1})},_addKeyBinding:function(e,t){c(e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.event]||[],this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:function(){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEventListeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forEach(function(e){var t=this._keyBindings[e],i=this._onKeyBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,i]),this.keyEventTarget.addEventListener(e,i)},this)},_unlistenKeyEventListeners:function(){for(var e,t,i,n;this._boundKeyHandlers.length;)t=(e=this._boundKeyHandlers.pop())[0],i=e[1],n=e[2],t.removeEventListener(i,n)},_onKeyBindingEvent:function(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var i=0;i<e.length;i++){var n=e[i][0],r=e[i][1];if(h(n,t)&&(this._triggerKeyHandler(n,r,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,i){var n=Object.create(e);n.keyboardEvent=i;var r=new CustomEvent(e.event,{detail:n,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&i.preventDefault()}}}(),Polymer.IronControlState={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){if(e.target===this)this._setFocused("focus"===e.type);else 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.cancelable})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabIndex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}},Polymer.IronButtonStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_detectKeyboardFocus(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!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))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer.IronButtonStateImpl],function(){var e={distance:function(e,t,i,n){var r=e-i,o=t-n;return Math.sqrt(r*r+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function t(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function i(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=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.resetInteractionState()}t.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),r=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),s=e.distance(t,i,this.width,this.height);return Math.max(n,r,o,s)}},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},get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),i.MAX_RADIUS)+5,r=1.1-n/i.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/r,s=n*(1-Math.pow(80,-o));return Math.abs(s)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&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.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.element)},draw:function(){var e,t,i;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,i=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+i+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+i+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){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:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e<this.ripples.length;++e)if(!this.ripples[e].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(function(){this.upAction()},1)},uiDownAction:function(e){this.noink||this.downAction(e)},downAction:function(e){this.holdDown&&this.ripples.length>0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new i(this);return Polymer.dom(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e<this.ripples.length;++e)(t=this.ripples[e]).draw(),this.$.background.style.opacity=t.outerOpacity,t.isOpacityFullyDecayed&&!t.isRestingAtMaxRadius&&this.removeRipple(t);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(e,t){void 0!==t&&(e?this.downAction():this.upAction())}})}(),Polymer.PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Polymer.dom(t).appendChild(this._ripple),e){var i=Polymer.dom(this._rippleContainer||this),n=Polymer.dom(e).rootTarget;i.deepContains(n)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return 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)}},Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBehaviorImpl],Polymer({is:"paper-button",behaviors:[Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._setElevation(0)}}),Polymer({is:"iron-media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",this.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}}),Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.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?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}},Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue: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.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.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:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var n=i.indexOf(t);if(n>=0){var r=this._indexToValue(n);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&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 null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var i=0;i<t.length;i++)this._selection.setItemSelected(t[i],!0);this.fallbackSelection&&this.items.length&&!this._selection.get().length&&this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?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.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl],Polymer({is:"iron-selector",behaviors:[Polymer.IronMultiSelectableBehavior]}),Polymer.IronResizableBehavior={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():Polymer.Settings.useShadow||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=e.path?e.path[0]:e.target;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)}},function(){"use strict";var e=null;Polymer({is:"paper-drawer-panel",behaviors:[Polymer.IronResizableBehavior],properties:{defaultSelected:{type:String,value:"main"},disableEdgeSwipe:{type:Boolean,value:!1},disableSwipe:{type:Boolean,value:!1},dragging:{type:Boolean,value:!1,readOnly:!0,notify:!0},drawerWidth:{type:String,value:"256px"},edgeSwipeSensitivity:{type:Number,value:30},forceNarrow:{type:Boolean,value:!1},hasTransform:{type:Boolean,value:function(){return"transform"in this.style}},hasWillChange:{type:Boolean,value:function(){return"willChange"in this.style}},narrow:{reflectToAttribute:!0,type:Boolean,value:!1,readOnly:!0,notify:!0},peeking:{type:Boolean,value:!1,readOnly:!0,notify:!0},responsiveWidth:{type:String,value:"768px"},rightDrawer:{type:Boolean,value:!1},selected:{reflectToAttribute:!0,notify:!0,type:String,value:null},drawerToggleAttribute:{type:String,value:"paper-drawer-toggle"},drawerFocusSelector:{type:String,value:'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"])'},_transition:{type:Boolean,value:!1}},listeners:{tap:"_onTap",track:"_onTrack",down:"_downHandler",up:"_upHandler",transitionend:"_onTransitionEnd"},observers:["_forceNarrowChanged(forceNarrow, defaultSelected)","_toggleFocusListener(selected)"],ready:function(){this._transition=!0,this._boundFocusListener=this._didFocus.bind(this)},togglePanel:function(){this._isMainSelected()?this.openDrawer():this.closeDrawer()},openDrawer:function(){requestAnimationFrame(function(){this.toggleClass("transition-drawer",!0,this.$.drawer),this.selected="drawer"}.bind(this))},closeDrawer:function(){requestAnimationFrame(function(){this.toggleClass("transition-drawer",!0,this.$.drawer),this.selected="main"}.bind(this))},_onTransitionEnd:function(e){if(Polymer.dom(e).localTarget===this&&("left"!==e.propertyName&&"right"!==e.propertyName||this.notifyResize(),"transform"===e.propertyName&&(requestAnimationFrame(function(){this.toggleClass("transition-drawer",!1,this.$.drawer)}.bind(this)),"drawer"===this.selected))){var t=this._getAutoFocusedNode();t&&t.focus()}},_computeIronSelectorClass:function(e,t,i,n,r){return function(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&e[i]&&t.push(i);return t.join(" ")}({dragging:i,"narrow-layout":e,"right-drawer":n,"left-drawer":!n,transition:t,peeking:r})},_computeDrawerStyle:function(e){return"width:"+e+";"},_computeMainStyle:function(e,t,i){var n="";return n+="left:"+(e||t?"0":i)+";",t&&(n+="right:"+(e?"":i)+";"),n},_computeMediaQuery:function(e,t){return e?"":"(max-width: "+t+")"},_computeSwipeOverlayHidden:function(e,t){return!e||t},_onTrack:function(t){if(!e||this===e)switch(t.detail.state){case"start":this._trackStart(t);break;case"track":this._trackX(t);break;case"end":this._trackEnd(t)}},_responsiveChange:function(e){this._setNarrow(e),this.selected=this.narrow?this.defaultSelected:null,this.setScrollDirection(this._swipeAllowed()?"y":"all"),this.fire("paper-responsive-change",{narrow:this.narrow})},_onQueryMatchesChanged:function(e){this._responsiveChange(e.detail.value)},_forceNarrowChanged:function(){this._responsiveChange(this.forceNarrow||this.$.mq.queryMatches)},_swipeAllowed:function(){return this.narrow&&!this.disableSwipe},_isMainSelected:function(){return"main"===this.selected},_startEdgePeek:function(){this.width=this.$.drawer.offsetWidth,this._moveDrawer(this._translateXForDeltaX(this.rightDrawer?-this.edgeSwipeSensitivity:this.edgeSwipeSensitivity)),this._setPeeking(!0)},_stopEdgePeek:function(){this.peeking&&(this._setPeeking(!1),this._moveDrawer(null))},_downHandler:function(t){!this.dragging&&this._isMainSelected()&&this._isEdgeTouch(t)&&!e&&(this._startEdgePeek(),t.preventDefault(),e=this)},_upHandler:function(){this._stopEdgePeek(),e=null},_onTap:function(e){var t=Polymer.dom(e).localTarget;t&&this.drawerToggleAttribute&&t.hasAttribute(this.drawerToggleAttribute)&&this.togglePanel()},_isEdgeTouch:function(e){var t=e.detail.x;return!this.disableEdgeSwipe&&this._swipeAllowed()&&(this.rightDrawer?t>=this.offsetWidth-this.edgeSwipeSensitivity:t<=this.edgeSwipeSensitivity)},_trackStart:function(t){this._swipeAllowed()&&(e=this,this._setDragging(!0),this._isMainSelected()&&this._setDragging(this.peeking||this._isEdgeTouch(t)),this.dragging&&(this.width=this.$.drawer.offsetWidth,this._transition=!1))},_translateXForDeltaX:function(e){var t=this._isMainSelected();return this.rightDrawer?Math.max(0,t?this.width+e:e):Math.min(0,t?e-this.width:e)},_trackX:function(e){if(this.dragging){var t=e.detail.dx;if(this.peeking){if(Math.abs(t)<=this.edgeSwipeSensitivity)return;this._setPeeking(!1)}this._moveDrawer(this._translateXForDeltaX(t))}},_trackEnd:function(t){if(this.dragging){var i=t.detail.dx>0;this._setDragging(!1),this._transition=!0,e=null,this._moveDrawer(null),this.rightDrawer?this[i?"closeDrawer":"openDrawer"]():this[i?"openDrawer":"closeDrawer"]()}},_transformForTranslateX:function(e){return null===e?"":this.hasWillChange?"translateX("+e+"px)":"translate3d("+e+"px, 0, 0)"},_moveDrawer:function(e){this.transform(this._transformForTranslateX(e),this.$.drawer)},_getDrawerContent:function(){return Polymer.dom(this.$.drawerContent).getDistributedNodes()[0]},_getAutoFocusedNode:function(){var e=this._getDrawerContent();return this.drawerFocusSelector?Polymer.dom(e).querySelector(this.drawerFocusSelector)||e:null},_toggleFocusListener:function(e){"drawer"===e?this.addEventListener("focus",this._boundFocusListener,!0):this.removeEventListener("focus",this._boundFocusListener,!0)},_didFocus:function(e){var t=this._getAutoFocusedNode();if(t){var i=Polymer.dom(e).path,n=(i[0],this._getDrawerContent());-1!==i.indexOf(n)||(e.stopPropagation(),t.focus())}},_isDrawerClosed:function(e,t){return!e||"drawer"!==t}})}(),function(){"use strict";var e={outerScroll:{scroll:!0},shadowMode:{standard:2,waterfall:1,"waterfall-tall":1},tallMode:{"waterfall-tall":!0}};Polymer({is:"paper-header-panel",properties:{mode:{type:String,value:"standard",observer:"_modeChanged",reflectToAttribute:!0},shadow:{type:Boolean,value:!1},tallClass:{type:String,value:"tall"},atTop:{type:Boolean,value:!0,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_computeDropShadowHidden(atTop, mode, shadow)"],ready:function(){this.scrollHandler=this._scroll.bind(this)},attached:function(){this._addListener(),this._keepScrollingState()},detached:function(){this._removeListener()},get header(){return Polymer.dom(this.$.headerContent).getDistributedNodes()[0]},get scroller(){return this._getScrollerForMode(this.mode)},get visibleShadow(){return this.$.dropShadow.classList.contains("has-shadow")},_computeDropShadowHidden:function(t,i,n){var r=e.shadowMode[i];this.shadow?this.toggleClass("has-shadow",!0,this.$.dropShadow):2===r?this.toggleClass("has-shadow",!0,this.$.dropShadow):1!==r||t?this.toggleClass("has-shadow",!1,this.$.dropShadow):this.toggleClass("has-shadow",!0,this.$.dropShadow)},_computeMainContainerClass:function(e){var t={};return t.flex="cover"!==e,Object.keys(t).filter(function(e){return t[e]}).join(" ")},_addListener:function(){this.scroller.addEventListener("scroll",this.scrollHandler,!1)},_removeListener:function(){this.scroller.removeEventListener("scroll",this.scrollHandler)},_modeChanged:function(t,i){var n=e,r=this.header;r&&(n.tallMode[i]&&!n.tallMode[t]?(r.classList.remove(this.tallClass),this.async(function(){r.classList.remove("animate")},200)):this.toggleClass("animate",n.tallMode[t],r)),this._keepScrollingState()},_keepScrollingState:function(){var t=this.scroller,i=this.header;this._setAtTop(0===t.scrollTop),i&&this.tallClass&&e.tallMode[this.mode]&&this.toggleClass(this.tallClass,this.atTop||i.classList.contains(this.tallClass)&&t.scrollHeight<this.offsetHeight,i)},_scroll:function(){this._keepScrollingState(),this.fire("content-scroll",{target:this.scroller},{bubbles:!1})},_getScrollerForMode:function(t){return e.outerScroll[t]?this:this.$.mainContainer}})}(),Polymer.PaperInkyFocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl],Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0"},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var i=this.getAttribute("aria-label");i&&t!=i||this.setAttribute("aria-label",e)}}),Polymer.IronFormElementBehavior={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})}},function(){"use strict";Polymer.IronA11yAnnouncer=Polymer({is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Polymer.IronA11yAnnouncer.instance||(Polymer.IronA11yAnnouncer.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}}),Polymer.IronA11yAnnouncer.instance=null,Polymer.IronA11yAnnouncer.requestAvailability=function(){Polymer.IronA11yAnnouncer.instance||(Polymer.IronA11yAnnouncer.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Polymer.IronA11yAnnouncer.instance)}}(),Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_validator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},hasValidator:function(){return null!=this._validator},validate:function(e){return this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)},__computeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehaviorMeta.byKey(this.validator)}},Polymer({is:"iron-input",extends:"input",behaviors:[Polymer.IronValidatableBehavior],properties:{bindValue:{observer:"_bindValueChanged",type:String},preventInvalidInput:{type:Boolean},allowedPattern:{type:String,observer:"_allowedPatternChanged"},_previousValidInput:{type:String,value:""},_patternAlreadyChecked:{type:Boolean,value:!1}},listeners:{input:"_onInput",keypress:"_onKeypress"},registered:function(){this._canDispatchEventOnDisabled()||(this._origDispatchEvent=this.dispatchEvent,this.dispatchEvent=this._dispatchEventFirefoxIE)},created:function(){Polymer.IronA11yAnnouncer.requestAvailability()},_canDispatchEventOnDisabled:function(){var e=document.createElement("input"),t=!1;e.disabled=!0,e.addEventListener("feature-check-dispatch-event",function(){t=!0});try{e.dispatchEvent(new Event("feature-check-dispatch-event"))}catch(e){}return t},_dispatchEventFirefoxIE:function(){var e=this.disabled;this.disabled=!1,this._origDispatchEvent.apply(this,arguments),this.disabled=e},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.type){case"number":e=/[0-9.,e-]/}return e},ready:function(){this.bindValue=this.value},_bindValueChanged:function(){this.value!==this.bindValue&&(this.value=this.bindValue||0===this.bindValue||!1===this.bindValue?this.bindValue:""),this.fire("bind-value-changed",{value:this.bindValue})},_allowedPatternChanged:function(){this.preventInvalidInput=!!this.allowedPattern},_onInput:function(){this.preventInvalidInput&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.value=this._previousValidInput)),this.bindValue=this.value,this._previousValidInput=this.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,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||"number"===this.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){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.checkValidity();return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Polymer.IronValidatableBehavior.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_announceInvalidCharacter:function(e){this.fire("iron-announce",{text:e})}}),Polymer.PaperInputHelper={},Polymer.PaperInputHelper.NextLabelID=1,Polymer.PaperInputHelper.NextAddonID=1,Polymer.PaperInputBehaviorImpl={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},preventInvalidInput:{type:Boolean},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$.input},get _focusableElement(){return this.inputElement},registered:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e?e+" "+t:t},_onAddonAttached:function(e){var t=e.path?e.path[0]:e.target;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var i="paper-input-add-on-"+Polymer.PaperInputHelper.NextAddonID++;t.id=i,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,i)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){Polymer.IronControlState._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("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.selectionStart=t,this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Polymer.dom(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+Polymer.PaperInputHelper.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},Polymer.PaperInputBehavior=[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.PaperInputBehaviorImpl],Polymer.PaperInputAddonBehavior={hostAttributes:{"add-on":""},attached:function(){this.fire("addon-attached")},update:function(e){}},Polymer({is:"paper-input-char-counter",behaviors:[Polymer.PaperInputAddonBehavior],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}}),Polymer({is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return Polymer.CaseMap.dashToCamelCase(this.attrForValue)},get _inputElement(){return Polymer.dom(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[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.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,i=0;t=this._addons[i];i++)t.update(e)},_computeInputContentClass:function(e,t,i,n,r){var o="input-content";if(e)r&&(o+=" label-is-hidden");else{var s=this.querySelector("label");t||r?(o+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",n?o+=" is-invalid":i&&(o+=" label-is-highlighted")):s&&(this.$.labelAndInputContainer.style.position="relative")}return o},_computeUnderlineClass:function(e,t){var i="underline";return t?i+=" is-invalid":e&&(i+=" is-highlighted"),i},_computeAddOnContentClass:function(e,t){var i="add-on-content";return t?i+=" is-invalid":e&&(i+=" is-highlighted"),i}}),Polymer({is:"paper-input-error",behaviors:[Polymer.PaperInputAddonBehavior],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}}),Polymer({is:"paper-input",behaviors:[Polymer.IronFormElementBehavior,Polymer.PaperInputBehavior]}),Polymer.PaperItemBehaviorImpl={hostAttributes:{role:"option",tabindex:"0"}},Polymer.PaperItemBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperItemBehaviorImpl],Polymer({is:"paper-item",behaviors:[Polymer.PaperItemBehavior]}),Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Polymer.dom(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);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:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),i=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,r={width:e.width+n.left+n.right,height:e.height+n.top+n.bottom},o=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,t,i),s=o.left+n.left,a=o.top+n.top,l=Math.min(i.right-n.right,s+e.width),h=Math.min(i.bottom-n.bottom,a+e.height);s=Math.max(i.left+n.left,Math.min(s,l-this._fitInfo.sizedBy.minWidth)),a=Math.max(i.top+n.top,Math.min(a,h-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(h-a,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-e.left+"px",this.style.top=a-e.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,i,n,r){this.__sizeDimension(e,t,i,n,r)},__sizeDimension:function(e,t,i,n,r){var o=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),a="Width"===r?s.width:s.height,l=t===n,h=l?a-e[n]:e[i],c=o.margin[l?i:n],u="offset"+r,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+r]=a-c-h-d+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var n=i.top-t.top+(i.height-t.height)/2;this.style.top=n+"px"}if(!e.horizontally){var r=i.left-t.left+(i.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getCroppedArea:function(e,t,i){var n=Math.min(0,e.top)+Math.min(0,i.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,i.right-(e.left+t.width));return Math.abs(n)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,i,n,r){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-i.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-i.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-i.height-this.verticalOffset,left:n.right-i.width-this.horizontalOffset}];if(this.noOverlap){for(var a=0,l=s.length;a<l;a++){var h={};for(var c in s[a])h[c]=s[a][c];s.push(h)}s[0].top=s[1].top+=n.height,s[2].top=s[3].top-=n.height,s[4].left=s[6].left+=n.width,s[5].left=s[7].left-=n.width}for(t="auto"===t?null:t,e="auto"===e?null:e,a=0;a<s.length;a++){var u=s[a];if(!this.dynamicAlign&&!this.noOverlap&&u.verticalAlign===t&&u.horizontalAlign===e){o=u;break}var d=!(t&&u.verticalAlign!==t||e&&u.horizontalAlign!==e);if(this.dynamicAlign||d){o=o||u,u.croppedArea=this.__getCroppedArea(u,i,r);var f=u.croppedArea-o.croppedArea;if((f<0||0===f&&d)&&(o=u),0===o.croppedArea&&d)break}}return o}},function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}(),Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var i=this._overlays.length-1,n=this._overlays[i];if(n&&this._shouldBeBehindOverlay(t,n)&&i--,!(e>=i)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e<i;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[i]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var i=this._overlays.length,n=this._overlays[i-1],r=Math.max(this._getZ(n),this._minimumZ),o=this._getZ(e);if(n&&this._shouldBeBehindOverlay(e,n)){this._applyOverlayZ(n,r),i--;var s=this._overlays[i-1];r=Math.max(this._getZ(s),this._minimumZ)}o<=r&&this._applyOverlayZ(e,r),this._overlays.splice(i,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(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._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-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 i=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);i==i&&(t=i)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ: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:function(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.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass,function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable: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){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var i,n=e,r=this._normalizedTabIndex(n),o=r>0;r>=0&&t.push(n),i="content"===n.localName?Polymer.dom(n).getDistributedNodes():Polymer.dom(n.root||n).children;for(var s=0;s<i.length;s++){var a=this._collectTabbableNodes(i[s],t);o=o||a}return o},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&"hidden"!==(t=window.getComputedStyle(e)).visibility&&"none"!==t.display},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var i=Math.ceil(t/2),n=this._sortByTabIndex(e.slice(0,i)),r=this._sortByTabIndex(e.slice(i));return this._mergeSortByTabIndex(n,r)},_mergeSortByTabIndex:function(e,t){for(var i=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)},_hasLowerTabOrder:function(e,t){var i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}}}(),function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).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.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",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="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),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;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode,r=!1;if(i===n)r=!0;else{var o=this._manager.deepActiveElement;r=o===i||o===this}r&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}(),Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var i in t)e[i]=t[i]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,i){var n;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(n=e?this.animationConfig[e]:this.animationConfig,Array.isArray(n)||(n=[n]),n)for(var r,o=0;r=n[o];o++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,i);else if(r.id){var s=t[r.id];s?(s.isClone||(t[r.id]=this._cloneConfig(s),s=t[r.id]),this._copyProperties(s,r)):t[r.id]=r}else i.push(r)},getAnimationConfig:function(e){var t={},i=[];for(var n in this._getAnimationConfigRecursive(e,t,i),t)i.push(t[n]);return i}},Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(e){var t=[];if(e.length>0)for(var i,n=0;i=e[n];n++){var r=document.createElement(i.name);if(r.isNeonAnimation){var o=null;try{"function"!=typeof(o=r.configure(i)).cancel&&(o=document.timeline.play(o))}catch(e){o=null}o&&t.push({neonAnimation:r,config:i,animation:o})}}return t},_shouldComplete:function(e){for(var t=!0,i=0;i<e.length;i++)if("finished"!=e[i].animation.playState){t=!1;break}return t},_complete:function(e){for(var t=0;t<e.length;t++)e[t].neonAnimation.complete(e[t].config);for(t=0;t<e.length;t++)e[t].animation.cancel()},playAnimation:function(e,t){var i=this.getAnimationConfig(e);if(i){this._active=this._active||{},this._active[e]&&(this._complete(this._active[e]),delete this._active[e]);var n=this._configureAnimations(i);if(0!=n.length){this._active[e]=n;for(var r=0;r<n.length;r++)n[r].animation.onfinish=function(){this._shouldComplete(n)&&(this._complete(n),delete this._active[e],this.fire("neon-animation-finish",t,{bubbles:!1}))}.bind(this)}else this.fire("neon-animation-finish",t,{bubbles:!1})}},cancelAnimation:function(){for(var e in this._animations)this._animations[e].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl],Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(e){if(e.timing)for(var t in e.timing)this.animationTiming[t]=e.timing[t];return this.animationTiming},setPrefixedProperty:function(e,t,i){for(var n,r={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]}[t],o=0;n=r[o];o++)e.style[n]=i;e.style[t]=i},complete:function(){}},function(a,b){var c={},d={},e={},f=null;!function(e,t){function i(){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=d}function n(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,n,r){var o=new i;return n&&(o.fill="both",o.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(i){if("auto"!=t[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof t[i]||isNaN(t[i])))return;if("fill"==i&&-1==c.indexOf(t[i]))return;if("direction"==i&&-1==u.indexOf(t[i]))return;if("playbackRate"==i&&1!==t[i]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=t[i]}}):o.duration=t,o}function o(e,t,i,n){return e<0||e>1||i<0||i>1?d:function(r){function o(e,t,i){return 3*e*(1-i)*(1-i)*i+3*t*(1-i)*i*i+i*i*i}if(r<=0){var s=0;return e>0?s=t/e:!t&&i>0&&(s=n/i),s*r}if(r>=1){var a=0;return i<1?a=(n-1)/(i-1):1==i&&e<1&&(a=(t-1)/(e-1)),1+a*(r-1)}for(var l=0,h=1;l<h;){var c=(l+h)/2,u=o(e,i,c);if(Math.abs(r-u)<1e-5)return o(t,n,c);u<r?l=c:h=c}return o(t,n,c)}}function s(e,t){return function(i){if(i>=1)return 1;var n=1/e;return(i+=t*n)-i%n}}function a(e){y||(y=document.createElement("div").style),y.animationTimingFunction="",y.animationTimingFunction=e;var t=y.animationTimingFunction;if(""==t&&n())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return o.apply(this,t.slice(1).map(Number));var i=b.exec(e);return i?s(Number(i[1]),{start:f,middle:p,end:_}[i[2]]):m[e]||d}function h(e,t,i){if(null==t)return P;var n=i.delay+e+i.endDelay;return t<Math.min(i.delay,n)?C:t>=Math.min(i.delay+e,n)?S:E}var c="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};i.prototype={_setMember:function(t,i){this["_"+t]=i,this._effect&&(this._effect._timingInput[t]=i,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&n())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(a(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var f=1,p=.5,_=0,m={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,f),"step-middle":s(1,p),"step-end":s(1,_)},y=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),b=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,P=0,C=1,S=2,E=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var i in e)t[i]=e[i];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,i){return r(t=e.numericTimingToObject(t),i)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,i){var n=h(e,t,i),r=function(e,t,i,n,r){switch(n){case C:return"backwards"==t||"both"==t?0:null;case E:return i-r;case S:return"forwards"==t||"both"==t?e:null;case P:return null}}(e,i.fill,t,n,i.delay);if(null===r)return null;var o=function(e,t,i,n,r){var o=r;return 0===e?t!==C&&(o+=i):o+=n/e,o}(i.duration,n,i.iterations,r,i.iterationStart),s=function(e,t,i,n,r,o){var s=e===1/0?t%1:e%1;return 0!==s||i!==S||0===n||0===r&&0!==o||(s=1),s}(o,i.iterationStart,n,i.iterations,r,i.duration),a=function(e,t,i,n){return e===S&&t===1/0?1/0:1===s?Math.floor(n)-1:Math.floor(n)}(n,i.iterations,0,o),l=function(e,t,i){var n=e;if("normal"!==e&&"reverse"!==e){var r=a;"alternate-reverse"===e&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?s:1-s}(i.direction);return i._easingFunction(l)},e.calculatePhase=h,e.normalizeEasing=a,e.parseEasingFunction=l}(c),function(e,t){function i(e,t){return e in l&&l[e][t]||t}function n(e,t,n){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=o[e];if(r)for(var a in s.style[e]=t,r){var l=r[a],h=s.style[l];n[l]=i(l,h)}else n[e]=i(e,t)}}function r(e){var t=[];for(var i in e)if(!(i in["easing","offset","composite"])){var n=e[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;s<o;s++)(r={}).offset="offset"in e?e.offset:1==o?1:s/(o-1),"easing"in e&&(r.easing=e.easing),"composite"in e&&(r.composite=e.composite),r[i]=n[s],t.push(r)}return t.sort(function(e,t){return e.offset-t.offset}),t}var o={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},s=document.createElementNS("http://www.w3.org/1999/xhtml","div"),a={thin:"1px",medium:"3px",thick:"5px"},l={borderBottomWidth:a,borderLeftWidth:a,borderRightWidth:a,borderTopWidth:a,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:a,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};e.convertToArrayForm=r,e.normalizeKeyframes=function(t){if(null==t)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||(t=r(t));for(var i=t.map(function(t){var i={};for(var r in t){var o=t[r];if("offset"==r){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){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"==r?e.normalizeEasing(o):""+o;n(r,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),o=!0,s=-1/0,a=0;a<i.length;a++){var l=i[a].offset;if(null!=l){if(l<s)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");s=l}else o=!1}return i=i.filter(function(e){return e.offset>=0&&e.offset<=1}),o||function(){var e=i.length;null==i[e-1].offset&&(i[e-1].offset=1),e>1&&null==i[0].offset&&(i[0].offset=0);for(var t=0,n=i[0].offset,r=1;r<e;r++){var o=i[r].offset;if(null!=o){for(var s=1;s<r-t;s++)i[t+s].offset=n+(o-n)*s/(r-t);t=r,n=o}}}(),i}}(c),function(e){var t={};e.isDeprecated=function(e,i,n,r){var o=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(o<s&&(t[e]=!0,1))},e.deprecated=function(t,i,n,r){var o=r?"are":"is";if(e.isDeprecated(t,i,n,r))throw new Error(t+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(e){void 0===a[e]&&(b=!0)})),!b)return}!function(e,t,i){t.convertEffectInput=function(i){var n=function(e){for(var t={},i=0;i<e.length;i++)for(var n in e[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:e[i].offset,easing:e[i].easing,value:e[i][n]};t[n]=t[n]||[],t[n].push(r)}for(var o in t){var s=t[o];if(0!=s[0].offset||1!=s[s.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return t}(e.normalizeKeyframes(i)),r=function(i){var n=[];for(var r in i)for(var o=i[r],s=0;s<o.length-1;s++){var a=s,l=s+1,h=o[a].offset,c=o[l].offset,u=h,d=c;0==s&&(u=-1/0,0==c&&(l=a)),s==o.length-2&&(d=1/0,1==h&&(a=l)),n.push({applyFrom:u,applyTo:d,startOffset:o[a].offset,endOffset:o[l].offset,easingFunction:e.parseEasingFunction(o[a].easing),property:r,interpolation:t.propertyInterpolation(r,o[a].value,o[l].value)})}return n.sort(function(e,t){return e.startOffset-t.startOffset}),n}(n);return function(e,i){if(null!=i)r.filter(function(e){return i>=e.applyFrom&&i<e.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,s=0==o?0:n.easingFunction(r/o);t.apply(e,n.property,n.interpolation(s))});else for(var o in n)"offset"!=o&&"easing"!=o&&"composite"!=o&&t.clear(e,o)}}}(c,d),function(e,t,i){function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function r(e,t,i){o[i]=o[i]||[],o[i].push([e,t])}var o={};t.addPropertiesHandler=function(e,t,i){for(var o=0;o<i.length;o++)r(e,t,n(i[o]))};var s={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"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:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};t.propertyInterpolation=function(i,r,a){var l=i;/-/.test(i)&&!e.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(l=n(i)),"initial"!=r&&"initial"!=a||("initial"==r&&(r=s[l]),"initial"==a&&(a=s[l]));for(var h=r==a?[]:o[l],c=0;h&&c<h.length;c++){var u=h[c][0](r),d=h[c][0](a);if(void 0!==u&&void 0!==d){var f=h[c][1](u,d);if(f){var p=t.Interpolation.apply(null,f);return function(e){return 0==e?r:1==e?a:p(e)}}}}return t.Interpolation(!1,!0,function(e){return e?a:r})}}(c,d),function(e,t,i){t.KeyframeEffect=function(i,n,r,o){var s,a=function(t){var i=e.calculateActiveDuration(t),n=function(n){return e.calculateIterationProgress(i,n,t)};return n._totalDuration=t.delay+i+t.endDelay,n}(e.normalizeTimingInput(r)),l=t.convertEffectInput(n),h=function(){l(i,s)};return h._update=function(e){return null!==(s=a(e))},h._clear=function(){l(i,null)},h._hasSameTarget=function(e){return i===e},h._target=i,h._totalDuration=a._totalDuration,h._id=o,h},t.NullEffect=function(e){var t=function(){e&&(e(),e=null)};return t._update=function(){return null},t._totalDuration=0,t._hasSameTarget=function(){return!1},t}}(c,d),function(e,t){e.apply=function(t,i,n){t.style[e.propertyName(i)]=n},e.clear=function(t,i){t.style[e.propertyName(i)]=""}}(d),function(e){window.Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(e.KeyframeEffect(this,t,i,n))}}(d),d.Interpolation=function(e,t,i){return function(n){return i(function e(t,i,n){if("number"==typeof t&&"number"==typeof i)return t*(1-n)+i*n;if("boolean"==typeof t&&"boolean"==typeof i)return n<.5?t:i;if(t.length==i.length){for(var r=[],o=0;o<t.length;o++)r.push(e(t[o],i[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+i}(e,t,n))}},function(e,t,i){e.sequenceNumber=0,t.Animation=function(t){this.id="",t&&t._id&&(this.id=t._id),this._sequenceNumber=e.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=t,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},t.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,t.timeline._animations.push(this))},_tickCurrentTime:function(e,t){e!=this._currentTime&&(this._currentTime=e,this._isFinished&&!t&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var i=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel: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),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var i=this._finishHandlers.indexOf(t);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,i){this.target=e,this.currentTime=t,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(c,d),function(e,t,i){function n(e){var t=h;h=[],e<_.currentTime&&(e=_.currentTime),_._animations.sort(r),_._animations=a(e,!0,_._animations)[0],t.forEach(function(t){t[1](e)}),s()}function r(e,t){return e._sequenceNumber-t._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function s(){f.forEach(function(e){e()}),f.length=0}function a(e,i,n){p=!0,d=!1,t.timeline.currentTime=e,u=!1;var r=[],o=[],s=[],a=[];return n.forEach(function(t){t._tick(e,i),t._inEffect?(o.push(t._effect),t._markTarget()):(r.push(t._effect),t._unmarkTarget()),t._needsTick&&(u=!0);var n=t._inEffect||t._needsTick;t._inTimeline=n,n?s.push(t):a.push(t)}),f.push.apply(f,r),f.push.apply(f,o),u&&requestAnimationFrame(function(){}),p=!1,[s,a]}var l=window.requestAnimationFrame,h=[],c=0;window.requestAnimationFrame=function(e){var t=c++;return 0==h.length&&l(n),h.push([t,e]),t},window.cancelAnimationFrame=function(e){h.forEach(function(t){t[0]==e&&(t[1]=function(){})})},o.prototype={_play:function(i){i._timing=e.normalizeTimingInput(i.timing);var n=new t.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),t.restart(),t.applyDirtiedAnimation(n),n}};var u=!1,d=!1;t.restart=function(){return u||(u=!0,requestAnimationFrame(function(){}),d=!0),d},t.applyDirtiedAnimation=function(e){if(!p){e._markTarget();var i=e._targetAnimations();i.sort(r),a(t.timeline.currentTime,!1,i.slice())[1].forEach(function(e){var t=_._animations.indexOf(e);-1!==t&&_._animations.splice(t,1)}),s()}};var f=[],p=!1,_=new o;t.timeline=_}(c,d),function(e){function t(e,t){var i=e.exec(t);if(i)return[i=e.ignoreCase?i[0].toLowerCase():i[0],t.substr(i.length)]}function i(e,t){var i=e(t=t.replace(/^\s*/,""));if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(e,t,i,n,r){for(var o=[],s=[],a=[],l=function(e,t){for(var i=e,n=t;i&&n;)i>n?i%=n:n%=i;return e*t/(i+n)}(n.length,r.length),h=0;h<l;h++){var c=t(n[h%n.length],r[h%r.length]);if(!c)return;o.push(c[0]),s.push(c[1]),a.push(c[2])}return[o,s,function(t){var n=t.map(function(e,t){return a[t](e)}).join(i);return e?e(n):n}]}e.consumeToken=t,e.consumeTrimmed=i,e.consumeRepeated=function(e,n,r){e=i.bind(null,e);for(var o=[];;){var s=e(r);if(!s)return[o,r];if(o.push(s[0]),!(s=t(n,r=s[1]))||""==s[1])return[o,r];r=s[1]}},e.consumeParenthesised=function(e,t){for(var i=0,n=0;n<t.length&&(!/\s|,/.test(t[n])||0!=i);n++)if("("==t[n])i++;else if(")"==t[n]&&(0==--i&&n++,i<=0))break;var r=e(t.substr(0,n));return void 0==r?void 0:[r,t.substr(n)]},e.ignore=function(e){return function(t){var i=e(t);return i&&(i[0]=void 0),i}},e.optional=function(e,t){return function(i){return e(i)||[t,i]}},e.consumeList=function(t,i){for(var n=[],r=0;r<t.length;r++){var o=e.consumeTrimmed(t[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n},e.mergeNestedRepeated=n.bind(null,null),e.mergeWrappedNestedRepeated=n,e.mergeList=function(e,t,i){for(var n=[],r=[],o=[],s=0,a=0;a<i.length;a++)if("function"==typeof i[a]){var l=i[a](e[s],t[s++]);n.push(l[0]),r.push(l[1]),o.push(l[2])}else!function(e){n.push(!1),r.push(!1),o.push(function(){return i[e]})}(a);return[n,r,function(e){for(var t="",i=0;i<e.length;i++)t+=o[i](e[i]);return t}]}}(d),function(e){function t(t){var i={inset:!1,lengths:[],color:null},n=e.consumeRepeated(function(t){var n;return(n=e.consumeToken(/^inset/i,t))?(i.inset=!0,n):(n=e.consumeLengthOrPercent(t))?(i.lengths.push(n[0]),n):(n=e.consumeColor(t))?(i.color=n[0],n):void 0},/^/,t);if(n&&n[0].length)return[i,n[1]]}var i=function(t,i,n,r){function o(e){return{inset:e,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var s=[],a=[],l=0;l<n.length||l<r.length;l++){var h=n[l]||o(r[l].inset),c=r[l]||o(n[l].inset);s.push(h),a.push(c)}return e.mergeNestedRepeated(t,i,s,a)}.bind(null,function(t,i){for(;t.lengths.length<Math.max(t.lengths.length,i.lengths.length);)t.lengths.push({px:0});for(;i.lengths.length<Math.max(t.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(t.inset==i.inset&&!!t.color==!!i.color){for(var n,r=[],o=[[],0],s=[[],0],a=0;a<t.lengths.length;a++){var l=e.mergeDimensions(t.lengths[a],i.lengths[a],2==a);o[0].push(l[0]),s[0].push(l[1]),r.push(l[2])}if(t.color&&i.color){var h=e.mergeColors(t.color,i.color);o[1]=h[0],s[1]=h[1],n=h[2]}return[o,s,function(e){for(var i=t.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](e[0][o])+" ";return n&&(i+=n(e[1])),i}]}},", ");e.addPropertiesHandler(function(i){var n=e.consumeRepeated(t,/^,/,i);if(n&&""==n[1])return n[0]},i,["box-shadow","text-shadow"])}(d),function(e,t){function i(e){return e.toFixed(3).replace(".000","")}function n(e,t,i){return Math.min(t,Math.max(e,i))}function r(e){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e))return Number(e)}function o(e,t){return function(r,o){return[r,o,function(r){return i(n(e,t,r))}]}}e.clamp=n,e.addPropertiesHandler(r,o(0,1/0),["border-image-width","line-height"]),e.addPropertiesHandler(r,o(0,1),["opacity","shape-image-threshold"]),e.addPropertiesHandler(r,function(e,t){if(0!=e)return o(0,1/0)(e,t)},["flex-grow","flex-shrink"]),e.addPropertiesHandler(r,function(e,t){return[e,t,function(e){return Math.round(n(1,1/0,e))}]},["orphans","widows"]),e.addPropertiesHandler(r,function(e,t){return[e,t,Math.round]},["z-index"]),e.parseNumber=r,e.mergeNumbers=function(e,t){return[e,t,i]},e.numberToString=i}(d),d.addPropertiesHandler(String,function(e,t){if("visible"==e||"visible"==t)return[0,1,function(i){return i<=0?e:i>=1?t:"visible"}]},["visibility"]),function(e,t){function i(e){e=e.trim(),o.fillStyle="#000",o.fillStyle=e;var t=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=e,t==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(t,i){return[t,i,function(t){function i(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var n=0;n<3;n++)t[n]=Math.round(i(t[n]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");e.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,i),e.mergeColors=n}(d),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(e){return c[e]=null,"U"+e});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\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(e,t,i){var n,r=[];for(n in e)r.push(n);for(n in t)r.indexOf(n)<0&&r.push(n);return e=r.map(function(t){return e[t]||0}),t=r.map(function(e){return t[e]||0}),[e,t,function(e){var t=e.map(function(t,n){return 1==e.length&&i&&(t=Math.max(t,0)),a.numberToString(t)+r[n]}).join(" + ");return e.length>1?"calc("+t+")":t}]}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.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=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=function(e){var t=l(e);if(t&&""==t[1])return t[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,["border-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-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(e,t){function i(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function n(t){var n=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,i,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(n&&4==n[0].length)return n[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,i){return"auto"==t||"auto"==i?[!0,!1,function(n){var r=n?t:i;if("auto"==r)return"auto";var o=e.mergeDimensions(r,r);return o[2](o[0])}]:e.mergeDimensions(t,i)},", ");e.parseBox=n,e.mergeBoxes=r,e.addPropertiesHandler(n,r,["clip"])}(d),function(e,t){function i(e){return function(t){var i=0;return e.map(function(e){return e===l?t[i++]:e})}}function n(e){return e}function r(e){return e.toFixed(6).replace(".000000","")}function o(t,i){if(t.decompositionPair!==i){t.decompositionPair=i;var n=e.makeMatrixDecomposition(t)}if(i.decompositionPair!==t){i.decompositionPair=t;var o=e.makeMatrixDecomposition(i)}return null==n[0]||null==o[0]?[[!1],[!0],function(e){return e?i[0].d:t[0].d}]:(n[0].push(0),o[0].push(1),[n,o,function(t){var i=e.quat(n[0][3],o[0][3],t[5]);return e.composeMatrix(t[0],t[1],t[2],i,t[4]).map(r).join(",")}])}function s(e){return e.replace(/[xy]/,"")}function a(e){return e.replace(/(x|y|z|3d)?$/,"3d")}var l=null,h={px:0},c={deg:0},u={matrix:["NNNNNN",[l,l,0,0,l,l,0,0,0,0,1,0,l,l,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([l,l,1]),n],scalex:["N",i([l,1,1]),i([l,1])],scaley:["N",i([1,l,1]),i([1,l])],scalez:["N",i([1,1,l])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([l,c])],skewy:["A",null,i([c,l])],translate:["Tt",i([l,l,h]),n],translatex:["T",i([l,h,h]),i([l,h])],translatey:["T",i([h,l,h]),i([h,l])],translatez:["L",i([h,h,l])],translate3d:["TTL",n]};e.addPropertiesHandler(function(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(t);){if(i.index!=o)return;o=i.index+i[0].length;var s=i[1],a=u[s];if(!a)return;var l=i[2].split(","),d=a[0];if(d.length<l.length)return;for(var f=[],p=0;p<d.length;p++){var _,m=l[p],y=d[p];if(void 0===(_=m?{A:function(t){return"0"==t.trim()?c:e.parseAngle(t)},N:e.parseNumber,T:e.parseLengthOrPercent,L:e.parseLength}[y.toUpperCase()](m):{a:c,n:f[0],t:h}[y]))return;f.push(_)}if(r.push({t:s,d:f}),n.lastIndex==t.length)return r}},function(t,i){var n=e.makeMatrixDecomposition&&!0,r=!1;if(!t.length||!i.length){t.length||(r=!0,t=i,i=[]);for(var l=0;l<t.length;l++){var h=t[l].t,c=t[l].d,d="scale"==h.substr(0,5)?1:0;i.push({t:h,d:c.map(function(e){if("number"==typeof e)return d;var t={};for(var i in e)t[i]=d;return t})})}}var f=function(e,t){return"perspective"==e&&"perspective"==t||("matrix"==e||"matrix3d"==e)&&("matrix"==t||"matrix3d"==t)},p=[],_=[],m=[];if(t.length!=i.length){if(!n)return;p=[(S=o(t,i))[0]],_=[S[1]],m=[["matrix",[S[2]]]]}else for(l=0;l<t.length;l++){var y=t[l].t,v=i[l].t,g=t[l].d,b=i[l].d,P=u[y],C=u[v];if(f(y,v)){if(!n)return;var S=o([t[l]],[i[l]]);p.push(S[0]),_.push(S[1]),m.push(["matrix",[S[2]]])}else{if(y==v)h=y;else if(P[2]&&C[2]&&s(y)==s(v))h=s(y),g=P[2](g),b=C[2](b);else{if(!P[1]||!C[1]||a(y)!=a(v)){if(!n)return;p=[(S=o(t,i))[0]],_=[S[1]],m=[["matrix",[S[2]]]];break}h=a(y),g=P[1](g),b=C[1](b)}for(var E=[],A=[],w=[],T=0;T<g.length;T++)S=("number"==typeof g[T]?e.mergeNumbers:e.mergeDimensions)(g[T],b[T]),E[T]=S[0],A[T]=S[1],w.push(S[2]);p.push(E),_.push(A),m.push([h,w])}}if(r){var x=p;p=_,_=x}return[p,_,function(e){return e.map(function(e,t){var i=e.map(function(e,i){return m[t][1][i](e)}).join(",");return"matrix"==m[t][0]&&16==i.split(",").length&&(m[t][0]="matrix3d"),m[t][0]+"("+i+")"}).join(" ")}]},["transform"])}(d),function(e,t){function i(e,t){t.concat([e]).forEach(function(t){t in document.documentElement.style&&(n[e]=t)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),e.propertyName=function(e){return n[e]||e}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){if(window.performance&&performance.now)var e=function(){return performance.now()};else e=function(){return Date.now()};var t=window.Element.prototype.animate;window.Element.prototype.animate=function(i,n){var r=t.call(this,i,n);r._cancelHandlers=[],r.oncancel=null;var o=r.cancel;r.cancel=function(){o.call(this);var t=new function(e,t,i){this.target=e,this.currentTime=null,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,null,e()),i=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0)};var s=r.addEventListener;r.addEventListener=function(e,t){"function"==typeof t&&"cancel"==e?this._cancelHandlers.push(t):s.call(this,e,t)};var a=r.removeEventListener;return r.removeEventListener=function(e,t){if("cancel"==e){var i=this._cancelHandlers.indexOf(t);i>=0&&this._cancelHandlers.splice(i,1)}else a.call(this,e,t)},r}}}(),function(e){var t=document.documentElement,i=null,n=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(i=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,n=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{i&&i.cancel()}if(!n){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(t,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),o.call(this,t,i)}}}(c),function(e,t,i){function n(e){var i=t.timeline;i.currentTime=e,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(i){t.timeline._updateAnimationsPromises(),e(i),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var i=new t.Animation(e,this);return this._animations.push(i),t.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(e){return e&&e.remove(),this._play(e)}};var o=!1;t.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var s=new t.AnimationTimeline;t.timeline=s;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return s}})}catch(e){}try{window.document.timeline=s}catch(e){}}(0,e),function(e,t,i){t.animationsWithPromises=[],t.Animation=function(t,i){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,i,n,r,o=!!this._animation;o&&(e=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),o&&(1!=e&&(this.playbackRate=e),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t<this.effect.children.length;t++)this.effect.children[t]._animation=e,this._childAnimations[t]._setExternalAnimation(e)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var e=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=t.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(e,t){null===this.startTime?e.currentTime=this.currentTime-t/this.playbackRate:e.startTime!==this.startTime+t/this.playbackRate&&(e.startTime=this.startTime+t/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(e,t){this._resolveFinishedPromise=function(){e(this)},this._rejectFinishedPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):null},get ready(){return window.Promise?(this._readyPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._readyPromise=new Promise(function(e,t){this._resolveReadyPromise=function(){e(this)},this._rejectReadyPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):null},get onfinish(){return this._animation.onfinish},set onfinish(e){this._animation.onfinish="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get oncancel(){return this._animation.oncancel},set oncancel(e){this._animation.oncancel="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get currentTime(){this._updatePromises();var e=this._animation.currentTime;return this._updatePromises(),e},set currentTime(e){this._updatePromises(),this._animation.currentTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.currentTime=e-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(e){this._updatePromises(),this._animation.startTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.startTime=e+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(e){this._updatePromises();var t=this.currentTime;this._animation.playbackRate=e,this._forEachChild(function(t){t.playbackRate=e}),null!==t&&(this.currentTime=t),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),t.awaitStartTime(this),this._forEachChild(function(e){var t=e.currentTime;e.play(),e.currentTime=t}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(e){e.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var e=this.currentTime;this._animation.reverse(),this._forEachChild(function(e){e.reverse()}),null!==e&&(this.currentTime=e),this._updatePromises()},addEventListener:function(e,t){var i=t;"function"==typeof t&&(i=function(e){e.target=this,t.call(this,e)}.bind(this),t._wrapper=i),this._animation.addEventListener(e,i)},removeEventListener:function(e,t){this._animation.removeEventListener(e,t&&t._wrapper||t)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(t){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(e){t.call(this,e,i),this.effect instanceof window.SequenceEffect&&(i+=e.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=e.calculateIterationProgress(e.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=t.Animation}(c,e),function(e,t,i){function n(){for(var e=!1;a.length;)a.shift()._updateChildren(),e=!0;return e}var r=function(e){if(e._animation=void 0,e instanceof window.SequenceEffect||e instanceof window.GroupEffect)for(var t=0;t<e.children.length;t++)r(e.children[t])};t.removeMulti=function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n._parent?(-1==t.indexOf(n._parent)&&t.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,r(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),r(n))}for(i=0;i<t.length;i++)t[i]._rebuild()},t.KeyframeEffect=function(t,i,n,r){return this.target=t,this._parent=null,n=e.numericTimingToObject(n),this._timingInput=e.cloneTimingInput(n),this._timing=e.normalizeTimingInput(n),this.timing=e.makeTiming(n,!1,this),this.timing._effect=this,"function"==typeof i?(e.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new function(t){this._frames=e.normalizeKeyframes(t)}(i),this._keyframes=i,this.activeDuration=e.calculateActiveDuration(this._timing),this._id=r,this},t.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(e){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=e,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var t=new KeyframeEffect(this.target,[],e.cloneTimingInput(this._timingInput),this._id);return t._normalizedKeyframes=this._normalizedKeyframes,t._keyframes=this._keyframes,t},remove:function(){t.removeMulti([this])}};var o=Element.prototype.animate;Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(new t.KeyframeEffect(this,e,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");t.newUnderlyingAnimationForKeyframeEffect=function(e){if(e){var t=e.target||s;"function"==typeof(i=e._keyframes)&&(i=[]),(n=e._timingInput).id=e._id}else{t=s;var i=[],n=0}return o.apply(t,[i,n])},t.bindAnimationForKeyframeEffect=function(e){e.effect&&"function"==typeof e.effect._normalizedKeyframes&&t.bindAnimationForCustomEffect(e)};var a=[];t.awaitStartTime=function(e){null===e.startTime&&e._isGroup&&(0==a.length&&requestAnimationFrame(n),a.push(e))};var l=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){t.timeline._updateAnimationsPromises();var e=l.apply(this,arguments);return n()&&(e=l.apply(this,arguments)),t.timeline._updateAnimationsPromises(),e}}),window.KeyframeEffect=t.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(e){return null!==e.effect&&e.effect.target==this}.bind(this))}}(c,e),function(e,t,i){function n(e){e._registered||(e._registered=!0,s.push(e),a||(a=!0,requestAnimationFrame(r)))}function r(e){var t=s;s=[],t.sort(function(e,t){return e._sequenceNumber-t._sequenceNumber}),t=t.filter(function(e){e();var t=e._animation?e._animation.playState:"idle";return"running"!=t&&"pending"!=t&&(e._registered=!1),e._registered}),s.push.apply(s,t),s.length?(a=!0,requestAnimationFrame(r)):a=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);t.bindAnimationForCustomEffect=function(t){var i,r=t.effect.target,s="function"==typeof t.effect.getFrames();i=s?t.effect.getFrames():t.effect._onsample;var a=t.effect.timing,l=null;a=e.normalizeTimingInput(a);var h=function(){var n=h._animation?h._animation.currentTime:null;null!==n&&(n=e.calculateIterationProgress(e.calculateActiveDuration(a),n,a),isNaN(n)&&(n=null)),n!==l&&(s?i(n,r,t.effect):i(n,t.effect,t.effect._animation)),l=n};h._animation=t,h._registered=!1,h._sequenceNumber=o++,t._callback=h,n(h)};var s=[],a=!1;t.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(e,t,i){function n(e){return e._timing.delay+e.activeDuration+e._timing.endDelay}function r(t,i,n){this._id=n,this._parent=null,this.children=t||[],this._reparent(this.children),i=e.numericTimingToObject(i),this._timingInput=e.cloneTimingInput(i),this._timing=e.normalizeTimingInput(i,!0),this.timing=e.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(e){for(var t=this;null!==t;){if(t==e)return!0;t=t._parent}return!1},_rebuild:function(){for(var e=this;e;)"auto"===e.timing.duration&&(e._timing.duration=e.activeDuration),e=e._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(e){t.removeMulti(e);for(var i=0;i<e.length;i++)e[i]._parent=this},_putChild:function(e,t){for(var i=t?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<e.length;n++)if(this._isAncestor(e[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(n=0;n<e.length;n++)t?this.children.push(e[n]):this.children.unshift(e[n]);this._reparent(e),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._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 t=e.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,t):new SequenceEffect(i,t)},remove:function(){t.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e+=n(t)}),Math.max(e,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e=Math.max(e,n(t))}),e}}),t.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=new KeyframeEffect(null,[],i._timing,i._id);return o.onsample=function(t){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==t?void i._removeChildAnimations():0==t&&i.playbackRate<0&&(r||(r=e.normalizeTimingInput(i.effect.timing)),t=e.calculateIterationProgress(e.calculateActiveDuration(r),-1,r),isNaN(t)||null==t)?(i._forEachChild(function(e){e.currentTime=-1}),void i._removeChildAnimations()):void 0},n=t.timeline._play(o)},t.bindAnimationForGroup=function(e){e._animation._wrapper=e,e._isGroup=!0,t.awaitStartTime(e),e._constructChildAnimations(),e._setExternalAnimation(e)},t.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}()),Polymer({is:"opaque-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"1"},{opacity:"1"}],this.timingFromConfig(e)),t.style.opacity="0",this._effect},complete:function(e){e.node.style.opacity=""}}),function(){"use strict";var e={pageX:0,pageY:0},t=null,i=[];Polymer.IronDropdownScrollManager={get currentLockingElement(){return this._lockingElements[this._lockingElements.length-1]},elementIsScrollLocked:function(e){var t,i=this.currentLockingElement;return void 0!==i&&(!!this._hasCachedLockedElement(e)||!this._hasCachedUnlockedElement(e)&&((t=!!i&&i!==e&&!this._composedTreeContains(i,e))?this._lockedElementCache.push(e):this._unlockedElementCache.push(e),t))},pushScrollLock:function(e){this._lockingElements.indexOf(e)>=0||(0===this._lockingElements.length&&this._lockScrollInteractions(),this._lockingElements.push(e),this._lockedElementCache=[],this._unlockedElementCache=[])},removeScrollLock:function(e){var t=this._lockingElements.indexOf(e);-1!==t&&(this._lockingElements.splice(t,1),this._lockedElementCache=[],this._unlockedElementCache=[],0===this._lockingElements.length&&this._unlockScrollInteractions())},_lockingElements:[],_lockedElementCache:null,_unlockedElementCache:null,_hasCachedLockedElement:function(e){return this._lockedElementCache.indexOf(e)>-1},_hasCachedUnlockedElement:function(e){return this._unlockedElementCache.indexOf(e)>-1},_composedTreeContains:function(e,t){var i,n,r,o;if(e.contains(t))return!0;for(i=Polymer.dom(e).querySelectorAll("content"),r=0;r<i.length;++r)for(n=Polymer.dom(i[r]).getDistributedNodes(),o=0;o<n.length;++o)if(this._composedTreeContains(n[o],t))return!0;return!1},_scrollInteractionHandler:function(t){if(t.cancelable&&this._shouldPreventScrolling(t)&&t.preventDefault(),t.targetTouches){var i=t.targetTouches[0];e.pageX=i.pageX,e.pageY=i.pageY}},_lockScrollInteractions:function(){this._boundScrollHandler=this._boundScrollHandler||this._scrollInteractionHandler.bind(this),document.addEventListener("wheel",this._boundScrollHandler,!0),document.addEventListener("mousewheel",this._boundScrollHandler,!0),document.addEventListener("DOMMouseScroll",this._boundScrollHandler,!0),document.addEventListener("touchstart",this._boundScrollHandler,!0),document.addEventListener("touchmove",this._boundScrollHandler,!0)},_unlockScrollInteractions:function(){document.removeEventListener("wheel",this._boundScrollHandler,!0),document.removeEventListener("mousewheel",this._boundScrollHandler,!0),document.removeEventListener("DOMMouseScroll",this._boundScrollHandler,!0),document.removeEventListener("touchstart",this._boundScrollHandler,!0),document.removeEventListener("touchmove",this._boundScrollHandler,!0)},_shouldPreventScrolling:function(e){var n=Polymer.dom(e).rootTarget;if("touchmove"!==e.type&&t!==n&&(t=n,i=this._getScrollableNodes(Polymer.dom(e).path)),!i.length)return!0;if("touchstart"===e.type)return!1;var r=this._getScrollInfo(e);return!this._getScrollingNode(i,r.deltaX,r.deltaY)},_getScrollableNodes:function(e){for(var t=[],i=e.indexOf(this.currentLockingElement),n=0;n<=i;n++)if(e[n].nodeType===Node.ELEMENT_NODE){var r=e[n],o=r.style;"scroll"!==o.overflow&&"auto"!==o.overflow&&(o=window.getComputedStyle(r)),"scroll"!==o.overflow&&"auto"!==o.overflow||t.push(r)}return t},_getScrollingNode:function(e,t,i){if(t||i)for(var n=Math.abs(i)>=Math.abs(t),r=0;r<e.length;r++){var o=e[r];if(n?i<0?o.scrollTop>0:o.scrollTop<o.scrollHeight-o.clientHeight:t<0?o.scrollLeft>0:o.scrollLeft<o.scrollWidth-o.clientWidth)return o}},_getScrollInfo:function(t){var i={deltaX:t.deltaX,deltaY:t.deltaY};if("deltaX"in t);else if("wheelDeltaX"in t)i.deltaX=-t.wheelDeltaX,i.deltaY=-t.wheelDeltaY;else if("axis"in t)i.deltaX=1===t.axis?t.detail:0,i.deltaY=2===t.axis?t.detail:0;else if(t.targetTouches){var n=t.targetTouches[0];i.deltaX=e.pageX-n.pageX,i.deltaY=e.pageY-n.pageY}return i}}}(),function(){"use strict";Polymer({is:"iron-dropdown",behaviors:[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.IronOverlayBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1},_boundOnCaptureScroll:{type:Function,value:function(){return this._onCaptureScroll.bind(this)}}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},get _focusTarget(){return this.focusTarget||this.containedElement},ready:function(){this._scrollTop=0,this._scrollLeft=0,this._refitOnScrollRAF=null},attached:function(){this.sizingTarget&&this.sizingTarget!==this||(this.sizingTarget=this.containedElement||this)},detached:function(){this.cancelAnimation(),document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)},_openedChanged:function(){this.opened&&this.disabled?this.cancel():(this.cancelAnimation(),this._updateAnimationConfig(),this._saveScrollPosition(),this.opened?(document.addEventListener("scroll",this._boundOnCaptureScroll),!this.allowOutsideScroll&&Polymer.IronDropdownScrollManager.pushScrollLock(this)):(document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments))},_renderOpened:function(){!this.noAnimations&&this.animationConfig.open?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("open")):Polymer.IronOverlayBehaviorImpl._renderOpened.apply(this,arguments)},_renderClosed:function(){!this.noAnimations&&this.animationConfig.close?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("close")):Polymer.IronOverlayBehaviorImpl._renderClosed.apply(this,arguments)},_onNeonAnimationFinish:function(){this.$.contentWrapper.classList.remove("animating"),this.opened?this._finishRenderOpened():this._finishRenderClosed()},_onCaptureScroll:function(){this.allowOutsideScroll?(this._refitOnScrollRAF&&window.cancelAnimationFrame(this._refitOnScrollRAF),this._refitOnScrollRAF=window.requestAnimationFrame(this.refit.bind(this))):this._restoreScrollPosition()},_saveScrollPosition:function(){document.scrollingElement?(this._scrollTop=document.scrollingElement.scrollTop,this._scrollLeft=document.scrollingElement.scrollLeft):(this._scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this._scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},_restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this._scrollTop,document.scrollingElement.scrollLeft=this._scrollLeft):(document.documentElement.scrollTop=this._scrollTop,document.documentElement.scrollLeft=this._scrollLeft,document.body.scrollTop=this._scrollTop,document.body.scrollLeft=this._scrollLeft)},_updateAnimationConfig:function(){for(var e=this.containedElement,t=[].concat(this.openAnimationConfig||[]).concat(this.closeAnimationConfig||[]),i=0;i<t.length;i++)t[i].node=e;this.animationConfig={open:this.openAnimationConfig,close:this.closeAnimationConfig}},_updateOverlayPosition:function(){this.isAttached&&this.notifyResize()},_applyFocus:function(){var e=this.focusTarget||this.containedElement;e&&this.opened&&!this.noAutoFocus?e.focus():Polymer.IronOverlayBehaviorImpl._applyFocus.apply(this,arguments)}})}(),Polymer({is:"fade-in-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"0"},{opacity:"1"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"fade-out-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"1"},{opacity:"0"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:i/2+"px"},{height:i+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:i/2+"px"},{width:i+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:i+"px"},{width:i-i/20+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect(),n=i.height;return i.top,this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}}),function(){"use strict";var e={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},t=Polymer({is:"paper-menu-button",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronControlState],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:e.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},toggle:function(){this.opened?this.close():this.open()},open:function(){this.disabled||this.$.dropdown.open()},close:function(){this.$.dropdown.close()},_onIronSelect:function(e){this.ignoreSelect||this.close()},_onIronActivate:function(e){this.closeOnActivate&&this.close()},_openedChanged:function(e,t){e?(this._dropdownContent=this.contentElement,this.fire("paper-dropdown-open")):null!=t&&this.fire("paper-dropdown-close")},_disabledChanged:function(e){Polymer.IronControlState._disabledChanged.apply(this,arguments),e&&this.opened&&this.close()},__onIronOverlayCanceled:function(e){var t=e.detail,i=(Polymer.dom(t).rootTarget,this.$.trigger);Polymer.dom(t).path.indexOf(i)>-1&&e.preventDefault()}});Object.keys(e).forEach(function(i){t[i]=e[i]}),Polymer.PaperMenuButton=t}(),function(){"use strict";Polymer({is:"paper-dropdown-menu",behaviors:[Polymer.IronButtonState,Polymer.IronControlState,Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0,readOnly:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){Polymer.Gestures.findOriginalTarget(e)===this&&this.open()},_selectedItemChanged:function(e){var t;t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this._setValue(t),this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e){return e?-4:8},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)}})}(),Polymer({is:"paper-toolbar",hostAttributes:{role:"toolbar"},properties:{bottomJustify:{type:String,value:""},justify:{type:String,value:""},middleJustify:{type:String,value:""}},attached:function(){this._observer=this._observe(this),this._updateAriaLabelledBy()},detached:function(){this._observer&&this._observer.disconnect()},_observe:function(e){var t=new MutationObserver(function(){this._updateAriaLabelledBy()}.bind(this));return t.observe(e,{childList:!0,subtree:!0}),t},_updateAriaLabelledBy:function(){for(var e,t=[],i=Polymer.dom(this.root).querySelectorAll("content"),n=0;e=i[n];n++)for(var r,o=Polymer.dom(e).getDistributedNodes(),s=0;r=o[s];s++)if(r.classList&&r.classList.contains("title"))if(r.id)t.push(r.id);else{var a="paper-toolbar-label-"+Math.floor(1e4*Math.random());r.id=a,t.push(a)}t.length>0&&this.setAttribute("aria-labelledby",t.join(" "))},_computeBarExtraClasses:function(e){return e?e+("justified"===e?"":"-justified"):""}}),Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String}},_SEARCH_RESET_TIMEOUT_MS:1e3,hostAttributes:{role:"menu",tabindex:"0"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){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.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");for(var t,i=this._searchText||"",n=(i+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase()).length,r=0;t=this.items[r];r++)if(!t.hasAttribute("disabled")){var o=this.attrForItemTitle||"textContent",s=(t[o]||t.getAttribute(o)||"").trim();if(!(s.length<n)&&s.slice(0,n).toLocaleLowerCase()==i){this._setFocusedItem(t);break}}this._searchText=i,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t-i+e)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t+i)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),e&&(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl],Polymer({is:"paper-listbox",behaviors:[Polymer.IronMenuBehavior],hostAttributes:{role:"listbox"}}),Polymer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?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.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Polymer.IronMenubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImpl],Polymer({is:"paper-tab",behaviors:[Polymer.IronControlState,Polymer.IronButtonState,Polymer.PaperRippleBehavior],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Polymer.dom(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}}),Polymer({is:"paper-tabs",behaviors:[Polymer.IronResizableBehavior,Polymer.IronMenubarBehavior],properties:{noink:{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:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Polymer.dom(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,i){return!t||i?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),Polymer.IronMenuBehaviorImpl._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var i=t&&-t.ddx||0;this._affectScroll(i)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var i=this.$.tabsContent.getBoundingClientRect(),n=i.width,r=e.getBoundingClientRect(),o=r.left-i.left;if(this._pos={width:this._calcPercent(r.width,n),left:this._calcPercent(o,n)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var s=t.getBoundingClientRect(),a=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var h=a<l;this._isRTL&&(h=!h),h?this._positionBar(this._calcPercent(r.left+r.width-s.left,n)-5,this._left):this._positionBar(this._calcPercent(s.left+s.width-r.left,n)-5,this._calcPercent(o,n)+5),this.scrollable&&this._scrollToSelectedIfNeeded(r.width,o)},_scrollToSelectedIfNeeded:function(e,t){var i=t-this.$.tabsContainer.scrollLeft;i<0?this.$.tabsContainer.scrollLeft+=i:(i+=e-this.$.tabsContainer.offsetWidth)>0&&(this.$.tabsContainer.scrollLeft+=i)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),function(e,t){"use strict";function i(e){this.i="a-z",this.a={tags:[]},this.g=e,this.c=e.querySelectorAll(".codelab-card");for(var t=e=0;t<this.c.length;t++){var i=this.c[t];i.j=(i.dataset.title||"").trim().toLowerCase(),i.h=o((i.dataset.category||"").split(",")),i.tags=o((i.dataset.tags||"").split(",")),i.f=new Date(i.dataset.updated),i.duration=parseInt(i.dataset.duration,10),i.dataset.pin&&(e+=1,i.b=e)}}function n(e){for(var t=Array.prototype.slice.call(e.c,0),i=t.length;i--;){var n=t[i];if(e.a.kioskTags&&0<e.a.kioskTags.length&&!a(e.a.kioskTags,n.tags))n=!1;else{var r=!e.a.cat;if(e.a.cat)for(var o=0;o<n.h.length;o++)e.a.cat===n.h[o]&&(r=!0);n=!(!r||e.a.text&&-1===n.j.indexOf(e.a.text)||0<e.a.tags.length&&!a(e.a.tags,n.tags))}n||t.splice(i,1)}for(function(e,t){switch(e.i){case"duration":t.sort(function(e,t){var i=s(e,t);return null!==i?i:e.duration-t.duration});break;case"recent":t.sort(function(e,t){var i=s(e,t);return null!==i?i:t.f<e.f?-1:t.f>e.f?1:0});break;default:t.sort(function(e,t){var i=s(e,t);return null!==i?i:e.dataset.title<t.dataset.title?-1:e.dataset.title>t.dataset.title?1:0})}}(e,t),i=0;i<e.c.length;i++)(n=e.c[i]).parentNode&&n.parentNode.removeChild(n);t.forEach(e.g.appendChild.bind(e.g))}function r(e){return(e||"").trim().toLowerCase()}function o(e){e=e||[];for(var t=[],i=0;i<e.length;i++){var n=r(e[i]);n&&t.push(n)}return t.sort(),t}function s(e,t){return e.b&&!t.b?-1:!e.b&&t.b?1:e.b&&t.b?e.b-t.b:null}function a(e,t){for(var i=0,n=0;i<e.length&&n<t.length;)if(e[i]<t[n])i++;else{if(!(e[i]>t[n]))return!0;n++}return!1}i.prototype.sort=function(e){this.i=e,n(this)},i.prototype.filter=function(e){this.a.cat=r(e.cat),this.a.text=r(e.text),this.a.tags=o(e.tags),this.a.kioskTags=o(e.kioskTags),n(this)},i.prototype.filterByCategory=function(e){this.a.cat=r(e),n(this)},i.prototype.filterByText=function(e){this.a.text=r(e),n(this)},i.prototype.filterByTags=function(e,t){this.a.tags=o(e),this.a.kioskTags=o(t),n(this)},i.prototype.clearFilters=function(){this.filter({tags:[],kioskTags:[]})},e.CardSorter=i}(window,document),Polymer({is:"card-sorter",properties:{sorter:{type:Object,readOnly:!0}},ready:function(){this._setSorter(new CardSorter(this))},sort:function(e){e=(e||"").trim().toLowerCase(),this.sorter.sort(e)},filter:function(e){this.sorter.filter(e)},filterByCategory:function(e){this.sorter.filterByCategory(e)},filterByTags:function(e){this.sorter.filterByTags(e)},filterByText:function(e){this.sorter.filterByText(e)},clearFilters:function(){this.sorter.clearFilter()}});
    \ No newline at end of file
    diff --git a/site/dist/favicon.ico b/site/dist/favicon.ico
    new file mode 100644
    index 0000000000000000000000000000000000000000..c4eb5c552050dcd236f6466f4fc49e6398e3fb26
    GIT binary patch
    literal 15086
    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
    M@l18Z!}*E+3uM{kK>z>%
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-144x144.png b/site/dist/images/favicons/android-chrome-144x144.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..8548535c708751a1d8d6bee72bab60181349bb0f
    GIT binary patch
    literal 2280
    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
    bPQTG6m9dU)UH!We_$ELoq?ul!E}HT$wuf|z
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-192x192.png b/site/dist/images/favicons/android-chrome-192x192.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..1ce94e96a330066b1ec61e086f51a55f7cf13495
    GIT binary patch
    literal 2817
    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
    DL`gj2
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-256x256.png b/site/dist/images/favicons/android-chrome-256x256.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..15690ebeaed300ce2c037a3519bc77b44d0a50b9
    GIT binary patch
    literal 3260
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-36x36.png b/site/dist/images/favicons/android-chrome-36x36.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..56c6923f118d58e6bc882d38220bffdf86348439
    GIT binary patch
    literal 548
    zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq001Na001Ni0{{R3*4}8U00027P)t-sM{rDI
    zV`FG&Xl-q6e}8{fRaIYKUutS<W@ct(Wo2h)XJ}|>|NsB~{{BT;Wc&R5>Fn*&*V%iD
    zkz{s$Q)Y18;o?$eZ}9T-i<q89TV=Jr!hemF)7aWbU1o28hp4i*Okirq&CuQ9<A;@-
    zWOaV2v$tGtcTHhy`1$#Vl$%FfW}T?6ikF_e!^f?+yQi_W;pFCSeuhb2Xl;Il$j;GS
    zZ+Mubseg`@SZj22gNu=!qcEEfuK)l540KXXQveqh2Lb~S7zH&YF}hWeBme*b7D+@w
    zRCr#^)W>dxFc5~(Pz>bWvElaKd++uAA1uEED3UP<DOu!Oz=9($tQkK3X*TmxV|HXL
    zk&zWD=42s<eIw7zLZ%lYBMTW3a<h=DqVgM6tMXY+LlvKhN<x(I@+&DQ{y3Gm+tQ*f
    zp_$YJLQO5Y!vqV7h5=Bcu0e-qjpz~j4xx4uUHI<AuOey$#QQ2*<Cxd}7NhwRYTQ%M
    ziinP9fT#_jiGn7CHb3Zm1X?MmHwIeHV{_ZTh-zyEi9UxK#pudUJAO%CL7Pw~G!Go}
    zJcuN!H-LhnG>ZWKuD$Ulp@Bp*LR&3rb%Fe8JPp4Xl{`bI_V*~?O66Zp<`jybDHRLR
    mn%kCR8m>0ObSyjPujdOApgSp_m0)=Q0000<MNUMnLSTZ}WBR)Q
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-384x384.png b/site/dist/images/favicons/android-chrome-384x384.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..b0e8df9d53c7e4f476b2315a2f86254f32d6f3be
    GIT binary patch
    literal 4319
    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
    YafF3>luNboGXY!7j8C1YJWjm%FQdAd00000
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-48x48.png b/site/dist/images/favicons/android-chrome-48x48.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..3fe283dd5ae82ff56f8f3a35e806863c176e105f
    GIT binary patch
    literal 704
    zcmV;x0zdtUP)<h;3K|Lk000e1NJLTq001xm001xu0{{R3VB86{0002(P)t-sM{rDN
    zXlQ9^X=Y|-e}8{wW@c4YRc&o;Vq#)sWMpV)Xk=t$W@cvp|Nli=WJX(MP-JcX{{Bf_
    zXL5py`1$#MjFbEP{Kn1DTyA&h>+HJ1#+|6GoTsdamYm?^<-5biYI}o`ouje3zH@_$
    zRcLYZ_4Q+Qec|Nh(AL<ev9*$(r0($XlAokhXmQxx->9;;X?lWWc7FZ+{qywoQDkn@
    z*xItYzjT9(ke#E&%g$?jgs-^0?eFmA=<0@)n&#>1TWxlBg^k(W-)MP(*W2Fv`}_R-
    z{iUz8VRL*;U}{WYX`803&eYcT`1s)C<@WBfnE(I)4RlgYQvenn3IYWN2Omc<LPq$+
    zEMouw0d+}4K~#8N?bg>$!!Q(pVKQ3^#~Iyw@4fe)%=dpB(qmO^QDQ<b5JLP{wxaLC
    zk&ctQ-<c@M4jajmNP#F2n+a4%oL#_42xQ(a;AI33r(NK5{7v8m%uk3PFfSWC1rc}x
    zgakYYf=^6P2P|^LVZe$k(DWgQ=|`aF5%_Wp&;`s*c^a?+0}K&_PCiaW)CzR^i#G$b
    zt0$1jA}FgCpf`VhF~9&dmIN$i4n`X6^>^4PXQ0#&XbCf*tN^wL_ijxtYP3+S6cbPZ
    zqgS#dSB(KHnSd!inUU+%34*C5n5dt`%o3CU8()JZc|C%P#i5N_jZ3iJxer^5Lz9Gt
    zqIUUOH}J0SK^vLRLkh6u84Lj6<$2yC=0GhY$YxHU+BU%3qTjIqBnnvk1VXqSGUlN`
    zMVbOP^<4(Y`4Hsk0L2janhZdSfQ64B0$BaVOThj$^8+{EKe*|mC~>Zb$NMjPd~k6R
    m0#V?2r;T_{5WoHFa6=yhRdM?)*y~jQ0000<MNUMnLSTZLu~YQ`
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-512x512.png b/site/dist/images/favicons/android-chrome-512x512.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..f6f480a818b42b313f034ad3d9cfaddd8a3509b9
    GIT binary patch
    literal 5448
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-72x72.png b/site/dist/images/favicons/android-chrome-72x72.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..80e7037a1337d92cb413afb416352bde1c18516d
    GIT binary patch
    literal 962
    zcmV;z13mnSP)<h;3K|Lk000e1NJLTq002k;002k`0{{R3VlzW^0003yP)t-sM{rDM
    zXJ-Ha0BUM#RaI40RaIwaXJ21mXlQ6<Wo2Y!WM*b&MOtM4|Nll?W&ZyDp{%jf*xP1z
    ze@b6y{QUh+Vr$yo;FqGP`~3V{ZFc$k`d@K*SZj3a?e6yX_hEB;f{>Q0wYf)JX3Egh
    zS!{K>!o}q0>4ub=a)OFfXmRuO^=W#7{r&ye+}?PHkEO4)evFgp?Ct03>%hm#`1$$w
    z`1psEoBR9wVRL-l;o^6Pj>gT<e2bFp@9?j<y~WGU&(znz$IDD$X_1|yP-JafZg)*#
    zYj1ytw!Xsf^7B$=Z>h7ljG3Tic7K<nsc(RX)Y;oiU~1jr<EXN?YkY)cb$+b1y0W{!
    zqO7s&?(b1#Zi0}PiI$!3@$%8u*|faC-{a)I#mRSujaO=Oke#FS_4bpWrD}VF+1=mI
    z*$SQj000bhQchC<8vzUk10@J2SUpl(;h(es00JsWL_t(|UhUXbZ{t81h2eGMz_#bJ
    z!&qi!W@cvYBK-efup2o&Qo#14>GsO+U8Lxd?D2r+(+B5O=huTZr2Fd%kl%-z^7#vp
    zuA!zhy#NIRsHs5k6$+uILjN1`AP?$!VJ$$*3+t&4+M1NtA_ibY_;V^#6|_Jn9tD7C
    zoYG1)(5SFBOKuaks19w9(P>IpP@;*@__{K5AgmRIT7`|MLPu#j9bg@VW@c5Oq9MxW
    zz;anitBO#PP#6pd3!7GgaA}HFcMJ@ObrV|JRDe=3+=$gMikcU;><;}lZ*l)5`PNX<
    z1fjtJH^}&tf5VS?r@0X&H8xWkGF+fv)|fww$T7-F3EOanzW<beJ>V)W=j|w~eU4Cn
    zpCj~D^4%qHVV<BuJ0_(rC+M44UE?f_itP&Pb%4Hb?SM`DdxVnqP=<dxHDJ@Buufa3
    zQ`jMFGENmBBnj>9!=`B5{n5}XY!?*^pW#~JWuuFbxq}Lwm={Rgxeq`3`YFv-`XJ9G
    zeT4^w4-y-~QYh<KM4qk1@`u}`9U^2mX&;fxx=&gR3{sjvNo$ht=^nQZ%LrQ*Hjko)
    z#p(vJ6x^ZBB@ySP*1S|({HMij@lP5`5LVr`qlh9jJL9}TrjMWoVZ?dMK7cB;KJIjg
    z7~58cu;_HG8HGB875jtM0;+*BQ+7wc$*qq*j56=!??E2)-d7sBR^RaX%{A0(I<I}S
    kK<Lc{G@t+dE~4JAzxHDEI{~xHtN;K207*qoM6N<$g4-bO^8f$<
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/android-chrome-96x96.png b/site/dist/images/favicons/android-chrome-96x96.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..75dfd4849dd7b90bb2d303efa95ca5fd24da26ff
    GIT binary patch
    literal 1490
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/apple-touch-icon-precomposed.png b/site/dist/images/favicons/apple-touch-icon-precomposed.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..17e3a745b352b703dee9660e3b6315b5c50259d0
    GIT binary patch
    literal 2622
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/apple-touch-icon.png b/site/dist/images/favicons/apple-touch-icon.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..611024a41b7819bf6a79b99849967039b737ae00
    GIT binary patch
    literal 2105
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/favicon-16x16.png b/site/dist/images/favicons/favicon-16x16.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..f6d4769d3c9440ffe9ef2a8c7f221d6290389aba
    GIT binary patch
    literal 292
    zcmV+<0o(qGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002%Nkl<ZcmZP=
    zhQK8%Im#t6<pKyhM<jcIFpLk9!>idlDpSxUD&>`HRLXzX$mCP?_4Q033=}&F5(CM(
    zg(eH(wmmY{9;oo2OJwq2x2P0jn7Dg%nh{70YRF6+n$v86&fE!708}^)Q$BeL$N-Q9
    zt`TYG7zO|(E<$a{0C@#n-abBF04V<g<~<ApK!Q*ko_a(_^I;1g*Qn$?oCbiL1#%w5
    zkmLziTsRHnJ)k%DIY+0OVhsn70;o6s0BHl5I4D4&f%p#;&^TiO6h*LT1jhLZpb#S{
    q8e!f8$$`8=R6>GccZ`HI`~U!=l!ugqX5Cf*0000<MNUMnLSTaZ@M^yR
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/favicon-194x194.png b/site/dist/images/favicons/favicon-194x194.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..369312b3e610c2cb39137ab63173cc34cb8927e8
    GIT binary patch
    literal 2487
    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
    DkStB1
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/favicon-32x32.png b/site/dist/images/favicons/favicon-32x32.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..4a979a93c4c86c59e4c56ee60397e13dca8da4e9
    GIT binary patch
    literal 507
    zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyGXs1=T-^(NTw>E)Ba&SrQd}Za
    zT%wX)Ba>aCQY=CX-J()FJaR#TKopS#mQ8VsOaqG~yGErLrvcf?j!{4<AQvP8WH?8I
    zw7Z2TxJIM_87|>K15@0iQ=B4_?d|JbV`6|@uq`P-Ep9O&S)ekYULbOgP6ZhPHcC}>
    z(QBY1jY@+2f*IsuBEQ_<FoV;Fed2BJwx1gNzP7O5ldovKw$5R_todTirMBWM+~2R1
    zeo)zeCi|{w;}3)BS@VFp?|Zs9hFA#RJ;*B5#K6FEVDasD@6P@H|JX*t<%s+a?myzE
    zCu{I1`|JEM$nlbv2*_a$752K$Ueo?)ky3(IBa08~k8MkOCKPJ+^>4cQ((_huN|mk`
    zuWI+*zm9SfUI)M8t(jAK^WHb<Csxj0!mN{@m_{x%NIP{T+UL^_x07>(9_ubU6S&E4
    zQqRXUBU87;sWG0jG)y!P^A*khn_K-*Qoh$}Y5$$Znmgs(Q?6*Nl`{&ST{ACD<Fjm6
    z_nD4ON47VtWSC?iy5P`K3%dv9n!+KHW~mHYG`BU%Pg4(+aGMwLLtj5PRi*!MNBvBo
    PR~bBA{an^LB{Ts5TYtls
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/mstile-144x144.png b/site/dist/images/favicons/mstile-144x144.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..5fa7d0cd9419c24f9df25aaff814bc05bfa5609b
    GIT binary patch
    literal 1848
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/mstile-150x150.png b/site/dist/images/favicons/mstile-150x150.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..546e74f1b3662e7318d31018bdfafffd58b8943b
    GIT binary patch
    literal 2133
    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
    N>9%_utr#ST`Y#P548Z^Z
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/mstile-310x150.png b/site/dist/images/favicons/mstile-310x150.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..fcf71dbaaa84cae199e93a7dac4c31baa3346350
    GIT binary patch
    literal 2278
    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
    N$O%ipRN0Xke*-L5F>(L^
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/mstile-310x310.png b/site/dist/images/favicons/mstile-310x310.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..203e87a2497aac9fd03961f2a71e38e673a5085f
    GIT binary patch
    literal 4121
    zcmeHJ_ct4k*H$DkD-ol#l+d7RwN_Dzh!vsQsy%CT88u=gR8UEk*50KyrABJDLWpXK
    z)v8&dI#4r4#p>tlbKbw<J?{_i_c`aDbD#UmJ?A;+dF~}zp^bUDM7da4Sa?lM5Y{X#
    ztcw2@2ix(aHZ5@Vm~302ZWtN+qyG6X{;R<MCk5&_erO)s;2_8veVt|hkd5^O`>yWa
    zBM=j)$Hf3_^Db|2?i~nA$)DjzOrGT4$`=3i6uL4cG?)HOHRsO)UvuY0^pDCNQL#(s
    zk|0aqkt;R!cKz<B;<WvYTU+iVem+k}$tg)#!MZlf`eeIZE!F3T>u!JX4Y>a{c{OxR
    z`YXkv{p_?LW>jT8Y(lHHBpk1k`|*1$k7sFd%)l)Un#f|qvy2&o-@zfD9z357l8jgT
    zfcqJ7O`*vAHT;d?SRhiM$;{{;@d-(BaD1qsF!FIv)OG5G8=B?LPI>Pgdp&GzUT9R2
    zy}k5hlshs{H)0)bMq9rmnEI!rUd>8q^GSP^UtQsH*{%L=92i~3!oodiiqO9i>b%l<
    zg7a9EF6D!A^<Fmzf#d#v6`hlBYnc^Q3OsZ4pz@OV?dQ%M$+7GPtok|Ivk?6fDW@uH
    zBP(_Y*h*hOu%5+zy?u8!qTShV9oPOfQ{*!|wXr)d8+TaqPvEaRo4MJzvE7<{!3dzk
    zeH^Q(^ysU1s@%V1Qtm1!D!SaQhw|q2RO$+6ma21>$#}I9{3vp&A$LzOTD`hf5bqu5
    z&5w92a5-k!!1AuIv4I!lG_B&w_QfOsJ?N~Q7MX13pWdR@2{IM4C_zKrzLknER#){t
    zAPVSAfZ%W;JA&V?=o?i}4Tha~bQqCwnR;vYBtDFk!c@1w+j07xkPE%SNBQw31z+2)
    zEO!lRi4F9UYMGoS)^;PZQcYY;u`kxoa0~|I#xvW}DNkcPiqo0Sv+-lw*l1>Tyc@FU
    zFKRxa16mVtN0eb<%eMsya4?}bIKS~-k1v@+aG{KO%%sVJy^ucWIK<_zcvhn985H&o
    zH)INThl&Xkq8UxZw-WsVI1M6P)flbKQ*P(ouilz>(BglvH}G)&E$$Kx@ncX5V9r0B
    z5!;c1C#AZ=+{>Ra$99m@<d#gPqoJ#K(XQ6~)+&3ii#4$}3P>~1%zTayyE(VGt0{MC
    zIo6brY)-6QW>KyHE~jXBouRTN5QnbNfa24|C53H#DE$j4DKaH)E@xAkVJAf4p+e;e
    zwZ0O}*$QcL9%DGyssMx@VxuS7TU&wIR*7fJA@ppg!ueux>bRSrDtwfLdSNbR^(}PJ
    z0z32RrP9k6X*w9$(QRxlv%0@fgE0~^pP&b-a?VF$^WPeJciCL!Qrt55GV5(Zd9AsK
    zddh$}l;0}!-3+E?GIfLCRm@beevUW21IOw(D=nfnWVDMLM#P2X0L!l%3|;VglXC56
    zSGR^A&dZCQ#Bu(;y+DAjrdpx7*81XJvqyP$wQ!F(UwQ%49gi4Jo3jjY+!~4WuqLiQ
    z=2<k|xCM7iiT$&T(U8;Z=UgRxJP?Izi{CXIQO`@#%hIux>9gS@kz};j<X1GsntDwr
    zi}!tyXa1;ak;rM5lDunip9A|pQ@vYR!Xe8t;F)yxj<n&_e5$^t(?3<xWOVj0(PXc&
    zgXewD%6($@(iB5Qu7VJaq=NPa2CH}Ncn1aFl?hbm0&s+CkAb0T;Tm<##vh^A<l@s$
    zI&mD>VCHCjSu52jV@>RqBEwEYtB_OWFl6)9;A0omWq`0t%m!1kfT=ZZ$Ol`x&sF!8
    z@JM9W+6v$tYuraFnd{T^(dP*m8G3lp5EXJ51y*#KMPP|Bg>1<q9ZT`XA3i4iM8*yc
    z*pL9rv0E4JRvYrN>aLqB-0+sd_UTFj|ISfDi#+b!1D&1rKt4M_`$~{sPlF#6-Bwlm
    zX*cH6;NhPo@yp)Y-&C;(<@j8vi02Qol%m}UzhZ<X?-3M}C*?*>WY;~$9_zEk1Rr*m
    zGh&<Z_EixbBe#3!j!KWn=K$l<5>Ker%wcbvg9P6g^D`hmh|5wpL0o0~u&K}W3SF%Q
    z=5+v-J9QK914+`>d5}SI&iC3FIC*`6-(`vek+68NeD$Jj9|=i6ed*Y|V_q;V#B2~+
    z<bFd`14$n6euAOVb58P_B)PWOCb8c~by6i%ZKxxnqDJBgu-;1}&fmhYZVd`+aOUZr
    zi24a9Z^gqlV^?LHc|sn>P<D4B1D`T=Fq+^1ScqOTkI;4B?FVyuKVB(#C#qfxe&hno
    zt*?Z=-<aj1Z)+m5n4`T)F_-VcDYh<X2{JXBaDmaontm~h4f%G~40}r$mV)S7zwB8j
    zia<@?qAo<vCUNkyom{d3=C(vL!@oZH0BPd#65-();TTJwhN!szwm%xIPF07v3<@Bg
    zYW9}8iL5}l>sxIk-KjlV8I*k;6YRK@JJohxs}>9iRL-7w0+H(qsLAkD_ExD+*9OZK
    z*$!Qt7;V*xY$GhIDZ~r}-C<4}(H<_@0nPX0AInGun9Iz+{bqom{hHp1Sc9$n+)t;l
    zQnZd<{C?sP;bRZ%*D9maOeP92_w0cOk08~7d?cw9#J4Y0Z;=zlm*+Ac8g#!)IF(iL
    zIb+9EE$MOa)_&;{;%kt#)wj50_w(ulS37%bjxt=ID0=@UdE(qb=buHp*l8%_vV1BZ
    zf5{`n1Wo#<h*XoDe_y@vq3NXVGdDl$x#fk_ggN0YW8PX2c!9cn4Y)j;P52OgiS_-$
    zB4&@U;at{}v6JS6Kp-?Mkex8@@5Y!|BCSy?jq-<Gw05Yhv({3rvFLLsBH>gr5*x$q
    z7F*r_(QoP%M~jSI$2}3FkFxH{+aqs}&T9bPO+zCG>qVXS&x<RbBfn+?M|LMHdantu
    zZsblC;AK|{vizLm$C=p*oGBF;{;tM;*jq}E+nMhQ7@29%r5YvT@<1J5NtJPbMF@&2
    zbYtxI@YCU${MUY-=9q9q475C!=tHcXE15IF>to~qIym!$1H_*8uSA)q;B(|p2N1Ma
    zYGrHh{Q=8~6Gpj^;I2rcQGD>^mr(=y5Ts5fSv0_}QEDGiyH(Wad4%L{48rI!dsd5(
    zNuK&3cPkj91_$_-l5MD8lB9oi7fES5<SPU~Fz4i2?kjb5J6zSDIjw4ofdRt7JNd=+
    zp6&1#_<I~<r5LG>+%ZFFSN(|So~zTo+1;MacyL`+jGh7J)D(DW0jX=-Of##on*mpE
    zMY-W_0&xU8F@hgDv(9J{PnsQHS=iW29VQSeB><nd{M+W6tT@Ike8VTm>cE_2Zv5VF
    zpeQahs!Y;WBWJNvWH_OvlmDZ_ay#(4$)1v$sDSNX&;Vg&#LQvr0gz98)|X>UY_I8T
    zkdzkOSkbn*hA=f3Hh7}LIeR$C|Ak<^s}sMJYCTRp2!7F5LYIzyL&pj?)`Wn9;In}c
    zdfO}zq$^L49Ym}-mADe2tKW4DE?A<Y2dNvdd3iD7pVp4FQ1M3n>o6<G_k%#rDX9nn
    zm7T;MrFiz`$b>(q+$3N3zAC)LAY0e1X^yskB2HjE3NJyL69nG<R0}mViRRUU&ZOgm
    zF`{qrJ_p9bxwgkaJq=PbOn+$Ge7R5~c{cIia475wsElViFLKThZ<<ls91<M{wN{ON
    zEU5y|@#9;anHu>5*cRb^==VTE?PkOVZ?zOz(6W<<3M+M;5%m{52`9gaQwEHb=P<t-
    zKbWiM4TRF?K^xrCl(r-9N8bN)_2H6v9;TG2SDn|?ELFtagkZ&bj6GepUUY#yvrmT#
    z7G@~Sy=!hCuQbxOKuG6Xa7AW5YLdP{WFl=|PR9)%(o3Z>tG-yHj3%1T=ZBkv?LWHr
    zJlOmNYf$7{xYQW;1amVhaU#_cE1x8l_FbN!6aYpUm*hzRqIQddXPZqZ8JbzoZ1p4^
    zDQ(*6zKmD#BE)W+`G~Ny_M~;sd6I8X=Tn4TbDi`#F?txm&r^$Lin_ryHh}aeEr4CH
    zyePBK4mjW+nxS%7Z7QBsiDrhHLSTc}C9*KT2}<5NG;<wyN%G9S;ZHd;RBt<WC=@3y
    z4bYn$&Rdn0s~CKoO^k^r_(fgFNtm(3e%$RGjU{CXoT)IleiLLuv6Z1&pz_VJl?6qW
    zL)Jt;Umy)lJKmme;889FF1QCrSxSGgcXT9=x_hVkHQXpj=(o;g--6oJd)M`h$rS1v
    xwD*~l{?f(8IF3JOWu7*@9eo=v&VR}O2{g^u#7Uynhf@D;H#I^dUK_aL{{z4s>#P6(
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/mstile-70x70.png b/site/dist/images/favicons/mstile-70x70.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..ec2f0c655632a6e34c959edf6b4f00f7492f5f77
    GIT binary patch
    literal 1274
    zcmV<W1O@wvP)<h;3K|Lk000e1NJLTq004jh004jp1ONa4X*a1r000ERNkl<Zc-rlo
    zO>9*~6vwCKwUstSttPFev?P2a2E+u=m;kbZloj=3K>$~Ls4MV;1z3#>0vJt5K~}VB
    zH6fr$6Fyv7<BDobD7XN00b*!1K=??&U}_0J7w-y>*L&x@d+)s7d3t_bHJO<^=bU+W
    z&iwBgV-!VE6h%=KMNt$*Q4~c{6h%=KMNt$*Q4}Q+G|_JTYo#V=SwpMPwy6@$A7F&v
    zBL7C|ry*$DKtH3Fwj&HwoD0~@I5uw5QP6rNH?6J5*<4xX&*eOJ_K_=SpJSiU{ycLl
    z$NXA)1ar<YyQt4>&Ix@EP+KVu=;W5wlrc7i^m>E8t-Wrssxr)PW=M$TF{Xv|o5pdW
    z-wB#4!2w;|vzl>*r4c<};;OahJ+}LA{vt+%IPRi4qHi_3g}x&!^xOP;4htrnqRrC3
    zozp`9L)821fVJGQPX7*Tg%Q^AmoUN_f6Z?b<9Aq!AN71Gj4{k~UmdVj`~@#6VU*_?
    z6~@^a^%lw60n52=eTR3IIL-&+KC;A52TWm)W!gif?&7rYy|4z3(&(4z)l4<U7-n)N
    zGLP$wG2ScO7IMjremUS7KH)KAjA1=vp;PXSlgU#@pRfkbGRq(HbL?k49}^lm5;ENj
    z%!@hZv-~Q!U~l1hGFu1aPxC=cSj^?3sorHvf>Gb$uGIlISmB5HPx4(brEYS@P{od-
    zsSYO5b9mzZxKRvxp%d}m{YV8dp_P*^B1MOw6D3+%uFap%#fdRtbwNtpo%FX#j?aWO
    z5c}QY+WbfOJS-+m<)DkVHFNk`a6vD1Svue~{tVadSimJ<j14KD@TQ;>-HwxAxHkW3
    zehisXPkzT|n~RK%NBLS<14FcAV}2DMh34!*&PNLaEOYRjWui{hm5l>l<PUq+PxHUu
    zep05{AG<hZx;DRtFDx;6-|4g3`AKj=-=t@S%y?+~D|1YEUC@axGGnqG@Eq4BPrIXm
    zudGkI#(ck4fOGAR7x>+;6_67Ttiv|_H^H9sp+zU^%iv^~<_kc~*KK}Jd5RxA+67Fi
    zZ$L5gfPs9f!>beW&NA#dai-Ri>?>fbXEbsY*cRwS{b{tua=4(g+}a%*7y~Y`Amr>B
    zTWfUhfI51`N`N${!C9OQ#yJ?suJ0D<L_HZ-4KR-j<<joR(Os~ut}fD_e5o5@OS!Z=
    zR&b+WoRhSghwF*_s2rk+L17Jin@AI!IPMOrjG>18!T;ZQQae@@sW9#CZ6_=1GK&M9
    z=ojER%l%Nr4LSC@*6t$SEl2VK3vV%=Tx%?c3m&|!ooIK|M(i$QtT)CO9_Lf$7@uHc
    z#3!)_+TF{s@{6cCvop*LWY;Rc9FWi0oM?AKo!K6y7$0E?SKMfK!WqM#m)`{KZl|yY
    zMoX#?kx!Xhjh`@`VFxurQk~gpmpX%M7pzHLC6>C*EL#WEb0}4vU>m2>uA!`5uu%L3
    z@3vHm?(*;pKx`Lm7j&Ylk+s50UF{>;I-r>oLL84rREr-IGl@#57B_}fiS7$*5^~9G
    zwVzlHsO3NzZjAI)%#D%%{hc9G+O4sb1+6>&W4Ffi-k{zbRTM>06h%=KMNt$*Q4~c{
    k6h%=KMNt$*Q50YJ2RtG}W}lodWdHyG07*qoM6N<$f&`shF8}}l
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/favicons/safari-pinned-tab.svg b/site/dist/images/favicons/safari-pinned-tab.svg
    new file mode 100644
    index 000000000..20190caed
    --- /dev/null
    +++ b/site/dist/images/favicons/safari-pinned-tab.svg
    @@ -0,0 +1 @@
    +<svg height="933.333" viewBox="0 0 700 700" width="933.333" xmlns="http://www.w3.org/2000/svg"><path d="M207.7 143.7c-19.2 31-50 81.9-50 82.7 0 1 3.8 7.3 23.9 39.8 4.4 7 8.4 13.6 8.9 14.5 2.3 4.2 25.5 42 26.7 43.6 1.3 1.7 1.9 1.2 6.9-6.9 3-4.9 5.6-9.3 5.8-9.9.2-.5.7-1.2 1-1.5.6-.4 11.8-18.9 13.1-21.5.5-1 4.2-6.8 8.5-13.5 2.2-3.5 39.6-64.6 42.6-69.8 7.1-12 17.5-28.8 18.1-29 .5-.2.8-.7.8-1.2 0-.4 4.1-7.4 9-15.5 5-8.1 9-14.9 9-15.1s-27.4-.4-61-.4h-61zm160.3-3.2c0 .3 1.2 2.4 2.7 4.8 1.5 2.3 3.3 5.1 3.9 6.2 1.6 3 59.2 97.4 61.9 101.5 2.1 3.3 60.4 98.7 105.3 172.5 5.4 8.8 11 18 12.6 20.3l2.7 4.4 7.6-12.4c4.2-6.7 8.4-13.7 9.3-15.3 1-1.7 8.8-14.5 17.5-28.5 18.3-29.6 20.3-33.7 20.7-41.7.3-8.7-.8-13.1-5.4-20.8-2.2-3.9-4.7-8.1-5.5-9.5s-2.2-3.7-3.1-5.2c-3-4.8-55.8-91.1-74.5-121.8-9.9-16.2-18.8-30.9-19.9-32.5-1-1.7-4.5-7.3-7.7-12.5l-5.8-9.5-61.1-.3c-33.7-.1-61.2 0-61.2.3zM135.5 261.7c-3.8 6.4-8.2 13.4-9.6 15.7-5.2 8-32.8 53.6-34.5 56.8-4.7 8.9-5 21.9-.7 30.2.9 1.7 13.3 22.2 27.6 45.6s26.7 43.6 27.4 45c.8 1.4 2.7 4.5 4.3 7s3.6 5.6 4.4 7c1.4 2.5 45.4 74.5 52.1 85.3l3.5 5.7h61c33.6 0 61-.2 61-.5 0-.2-5.8-9.9-13-21.6-7.1-11.6-13-21.3-13-21.6 0-.2-.8-1.6-1.8-3.1-3.3-4.8-36.4-58.6-42.1-68.4-.9-1.5-21.6-35.5-46.1-75.4s-45.2-73.8-46-75.2c-.9-1.5-2.3-3.8-3.2-5.2-.8-1.4-6.2-10.2-11.8-19.5-5.7-9.4-10.8-17.5-11.4-18.2-.8-.9-2.9 1.8-8.1 10.4zm341.3 119.5c-2.4 4-13.4 21.9-24.3 39.8s-21 34.4-22.4 36.6c-3.5 5.6-8 13-11.1 18.1-1.4 2.3-5.4 8.9-8.8 14.5-3.5 5.7-10.6 17.3-15.8 25.8-5.3 8.5-9.9 16.2-10.4 17-6.7 10.7-16 26.1-16 26.5 0 .3 27.5.4 61.2.3l61.1-.3 1.8-3c1-1.7 2.8-4.6 3.9-6.5s12.1-19.9 24.4-39.9l22.4-36.4-2.7-4.6c-1.5-2.5-7.1-11.6-12.3-20.1s-13.9-22.7-19.3-31.5-12.6-20.6-16.1-26.3-6.4-10.6-6.4-11c-.1-.4-1.1-2-2.4-3.5l-2.3-2.8z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/googdev192.png b/site/dist/images/googdev192.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..2e7221bc4a9c0996bb7dd8f1b649b4415ffa9a2e
    GIT binary patch
    literal 6078
    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
    B8&LoN
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/icons/android-auto.svg b/site/dist/images/icons/android-auto.svg
    new file mode 100644
    index 000000000..32e41b35f
    --- /dev/null
    +++ b/site/dist/images/icons/android-auto.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 502 481"><defs><linearGradient id="a" x1="-21.471%" x2="84.198%" y1="37.806%" y2="97.817%"><stop offset="0%" stop-color="#1A237E" stop-opacity=".2"/><stop offset="100%" stop-color="#1A237E" stop-opacity=".02"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#03A9F4" d="M32.333 416.667c-17.68 0-32-14.32-32-32 0-5.814 1.547-11.28 4.267-15.974l202.667-352C212.787 7.12 223.133.667 235 .667s22.213 6.453 27.733 16.026l202.667 352c2.72 4.694 4.267 10.16 4.267 15.974 0 17.68-14.32 32-32 32H32.333z"/><path fill="url(#a)" d="M235 150v266.667h266.667z"/><path fill="#039BE5" d="M207.267 16.693L4.6 368.693c-2.72 4.694-4.267 10.16-4.267 15.974 0 17.68 14.32 32 32 32H235v-416c-11.867 0-22.213 6.453-27.733 16.026z"/><path fill="#F1F1F1" d="M235 150l181.333 320-10.666 10.667-170.667-64-170.667 64L53.667 470z"/><path fill="#E1E1E1" d="M235 150l181.333 320-10.666 10.667-170.667-64"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/android-things.svg b/site/dist/images/icons/android-things.svg
    new file mode 100644
    index 000000000..5f1b5d022
    --- /dev/null
    +++ b/site/dist/images/icons/android-things.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 244 219" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#6c6c6c" height="218.73" rx="23.78" width="218.79" x="24.79"/><rect fill="#aaa" height="174.16" rx="7.95" width="174.16" x="47.1" y="22.31"/><g fill="#6c6c6c"><rect height="22.92" rx="10.3" width="46.85" y="47.62"/><rect height="22.92" rx="10.3" width="118.55" y="151.49"/><rect height="22.92" rx="10.3" width="118.55" y="99.55"/></g><circle cx="148.42" cy="58.72" fill="#e8f7f7" r="11.46"/><path d="M148.42 138.67c-6.31-.022-11.415-5.14-11.42-11.45V95.39c0-6.33 5.13-11.46 11.46-11.46s11.46 5.13 11.46 11.46v31.83a11.46 11.46 0 0 1-11.5 11.45z" fill="#6c6c6c"/><circle cx="191.74" cy="58.72" fill="#e8f7f7" r="11.46"/><circle cx="148.19" cy="163.88" fill="#e8f7f7" r="11.46"/><path d="M24.79 151.49H10.3c-5.682.016-10.284 4.618-10.3 10.3v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49zM0 57.92v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49V47.62H10.3C4.618 47.636.016 52.238 0 57.92zm0 51.94v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49V99.55H10.3C4.614 99.567.011 104.174 0 109.86z" fill="#aaa"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/android.svg b/site/dist/images/icons/android.svg
    new file mode 100644
    index 000000000..7b7f74754
    --- /dev/null
    +++ b/site/dist/images/icons/android.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 294 345" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(4 2)"><g fill="#a4c639"><g stroke="#fff"><ellipse cx="143" cy="109" rx="91" ry="84" stroke-width="14.4"/><rect height="182" rx="22" stroke-width="14.4" width="182" x="52" y="88"/><rect height="86" rx="6.5" stroke-width="7.2" transform="scale(-1 1) rotate(29 0 -371.045)" width="13" x="100" y="-2.24"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="238" y="109"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="153" y="206"/><rect height="86" rx="6.5" stroke-width="7.2" transform="rotate(29 179.5 40.76)" width="13" x="173" y="-2.24"/><rect height="133" rx="24" stroke-width="7.2" width="48" y="109"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="85" y="206"/></g><ellipse cx="143" cy="109" rx="91" ry="84"/><rect height="182" rx="22" width="182" x="52" y="88"/></g><g fill="#fff" stroke="#fff" stroke-width="7.2"><path d="M48 112.5h190"/><circle cx="101" cy="68" r="4"/><circle cx="185" cy="68" r="4"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/angular-js.svg b/site/dist/images/icons/angular-js.svg
    new file mode 100644
    index 000000000..fed82b9bc
    --- /dev/null
    +++ b/site/dist/images/icons/angular-js.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 673 713" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M337.5.562l334.807 117.826-52.904 438.657L337.145 712.18 53.433 554.942.545 116.303z" fill="#b3b3b3"/><path d="M33.937 141.653L338.283 37.87v637.245L83.227 533.96z" fill="#af2b2d"/><path d="M634.737 143.528l-45.334 392.305-251.118 139.282V37.857z" fill="#df2e31"/><path d="M267.738 354.825l69.99-146.16 61.614 146.16zm-26.685 61.458H426.58l41.505 103.814 77.205 1.428L338.28 61.01 124.055 521.525h71.558z" fill="#f2f2f2" fill-rule="nonzero"/><path d="M338.283 61.01l-.553 147.655-69.918 146.272h70.313l.158 61.25-97.225.096-45.443 105.259-73.873 1.37z" fill="#b3b3b3"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/ar-core.svg b/site/dist/images/icons/ar-core.svg
    new file mode 100644
    index 000000000..faace9694
    --- /dev/null
    +++ b/site/dist/images/icons/ar-core.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 394"><defs><linearGradient id="a" x1="80.258%" x2="21.439%" y1="98.614%" y2="-10.489%"><stop offset="0%" stop-color="#1A237E" stop-opacity=".01"/><stop offset="100%" stop-color="#1A237E" stop-opacity=".3"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#E1BEE7" d="M174.3 121.2c-28.1 0-52.5 15.3-65.7 37.9l51.7 29.8c8.7 5 19.3 5 28 0l51.6-29.8c-13-22.7-37.5-37.9-65.6-37.9z"/><path fill="#FAFAFA" d="M160.3 188.9l-51.7-29.8c-6.5 11.2-10.2 24.1-10.2 37.9 0 41.9 33.9 75.8 75.8 75.8S250 238.9 250 197c0-13.8-3.7-26.8-10.2-37.9l-51.6 29.8c-8.5 5-19.2 5-27.9 0z"/><path fill="#7B1FA2" d="M334.6 289.6L240 234.9c-13.1 22.7-37.6 37.9-65.7 37.9v120.3c4.5 0 8.9-1.2 12.9-3.5l147.5-85.2s.1 0 .1-.1c5.7-3.2 5.5-11.5-.2-14.7z"/><path fill="#4A148C" d="M174.3 272.8c-28.1 0-52.6-15.2-65.7-37.9L4.4 295.1c2.2 3.9 5.5 7.1 9.4 9.4l147.5 85.2c4 2.3 8.4 3.5 12.9 3.5V272.8h.1z"/><path fill="#7B1FA2" d="M174.3 121.2V.9c-4.5 0-8.9 1.2-12.9 3.5L13.9 89.6c-4 2.3-7.2 5.6-9.4 9.4l104.2 60.2c13.1-22.8 37.6-38 65.6-38z"/><path fill="#4A148C" d="M334.8 89.6s-.1 0-.1-.1L187.2 4.3c-4-2.3-8.4-3.5-12.9-3.5v120.3c28.1 0 52.6 15.2 65.7 37.9l94.6-54.6c5.7-3.2 5.9-11.5.2-14.8z"/><path fill="#BA68C8" d="M98.5 197c0-13.8 3.7-26.8 10.1-37.9L4.4 98.9c-2.2 3.9-3.5 8.3-3.5 12.9v170.3c0 4.6 1.2 9 3.5 12.9l104.2-60.2c-6.4-11-10.1-24-10.1-37.8z"/><path fill="url(#a)" d="M240 234.9c-13.1 22.7-37.6 37.9-65.6 37.9-11.2 0-21.9-2.5-31.5-6.8l129.3 74.7 62.6-36.1c5.8-3.3 5.8-11.7 0-15L240 234.9z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/blockly.svg b/site/dist/images/icons/blockly.svg
    new file mode 100644
    index 000000000..626dd7d2b
    --- /dev/null
    +++ b/site/dist/images/icons/blockly.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 144"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M12.64.088C5.935.082.495 5.52.5 12.228v104.72c-.006 6.706 5.434 12.145 12.14 12.14h4.727a19.977 19.977 0 0 0 19.293 14.83 19.977 19.977 0 0 0 19.278-14.83h20.568a8 8 0 0 0 8-8v-113l-8-8H12.64z"/><path fill="#C8D1DB" d="M72.508.082c-.01 17.703-.008 35.402-.008 53.115L55.87 43.8c-2.398-1.353-5.365.376-5.37 3.129v40.62c.005 2.753 2.972 4.482 5.37 3.13l16.63-9.4v47.81h45.48c6.362 0 11.52-5.158 11.52-11.52v-106c-.022-6.346-5.173-11.48-11.52-11.48L72.508.082z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/brillo.png b/site/dist/images/icons/brillo.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..6ad5279e67cb72d78dc82ef3af99250e9573c577
    GIT binary patch
    literal 1719
    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
    N002ovPDHLkV1hVq3^M=#
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/icons/cardboard.svg b/site/dist/images/icons/cardboard.svg
    new file mode 100644
    index 000000000..8986ba7f4
    --- /dev/null
    +++ b/site/dist/images/icons/cardboard.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 734 463"><path fill="#F16523" fill-rule="evenodd" d="M42 0h650c23.196 0 42 18.804 42 42v379c0 23.196-18.804 42-42 42H511.59a35 35 0 0 1-31.416-19.573l-72.015-146.65c-10.224-20.821-35.392-29.411-56.213-19.187a42 42 0 0 0-18.868 18.553L257.37 443.956A35 35 0 0 1 226.218 463H42c-23.196 0-42-18.804-42-42V42C0 18.804 18.804 0 42 0zm159.5 311c45.011 0 81.5-36.489 81.5-81.5S246.511 148 201.5 148 120 184.489 120 229.5s36.489 81.5 81.5 81.5zm333 0c45.011 0 81.5-36.489 81.5-81.5S579.511 148 534.5 148 453 184.489 453 229.5s36.489 81.5 81.5 81.5z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cast.svg b/site/dist/images/icons/cast.svg
    new file mode 100644
    index 000000000..9f6c7b007
    --- /dev/null
    +++ b/site/dist/images/icons/cast.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 18"><path fill="#5F6368" d="M0 15v3h3c0-1.66-1.34-3-3-3zm0-4v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm0-4v2a9 9 0 0 1 9 9h2C11 11.92 6.07 7 0 7zm20-7H2C.9 0 0 .9 0 2v3h2V2h18v14h-7v2h7c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/chrome.svg b/site/dist/images/icons/chrome.svg
    new file mode 100644
    index 000000000..e13c017c3
    --- /dev/null
    +++ b/site/dist/images/icons/chrome.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 176 176" xmlns="http://www.w3.org/2000/svg"><mask id="a" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><mask id="b" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><mask id="c" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><g fill="none" fill-rule="evenodd"><path d="M14 0v108h39l35-60h88V0z" fill="#ea4335" mask="url(#a)"/><path d="M0 176h84l39-39v-29H53L0 16z" fill="#34a853" mask="url(#b)"/><path d="M88 48l35 60-39 68h92V48z" fill="#fbbc05" mask="url(#c)"/><circle cx="88" cy="88" fill="#f1f1f1" r="40"/><circle cx="88" cy="88" fill="#4285f4" r="32"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-appengine.svg b/site/dist/images/icons/cloud-appengine.svg
    new file mode 100644
    index 000000000..1558cdb68
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-appengine.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M101.27 56l-.69-.21-34.9-34.91-7.16 10.47 6 6-15.27 5.56-6 15.18-5.86-5.86-10.51 9.28 54 54h9.42a11.73 11.73 0 0 0 9.87-6.06l19.91-34.65L101.27 56z" opacity=".07"/><g fill="#FFF" fill-rule="nonzero"><path d="M64 35c-12.703 0-23 10.297-23 23s10.297 23 23 23 23-10.297 23-23-10.297-23-23-23m0 40.53c-9.656.005-17.489-7.814-17.5-17.47-.011-9.656 7.805-17.493 17.46-17.51 9.656-.017 17.498 7.794 17.52 17.45A17.48 17.48 0 0 1 64 75.49m36.14-20.22l-9.61-3a27.15 27.15 0 0 1 .32 9.78h9.3a1.69 1.69 0 0 0 1.43-1.57v-3.63a1.69 1.69 0 0 0-1.43-1.57M64 30.85c1.892.002 3.779.2 5.63.59l-3.45-9.57a1.69 1.69 0 0 0-1.58-1.43h-1.44a1.68 1.68 0 0 0-1.58 1.43l-3 9.53a27.26 27.26 0 0 1 5.4-.54M36.85 58a27.15 27.15 0 0 1 .61-5.75l-9.61 3a1.69 1.69 0 0 0-1.43 1.58v3.63a1.69 1.69 0 0 0 1.43 1.57h9.3a27.18 27.18 0 0 1-.3-4.05"/><path d="M72.23 50.48L70 52.66A8.3 8.3 0 0 0 58.31 64.4l-2.18 2.18a11.384 11.384 0 1 0 16.1-16.1m-4.5 11.25a5.28 5.28 0 1 1 0-7.46 5.24 5.24 0 0 1 0 7.46"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-bigquery.svg b/site/dist/images/icons/cloud-bigquery.svg
    new file mode 100644
    index 000000000..2ded0a718
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-bigquery.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M100.17 109.44l17.53-30.49-37.08-37.07L64 37.43 49.07 43 43.3 58l4.64 16.73 40.77 40.77h1.59a11.73 11.73 0 0 0 9.87-6.06z" opacity=".07"/><g fill="#FFF" fill-rule="nonzero"><path d="M64 34.8c-12.806 0-23.188 10.38-23.19 23.187-.002 12.806 10.377 23.19 23.183 23.193C76.8 81.184 87.184 70.806 87.19 58A23.19 23.19 0 0 0 64 34.8m0 40.8A17.6 17.6 0 1 1 81.6 58c0 9.72-7.88 17.6-17.6 17.6"/><path d="M53 57.1v7.21a12.79 12.79 0 0 0 4.38 4.48V57.1H53zm8.67-6.1v19.44a11.78 11.78 0 0 0 4.38 0V51h-4.38zm9.1 9.1v8.56A12.78 12.78 0 0 0 75.15 64v-3.9h-4.38zm9.92 12.19l-2.4 2.41a1.09 1.09 0 0 0 0 1.53l9.11 9.11a1.09 1.09 0 0 0 1.54 0l2.4-2.4a1.09 1.09 0 0 0 0-1.53l-9.12-9.12a1.09 1.09 0 0 0-1.53 0z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-build.svg b/site/dist/images/icons/cloud-build.svg
    new file mode 100644
    index 000000000..7cd13f7af
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-build.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M121.14 73l-32-32L64 32.75l-25.08 8.31L54 56.15v1l-5.47-5.47-11.78 22.14 41.68 41.68h11.91a11.73 11.73 0 0 0 9.87-6.06z" fill="#000" opacity=".07"/><g fill="#fff" fill-rule="nonzero"><path d="M64.04 70.86l11.09-6.4v-12.8l-3.73-2.15-11.09 19.2zm-11.09-19.2v12.8l3.73 2.15 11.09-19.2-3.73-2.15z"/><path d="M61.86 74.66l-13.29-7.67V51.66l-11.82-6.83v28.99l25.11 14.5zM50.74 47.88l13.3-7.68 13.3 7.68 11.83-6.82-25.13-14.51-25.13 14.51zm28.76 3.78v15.33l-13.28 7.67v13.66l25.11-14.5V44.84z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-compute-engine.svg b/site/dist/images/icons/cloud-compute-engine.svg
    new file mode 100644
    index 000000000..b87eafdac
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-compute-engine.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M118.92 76.82L75.64 33.53l-3.1 6.72-6.76-6.75-3.12 6.69L56 33.52l-1.66 8.08-5.94 1-1.23 5.28-7.68 1.84 6.88 6.88-6.81 3 6.81 6.81-6.85 2.99 46.1 46.1h4.68a11.73 11.73 0 0 0 9.87-6.06l18.75-32.62z" opacity=".07"/><path fill="#FFF" d="M69.83 51.1H58.42a1.22 1.22 0 0 0-1.21 1.21v11.41c0 .67.54 1.215 1.21 1.22h11.41A1.22 1.22 0 0 0 71 63.72V52.31a1.22 1.22 0 0 0-1.21-1.21"/><path fill="#FFF" fill-rule="nonzero" d="M87.89 50.18A1.09 1.09 0 0 0 89 49.09v-1.78a1.09 1.09 0 0 0-1.09-1.09h-5.57V41a1.22 1.22 0 0 0-1.21-1.21h-5.21v-5.54a1.09 1.09 0 0 0-1.09-1.09h-1.78A1.09 1.09 0 0 0 72 34.25v5.57h-5.9v-5.57a1.09 1.09 0 0 0-1.1-1.09h-1.76a1.09 1.09 0 0 0-1.09 1.09v5.57h-5.86v-5.57a1.09 1.09 0 0 0-1.09-1.09h-1.78a1.09 1.09 0 0 0-1.09 1.09v5.57h-5.2A1.22 1.22 0 0 0 45.91 41v5.19h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.78a1.09 1.09 0 0 0 1.09 1.09h5.55V56h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.81a1.09 1.09 0 0 0 1.09 1.1h5.55v5.86h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.78a1.09 1.09 0 0 0 1.09 1.09h5.55V75a1.22 1.22 0 0 0 1.21 1.21h5.21v5.57c0 .602.488 1.09 1.09 1.09h1.78a1.09 1.09 0 0 0 1.09-1.09v-5.57h5.86v5.57c0 .602.488 1.09 1.09 1.09H65a1.09 1.09 0 0 0 1.09-1.09v-5.57H72v5.57c0 .602.488 1.09 1.09 1.09h1.78a1.09 1.09 0 0 0 1.09-1.09v-5.57h5.21A1.22 1.22 0 0 0 82.34 75v-5.19h5.55A1.09 1.09 0 0 0 89 68.72v-1.78a1.09 1.09 0 0 0-1.09-1.09h-5.57V60h5.55A1.09 1.09 0 0 0 89 58.9v-1.77A1.09 1.09 0 0 0 87.89 56h-5.55v-5.82h5.55zm-9.65 22H50V43.9h28.24v28.28z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-datalab.svg b/site/dist/images/icons/cloud-datalab.svg
    new file mode 100644
    index 000000000..c150be760
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-datalab.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m126.47 52.12-26.3-45.74a11.56 11.56 0 0 0 -9.86-5.88h-52.61a11.55 11.55 0 0 0 -9.86 5.88l-26.31 45.62a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09h52.61a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="m64.59 19.74-3.45 3.5 8.65 8.65-4 .95 8.6 9.48-3.06.7-10.33-10.34-3.53 3.4 7.37 7.37-6.65-.08-4.39 2.57 4.36 4.36-14.33 24.89 4.17 11.08 29.2 29.23h13.1a11.73 11.73 0 0 0 9.87-6.06l19.76-34.37z" fill="#000" opacity=".07"/><g fill="#fff" transform="translate(42 18)"><circle cx="17.14" cy="16.26" r="2.45"/><circle cx="26.39" cy="12.22" r="3.68"/><circle cx="20.82" cy="3.43" r="2.45"/><path d="m31.14 58-1.73-3h11.86l-11.8-20.44h-.41l10.15 17.44h-26.4l-3.16 5.48c-.22.38-.22.85 0 1.23l3.85 6.67h25.35l4.2-7.28-.05-.1z"/><path d="m43.52 56.73-13.38-23.19a1.23 1.23 0 0 1 -.17-.61v-4.93h2a.5.5 0 0 0 .5-.5v-2.82a.5.5 0 0 0 -.5-.5h-19.89a.5.5 0 0 0 -.5.5v2.82a.5.5 0 0 0 .5.5h2v4.93a1.22 1.22 0 0 1 -.17.61l-13.44 23.19a2.46 2.46 0 0 0 0 2.45l4.89 8.47a2.46 2.46 0 0 0 2.12 1.22h29a2.45 2.45 0 0 0 2.12-1.22l4.89-8.47a2.44 2.44 0 0 0 .03-2.45zm-4.18 1.74-3.34 5.77a1.22 1.22 0 0 1 -1.06.61h-25.94a1.22 1.22 0 0 1 -1-.61l-3.34-5.77a1.23 1.23 0 0 1 0-1.23l13-22.47c.218-.37.336-.79.34-1.22v-5.55h8v5.55c.001.432.115.856.33 1.23l13 22.47c.222.374.23.838.02 1.22z" fill-rule="nonzero"/><path d="m21.55 41.95h11.97l-1.8-2.84h-11.81z"/><path d="m24 46 1.72 2.97h12.21l-1.77-2.97z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-iam.svg b/site/dist/images/icons/cloud-iam.svg
    new file mode 100644
    index 000000000..ce4368b11
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-iam.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M89 38.84L50 38l-3 34.5 2.27 7.8 35.2 35.2h5.83a11.73 11.73 0 0 0 9.87-6.06l21.7-37.73z" fill="#000" opacity=".07"/><path d="M64 27.73L39 38.84v16.67c0 15.42 10.67 29.83 25 33.33 14.33-3.5 25-17.92 25-33.33V38.84zm0 11.77a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm15 33.08a1 1 0 0 1-.17.56c-.18.27-.36.55-.56.81A27.87 27.87 0 0 1 64 84.18 27.87 27.87 0 0 1 49.73 74c-.2-.26-.38-.54-.56-.81a1 1 0 0 1-.17-.56v-4.49c0-6.13 10-9.22 15-9.22S79 62 79 68.14z" fill="#fff" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-iot-core.svg b/site/dist/images/icons/cloud-iot-core.svg
    new file mode 100644
    index 000000000..12bef64b8
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-iot-core.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.1l-26.3-45.74A11.56 11.56 0 0 0 90.31.48H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.63z" fill="#4285f4"/><path d="M88.86 40.6l-7 .32-7.16-7.16-34 12.74-1.6 9.61 9.9 9.84-2.9 4.43-1.59 3.71.26 3.26 38.13 38.13h7.4a11.73 11.73 0 0 0 9.87-6.06l21-36.52z" fill="#000" opacity=".07"/><g fill="#fff" fill-rule="nonzero"><path d="M65.46 74.89V59.23h-3v15.66a5.88 5.88 0 1 0 3 0zm-1.54 8.56a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74zM80.5 67.56v-8.3h-3v8.31a5.88 5.88 0 1 0 3 0zM79 76.12a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74zm-28.52-8.46v-8.41h-3v8.32a5.88 5.88 0 1 0 7.38 5.68 5.71 5.71 0 0 0-4.38-5.59zM49 76.12a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74z"/><path d="M81.21 37.45c-1.18 0-2.352.193-3.47.57a14.87 14.87 0 0 0-27 .19 10.89 10.89 0 1 0-4 21h.69v-8a3.24 3.24 0 1 1 3 0v8.06h27v-8a3.24 3.24 0 1 1 3 0v8h.71c6.014 0 10.89-4.876 10.89-10.89s-4.876-10.89-10.89-10.89zm-15.75 9.18v12.6h-3v-12.6a3.24 3.24 0 1 1 3 0z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-key-management-service.svg b/site/dist/images/icons/cloud-key-management-service.svg
    new file mode 100644
    index 000000000..8220a230c
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-key-management-service.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M92.92 38.09L63.46 27.9 37.22 39.3 37 47.08v11.4l1.81 10.13 3.07 7.06 5.62 10.57L76.06 115h14.19a11.5 11.5 0 0 0 10-5.75l23.4-40.52z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M64 59.43a8.77 8.77 0 1 1 8.76-8.78A8.78 8.78 0 0 1 64 59.43zm0-13a4.22 4.22 0 1 0 4.22 4.22A4.23 4.23 0 0 0 64 46.44z" fill-rule="nonzero"/><path d="M64 95.3l-.54-.13C47.26 91.23 35 75 35 57.39V38.14l29-12.88 28.94 12.88V57.4c0 17.57-12.21 33.82-28.4 37.77zM39.6 41.08v16.31c0 15.35 10.45 29.53 24.4 33.23 14-3.7 24.4-17.88 24.4-33.23V41.08L64 30.23z" fill-rule="nonzero"/><path d="M61.73 56.62h4.54v22.13h-4.54z"/><path d="M54.78 64.44h8.24v4.54h-8.24zm3.01 6.5h6.86v4.54h-6.86z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-machine-learning.svg b/site/dist/images/icons/cloud-machine-learning.svg
    new file mode 100644
    index 000000000..8621afe3c
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-machine-learning.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M80.18 29L68 35l-6-6-21.14 12 4.64 4.64L33.9 63l7.1 7.06L47.82 87l28.5 28.5h14a11.73 11.73 0 0 0 9.87-6.06l22.07-38.38L80.18 29z" opacity=".07"/><path fill="#FFF" fill-rule="nonzero" d="M79.93 68l2.92-5H94.1l2.9-5-7.54-13H77.73l-3.4-6H71v-4h5.67l3.39 6h7.08l-6.96-12H66v17h6.02l2.33 4H66v8h7.6l3.46-6h9.32l2.31 4h-9.32l-3.47 6H66v15h12.49l-2.31 4H66v6h14.18l11.6-20h-6.63l-2.93 5H71v-4h8.93zm-31.86 0l-2.92-5H33.9L31 58l7.54-13h11.73l3.4-6H57v-4h-5.67l-3.39 6h-7.08l6.96-12H62v17h-6.02l-2.33 4H62v8h-7.6l-3.46-6h-9.32l-2.32 4h9.33l3.47 6H62v15H49.51l2.31 4H62v6H47.82l-11.6-20h6.63l2.93 5H57v-4h-8.93z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-monitoring.svg b/site/dist/images/icons/cloud-monitoring.svg
    new file mode 100644
    index 000000000..2ba9f575e
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-monitoring.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M96.59 39l-47.28 8.88-18.4 15.38 6 6-5.46 5 41.26 41.24H90.3a11.73 11.73 0 0 0 9.87-6.06L124.59 67z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M74.2 83.3H54a1 1 0 0 1 0-2h20.2a1 1 0 0 1 0 2z"/><path d="M60.25 73.51h7.74v8.78h-7.74z"/><path d="M85.66 67a1.85 1.85 0 0 1-1.33-.56L70.75 52.33l-9.13 9.6a1.84 1.84 0 0 1-2.5.16l-6.9-5.57-7.31 9.71a1.85 1.85 0 0 1-1.47.74H30.9v5.69a2.47 2.47 0 0 0 2.46 2.46h61.53a2.47 2.47 0 0 0 2.46-2.46V67z"/><path d="M42.51 63.28l7.91-10.5a1.85 1.85 0 0 1 2.63-.33l7.06 5.7 9.29-9.77a1.85 1.85 0 0 1 2.66-.01l14.38 14.9h10.91V40.66a2.47 2.47 0 0 0-2.46-2.46H33.36a2.47 2.47 0 0 0-2.46 2.46v22.62z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-networking.svg b/site/dist/images/icons/cloud-networking.svg
    new file mode 100644
    index 000000000..e21138873
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-networking.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M68.1 34.19l-4-.73-4.1 8.7 3.47 3.47-1 5.62L68.22 57 52.7 58.57 48.11 54l-8 8.06 53.05 53.05a12.26 12.26 0 0 0 7.05-5.65L115.94 82z" fill="#000" opacity=".07"/><g fill="#fff" transform="translate(38 32)"><circle cx="26" cy="6.1" r="5.69"/><circle cx="26" cy="45.92" r="5.69"/><circle cx="6.09" cy="26.01" r="5.69"/><circle cx="45.91" cy="26.01" r="5.69"/><path d="M24.55 47.48L1.04 24.17h39.99L24.55 7.66l2.9-3.07 23.52 23.26h-40l16.48 16.56z"/><path d="M24.51 32.75h2.45v13.49h-2.45zm0-26.98h2.45v13.49h-2.45z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-platform.svg b/site/dist/images/icons/cloud-platform.svg
    new file mode 100644
    index 000000000..aeed0aaa1
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-platform.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 118 106" xmlns="http://www.w3.org/2000/svg"><radialGradient id="a" cx="14.378%" cy="6.752%" gradientTransform="matrix(.88895 0 0 1 .016 0)" r="115.45%"><stop offset="0" stop-color="#fff" stop-opacity=".1"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><g fill="none" fill-rule="evenodd" transform="translate(-5 -11)"><path d="M82.007 95.287l-12 20.86H38.58a7.824 7.824 0 0 1-6.787-3.934l-25.42-44.32a7.828 7.828 0 0 1 0-7.78l9.674-16.86L27.987 64l18 31.287z" fill="#fbbc05"/><path d="M121.627 67.893l-25.42 44.327a7.816 7.816 0 0 1-6.787 3.933H70l12-20.86L100.013 64 82 32.713h23.907l15.713 27.4a7.779 7.779 0 0 1 .007 7.78z" fill="#ea4335"/><path d="M105.913 32.713H45.987L27.987 64l-11.94-20.753 15.746-27.46a7.816 7.816 0 0 1 6.787-3.934h50.847a7.832 7.832 0 0 1 6.786 3.934z" fill="#4285f4"/><path d="M82.007 32.713l18 31.287L82 95.287H45.993L27.987 64l18-31.287z" fill="#e0e0e0"/><circle cx="64" cy="64" fill="#fff" r="15.647"/><path d="M31.793 16.433A7.816 7.816 0 0 1 38.58 12.5h50.847a7.832 7.832 0 0 1 6.786 3.933l9.334 16.28h.373l-9.707-16.926a7.816 7.816 0 0 0-6.786-3.934H38.58a7.824 7.824 0 0 0-6.787 3.934l-15.746 27.46.186.326z" fill="#fff" opacity=".2"/><path d="M27.987 64l18-31.287h59.926l-.373-.653H45.987l-18 31.287" fill="#1a237e" fill-opacity=".2"/><path d="M6.373 60.76l9.674-16.867 11.94 20.754 18 31.286h35.64l.38-.653h-36.02l-18-31.28-11.94-20.753-9.674 16.86a7.874 7.874 0 0 0-1.02 4.22 7.85 7.85 0 0 1 1.02-3.567z" fill="#fff" opacity=".2"/><path d="M70.38 115.493h-31.8a7.824 7.824 0 0 1-6.787-3.933L6.373 67.24a7.853 7.853 0 0 1-1.02-3.567 7.77 7.77 0 0 0 1.02 4.22l25.42 44.327a7.816 7.816 0 0 0 6.787 3.933h31.427z" fill="#bf360c" opacity=".2"/><path d="M100.38 64l-18-31.287h-.373L100.013 64zm21.247 3.24l-25.42 44.327a7.816 7.816 0 0 1-6.787 3.933H70.38l-.38.653h19.42a7.832 7.832 0 0 0 6.787-3.933l25.42-44.327a7.829 7.829 0 0 0 1.02-4.22 7.853 7.853 0 0 1-1.02 3.567z" fill="#3e2723" fill-rule="nonzero" opacity=".2"/><path d="M105.913 33.36l15.714 27.4a7.85 7.85 0 0 1 1.02 3.567 7.77 7.77 0 0 0-1.02-4.22l-15.714-27.4H82.007l.38.653zM82.007 95.94L100.38 64h-.367L82.007 95.287l-12 20.86h.373z" fill="#fff" fill-rule="nonzero" opacity=".2"/><path d="M121.627 60.107l-15.714-27.4-9.706-16.927a7.816 7.816 0 0 0-6.787-3.933H38.58a7.824 7.824 0 0 0-6.787 3.933L6.373 60.107a7.828 7.828 0 0 0 0 7.78l25.42 44.326a7.816 7.816 0 0 0 6.787 3.934h50.847a7.832 7.832 0 0 0 6.786-3.934l25.42-44.326a7.811 7.811 0 0 0-.006-7.78z" fill="url(#a)"/><path d="M0 0h128v128H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-security-command-center.svg b/site/dist/images/icons/cloud-security-command-center.svg
    new file mode 100644
    index 000000000..caa95554b
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-security-command-center.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.474 52.12L100.169 6.378A11.555 11.555 0 0 0 90.306.5h-52.61a11.549 11.549 0 0 0-9.864 5.876L1.527 52.026a11.475 11.475 0 0 0-.002 11.437l26.305 45.95a11.773 11.773 0 0 0 9.864 6.087h52.608a11.726 11.726 0 0 0 9.866-6.06l26.303-45.745a11.728 11.728 0 0 0 .003-11.575z" fill="#4285f4"/><path d="M93.122 35.092L79.9 44.734 59.168 24 34.214 53.5 46.42 65.706l-.103 18.233L77.879 115.5h12.423a11.726 11.726 0 0 0 9.866-6.06l24.57-42.731z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M68.168 40.633A17.958 17.958 0 0 1 81.035 53.5h12.087V35.092L68.168 24zM46.301 53.5a17.958 17.958 0 0 1 12.867-12.867V24.001L34.214 35.09V53.5zm12.867 21.867A17.958 17.958 0 0 1 46.301 62.5H34.986c2.647 13.433 11.93 25.19 24.182 30.058zM81.035 62.5a17.958 17.958 0 0 1-12.867 12.867v17.191C80.419 87.69 89.703 75.933 92.35 62.5z" fill-rule="nonzero"/><circle cx="63.668" cy="58" r="9"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-sql.svg b/site/dist/images/icons/cloud-sql.svg
    new file mode 100644
    index 000000000..9dc968696
    --- /dev/null
    +++ b/site/dist/images/icons/cloud-sql.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M84 39.88l-19.33-6.63-20.46 15.46L57 61.5l-12.83 1.25 12 12L44 76.25l39.27 39.25h7a11.73 11.73 0 0 0 9.87-6.06l19.48-33.88z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M64 28.23L44 39.78v8.93l20 11.54 20-11.54v-8.93zm11.95 15.88L64 51l-11.94-6.89L64 37.21l11.94 6.89z" fill-rule="nonzero"/><path d="M44 53.75v8.93l20 11.55 20-11.55v-8.93L64 65.3z"/><path d="M44 67.29v8.93l20 11.55 20-11.55v-8.93L64 78.84z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud.svg b/site/dist/images/icons/cloud.svg
    new file mode 100644
    index 000000000..2cb988967
    --- /dev/null
    +++ b/site/dist/images/icons/cloud.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 184 149"><g fill="none" fill-rule="evenodd"><path fill="#EA4335" d="M117.109 41.875l5.894.111 16.013-16.013.776-6.781C127.069 7.875 110.328.981 92 .981c-33.185 0-61.182 22.573-69.484 53.166 1.752-1.211 5.481-.309 5.481-.309l32.002-5.257s1.656-2.722 2.474-2.553C69.793 38.016 80.319 32.981 92 32.981c9.504 0 18.239 3.337 25.109 8.894"/><path fill="#4285F4" d="M161.496 54.189c-3.714-13.721-11.387-25.824-21.719-35.009l-22.683 22.683C126.176 49.202 132 60.422 132 72.981v4c11.028 0 20 8.972 20 20s-8.972 20-20.004 20H92l-4.003 4.02v24.001L92 148.981h40c28.673 0 52-23.327 52-52 0-17.726-8.922-33.401-22.504-42.792"/><path fill="#34A853" d="M51.998 148.981h39.969v-32H52.003c-2.939 0-5.723-.653-8.239-1.797l-5.765 1.762-16.021 16.021-1.403 5.406c8.735 6.649 19.624 10.607 31.423 10.608"/><path fill="#FBBC05" d="M52 44.981c-28.673 0-52 23.327-52 52 0 16.883 8.092 31.906 20.597 41.411l23.193-23.194C36.85 112.058 32 105.082 32 96.981c0-11.028 8.972-20 20-20 8.101 0 15.077 4.849 18.218 11.79l23.194-23.194C83.906 53.073 68.883 44.981 52 44.981"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/dart.svg b/site/dist/images/icons/dart.svg
    new file mode 100644
    index 000000000..576c76807
    --- /dev/null
    +++ b/site/dist/images/icons/dart.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 170 171" xmlns="http://www.w3.org/2000/svg"><mask id="a" fill="#fff"><path d="M0 170.667V0h169.536v170.667z" fill-rule="evenodd"/></mask><g fill="none" fill-rule="evenodd" mask="url(#a)" transform="matrix(1 0 0 -1 0 170.667)"><path d="M46.457 124.204l-11.03 11.03.047-79.733.132-3.727c.054-1.753.38-3.732.923-5.782l87.402-30.82 21.848 9.68.008.027z" fill="#55c5a9"/><path d="M145.779 24.852l-21.848-9.68-87.397 30.814c1.67-6.405 5.365-13.605 9.342-17.542L74.399.084 137.819 0l7.968 24.879zm-109.25 21.14l.005-.006c-.005.037-.023.077-.023.113a.27.27 0 0 1 .018-.107z" fill="#72cfb9" fill-rule="nonzero"/><path d="M35.427 135.24L1.457 83.924c-2.822-3.015-1.42-9.233 3.127-13.815l19.612-19.775 12.333-4.342c-.543 2.05-.869 4.03-.923 5.782l-.132 3.727-.047 79.734z" fill="#3a7fca"/><path d="M124.649 134.21c-2.051.525-4.017.847-5.801.905l-3.938.136-79.483-.011L145.799 24.879h.008l9.693 21.869-30.851 87.463" fill="#0f80cc"/><path d="M142.182 124.847c-4.007 4.038-11.112 7.708-17.529 9.36l30.847-87.46-9.693-21.868h-.008l23.687 7.565.05 64.943zm-17.634 9.385c.044-.01.076-.021.105-.025l-.004.004c-.025.01-.057.01-.1.021z" fill="#4ba5e0" fill-rule="nonzero"/><path d="M120.327 146.47l-19.77 19.623c-4.57 4.53-10.793 5.938-13.799 3.123l-51.33-33.976 79.482.01 3.938-.135c1.784-.058 3.75-.38 5.8-.904l-4.321 12.258" fill="#55c5a9"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/design.svg b/site/dist/images/icons/design.svg
    new file mode 100644
    index 000000000..060ab0578
    --- /dev/null
    +++ b/site/dist/images/icons/design.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><g fill="none" fill-rule="evenodd"><circle cx="18" cy="18" r="18" fill="#757575"/><path fill="#BDBDBD" d="M6 6H30V30H6z"/><path fill="#FFF" d="M30 6L18 30 6 6z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/firebase.svg b/site/dist/images/icons/firebase.svg
    new file mode 100644
    index 000000000..c31596b4c
    --- /dev/null
    +++ b/site/dist/images/icons/firebase.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 111 151"><g fill="none" fill-rule="evenodd"><path fill="#FFA000" d="M.7 121.15L19.26 3c.52-3.24 4.88-4 6.42-1.1l19.16 35.63 7.61-14.5a3.42 3.42 0 0 1 3.04-1.83c1.28 0 2.45.7 3.04 1.84l51.67 98.11H.7z"/><path fill="#F57C00" d="M64.68 75.12L44.75 37.53.7 121.15z"/><path fill="#FFCA28" d="M110.2 121.15L96 33.6a3.44 3.44 0 0 0-2.34-2.7 3.45 3.45 0 0 0-3.48.83L.7 121.15l49.53 27.7a10.43 10.43 0 0 0 10 0l49.97-27.7z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/flutter.svg b/site/dist/images/icons/flutter.svg
    new file mode 100644
    index 000000000..b125d76f3
    --- /dev/null
    +++ b/site/dist/images/icons/flutter.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 78 96" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M48.75 95.97L22.84 70.23l14.32-14.57 40.39 40.31z" fill="#02539a"/><g fill="#45d1fd"><path d="M22.52 70.25L48.2 44.57h28.87L37.12 84.52z" fill-opacity=".85"/><path d="M.29 47.85l14.58 14.57L77.07.22H48.05z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/golang.svg b/site/dist/images/icons/golang.svg
    new file mode 100644
    index 000000000..9c1fcec10
    --- /dev/null
    +++ b/site/dist/images/icons/golang.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 207 78" xmlns="http://www.w3.org/2000/svg"><g fill="#00acd7" fill-rule="evenodd"><path d="M16.2 24.1c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h35.7c.4 0 .5.3.3.6l-1.7 2.6c-.2.3-.7.6-1 .6zM1.1 33.3c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h45.6c.4 0 .6.3.5.6l-.8 2.4c-.1.4-.5.6-.9.6l-47.3.1zm24.2 9.2c-.4 0-.5-.3-.3-.6l1.4-2.5c.2-.3.6-.6 1-.6h20c.4 0 .6.3.6.7l-.2 2.4c0 .4-.4.7-.7.7zm103.8-20.2c-6.3 1.6-10.6 2.8-16.8 4.4-1.5.4-1.6.5-2.9-1-1.5-1.7-2.6-2.8-4.7-3.8-6.3-3.1-12.4-2.2-18.1 1.5-6.8 4.4-10.3 10.9-10.2 19 .1 8 5.6 14.6 13.5 15.7 6.8.9 12.5-1.5 17-6.6.9-1.1 1.7-2.3 2.7-3.7H90.3c-2.1 0-2.6-1.3-1.9-3 1.3-3.1 3.7-8.3 5.1-10.9.3-.6 1-1.6 2.5-1.6h36.4c-.2 2.7-.2 5.4-.6 8.1-1.1 7.2-3.8 13.8-8.2 19.6-7.2 9.5-16.6 15.4-28.5 17-9.8 1.3-18.9-.6-26.9-6.6-7.4-5.6-11.6-13-12.7-22.2-1.3-10.9 1.9-20.7 8.5-29.3C71.1 9.6 80.5 3.7 92 1.6c9.4-1.7 18.4-.6 26.5 4.9 5.3 3.5 9.1 8.3 11.6 14.1.6.9.2 1.4-1 1.7z"/><path d="M162.2 77.6c-9.1-.2-17.4-2.8-24.4-8.8-5.9-5.1-9.6-11.6-10.8-19.3-1.8-11.3 1.3-21.3 8.1-30.2 7.3-9.6 16.1-14.6 28-16.7 10.2-1.8 19.8-.8 28.5 5.1 7.9 5.4 12.8 12.7 14.1 22.3 1.7 13.5-2.2 24.5-11.5 33.9-6.6 6.7-14.7 10.9-24 12.8-2.7.5-5.4.6-8 .9zM186 37.2c-.1-1.3-.1-2.3-.3-3.3-1.8-9.9-10.9-15.5-20.4-13.3-9.3 2.1-15.3 8-17.5 17.4-1.8 7.8 2 15.7 9.2 18.9 5.5 2.4 11 2.1 16.3-.6 7.9-4.1 12.2-10.5 12.7-19.1z" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-ads.svg b/site/dist/images/icons/google-ads.svg
    new file mode 100644
    index 000000000..364ab22ce
    --- /dev/null
    +++ b/site/dist/images/icons/google-ads.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 249 227" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M84.9 28.6c2.4-6.3 5.7-12.1 10.6-16.8 19.6-19.1 52-14.3 65.3 9.7 10 18.2 20.6 36 30.9 54 17.2 29.9 34.6 59.8 51.6 89.8 14.3 25.1-1.2 56.8-29.6 61.1-17.4 2.6-33.7-5.4-42.7-21-15.1-26.3-30.3-52.6-45.4-78.8-.3-.6-.7-1.1-1.1-1.6-1.6-1.3-2.3-3.2-3.3-4.9-6.7-11.8-13.6-23.5-20.3-35.2-4.3-7.6-8.8-15.1-13.1-22.7-3.9-6.8-5.7-14.2-5.5-22 .3-4 .8-8 2.6-11.6" fill="#4285f4"/><path d="M84.9 28.6c-.9 3.6-1.7 7.2-1.9 11-.3 8.4 1.8 16.2 6 23.5C100 82 111 101 121.9 120c1 1.7 1.8 3.4 2.8 5-6 10.4-12 20.7-18.1 31.1-8.4 14.5-16.8 29.1-25.3 43.6-.4 0-.5-.2-.6-.5-.1-.8.2-1.5.4-2.3 4.1-15 .7-28.3-9.6-39.7-6.3-6.9-14.3-10.8-23.5-12.1-12-1.7-22.6 1.4-32.1 8.9-1.7 1.3-2.8 3.2-4.8 4.2-.4 0-.6-.2-.7-.5 4.8-8.3 9.5-16.6 14.3-24.9C44.5 98.4 64.3 64 84.2 29.7c.2-.4.5-.7.7-1.1" fill="#fbbc05"/><path d="M10.8 158c1.9-1.7 3.7-3.5 5.7-5.1 24.3-19.2 60.8-5.3 66.1 25.1 1.3 7.3.6 14.3-1.6 21.3-.1.6-.2 1.1-.4 1.7-.9 1.6-1.7 3.3-2.7 4.9-8.9 14.7-22 22-39.2 20.9C19 225.4 3.5 210.6.8 191c-1.3-9.5.6-18.4 5.5-26.6 1-1.8 2.2-3.4 3.3-5.2.5-.4.3-1.2 1.2-1.2" fill="#34a853"/><path d="M10.8 158c-.4.4-.4 1.1-1.1 1.2-.1-.7.3-1.1.7-1.6z" fill="#fabc04"/><path d="M80.6 201c-.4-.7 0-1.2.4-1.7l.4.4z" fill="#e1c025"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-analytics.svg b/site/dist/images/icons/google-analytics.svg
    new file mode 100644
    index 000000000..ad876f891
    --- /dev/null
    +++ b/site/dist/images/icons/google-analytics.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><clipPath id="a"><path d="M16.85 8.53h-3.27A1.44 1.44 0 0 0 12.15 10v4.23H7.42A1.41 1.41 0 0 0 6 15.6v4.73H1.75a1.41 1.41 0 0 0-1.41 1.41V25a1.44 1.44 0 0 0 1.41 1.43h15.1A1.44 1.44 0 0 0 18.29 25V10a1.44 1.44 0 0 0-1.44-1.47z"/></clipPath><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="9.11" x2="17.86" y1="17.29" y2="26.04"><stop offset="0" stop-color="#bf360c" stop-opacity=".2"/><stop offset=".28" stop-color="#bf360c" stop-opacity=".12"/><stop offset=".67" stop-color="#bf360c" stop-opacity=".05"/><stop offset="1" stop-color="#bf360c" stop-opacity=".02"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x2="17.95" y1="23.07" y2="23.07"><stop offset="0" stop-color="#fff" stop-opacity=".1"/><stop offset=".14" stop-color="#fff" stop-opacity=".08"/><stop offset=".61" stop-color="#fff" stop-opacity=".02"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><path d="M-334-139h1392v448H-334z" fill="none"/><g clip-path="url(#a)" transform="matrix(1.7827 0 0 1.7877 -.6 -15.25)"><path d="M16.85 8.53h-3.27A1.44 1.44 0 0 0 12.15 10v16.47h4.7A1.44 1.44 0 0 0 18.29 25V10a1.44 1.44 0 0 0-1.44-1.47z" fill="#f57c00"/><path d="M6 15.6v4.73H1.75a1.41 1.41 0 0 0-1.41 1.41V25a1.44 1.44 0 0 0 1.41 1.43h10.4V14.19H7.42A1.41 1.41 0 0 0 6 15.6z" fill="#ffc107"/><path d="M13.57 26.47h3.28A1.44 1.44 0 0 0 18.29 25v-4.65l-6.14-6.15v12.27z" fill="url(#b)"/><path d="M7.43 14.31h4.71v-.12H7.43A1.41 1.41 0 0 0 6 15.6v.12a1.41 1.41 0 0 1 1.43-1.41zm-5.68 6.14H6v-.12H1.75a1.41 1.41 0 0 0-1.41 1.41v.12a1.41 1.41 0 0 1 1.41-1.41zm15.1-11.92h-3.27A1.44 1.44 0 0 0 12.15 10v.12a1.44 1.44 0 0 1 1.44-1.44h3.26a1.44 1.44 0 0 1 1.44 1.44V10a1.44 1.44 0 0 0-1.44-1.47z" fill="#fff" opacity=".2"/><path d="M16.86 26.35H1.76a1.41 1.41 0 0 1-1.41-1.4v.12a1.41 1.41 0 0 0 1.41 1.41h15.1A1.44 1.44 0 0 0 18.29 25v-.08a1.44 1.44 0 0 1-1.43 1.43z" fill="#bf360c" opacity=".2"/></g><path d="M-2.02 3.17h22.67v22.67H-2.02z" fill="none"/><path d="M16.51 14.1h-3.27a1.44 1.44 0 0 0-1.43 1.47v4.23H7.08a1.41 1.41 0 0 0-1.42 1.37v4.73H1.41A1.41 1.41 0 0 0 0 27.31v3.26A1.44 1.44 0 0 0 1.41 32h15.1a1.44 1.44 0 0 0 1.44-1.43v-15a1.44 1.44 0 0 0-1.44-1.47z" fill="url(#c)"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-assistant.svg b/site/dist/images/icons/google-assistant.svg
    new file mode 100644
    index 000000000..549f5d202
    --- /dev/null
    +++ b/site/dist/images/icons/google-assistant.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 490"><g fill="none" fill-rule="evenodd"><circle cx="156.27" cy="156.71" r="156.27" fill="#4285F4"/><path fill="#34A853" d="M512 171.95a31.76 31.76 0 1 1-63.53 0 31.76 31.76 0 0 1 63.53 0z"/><path fill="#EA4335" d="M454.83 249.45a63.52 63.52 0 1 1-127.04 0 63.52 63.52 0 0 1 127.04 0z"/><path fill="#FBBC05" d="M467.53 413.34a76.22 76.22 0 0 1-76.22 76.22 76.22 76.22 0 1 1 0-152.45 76.23 76.23 0 0 1 76.22 76.23z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-docs.svg b/site/dist/images/icons/google-docs.svg
    new file mode 100644
    index 000000000..25475795a
    --- /dev/null
    +++ b/site/dist/images/icons/google-docs.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M12.534 0H0v27.079h21.277V8.743L16.441 0z" fill="#3980fc"/><path d="M16.441 4.836l4.836 4.835V4.836z" fill="#2054b2"/><path d="M16.441 4.836h4.836L16.441 0z" fill="#9ec2ff"/><path d="M4.062 9.381h12.96m-12.96 2.708h12.96M4.062 14.99h12.96m-12.96 2.708h7.737" stroke="#fff" stroke-width=".967"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-drive.svg b/site/dist/images/icons/google-drive.svg
    new file mode 100644
    index 000000000..0575c78c7
    --- /dev/null
    +++ b/site/dist/images/icons/google-drive.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 28 25" xmlns="http://www.w3.org/2000/svg"><radialGradient id="a" cx="5.644%" cy="-354.17%" gradientTransform="matrix(.31608 .5 -.18249 .86603 -.608 -.503)" r="646.47%"><stop offset="0" stop-color="#4387fd"/><stop offset=".65" stop-color="#3078f0"/><stop offset=".91" stop-color="#2b72ea"/><stop offset="1" stop-color="#286ee6"/></radialGradient><radialGradient id="b" cx="-15.599%" cy="-89.033%" gradientTransform="matrix(.72554 .5 -.41889 .86603 -.416 -.041)" r="345.036%"><stop offset="0" stop-color="#ffd24d"/><stop offset="1" stop-color="#f6c338"/></radialGradient><g fill="none" fill-rule="evenodd"><path d="M5.238 24.23L.557 16.125 9.319.942 14 9.046z" fill="#0da960"/><path d="M4.681 23.443l4.681-8.105h17.524l-4.681 8.105z" fill="url(#a)" transform="translate(.557 .787)"/><path d="M26.886 15.338h-9.362L8.762.155h9.362z" fill="url(#b)" transform="translate(.557 .787)"/><path d="M14 16.125H9.919l2.031-3.539L5.238 24.23z" fill="#2d6fdd"/><path d="M18.081 16.125h9.362L16.05 12.586z" fill="#e5b93c"/><path d="M11.95 12.586L14 9.046 9.319.942z" fill="#0c9b57"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-g.svg b/site/dist/images/icons/google-g.svg
    new file mode 100644
    index 000000000..125d1f9f5
    --- /dev/null
    +++ b/site/dist/images/icons/google-g.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47 48"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18v6h7.73c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91H2.56v6.19C6.51 42.62 14.62 48 24 48z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59 0-1.6.27-3.14.76-4.59v-6.19H2.56C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-maps.svg b/site/dist/images/icons/google-maps.svg
    new file mode 100644
    index 000000000..46b80256d
    --- /dev/null
    +++ b/site/dist/images/icons/google-maps.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 67 68" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#34a853" height="58.905" rx="5.238" width="58.905" y="8.344"/><path d="M29.842 37.258L1.43 65.67a5.114 5.114 0 0 0 3.705 1.58H53.77c1.66 0 3.126-.784 4.064-1.998z" fill="#4285f4"/><path d="M49.703.1C40.622.1 33.26 7.127 33.26 15.796c.007 2.707.65 5.365 2.051 7.718.422.69.815 1.38 1.166 2.066.327.491.638.985.931 1.478.337.467.66.937.969 1.41 1.284 1.734 2.45 3.433 3.565 5.066.777 1.25 1.65 2.587 2.417 3.91 2.316 4.013 3.927 7.932 4.508 13.638v.012c.179.404.507.652.862.654.395-.001.753-.308.911-.783.591-5.642 2.194-9.536 4.494-13.52.767-1.324 1.64-2.661 2.417-3.911 1.114-1.633 2.28-3.332 3.565-5.066.308-.473.632-.943.969-1.41.293-.493.604-.987.93-1.478a31.55 31.55 0 0 1 1.167-2.066c1.397-2.354 1.96-5.012 1.964-7.718C66.146 7.127 58.784.1 49.703.1z" fill="#ea4335"/><ellipse cx="49.703" cy="15.796" fill="#811411" rx="5.712" ry="5.453"/><path d="M13.987 14.111c-4.578 0-8.29 3.777-8.29 8.435 0 4.659 3.712 8.435 8.29 8.435 2.982 0 4.71-.938 6.21-2.465 1.5-1.526 2.047-3.835 2.047-6.164 0-.356-.023-.709-.063-1.058h-8.093v2.982h4.753c-.193.743-.52 1.421-1.036 1.946-.924.94-1.988 1.518-3.824 1.518-2.819 0-5.104-2.326-5.104-5.194s2.285-5.193 5.104-5.193c1.37 0 2.566.398 3.513 1.267l2.334-2.334-.004-.004c-1.557-1.494-3.548-2.17-5.837-2.17z" fill="#fff"/><path d="M38.375 28.466l-7.82 7.82 27.91 27.91c.28-.636.44-1.34.44-2.082V31.569c-.46.661-.915 1.322-1.354 1.965-.777 1.25-1.65 2.587-2.417 3.91-2.3 3.985-3.903 7.88-4.494 13.521-.158.475-.516.781-.911.783-.355-.001-.683-.25-.861-.654l-.001-.012c-.58-5.706-2.192-9.625-4.508-13.637-.767-1.324-1.64-2.661-2.417-3.911-1.114-1.633-2.281-3.332-3.565-5.066l-.002-.003z" fill="#9aa0a6"/><path d="M35.252 37.438l-6.029 6.029 23.781 23.781h.766a5.123 5.123 0 0 0 5.135-5.134V61.09z" fill="#fff"/><path d="M0 61.32v.795a5.123 5.123 0 0 0 5.135 5.134h.994l34.957-34.957c-.86-1.25-1.745-2.52-2.71-3.823a36.829 36.829 0 0 0-.968-1.41 35.92 35.92 0 0 0-.93-1.478c-.083-.16-.174-.32-.26-.48z" fill="#fbbc05"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-sheets.svg b/site/dist/images/icons/google-sheets.svg
    new file mode 100644
    index 000000000..c621818d0
    --- /dev/null
    +++ b/site/dist/images/icons/google-sheets.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M16.441 0l4.836 4.836v22.243H0V0z" fill="#029d55"/><path d="M16.344 4.836l4.836 4.835V4.836z" fill="#000" opacity=".2"/><path d="M16.344 0v4.836h4.836z" fill="#fff" opacity=".4"/><path d="M7.834 9.284v8.317m-2.805-5.512h10.832M4.933 9.381h11.025v8.317H4.933zm.096 5.609h10.832" stroke="#fff" stroke-width=".967"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-slides.svg b/site/dist/images/icons/google-slides.svg
    new file mode 100644
    index 000000000..ad795b630
    --- /dev/null
    +++ b/site/dist/images/icons/google-slides.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M12.534 0H0v27.079h21.277V8.743L16.441 0z" fill="#f6b502"/><path d="M16.441 4.836l4.836 4.835V4.836z" fill="#d89f01"/><path d="M16.441 4.836h4.836L16.441 0z" fill="#ffe25e"/><path d="M17.215 18.762H8.511v-7.157h8.704zm-7.737-1.548h6.77v-4.061h-6.77z" fill="#fff" fill-rule="nonzero"/><path d="M5.029 9.478h7.544v4.836H5.029z" fill="#f6b502"/><path d="M13.153 15.474H4.449V8.317h8.704zm-7.737-1.548h6.77V9.864h-6.77v4.063z" fill="#fff" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-wallet.svg b/site/dist/images/icons/google-wallet.svg
    new file mode 100644
    index 000000000..fcd058447
    --- /dev/null
    +++ b/site/dist/images/icons/google-wallet.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 175 187" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M68.1 83.6C57.5 69 42.8 56.2 26.1 47.3c-2.5-1.4-5.4-2.1-8.3-2.1-6.5 0-12.4 3.5-15.5 9.3C-2.3 63 1 73.7 9.5 78.2c25.7 13.8 42.3 40 44.3 70.4v-.1c-.3-3.4.3-6.7 1.8-9.8.2-.4.5-.9.8-1.4 8-13.2 12.3-28.4 12.3-44 0-3.3-.3-6.5-.6-9.7" fill="#4285f4"/><path d="M169.9 50.6c-3.1-13.6-7.7-26.8-13.7-39.4C153 4.5 146.1.1 138.7.1c-2.9 0-5.7.6-8.3 1.9-9.7 4.6-13.8 16.2-9.2 25.8 9.8 20.8 14.7 42.7 14.7 65.5s-4.9 44.7-14.5 65.1c-.1.3-1.8 3.9-1.8 8.1 0 1.2.1 2.9.5 4.5 1.3 5.5 4.8 10.5 10.6 13.2 2.6 1.2 5.4 1.9 8.3 1.9 7.1 0 13.6-3.9 17-10.1 3.9-7.3 7.8-16.8 11.2-29.1 1.1-3.7 2-7.2 2.8-10.9 3.1-13.9 4.8-28.1 4.8-42.7-.1-14.4-1.8-28.9-4.9-42.7" fill="#34a853"/><path d="M88 30.3c-.3-.6-.7-1.1-1.1-1.6-1.3-1.7-2.8-3.1-4.6-4.2-2.9-1.9-6.4-3-10-3-3 0-4.5.4-6.6 1.2-2.2.9-4.5 2.1-6.6 4.3s-3.3 4.4-4.2 6.8c-1.8 4.7-1.5 10.8 1.5 15.8C62.8 59.9 66.6 71.7 68 83.8c.4 3.2.6 6.5.6 9.7 0 15.6-4.2 30.8-12.3 44-.3.5-.5.9-.8 1.4-1.6 3.1-2.1 6.6-1.8 9.9.5 5.6 3.6 10.9 8.8 14.1 1.3.8 2.8 1.4 4.2 1.9 1.7.5 3.5.8 5.3.8 6.5 0 12.4-3.3 15.8-8.9C98 140 103.9 121 105.2 101.5c.2-2.6.3-5.3.3-7.9.1-22.6-6-44.4-17.5-63.3" fill="#ea4335"/><path d="M121.3 158.4c9.7-20.4 14.6-42.3 14.6-65.1 0-7.8-.5-13.5-.9-17.2-12.7-20.3-31.1-38.5-52.7-51.7 0 0 .5.3.5.4 1.5 1.1 2.7 2.2 4.1 3.9.3.4.8 1 1.1 1.6 11.5 19 17.5 40.7 17.5 63 0 2.7-.1 5.3-.3 7.9 9.2 17.5 14.2 37.4 14.2 58.3v6.3c.1-2.2.6-4.5 1.4-6.5.3-.3.4-.6.5-.9" fill="#fbbc05"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/gsuite.svg b/site/dist/images/icons/gsuite.svg
    new file mode 100644
    index 000000000..7662dc754
    --- /dev/null
    +++ b/site/dist/images/icons/gsuite.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 77 78" xmlns="http://www.w3.org/2000/svg"><path d="M39.672 77.648c-7.073 0-13.579-1.665-19.518-4.995-5.94-3.33-10.661-7.931-14.163-13.803C2.489 52.98.738 46.405.738 39.126s1.751-13.853 5.253-19.724C9.493 13.53 14.214 8.93 20.154 5.598 26.094 2.27 32.599.604 39.672.604c5.768 0 11.038 1.013 15.81 3.038 4.773 2.026 8.876 4.893 12.309 8.601l-9.579 9.373c-2.472-2.61-5.201-4.566-8.189-5.871-2.987-1.305-6.471-1.957-10.454-1.957-4.532 0-8.686 1.047-12.463 3.142-3.777 2.094-6.78 5.08-9.013 8.96-2.231 3.88-3.347 8.292-3.347 13.236s1.133 9.356 3.399 13.236 5.304 6.866 9.116 8.96c3.81 2.095 7.982 3.142 12.514 3.142 6.867 0 12.497-2.026 16.892-6.077 1.373-1.236 2.575-2.815 3.605-4.738s1.785-4.017 2.266-6.283H39.363V35.521h36.153c.48 1.923.721 4.086.721 6.489 0 4.875-.738 9.407-2.215 13.596-1.476 4.189-3.725 7.862-6.746 11.021-3.296 3.57-7.279 6.3-11.948 8.189-4.67 1.888-9.888 2.832-15.656 2.832z" fill="#9aa0a6" fill-rule="evenodd"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/nest.svg b/site/dist/images/icons/nest.svg
    new file mode 100644
    index 000000000..677c85661
    --- /dev/null
    +++ b/site/dist/images/icons/nest.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 107 98"><g fill="#5F6368" fill-rule="evenodd"><path d="M64.7 68.1c0-6.3-5.2-11.5-11.5-11.5-6.4 0-11.5 5.1-11.5 11.5V98h23V68.1z"/><path d="M87.6 28.5V12.7h-11v6.7L53 0 0 43.7l8.9 10.7 9.6-7.9V98h13.4V68.1c0-11.7 9.5-21.2 21.3-21.2 11.7 0 21.3 9.5 21.3 21.2V98h13.2V46.5l9.6 7.9 8.9-10.7-18.6-15.2z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/openthread.svg b/site/dist/images/icons/openthread.svg
    new file mode 100644
    index 000000000..79690a545
    --- /dev/null
    +++ b/site/dist/images/icons/openthread.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 888 889"><path fill="#484848" fill-rule="evenodd" d="M434.18 888.394C193.5 883.17 0 686.433 0 444.5 0 199.286 198.786.5 444 .5s444 198.786 444 444c0 214.316-151.845 393.166-353.82 434.836V448.902h49.343l1.85-.137c46.493-3.454 84.639-23.295 110.44-55.536 21.905-27.371 33.278-61.91 33.343-95.73.052-6.152-.486-14.31-2.073-23.944-2.537-15.402-7.21-30.839-14.749-45.694-23.174-45.671-67.522-74.095-129.78-74.095-48.67 0-87.34 17.616-112.887 50.742-19.718 25.567-29.446 56.717-33.324 94.199-1.623 15.687-2.078 28.266-2.152 50.195H294.68c-97.742 0-176.977 79.235-176.977 176.977 0 48.432 15.05 89.685 45.621 120.802 29.198 29.718 77.004 52.298 137.252 55.985v-98.8c-31.886-4.984-53.398-14.524-65.918-27.268-11.147-11.345-16.955-27.265-16.955-50.72 0-42.512 34.464-76.976 76.977-76.976h139.5v439.492zm145.44-539.492h-45.428c.069-18.41.438-28.482 1.62-39.904 2.138-20.67 6.659-35.144 13.041-43.42 2.654-3.44 5.674-5.871 9.712-7.71 5.626-2.564 13.423-4.102 23.99-4.102 13.794 0 23.15 2.552 29.615 6.696 4.621 2.962 8.17 7.095 10.988 12.65 2.523 4.971 4.278 10.77 5.255 16.696.353 2.148.572 4.117.683 5.808.033.512.052.93.06 1.24v.351c0 11.874-4.115 24.413-11.42 33.54-8.073 10.088-20.063 16.498-38.116 18.155z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/polymer.svg b/site/dist/images/icons/polymer.svg
    new file mode 100644
    index 000000000..413e50ceb
    --- /dev/null
    +++ b/site/dist/images/icons/polymer.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 414 286" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M83.157 143l-41.279 71.5L83.157 286l41.279-71.5z" fill="#303f9f"/><path d="M330.842 0l-41.281 71.5 41.281 71.5 41.279-71.5z" fill="#3f51b5"/><path d="M372.121 71.5L248.278 286h82.564L413.4 143z" fill="#7986cb"/><path d="M248.278 0L83.157 286h82.564L330.842 0z" fill="#ff4081"/><path d="M83.157 0L.596 143l41.282 71.5L165.721 0z" fill="#536dfe"/><path d="M248.278 0l41.283 71.5L330.842 0z" fill="#fff" fill-opacity=".2"/><path d="M207 71.5L248.278 0l41.283 71.5z" fill="#fff" fill-opacity=".1"/><path d="M207 71.5l41.278 71.5 41.283-71.5z"/><g fill="#000"><path d="M165.721 143L207 71.5l41.278 71.5z" fill-opacity=".1"/><path d="M165.721 143L207 214.5l41.278-71.5z" fill-opacity=".2"/><path d="M124.438 214.5l41.283-71.5L207 214.5z" fill-opacity=".3"/><path d="M124.438 214.5l41.283 71.5L207 214.5z" fill-opacity=".4"/><path d="M83.157 286l41.281-71.5 41.283 71.5z" fill-opacity=".5"/></g><path d="M83.157 0l41.281 71.5L165.721 0z" fill="#fff" fill-opacity=".2"/><path d="M41.878 71.5L83.157 0l41.281 71.5z" fill="#fff" fill-opacity=".1"/><path d="M41.878 71.5L83.157 143l41.281-71.5z"/><path d="M.598 143l41.28-71.5L83.157 143z" fill="#000" fill-opacity=".1"/><path d="M.598 143l41.28 71.5L83.157 143z" fill="#000" fill-opacity=".2"/><path d="M124.438 214.5L83.157 143l-41.279 71.5z"/><path d="M124.438 214.5L83.157 286l-41.279-71.5zm247.683-143L330.842 0l-41.281 71.5z" fill="#000" fill-opacity=".2"/><path d="M372.121 71.5L330.842 143l-41.281-71.5z"/><path d="M330.842 143l41.279-71.5L413.4 143z" fill="#fff" fill-opacity=".2"/><path d="M330.842 143l41.279 71.5L413.4 143z" fill="#fff" fill-opacity=".1"/><path d="M289.561 214.5l41.281-71.5 41.279 71.5z"/><g fill="#000"><path d="M289.561 214.5l41.281 71.5 41.279-71.5z" fill-opacity=".1"/><path d="M248.278 286l41.283-71.5 41.281 71.5z" fill-opacity=".2"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/slurm.svg b/site/dist/images/icons/slurm.svg
    new file mode 100644
    index 000000000..bb506920e
    --- /dev/null
    +++ b/site/dist/images/icons/slurm.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 534 267" xmlns="http://www.w3.org/2000/svg"><path d="m248.519.356c-10.038 0-18.172 8.076-18.172 18.042v34.726c0 9.959 8.134 18.044 18.172 18.044h36.093c10.037 0 18.185-8.085 18.185-18.044v-34.726c0-9.966-8.148-18.042-18.185-18.042h-36.093zm88.715 54.946c-7.54 0-13.654 6.177-13.654 13.775v26.499c0 7.606 6.115 13.777 13.654 13.777h27.118c7.54 0 13.65-6.171 13.65-13.777v-26.5c0-7.597-6.11-13.774-13.65-13.774zm-168.457 0c-7.537 0-13.652 6.177-13.652 13.775v26.499c0 7.606 6.115 13.777 13.652 13.777h27.117c7.536 0 13.654-6.171 13.654-13.777v-26.5c0-7.597-6.118-13.774-13.654-13.774zm79.742 30.395c-10.038 0-18.172 8.072-18.172 18.043v34.724c0 9.964 8.134 18.047 18.172 18.047h36.093c10.037 0 18.185-8.083 18.185-18.047v-34.724c0-9.971-8.148-18.043-18.185-18.043zm158.475 16.279c-5.607 0-10.153 4.585-10.153 10.248v19.713c0 5.65 4.546 10.24 10.153 10.24h20.174c5.604 0 10.152-4.59 10.152-10.24v-19.713c0-5.663-4.548-10.248-10.152-10.248zm-300.14 0c-5.606 0-10.157 4.585-10.157 10.248v19.713c0 5.65 4.55 10.24 10.156 10.24h20.168c5.613 0 10.158-4.59 10.158-10.24v-19.713c0-5.663-4.545-10.248-10.158-10.248h-20.168zm230.38 20.747c-7.54 0-13.654 6.166-13.654 13.765v26.508c0 7.6 6.115 13.769 13.654 13.769h27.118c7.54 0 13.65-6.17 13.65-13.77v-26.507c0-7.599-6.11-13.765-13.65-13.765zm-168.457 0c-7.537 0-13.652 6.166-13.652 13.765v26.508c0 7.6 6.115 13.769 13.652 13.769h27.117c7.536 0 13.654-6.17 13.654-13.77v-26.507c0-7.599-6.118-13.765-13.654-13.765zm238.217 33.392c-5.607 0-10.153 4.583-10.153 10.239v19.713c0 5.652 4.546 10.242 10.153 10.242h20.174c5.604 0 10.152-4.59 10.152-10.242v-19.713c0-5.656-4.548-10.24-10.152-10.24h-20.174zm-300.14 0c-5.606 0-10.157 4.583-10.157 10.239v19.713c0 5.652 4.55 10.242 10.156 10.242h20.168c5.613 0 10.158-4.59 10.158-10.242v-19.713c0-5.656-4.545-10.24-10.158-10.24h-20.168zm141.665 14.18c-10.038 0-18.172 8.08-18.172 18.046v34.726c0 9.965 8.134 18.039 18.172 18.039h36.093c10.037 0 18.185-8.074 18.185-18.039v-34.726c0-9.966-8.148-18.046-18.185-18.046zm218.094 14.836c-4.17 0-7.543 3.408-7.543 7.606v14.633c0 4.198 3.373 7.6 7.543 7.6h14.974c4.158 0 7.528-3.402 7.528-7.6v-14.633c0-4.198-3.37-7.606-7.528-7.606zm-414.175 0c-4.164 0-7.537 3.408-7.537 7.606v14.633c0 4.198 3.373 7.6 7.537 7.6h14.967c4.167 0 7.539-3.402 7.539-7.6v-14.633c0-4.198-3.372-7.606-7.539-7.606h-14.967zm284.796 5.024c-7.54 0-13.654 6.162-13.654 13.763v26.502c0 7.607 6.115 13.774 13.654 13.774h27.118c7.54 0 13.65-6.167 13.65-13.774v-26.502c0-7.6-6.11-13.763-13.65-13.763zm-168.457 0c-7.537 0-13.652 6.162-13.652 13.763v26.502c0 7.607 6.115 13.774 13.652 13.774h27.117c7.536 0 13.654-6.167 13.654-13.774v-26.502c0-7.6-6.118-13.763-13.654-13.763zm238.217 20.503c-5.607 0-10.153 4.595-10.153 10.256v19.709c0 5.662 4.546 10.24 10.153 10.24h20.174c5.604 0 10.152-4.578 10.152-10.24v-19.709c0-5.66-4.548-10.256-10.152-10.256zm-300.14 0c-5.606 0-10.157 4.595-10.157 10.256v19.709c0 5.662 4.55 10.24 10.156 10.24h20.168c5.613 0 10.158-4.578 10.158-10.24v-19.709c0-5.66-4.545-10.256-10.158-10.256h-20.168zm359.76 19.041c-4.17 0-7.544 3.404-7.544 7.602v14.634c0 4.19 3.373 7.606 7.543 7.606h14.974c4.158 0 7.528-3.416 7.528-7.606v-14.633c0-4.199-3.37-7.603-7.528-7.603h-14.974zm-414.176 0c-4.164 0-7.537 3.404-7.537 7.602v14.634c0 4.19 3.373 7.606 7.537 7.606h14.967c4.167 0 7.539-3.416 7.539-7.606v-14.633c0-4.199-3.372-7.603-7.539-7.603h-14.967zm463.61 14.622c-3.143 0-5.697 2.567-5.697 5.736v11.04c0 3.16 2.554 5.732 5.697 5.732h11.295c3.13 0 5.682-2.573 5.682-5.732v-11.04c0-3.169-2.552-5.736-5.682-5.736zm-509.365 0c-3.141 0-5.691 2.567-5.691 5.736v11.04c0 3.16 2.55 5.732 5.69 5.732h11.288c3.142 0 5.685-2.573 5.685-5.732v-11.04c0-3.169-2.543-5.736-5.685-5.736h-11.287z" fill="#42afeb"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/tensorflow.svg b/site/dist/images/icons/tensorflow.svg
    new file mode 100644
    index 000000000..a750ab71f
    --- /dev/null
    +++ b/site/dist/images/icons/tensorflow.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 115 123" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M65.461 18.898v18.897l32.73 18.898V37.795zM0 37.795v18.898l16.365 9.449V47.244zm49.096 9.449l-16.365 9.449v56.693l16.365 9.448V85.04l16.365 9.449V75.59l-16.365-9.448z" fill="#e55b2d"/><path d="M65.461 18.898L16.365 47.244v18.898l32.731-18.898v18.898l16.365-9.45V18.899zm49.096 9.448l-16.365 9.45v18.897l16.365-9.449zm-32.73 37.796L65.46 75.59v18.898l16.366-9.449V66.142zM65.46 94.488l-16.365-9.449v37.795l16.365-9.448z" fill="#ed8e24"/><path d="M65.461 0L0 37.795l16.365 9.449 49.096-28.346 32.73 18.897 16.366-9.449zm0 56.693l-16.365 9.449 16.365 9.448 16.366-9.448-16.366-9.45z" fill="#f8bf3c"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/unity.svg b/site/dist/images/icons/unity.svg
    new file mode 100644
    index 000000000..4d6ad6f80
    --- /dev/null
    +++ b/site/dist/images/icons/unity.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 107 110" xmlns="http://www.w3.org/2000/svg"><path d="M69.495 54.878l19.118 33.015 9.238-33.015-9.238-33.006zm-9.32-5.36l19.122-33.01-33.3 8.532-24.059 24.478h38.239-.001zm19.119 43.74L60.176 60.244H21.937l24.06 24.478zm27.293-27.144l-11.664 43.392-43.536-11.63-6.444-11.328-13.077.093L0 54.876l31.866-31.758 13.072.096 6.454-11.329L94.922.255l11.665 43.388-6.624 11.235z" fill="#222c37"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/wear-os.svg b/site/dist/images/icons/wear-os.svg
    new file mode 100644
    index 000000000..52be5322a
    --- /dev/null
    +++ b/site/dist/images/icons/wear-os.svg
    @@ -0,0 +1 @@
    +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 70"><g fill="none" fill-rule="evenodd" transform="translate(0 -1)"><path fill="#4285F4" fill-rule="nonzero" d="M6.74 1.831c4.92-2.052 10.603.203 12.692 5.039l21.93 50.764c2.09 4.836-.206 10.419-5.127 12.471-4.921 2.053-10.604-.203-12.692-5.038L1.612 14.302C-.477 9.467 1.819 3.883 6.74 1.83z"/><path fill="#FBBC05" fill-rule="nonzero" d="M37.93 1.831c4.92-2.052 10.603.203 12.692 5.039l21.93 50.764c2.09 4.836-.206 10.419-5.127 12.471-4.921 2.053-10.604-.203-12.692-5.038L32.802 14.302c-2.089-4.835.207-10.419 5.128-12.471z"/><ellipse cx="89.783" cy="11.035" fill="#EA4335" rx="10.217" ry="10.039"/><ellipse cx="80.102" cy="33.228" fill="#34A853" rx="10.217" ry="10.039"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/weave.svg b/site/dist/images/icons/weave.svg
    new file mode 100644
    index 000000000..1c327df83
    --- /dev/null
    +++ b/site/dist/images/icons/weave.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 96 76" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M56.47.82c.17-.45.7-.82 1.18-.82h4.72c.48 0 .74.37.57.82L34.9 75.18c-.17.45-.7.82-1.19.82h-4.15c-.48 0-.74-.37-.57-.82zm32.73 0c.17-.45.7-.82 1.18-.82h4.72c.48 0 .74.37.57.82L67.63 75.18c-.17.45-.7.82-1.19.82H62.3c-.48 0-.74-.37-.57-.82z" fill="#8bc34a"/><g fill="#0f9d58"><path d="M34.28 75.18c.17.45-.09.82-.57.82h-4.14c-.48 0-1.02-.37-1.19-.82L.34.82C.17.37.42 0 .91 0h4.72c.48 0 1.01.37 1.18.82z"/><path d="M43.5 26.99c-.17.45-.44.45-.61 0L33.07.82c-.18-.45.08-.82.56-.82h4.72c.48 0 1.01.37 1.18.82l6.52 17.67c.17.45.17 1.19 0 1.64zm9.08 10.77c.18-.45.46-.44.63.01l13.8 37.41c.17.45-.09.82-.57.82h-4.15c-.48 0-1.02-.37-1.19-.82L50.03 45.79c-.17-.45-.16-1.19.01-1.64z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/web.svg b/site/dist/images/icons/web.svg
    new file mode 100644
    index 000000000..205ed3154
    --- /dev/null
    +++ b/site/dist/images/icons/web.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 119 82" xmlns="http://www.w3.org/2000/svg"><path d="M108.565 37.797l-25.096-17.42 4.852-6.99 30.131 20.915v6.99L88.321 62.209l-4.852-6.99zM35.316 55.219l-4.852 6.99L.332 41.292v-6.99l30.131-20.915 4.852 6.99-25.096 17.42zM71.024.518l7.87 3.236L46.976 81.35l-7.87-3.236z" fill="#4285f4"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/lockup_developers_color_color.svg b/site/dist/images/lockup_developers_color_color.svg
    new file mode 100644
    index 000000000..155e2287d
    --- /dev/null
    +++ b/site/dist/images/lockup_developers_color_color.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 357 47" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M112 1.43h4.93v33.53H112z" fill="#34a853"/><g fill-rule="nonzero"><path d="M48.5 13.04c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46S59.95 31.1 59.95 24.5c0-6.64-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.08-2.98 6.94-6.44 6.94z" fill="#ea4335"/><path d="M73.5 13.09c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46s11.45-4.86 11.45-11.46c0-6.65-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.07-2.98 6.94-6.44 6.94z" fill="#fbbc05"/><path d="M104.23 15.65h-.17c-1.13-1.34-3.3-2.56-6.03-2.56-5.73 0-10.98 5.03-10.98 11.5C87.05 31.01 92.3 36 98.03 36c2.73 0 4.9-1.22 6.03-2.6h.17v1.65c0 4.38-2.34 6.73-6.12 6.73-3.08 0-4.99-2.21-5.77-4.08l-4.38 1.82c1.26 3.04 4.6 6.77 10.15 6.77 5.9 0 10.89-3.47 10.89-11.93V14h-4.77zm-5.78 15.84c-3.47 0-6.38-2.91-6.38-6.9 0-4.04 2.91-6.99 6.38-6.99 3.43 0 6.12 2.95 6.12 6.99 0 3.99-2.69 6.9-6.12 6.9zm-71.22-4.08c1.39-1.39 2.32-3.42 2.67-6.41H18.22v-4.76H34.6c.17.87.3 2.06.3 3.2 0 3.66-1 8.19-4.22 11.41-3.14 3.27-7.14 5.01-12.46 5.01C8.38 35.86.1 27.84.1 18S8.38.14 18.22.14c5.44 0 9.32 2.13 12.24 4.92L27.02 8.5c-2.09-1.96-4.92-3.48-8.8-3.48-7.19 0-12.81 5.79-12.81 12.98s5.62 12.98 12.81 12.98c4.66 0 7.32-1.87 9.01-3.57z" fill="#4285f4"/><path d="M130.77 31.49c-2.56 0-4.38-1.17-5.55-3.47l15.32-6.34-.52-1.3c-.95-2.56-3.86-7.29-9.81-7.29-5.9 0-10.81 4.64-10.81 11.46 0 6.42 4.86 11.46 11.37 11.46 5.25 0 8.29-3.21 9.55-5.08l-3.91-2.6c-1.3 1.9-3.08 3.16-5.64 3.16zm-.39-13.98c2 0 3.69 1 4.25 2.43l-10.24 4.25c-.13-4.42 3.43-6.68 5.99-6.68z" fill="#ea4335"/><path d="M151 34.96h9.36c9.53 0 15.51-6.32 15.51-15.3 0-8.93-5.98-15.3-15.51-15.3H151zm3.93-3.76V8.13h5.43c7.01 0 11.49 4.23 11.49 11.54 0 7.35-4.49 11.54-11.49 11.54h-5.43zm34.06 4.44c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm13.59 12.99h3.93l8.55-20.94h-4.19l-6.24 16.24h-.09l-6.15-16.24h-4.27zm24.1.68c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm11.71 12.99V4.37h-3.93v30.59zm14.14-21.62c-6.28 0-10.77 4.79-10.77 11.15s4.49 11.15 10.77 11.15 10.77-4.79 10.77-11.15-4.49-11.15-10.77-11.15zm0 18.71c-3.5 0-6.84-2.78-6.84-7.56s3.33-7.56 6.84-7.56c3.5 0 6.84 2.78 6.84 7.56s-3.34 7.56-6.84 7.56zm25.21 3.59c5.3 0 9.96-4.74 9.96-11.15s-4.66-11.15-9.96-11.15c-3.33 0-5.94 1.67-7.14 3.59h-.17v-2.91h-3.76v30.17h3.93v-9.23l-.17-2.91h.17c1.2 1.92 3.81 3.59 7.14 3.59zm-.64-3.59c-3.5 0-6.67-2.78-6.67-7.56s3.16-7.56 6.67-7.56c3.5 0 6.67 2.86 6.67 7.56s-3.17 7.56-6.67 7.56zm23.67 3.59c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.5 0 6.04 3.2 6.16 5.04zm11.71 12.99V23.51c0-3.85 2.73-6.11 5.43-6.11.85 0 1.54.09 2.09.3l1.5-3.67c-.81-.34-1.67-.51-2.95-.51-2.18 0-5.21 1.54-6.07 3.93h-.17v-3.42h-3.76v20.94h3.93zm19.14.68c4.91 0 8.25-2.86 8.25-6.58 0-2.56-1.62-5.13-5.77-6.11l-4.14-.98c-1.67-.38-2.78-1.11-2.78-2.44 0-1.71 1.92-2.69 4.14-2.69 2.05 0 3.97.81 4.79 2.78l3.42-1.41c-1.28-3.2-4.44-4.87-8.08-4.87-4.36 0-8.29 2.44-8.29 6.24 0 3.67 3.67 5.34 5.6 5.81l4.23 1.03c2.22.56 2.86 1.71 2.86 2.78 0 1.75-1.75 2.95-4.19 2.95-2.52 0-4.57-1.28-5.68-3.93l-3.5 1.45c1.24 2.98 4.1 5.97 9.14 5.97z" fill="#000" opacity=".54"/></g><path d="M0-1h357v48H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/lockup_developers_light_color.svg b/site/dist/images/lockup_developers_light_color.svg
    new file mode 100644
    index 000000000..6df8d43be
    --- /dev/null
    +++ b/site/dist/images/lockup_developers_light_color.svg
    @@ -0,0 +1 @@
    +<svg viewBox="0 0 357 47" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M112 1.43h4.93v33.53H112zM48.5 13.04c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46S59.95 31.1 59.95 24.5c0-6.64-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.08-2.98 6.94-6.44 6.94zm25-18.35c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46s11.45-4.86 11.45-11.46c0-6.65-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.07-2.98 6.94-6.44 6.94zm30.73-15.84h-.17c-1.13-1.34-3.3-2.56-6.03-2.56-5.73 0-10.98 5.03-10.98 11.5C87.05 31.01 92.3 36 98.03 36c2.73 0 4.9-1.22 6.03-2.6h.17v1.65c0 4.38-2.34 6.73-6.12 6.73-3.08 0-4.99-2.21-5.77-4.08l-4.38 1.82c1.26 3.04 4.6 6.77 10.15 6.77 5.9 0 10.89-3.47 10.89-11.93V14h-4.77zm-5.78 15.84c-3.47 0-6.38-2.91-6.38-6.9 0-4.04 2.91-6.99 6.38-6.99 3.43 0 6.12 2.95 6.12 6.99 0 3.99-2.69 6.9-6.12 6.9zm-71.22-4.08c1.39-1.39 2.32-3.42 2.67-6.41H18.22v-4.76H34.6c.17.87.3 2.06.3 3.2 0 3.66-1 8.19-4.22 11.41-3.14 3.27-7.14 5.01-12.46 5.01C8.38 35.86.1 27.84.1 18S8.38.14 18.22.14c5.44 0 9.32 2.13 12.24 4.92L27.02 8.5c-2.09-1.96-4.92-3.48-8.8-3.48-7.19 0-12.81 5.79-12.81 12.98s5.62 12.98 12.81 12.98c4.66 0 7.32-1.87 9.01-3.57zm103.54 4.08c-2.56 0-4.38-1.17-5.55-3.47l15.32-6.34-.52-1.3c-.95-2.56-3.86-7.29-9.81-7.29-5.9 0-10.81 4.64-10.81 11.46 0 6.42 4.86 11.46 11.37 11.46 5.25 0 8.29-3.21 9.55-5.08l-3.91-2.6c-1.3 1.9-3.08 3.16-5.64 3.16zm-.39-13.98c2 0 3.69 1 4.25 2.43l-10.24 4.25c-.13-4.42 3.43-6.68 5.99-6.68zM151 34.96h9.36c9.53 0 15.51-6.32 15.51-15.3 0-8.93-5.98-15.3-15.51-15.3H151zm3.93-3.76V8.13h5.43c7.01 0 11.49 4.23 11.49 11.54 0 7.35-4.49 11.54-11.49 11.54h-5.43zm34.06 4.44c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm13.59 12.99h3.93l8.55-20.94h-4.19l-6.24 16.24h-.09l-6.15-16.24h-4.27zm24.1.68c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm11.71 12.99V4.37h-3.93v30.59zm14.14-21.62c-6.28 0-10.77 4.79-10.77 11.15s4.49 11.15 10.77 11.15 10.77-4.79 10.77-11.15-4.49-11.15-10.77-11.15zm0 18.71c-3.5 0-6.84-2.78-6.84-7.56s3.33-7.56 6.84-7.56c3.5 0 6.84 2.78 6.84 7.56s-3.34 7.56-6.84 7.56zm25.21 3.59c5.3 0 9.96-4.74 9.96-11.15s-4.66-11.15-9.96-11.15c-3.33 0-5.94 1.67-7.14 3.59h-.17v-2.91h-3.76v30.17h3.93v-9.23l-.17-2.91h.17c1.2 1.92 3.81 3.59 7.14 3.59zm-.64-3.59c-3.5 0-6.67-2.78-6.67-7.56s3.16-7.56 6.67-7.56c3.5 0 6.67 2.86 6.67 7.56s-3.17 7.56-6.67 7.56zm23.67 3.59c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.5 0 6.04 3.2 6.16 5.04zm11.71 12.99V23.51c0-3.85 2.73-6.11 5.43-6.11.85 0 1.54.09 2.09.3l1.5-3.67c-.81-.34-1.67-.51-2.95-.51-2.18 0-5.21 1.54-6.07 3.93h-.17v-3.42h-3.76v20.94h3.93zm19.14.68c4.91 0 8.25-2.86 8.25-6.58 0-2.56-1.62-5.13-5.77-6.11l-4.14-.98c-1.67-.38-2.78-1.11-2.78-2.44 0-1.71 1.92-2.69 4.14-2.69 2.05 0 3.97.81 4.79 2.78l3.42-1.41c-1.28-3.2-4.44-4.87-8.08-4.87-4.36 0-8.29 2.44-8.29 6.24 0 3.67 3.67 5.34 5.6 5.81l4.23 1.03c2.22.56 2.86 1.71 2.86 2.78 0 1.75-1.75 2.95-4.19 2.95-2.52 0-4.57-1.28-5.68-3.93l-3.5 1.45c1.24 2.98 4.1 5.97 9.14 5.97z" fill="#fff" fill-rule="nonzero"/><path d="M0-1h357v48H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/logo.png b/site/dist/images/logo.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..5777f2bcfc5821da014689eac0594e947d505584
    GIT binary patch
    literal 29499
    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
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/images/og-image.png b/site/dist/images/og-image.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..c9bb5a09564fda654e5074bb4d7ca5081a963594
    GIT binary patch
    literal 10470
    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
    ADgXcg
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/index.html b/site/dist/index.html
    new file mode 100644
    index 000000000..02b29ee1f
    --- /dev/null
    +++ b/site/dist/index.html
    @@ -0,0 +1,145 @@
    +
    +<!doctype html>
    +<html lang="en">
    +<head>
    +<meta charset="utf-8">
    +<meta name="description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    +<meta name="viewport" content="width=device-width,initial-scale=1">
    +<meta name="generator" content="Codelabs">
    +<meta name="application-name" content="Codelabs">
    +<link rel="canonical" href="https://scott3142.uk/codelabs-landing/">
    +<link rel="preconnect" href="https://www.google-analytics.com">
    +<script>
    +window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    +    ga('create', 'UA-49880327-14', 'auto');
    +    ga('send', 'pageview');
    +</script>
    +<script async src="https://www.google-analytics.com/analytics.js"></script>
    +<title>Codelabs</title>
    +<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    +<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    +<style is="custom-style">
    +:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    +<meta name="apple-mobile-web-app-capable" content="yes">
    +<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    +<meta name="apple-mobile-web-app-title" content="Codelabs">
    +<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    +<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    +<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    +<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    +<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    +<link rel="manifest" href="site.webmanifest">
    +<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    +<meta name="msapplication-TileColor" content="#455a64">
    +<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    +<meta name="theme-color" content="#455a64">
    +<meta name="og:type" property="og:type" content="website">
    +<meta name="og:title" property="og:title" content="Codelabs">
    +<meta name="og:description" property="og:description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    +<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/">
    +<meta name="og:site_name" property="og:site_name" content="Codelabs">
    +<meta name="og:determiner" property="og:determiner" content="the">
    +<meta name="og:locale" property="og:locale" content="en_US">
    +<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:type" property="og:image:type" content="image/png">
    +<meta name="og:image:width" property="og:image:width" content="1200">
    +<meta name="og:image:height" property="og:image:height" content="1200">
    +<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    +<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    +<meta name="twitter:title" property="twitter:title" content="Codelabs">
    +<meta name="twitter:description" property="twitter:description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    +<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/">
    +</head>
    +<body id="app" is="body-bind" class="loading fullbleed">
    +<paper-header-panel id="main" mode="standard" main>
    +<div id="mainToolbar" class="paper-header">
    +<div class="site-width layout horizontal">
    +<a href="/">
    +<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    +</a>
    +<div id="searchbar">
    +<paper-input-container no-label-float>
    +<paper-icon-button prefix icon="search"></paper-icon-button>
    +<label>Search</label>
    +<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    +</paper-input-container>
    +</div>
    +</div>
    +</div>
    +<header id="banner" down$="[[_toBoolean(selectedFilter)]]">
    +<div class="site-width">
    +<h2 class="banner-title">Welcome to Codelabs!</h2>
    +<div class="banner-description" data-filter-selected$="[[_toBoolean(selectedFilter)]]">
    +<p class="banner-info">
    +Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.
    +<br>
    +<a href="https://github.com/googlecodelabs/tools">Codelab tools on GitHub</a>
    +</p>
    +</div>
    +</div>
    +</header>
    +<main>
    +<div id="filters" class="site-width layout horizontal center justified">
    +<div id="sortby">
    +<paper-tabs selected="0" noink on-iron-activate="sortBy">
    +<paper-tab>A-Z</paper-tab>
    +<paper-tab>Recent</paper-tab>
    +<paper-tab>Duration</paper-tab>
    +</paper-tabs>
    +</div>
    +<paper-dropdown-menu label="Choose an event" class="dropdown-filter" no-label-float noink no-animations>
    +<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="/vslive/" tabindex="-1">
    +<paper-item>Visual Studio Live</paper-item>
    +</a>
    +</paper-listbox>
    +</paper-dropdown-menu>
    +</div>
    +<card-sorter id="cards" class="site-width">
    +</card-sorter>
    +<div id="loading-placeholder" class="site-width">
    +Loading Codelabs, please wait...
    +</div>
    +</main>
    +<footer id="footer">
    +<div class="footer-wrapper site-width">
    +<div class="link-list">
    +<label>Connect</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Programs</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Developer Consoles</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Explore</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +</div>
    +</footer>
    +<div class="footerbar">
    +<div class="site-width layout horizontal center justified">
    +<span>
    +<a href="https://example.com">Terms</a>
    +&nbsp; | &nbsp;
    +<a href="https://example.com">Privacy</a>
    +</span>
    +</div>
    +</div>
    +</paper-header-panel>
    +<script src="scripts/main.js"></script>
    +</body>
    +</html>
    diff --git a/site/dist/robots.txt b/site/dist/robots.txt
    new file mode 100644
    index 000000000..4d521f952
    --- /dev/null
    +++ b/site/dist/robots.txt
    @@ -0,0 +1,4 @@
    +# robotstxt.org
    +
    +User-agent: *
    +Disallow:
    diff --git a/site/dist/scripts/main.js b/site/dist/scripts/main.js
    new file mode 100644
    index 000000000..175c20778
    --- /dev/null
    +++ b/site/dist/scripts/main.js
    @@ -0,0 +1 @@
    +"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},URLSearchParams=URLSearchParams||function(){function t(t){return encodeURIComponent(t).replace(a,s)}function e(t){return decodeURIComponent(t.replace(i," "))}function r(t){if(this[l]=Object.create(null),t)for(var r,n,a=(t||"").split("&"),i=0,o=a.length;i<o;i++)-1<(r=(n=a[i]).indexOf("="))&&this.append(e(n.slice(0,r)),e(n.slice(r+1)))}var n=r.prototype,a=/[!'\(\)~]|%20|%00/g,i=/\+/g,o={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},s=function(t){return o[t]},c=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),l="__URLSearchParams__:"+Math.random();n.append=function(t,e){var r=this[l];t in r?r[t].push(""+e):r[t]=[""+e]},n.delete=function(t){delete this[l][t]},n.get=function(t){var e=this[l];return t in e?e[t][0]:null},n.getAll=function(t){var e=this[l];return t in e?e[t].slice(0):[]},n.has=function(t){return t in this[l]},n.set=function(t,e){this[l][t]=[""+e]},n.forEach=function(t,e){var r=this[l];Object.getOwnPropertyNames(r).forEach(function(n){r[n].forEach(function(r){t.call(e,r,n,this)},this)},this)},n.keys=function(){var t=[];this.forEach(function(e,r){t.push(r)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},n.values=function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},n.entries=function(){var t=[];this.forEach(function(e,r){t.push([r,e])});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},c&&(n[Symbol.iterator]=n.entries),n.toJSON=function(){return{}},n.toString=function(){var e,r,n,a,i=this[l],o=[];for(r in i)for(n=t(r),e=0,a=i[r];e<a.length;e++)o.push(n+"="+t(a[e]));return o.join("&")};var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,h=function(t){function e(e,r){n.append.call(this,e,r),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function r(e){n.delete.call(this,e),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function a(e,r){n.set.call(this,e,r),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}return function(t,n){return t.append=e,t.delete=r,t.set=a,u(t,"_usp",{configurable:!0,writable:!0,value:n})}},d=function(t){var e=t.append;t.append=n.append,r.call(t,t._usp.search.slice(1)),t.append=e},p=function(t,e){if(!(t instanceof e))throw new TypeError("'searchParams' accessed on an object that does not implement interface "+e.name)},v=function(t){var e,n=t.prototype,a=f(n,"searchParams"),i=f(n,"href"),o=f(n,"search");!a&&o&&o.set&&(e=function(t){return function(e,r){return u(e,"_searchParams",{configurable:!0,writable:!0,value:t(r,e)}),r}}(h(o)),Object.defineProperties(n,{href:{get:function(){return i.get.call(this)},set:function(t){var e=this._searchParams;i.set.call(this,t),e&&d(e)}},search:{get:function(){return o.get.call(this)},set:function(t){var e=this._searchParams;o.set.call(this,t),e&&d(e)}},searchParams:{get:function(){return p(this,t),this._searchParams||e(this,new r(this.search.slice(1)))},set:function(r){p(this,t),e(this,r)}}}))};return v(HTMLAnchorElement),/^function|object$/.test("undefined"==typeof URL?"undefined":_typeof(URL))&&v(URL),r}();!function(t,e){var r=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()}),function(){if("registerElement"in e&&"import"in e.createElement("link")&&"content"in e.createElement("template"))e.dispatchEvent(new Event("WebComponentsReady"));else{var t=e.createElement("script");t.async=!0,t.src="/bower_components/webcomponentsjs/webcomponents-lite.min.js",e.head.appendChild(t)}}()};e.addEventListener("AppReady",function(){e.body.classList.remove("loading")}),e.addEventListener("WebComponentsReady",function(){var r=function(){var r=e.querySelector("#app");function n(){var t=e.querySelector(".js-lucky-link");if(t){var n=r.$.cards.querySelectorAll(".codelab-card");if(n.length<2)return t.href="#",void(t.parentNode.style.display="none");var a=Math.floor(Math.random()*n.length);t.href=n[a].href,t.parentNode.style.display=null}}r.categoryStartCards={},r.kioskTags=[],r.addEventListener("dom-change",function(t){if(!r._readied){var n=e.querySelectorAll(".codelab-card");Array.prototype.forEach.call(n,function(t,e){var n=t.getAttribute("data-category");void 0===r.categoryStartCards[n]&&(r.categoryStartCards[n]=t)})}}),r.codelabUrl=function(t,e){var r="index="+encodeURIComponent("../.."+t.url);return t.ga&&(r+="&viewga="+t.ga),e.url+"?"+r},r.sortBy=function(t,e){var r=e.item.textContent.trim().toLowerCase();this.$.cards.sort(r)},r.filterBy=function(t,e){e.hasOwnProperty("selected")?this.$.cards.filterByCategory(e.selected):(e.kioskTags=r.kioskTags,this.$.cards.filter(e))},r.onCategoryActivate=function(e,r){var a=e.target.selectedItem;a&&a.getAttribute("filter")===r.selected&&(r.selected=null),r.selected||this.async(function(){e.target.selected=null}),this.filterBy(e,{selected:r.selected});var i=new URLSearchParams(t.location.search.slice(1));i.delete("cat"),r.selected&&i.set("cat",r.selected);var o=t.location.pathname,s="?"+i;"?"!==s&&(o+=s),t.history.pushState({},"",o),n()};var a=e.querySelector("#chips");return a&&a.addEventListener("click",function(t){if(t.preventDefault(),t.stopPropagation(),t.target.getAttribute("filter")){t.target.classList.toggle("selected");for(var e=[],i=a.querySelectorAll(".js-chips__item.selected"),o=0;o<i.length;o++){var s=i[o].getAttribute("filter");s&&e.push(s)}r.filterBy(null,{tags:e}),n()}}),r.reconstructFromURL=function(){for(var e=new URLSearchParams(t.location.search.slice(1)),i=e.get("cat"),o=e.getAll("tags"),s=e.get("filter"),c=o.length;c--;)"kiosk"!==o[c]&&"kiosk-"!==o[c].substr(0,6)||(r.kioskTags.push(o[c]),o.splice(c,1));this.$.categorylist&&(this.$.categorylist.selected=i),this.$.sidelist&&(this.$.sidelist.selected=i),o&&function(t){if(a){t=Array.isArray(t)?t:[t];for(var e=a.querySelectorAll(".js-chips__item"),r=0;r<e.length;r++){var n=e[r];-1!=t.indexOf(n.getAttribute("filter"))?n.classList.add("selected"):n.classList.remove("selected")}}}(o),this.filterBy(null,{cat:i,tags:o}),s&&(r.searchVal=s,r.onSearchKeyDown()),n()},r.navigate=function(e){e.preventDefault();var r=function(e){t.location.href=e},n=e.currentTarget;n.hasAttribute("data-wait-for-ripple")?n.addEventListener("transitionend",r.bind(n,n.href)):r(n.href)},r.clearSearch=function(t,e){this.searchVal=null,this.$.cards.filterByText(null)},r.onSearchKeyDown=function(t,e){this.debounce("search",function(){this.$.cards.filterByText(r.searchVal)},250)},r}();t.addEventListener("popstate",function(){r.reconstructFromURL()}),r._setupDebouncers&&r._setupDebouncers(),r.reconstructFromURL(),e.dispatchEvent(new Event("AppReady"))}),"complete"===e.readyState||"loaded"===e.readyState||"interactive"===e.readyState?r():e.addEventListener("DOMContentLoaded",r)}(window,document);
    \ No newline at end of file
    diff --git a/site/dist/site.webmanifest b/site/dist/site.webmanifest
    new file mode 100644
    index 000000000..ffdf81974
    --- /dev/null
    +++ b/site/dist/site.webmanifest
    @@ -0,0 +1,54 @@
    +{
    +  "name": "Google Codelabs",
    +  "short_name": "Codelabs",
    +  "theme_color": "#455a64",
    +  "background_color": "#455a64",
    +  "display": "standalone",
    +  "icons": [
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-36x36.png",
    +      "sizes": "36x36",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-48x48.png",
    +      "sizes": "48x48",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-72x72.png",
    +      "sizes": "72x72",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-96x96.png",
    +      "sizes": "96x96",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-144x144.png",
    +      "sizes": "144x144",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-192x192.png",
    +      "sizes": "192x192",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-256x256.png",
    +      "sizes": "256x256",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-384x384.png",
    +      "sizes": "384x384",
    +      "type": "image/png"
    +    },
    +    {
    +      "src": "{{baseUrl}}/images/favicons/android-chrome-512x512.png",
    +      "sizes": "512x512",
    +      "type": "image/png"
    +    }
    +  ]
    +}
    diff --git a/site/dist/styles/main.css b/site/dist/styles/main.css
    new file mode 100644
    index 000000000..8c5cf9ac1
    --- /dev/null
    +++ b/site/dist/styles/main.css
    @@ -0,0 +1 @@
    +.layout.horizontal,.layout.horizontal-reverse,.layout.vertical,.layout.vertical-reverse{display:-webkit-flex;display:-ms-flexbox;display:flex}.layout.horizontal{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.layout.vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.layout.wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.flex,.flex-1{-ms-flex:1;-webkit-flex:1;flex:1}.layout.start{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.layout.center,.layout.center-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-end}.layout.start-justified{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout.center-center,.layout.center-justified{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.layout.end-justified{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between}.self-start{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start}.self-center{-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.self-end{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end}.self-stretch{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.block{display:block}[hidden]{display:none!important}.invisible{visibility:hidden!important}.relative{position:relative}.fit{bottom:0;left:0;position:absolute;right:0;top:0}body.fullbleed{height:100vh;margin:0}.scroll{-webkit-overflow-scrolling:touch;overflow:auto}body{color:#5c5c5c;font-size:16px;line-height:24px}body,h1{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-weight:400}h1{font-size:56px;letter-spacing:-.026em;line-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h2{font-size:45px;letter-spacing:-.018em;line-height:48px}h2,h3{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-weight:400}h3{font-size:34px;letter-spacing:-.01em;line-height:40px}h4{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px}*{box-sizing:border-box;margin:0;outline:none}body{background:#eceff1}body.view #banner{padding-bottom:24px;padding-top:80px;position:relative}body #loading-placeholder{display:none;padding:40px 0;text-align:center}body.loading card-sorter#cards,body.loading div#filters,body.loading div#searchbar{display:none}body.loading div#loading-placeholder{display:block}b{font-weight:500}a{color:currentcolor;text-decoration:none}li,ul{list-style:none;padding:0}.site-width{margin:0 auto;max-width:1024px;width:90vw}#banner{background-color:#fff;box-shadow:0 3px 6px -3px #bdbdbd;padding:40px 0 48px}#banner[down] .banner-slider{-webkit-transform:none;transform:none}#banner[down] .banner-title{visibility:hidden}#banner h2,#banner h3{font-weight:300}#banner #logo{height:125px;max-width:100%;width:auto}#banner .banner-slider{-webkit-transform:translateY(-100%);background-color:#eceff1;color:#546e7a;max-width:100%;padding:8px 0;position:absolute;top:0;transform:translateY(-100%);transition:-webkit-transform .4s cubic-bezier(0,0,.2,1);transition:transform .4s cubic-bezier(0,0,.2,1);transition:transform .4s cubic-bezier(0,0,.2,1),-webkit-transform .4s cubic-bezier(0,0,.2,1);width:100%;will-change:transform}#banner .banner-slider h3{font-size:30px}#banner .banner_arrows{margin-left:16px}#banner .banner-title{margin-bottom:8px}#banner .banner-description .banner-meta{padding:0 32px}#banner .banner-description .banner-meta h3{margin-bottom:8px}#banner paper-button{-webkit-font-smoothing:antialiased;background-color:#607d8b;color:#fff;font-family:Roboto,Noto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;line-height:normal;min-width:150px;padding:8px 16px;text-align:center;text-transform:uppercase}#banner paper-button.iron-selected{background-color:#455a64}#sortby{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:24px 0}#sortby paper-tabs{text-transform:uppercase}#sortby paper-tabs paper-tab{margin:auto 7px;padding:0 5px}.paper-button-0,.paper-menu-button-0{border-radius:3px!important}.dropdown-filter{background-color:#fff;border-radius:3px}.dropdown-content{border-radius:3px!important}.dropdown-content paper-item:hover{background:#eee;cursor:pointer}@media (max-width:767px){#banner{line-height:16px;padding:16px 0}#banner paper-button{display:inline-block;margin:16px 0 0}#filters{height:20px;margin:0;padding:0;visibility:hidden}.banner-info{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;line-height:24px;width:100%}.banner-description{-ms-flex-align:center;-ms-flex-direction:column;-webkit-align-items:center;-webkit-flex-direction:column;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column}.banner-technologies{left:0;position:absolute;width:100%;z-index:1}.banner-title{font-size:7vw}.banner-meta{display:none}#logo{margin-bottom:16px}.filters{width:100%}}@media (min-width:768px){#banner .banner-title,#banner paper-button{margin-bottom:16px}.banner-info{line-height:32px;margin-right:32px}.banner-info a{text-decoration:underline}.banner-description{display:-webkit-flex;display:-ms-flexbox;display:flex}.banner-description .banner-info{-ms-flex:1;-webkit-flex:1;flex:1}}#mainToolbar{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background-color:#455a64;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;height:64px;padding:16px}#mainToolbar paper-icon-button[icon=menu]{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}#mainToolbar a{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}#mainToolbar .logo-icon{height:24px;margin-right:16px;width:30px}#mainToolbar .logo-devs{height:36px;margin-top:5px;width:216px}#searchbar{border-radius:3px}#searchbar paper-input-container{padding:0}#searchbar paper-input-container input,#searchbar paper-input-container label{color:#fff}#searchbar paper-input-container label{opacity:.5}@media (min-width:768px){#searchbar{background-color:#546e7a;transition:background-color .4s cubic-bezier(0,0,.2,1);width:100%}#searchbar:hover{background-color:#78909c}.logo-devs{margin:5px 32px 0 0}}@media (max-width:767px){#searchbar paper-input-container{display:none}#mainToolbar{height:56px}#mainToolbar paper-icon-button[icon=menu]{margin-right:8px;width:40px}}.ads-icon{background-image:url(/images/icons/google-ads.svg)}.analytics-bg{background-color:#f37c22}.codelab-card.category-analytics{border-bottom-color:#f37c22}.analytics-icon{background-image:url(/images/icons/google-analytics.svg)}.android-bg,.android-kotlin-bg,.android-tv-bg{background-color:#a4c639}.codelab-card.category-android,.codelab-card.category-android-kotlin,.codelab-card.category-android-tv{border-bottom-color:#a4c639}.android-icon,.android-kotlin-icon,.android-tv-icon{background-image:url(/images/icons/android.svg)}.android-auto-bg{background-color:#03a9f4}.codelab-card.category-android-auto{border-bottom-color:#03a9f4}.android-auto-icon{background-image:url(/images/icons/android-auto.svg)}.android-things-bg{background-color:#6c6c6c}.codelab-card.category-android-things{border-bottom-color:#6c6c6c}.android-things-icon{background-image:url(/images/icons/android-things.svg)}.assistant-icon{background-image:url(/images/icons/google-assistant.svg)}.ar-bg,.ar-core-bg,.augmented-reality-bg,.augmented-reality-core-bg{background-color:#4a148c}.codelab-card.category-ar,.codelab-card.category-ar-core,.codelab-card.category-augmented-reality,.codelab-card.category-augmented-reality-core{border-bottom-color:#4a148c}.ar-core-icon,.ar-icon,.augmented-reality-core-icon,.augmented-reality-icon{background-image:url(/images/icons/ar-core.svg)}.cardboard-bg,.games-bg,.play-games-bg,.virtual-reality-bg,.virtual-reality-games-bg,.virtualreality-bg,.virtualreality-games-bg,.vr-bg{background-color:#f16523}.codelab-card.category-cardboard,.codelab-card.category-games,.codelab-card.category-play-games,.codelab-card.category-virtual-reality,.codelab-card.category-virtual-reality-games,.codelab-card.category-virtualreality,.codelab-card.category-virtualreality-games,.codelab-card.category-vr{border-bottom-color:#f16523}.cardboard-icon,.games-icon,.play-games-icon,.virtual-reality-games-icon,.virtual-reality-icon,.virtualreality-games-icon,.virtualreality-icon,.vr-icon{background-image:url(/images/icons/cardboard.svg)}.apps-bg,.g-suite-bg,.gsuite-bg{background-color:#9aa0a6}.codelab-card.category-apps,.codelab-card.category-g-suite,.codelab-card.category-gsuite{border-bottom-color:#9aa0a6}.apps-icon,.g-suite-icon,.gsuite-icon{background-image:url(/images/icons/gsuite.svg)}.docs-icon{background-image:url(/images/icons/google-docs.svg)}.drive-icon{background-image:url(/images/icons/google-drive.svg)}.sheets-icon{background-image:url(/images/icons/google-sheets.svg)}.slides-bg{background-color:#fbbc05}.codelab-card.category-slides{border-bottom-color:#fbbc05}.slides-icon{background-image:url(/images/icons/google-slides.svg)}.blockly-icon{background-image:url(/images/icons/blockly.svg)}.brillo-bg{background-color:#3bbaf3}.codelab-card.category-brillo{border-bottom-color:#3bbaf3}.brillo-icon{background-image:url(/images/icons/brillo.svg)}.cast-icon,.chrome-cast-icon,.chromecast-icon{background-image:url(/images/icons/cast.svg)}.chrome-icon,.google-chrome-icon,.googlechrome-icon{background-image:url(/images/icons/chrome.svg)}.cloud-about-icon,.cloud-cloud-tools-icon,.cloud-general-icon,.cloud-icon,.cloud-other-icon,.cloud-others-icon,.cloud-platform-icon,.cloud-tools-icon{background-image:url(/images/icons/cloud-platform.svg)}.cloud-app-engine-icon,.cloud-appengine-icon{background-image:url(/images/icons/cloud-appengine.svg)}.big-query-icon,.bigquery-icon,.cloud-big-query-icon,.cloud-bigquery-icon{background-image:url(/images/icons/cloud-bigquery.svg)}.cloud-build-icon{background-image:url(/images/icons/cloud-build.svg)}.cloud-compute-engine-icon,.cloud-compute-icon{background-image:url(/images/icons/cloud-compute-engine.svg)}.cloud-data-lab-icon,.cloud-datalab-icon{background-image:url(/images/icons/cloud-datalab.svg)}.cloud-iam-icon{background-image:url(/images/icons/cloud-iam.svg)}.cloud-iot-core-icon,.cloud-iot-icon,.iot-core-icon,.iot-icon{background-image:url(/images/icons/cloud-iot-core.svg)}.cloud-key-management-service-icon,.cloud-kms-icon{background-image:url(/images/icons/cloud-key-management-service.svg)}.cloud-machine-learning-icon,.cloud-ml-icon{background-image:url(/images/icons/cloud-machine-learning.svg)}.cloud-monitor-icon,.cloud-monitoring-icon{background-image:url(/images/icons/cloud-monitoring.svg)}.cloud-network-icon,.cloud-networking-icon{background-image:url(/images/icons/cloud-networking.svg)}.cloud-security-command-center-icon,.cloud-security-icon{background-image:url(/images/icons/cloud-security-command-center.svg)}.cloud-data-icon,.cloud-sql-icon{background-image:url(/images/icons/cloud-sql.svg)}.design-bg{background-color:#757575}.codelab-card.category-design{border-bottom-color:#757575}.design-icon{background-image:url(/images/icons/design.svg)}.firebase-bg,.firebase-web-bg{background-color:#f57c00}.codelab-card.category-firebase,.codelab-card.category-firebase-web{border-bottom-color:#f57c00}.firebase-icon,.firebase-web-icon{background-image:url(/images/icons/firebase.svg)}.design-flutter-bg,.flutter-android-bg,.flutter-bg,.flutter-firebase-bg{background-color:#45d1fd}.codelab-card.category-design-flutter,.codelab-card.category-flutter,.codelab-card.category-flutter-android,.codelab-card.category-flutter-firebase{border-bottom-color:#45d1fd}.design-flutter-icon,.flutter-android-icon,.flutter-firebase-icon,.flutter-icon{background-image:url(/images/icons/flutter.svg)}.geo-bg,.google-maps-bg,.googlemaps-bg,.maps-bg,.sheets-bg{background-color:#34a853}.codelab-card.category-geo,.codelab-card.category-google-maps,.codelab-card.category-googlemaps,.codelab-card.category-maps,.codelab-card.category-sheets{border-bottom-color:#34a853}.geo-icon,.google-maps-icon,.googlemaps-icon,.maps-icon{background-image:url(/images/icons/google-maps.svg)}.cast-bg,.chrome-cast-bg,.chromecast-bg,.nest-bg{background-color:#5f6368}.codelab-card.category-cast,.codelab-card.category-chrome-cast,.codelab-card.category-chromecast,.codelab-card.category-nest{border-bottom-color:#5f6368}.nest-icon{background-image:url(/images/icons/nest.svg)}.open-thread-bg,.openthread-bg{background-color:#484848}.codelab-card.category-open-thread,.codelab-card.category-openthread{border-bottom-color:#484848}.open-thread-icon,.openthread-icon{background-image:url(/images/icons/openthread.svg)}.about-icon,.search-icon{background-image:url(/images/icons/google-g.svg)}.cloud-hpc-bg,.hpc-bg,.slurm-bg{background-color:#42afeb}.codelab-card.category-cloud-hpc,.codelab-card.category-hpc,.codelab-card.category-slurm{border-bottom-color:#42afeb}.cloud-hpc-icon,.hpc-icon,.slurm-icon{background-image:url(/images/icons/slurm.svg)}.tensor-flow-bg,.tensorflow-bg{background-color:#ed8e24}.codelab-card.category-tensor-flow,.codelab-card.category-tensorflow{border-bottom-color:#ed8e24}.tensor-flow-icon,.tensorflow-icon{background-image:url(/images/icons/tensorflow.svg)}.unity-bg{background-color:#222c37}.codelab-card.category-unity{border-bottom-color:#222c37}.unity-icon{background-image:url(/images/icons/unity.svg)}.weave-bg{background-color:#0f9d58}.codelab-card.category-weave{border-bottom-color:#0f9d58}.weave-icon{background-image:url(/images/icons/weave.svg)}.android-wear-icon,.wear-icon,.wear-os-icon{background-image:url(/images/icons/wear-os.svg)}.about-bg,.ads-bg,.android-wear-bg,.assistant-bg,.big-query-bg,.bigquery-bg,.blockly-bg,.chrome-bg,.cloud-about-bg,.cloud-app-engine-bg,.cloud-appengine-bg,.cloud-bg,.cloud-big-query-bg,.cloud-bigquery-bg,.cloud-build-bg,.cloud-cloud-tools-bg,.cloud-compute-bg,.cloud-compute-engine-bg,.cloud-data-bg,.cloud-data-lab-bg,.cloud-datalab-bg,.cloud-general-bg,.cloud-iam-bg,.cloud-iot-bg,.cloud-iot-core-bg,.cloud-key-management-service-bg,.cloud-kms-bg,.cloud-machine-learning-bg,.cloud-ml-bg,.cloud-monitor-bg,.cloud-monitoring-bg,.cloud-network-bg,.cloud-networking-bg,.cloud-other-bg,.cloud-others-bg,.cloud-platform-bg,.cloud-security-bg,.cloud-security-command-center-bg,.cloud-sql-bg,.cloud-tools-bg,.cloud-web-bg,.docs-bg,.drive-bg,.google-chrome-bg,.googlechrome-bg,.iot-bg,.iot-core-bg,.search-bg,.wear-bg,.wear-os-bg,.web-bg{background-color:#4285f4}.codelab-card.category-about,.codelab-card.category-ads,.codelab-card.category-android-wear,.codelab-card.category-assistant,.codelab-card.category-big-query,.codelab-card.category-bigquery,.codelab-card.category-blockly,.codelab-card.category-chrome,.codelab-card.category-cloud,.codelab-card.category-cloud-about,.codelab-card.category-cloud-app-engine,.codelab-card.category-cloud-appengine,.codelab-card.category-cloud-big-query,.codelab-card.category-cloud-bigquery,.codelab-card.category-cloud-build,.codelab-card.category-cloud-cloud-tools,.codelab-card.category-cloud-compute,.codelab-card.category-cloud-compute-engine,.codelab-card.category-cloud-data,.codelab-card.category-cloud-data-lab,.codelab-card.category-cloud-datalab,.codelab-card.category-cloud-general,.codelab-card.category-cloud-iam,.codelab-card.category-cloud-iot,.codelab-card.category-cloud-iot-core,.codelab-card.category-cloud-key-management-service,.codelab-card.category-cloud-kms,.codelab-card.category-cloud-machine-learning,.codelab-card.category-cloud-ml,.codelab-card.category-cloud-monitor,.codelab-card.category-cloud-monitoring,.codelab-card.category-cloud-network,.codelab-card.category-cloud-networking,.codelab-card.category-cloud-other,.codelab-card.category-cloud-others,.codelab-card.category-cloud-platform,.codelab-card.category-cloud-security,.codelab-card.category-cloud-security-command-center,.codelab-card.category-cloud-sql,.codelab-card.category-cloud-tools,.codelab-card.category-cloud-web,.codelab-card.category-docs,.codelab-card.category-drive,.codelab-card.category-google-chrome,.codelab-card.category-googlechrome,.codelab-card.category-iot,.codelab-card.category-iot-core,.codelab-card.category-search,.codelab-card.category-wear,.codelab-card.category-wear-os,.codelab-card.category-web{border-bottom-color:#4285f4}.cloud-web-icon,.web-icon{background-image:url(/images/icons/web.svg)}#cards{-ms-flex-pack:start;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;-webkit-justify-content:flex-start;flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}#cards,.codelab-card{display:-webkit-flex;display:-ms-flexbox;display:flex}.codelab-card{-ms-flex:1 0 330px;-ms-flex-direction:column;-webkit-flex:1 0 330px;-webkit-flex-direction:column;background-color:#fff;border-bottom:2px solid transparent;border-radius:3px;box-shadow:0 1px rgba(0,0,0,.15);flex:1 0 330px;flex-direction:column;margin:0 16px 16px 0;max-width:330px;position:relative}.codelab-card:nth-of-type(3n){margin-right:0}.codelab-card img{margin-right:4px}.codelab-card .card-header{padding:16px 16px 0}.codelab-card .card-duration,.codelab-card .card-header{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.codelab-card .card-duration{color:#aaa;font-size:11px;mix-blend-mode:normal;padding:0 16px}.codelab-card .card-duration img{opacity:.24}.codelab-card .card-author,.codelab-card .card-updated{color:#bdbdbd;font-size:12px;line-height:16px;text-align:right}.codelab-card .description{-ms-flex:1 0 auto;-webkit-flex:1 0 auto;-webkit-font-smoothing:antialiased;color:#212121;flex:1 0 auto;padding:16px 16px 0}.card-footer{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;border-top:0;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between;padding:8px 16px}.card-footer paper-button{-webkit-font-smoothing:antialiased;color:#fff;font-family:Roboto,Noto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;padding:13px 25px;text-transform:uppercase;text-transform:none}.card-footer .category-icon{background-position:0 50%;background-repeat:no-repeat;background-size:32px;height:42px;width:42px}.card-pin{background-image:url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h18v18H0"/><path fill="#888" d="M13 4V2H5v2h1v5l-1.5 1.5V12H8v4l1 1 1-1v-4h3.5v-1.5L12 9V4"/></g></svg>');background-repeat:no-repeat;bottom:14px;height:20px;left:7px;position:absolute;width:15px}@media (max-width:767px){#cards{-ms-flex-align:center;-ms-flex-direction:column;-webkit-align-items:center;-webkit-flex-direction:column;align-items:center;flex-direction:column}.codelab-card{-ms-flex:1 0 200px;-webkit-flex:1 0 200px;flex:1 0 200px;margin:0 0 16px;max-width:100%;min-width:330px;width:100%}.codelab-card .card-header{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.codelab-card .card-header .category-icon{margin:0}}@media (min-width:767px) and (max-width:1136px){.codelab-card{-ms-flex:0 0 32%;-webkit-flex:0 0 32%;flex:0 0 32%;margin:0 2% 2% 0}}#footer{background-color:#424242;font-size:13px;padding:40px 0}#footer li,#footer ul{list-style:none;margin:0;padding:0}#footer a{color:#9e9e9e}#footer .footer-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex}#footer .link-list{-ms-flex:1;-webkit-flex:1;border-top:1px solid #616161;flex:1;margin-right:32px}#footer .link-list:last-child{margin-bottom:0;margin-right:0}#footer .link-list label{color:#fff;display:block;margin:8px 0 16px}.footerbar{background-color:#616161;color:#fff;font-size:13px;padding:10px 0}.footerbar a{color:currentcolor}@media (max-width:767px){#footer{padding:24px 0}#footer .footer-wrapper{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}#footer .link-list{margin:0 0 24px}}
    \ No newline at end of file
    diff --git a/site/dist/vslive.html b/site/dist/vslive.html
    new file mode 100644
    index 000000000..2f5e7c7c4
    --- /dev/null
    +++ b/site/dist/vslive.html
    @@ -0,0 +1,138 @@
    +
    +<!doctype html>
    +<html lang="en">
    +<head>
    +<meta charset="utf-8">
    +<meta name="description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    +<meta name="viewport" content="width=device-width,initial-scale=1">
    +<meta name="generator" content="Visual Studio Live">
    +<meta name="application-name" content="Visual Studio Live">
    +<link rel="canonical" href="https://scott3142.uk/codelabs-landing/vslive/">
    +<link rel="preconnect" href="https://www.google-analytics.com">
    +<script>
    +window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    +    ga('create', 'UA-49880327-14', 'auto');
    +    ga('send', 'pageview');
    +</script>
    +<script async src="https://www.google-analytics.com/analytics.js"></script>
    +<title>Visual Studio Live</title>
    +<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    +<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    +<style is="custom-style">
    +:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    +<meta name="apple-mobile-web-app-capable" content="yes">
    +<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    +<meta name="apple-mobile-web-app-title" content="Visual Studio Live">
    +<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    +<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    +<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    +<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    +<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    +<link rel="manifest" href="site.webmanifest">
    +<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    +<meta name="msapplication-TileColor" content="#455a64">
    +<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    +<meta name="theme-color" content="#455a64">
    +<meta name="og:type" property="og:type" content="website">
    +<meta name="og:title" property="og:title" content="Visual Studio Live">
    +<meta name="og:description" property="og:description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    +<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/vslive/">
    +<meta name="og:site_name" property="og:site_name" content="Codelabs">
    +<meta name="og:determiner" property="og:determiner" content="the">
    +<meta name="og:locale" property="og:locale" content="en_US">
    +<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:type" property="og:image:type" content="image/png">
    +<meta name="og:image:width" property="og:image:width" content="1200">
    +<meta name="og:image:height" property="og:image:height" content="1200">
    +<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    +<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    +<meta name="twitter:title" property="twitter:title" content="Visual Studio Live">
    +<meta name="twitter:description" property="twitter:description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    +<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/vslive/">
    +</head>
    +<body id="app" is="body-bind" class="loading fullbleed view">
    +<paper-header-panel id="main" mode="standard" main>
    +<div id="mainToolbar" class="paper-header">
    +<div class="site-width layout horizontal">
    +<a href="/">
    +<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    +</a>
    +<div id="searchbar">
    +<paper-input-container no-label-float>
    +<paper-icon-button prefix icon="search"></paper-icon-button>
    +<label>Search</label>
    +<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    +</paper-input-container>
    +</div>
    +</div>
    +</div>
    +<header id="banner" down>
    +<div class="site-width">
    +<div class="banner-description">
    +<img id="logo" src="/vslive/vslive-logo.jpg" alt="Event logo">
    +<div class="banner-meta">
    +<h3>Visual Studio Live</h3>
    +<p>Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.</p>
    +</div>
    +</div>
    +</div>
    +</header>
    +<main>
    +<div id="filters" class="site-width layout horizontal center justified">
    +<div id="sortby">
    +<paper-tabs selected="0" noink on-iron-activate="sortBy">
    +<paper-tab>A-Z</paper-tab>
    +<paper-tab>Recent</paper-tab>
    +<paper-tab>Duration</paper-tab>
    +</paper-tabs>
    +</div>
    +</div>
    +<card-sorter id="cards" class="site-width">
    +</card-sorter>
    +<div id="loading-placeholder" class="site-width">
    +Loading Codelabs, please wait...
    +</div>
    +</main>
    +<footer id="footer">
    +<div class="footer-wrapper site-width">
    +<div class="link-list">
    +<label>Connect</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Programs</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Developer Consoles</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Explore</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +</div>
    +</footer>
    +<div class="footerbar">
    +<div class="site-width layout horizontal center justified">
    +<span>
    +<a href="https://example.com">Terms</a>
    +&nbsp; | &nbsp;
    +<a href="https://example.com">Privacy</a>
    +</span>
    +</div>
    +</div>
    +</paper-header-panel>
    +<script src="scripts/main.js"></script>
    +</body>
    +</html>
    diff --git a/site/dist/vslive/index.html b/site/dist/vslive/index.html
    new file mode 120000
    index 000000000..7b94893e5
    --- /dev/null
    +++ b/site/dist/vslive/index.html
    @@ -0,0 +1 @@
    +../vslive.html
    \ No newline at end of file
    diff --git a/site/dist/vslive/vslive-logo.jpg b/site/dist/vslive/vslive-logo.jpg
    new file mode 100644
    index 0000000000000000000000000000000000000000..54c8ed59dd9675ca22fd10e714cf1b020e5dd55d
    GIT binary patch
    literal 4224
    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
    
    literal 0
    HcmV?d00001
    
    
    From 6e6719e9b9904b75961d8d9472279f03ec050e75 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 11:42:30 +0100
    Subject: [PATCH 12/19] dist subtree commit
    
    ---
     site/.gitignore        |   2 +-
     site/package-lock.json | 384 -----------------------------------------
     site/package.json      |   1 -
     3 files changed, 1 insertion(+), 386 deletions(-)
    
    diff --git a/site/.gitignore b/site/.gitignore
    index d20e263c3..076ed210e 100644
    --- a/site/.gitignore
    +++ b/site/.gitignore
    @@ -16,4 +16,4 @@ app/bower_components/jszip/vendor
     app/js/bundle
     
     /build/
    -/dist/
    +#/dist/
    diff --git a/site/package-lock.json b/site/package-lock.json
    index fc5616317..de9db6cd6 100644
    --- a/site/package-lock.json
    +++ b/site/package-lock.json
    @@ -3379,12 +3379,6 @@
             "parse-filepath": "^1.0.1"
           }
         },
    -    "first-chunk-stream": {
    -      "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
    -      "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
    -      "dev": true
    -    },
         "flagged-respawn": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
    @@ -4608,299 +4602,6 @@
             }
           }
         },
    -    "gulp-gh-pages": {
    -      "version": "0.5.4",
    -      "resolved": "https://registry.npmjs.org/gulp-gh-pages/-/gulp-gh-pages-0.5.4.tgz",
    -      "integrity": "sha1-pnMspHWrm1pTJTwcJHNMQMIbZUY=",
    -      "dev": true,
    -      "requires": {
    -        "gift": "^0.6.1",
    -        "gulp-util": "^3.0.7",
    -        "readable-stream": "^2.0.2",
    -        "rimraf": "^2.4.3",
    -        "vinyl-fs": "^2.2.1",
    -        "wrap-promise": "^1.0.1"
    -      },
    -      "dependencies": {
    -        "arr-diff": {
    -          "version": "2.0.0",
    -          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
    -          "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
    -          "dev": true,
    -          "requires": {
    -            "arr-flatten": "^1.0.1"
    -          }
    -        },
    -        "array-unique": {
    -          "version": "0.2.1",
    -          "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
    -          "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
    -          "dev": true
    -        },
    -        "braces": {
    -          "version": "1.8.5",
    -          "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
    -          "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
    -          "dev": true,
    -          "requires": {
    -            "expand-range": "^1.8.1",
    -            "preserve": "^0.2.0",
    -            "repeat-element": "^1.1.2"
    -          }
    -        },
    -        "clone": {
    -          "version": "1.0.4",
    -          "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
    -          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
    -          "dev": true
    -        },
    -        "clone-stats": {
    -          "version": "0.0.1",
    -          "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
    -          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
    -          "dev": true
    -        },
    -        "expand-brackets": {
    -          "version": "0.1.5",
    -          "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
    -          "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
    -          "dev": true,
    -          "requires": {
    -            "is-posix-bracket": "^0.1.0"
    -          }
    -        },
    -        "extend-shallow": {
    -          "version": "2.0.1",
    -          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    -          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    -          "dev": true,
    -          "requires": {
    -            "is-extendable": "^0.1.0"
    -          }
    -        },
    -        "extglob": {
    -          "version": "0.3.2",
    -          "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
    -          "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
    -          "dev": true,
    -          "requires": {
    -            "is-extglob": "^1.0.0"
    -          }
    -        },
    -        "gift": {
    -          "version": "0.6.1",
    -          "resolved": "https://registry.npmjs.org/gift/-/gift-0.6.1.tgz",
    -          "integrity": "sha1-wWmOa2iHFk7ZeKAQlUI8/2W4558=",
    -          "dev": true,
    -          "requires": {
    -            "underscore": "1.x.x"
    -          }
    -        },
    -        "glob": {
    -          "version": "5.0.15",
    -          "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
    -          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
    -          "dev": true,
    -          "requires": {
    -            "inflight": "^1.0.4",
    -            "inherits": "2",
    -            "minimatch": "2 || 3",
    -            "once": "^1.3.0",
    -            "path-is-absolute": "^1.0.0"
    -          }
    -        },
    -        "glob-stream": {
    -          "version": "5.3.5",
    -          "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
    -          "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
    -          "dev": true,
    -          "requires": {
    -            "extend": "^3.0.0",
    -            "glob": "^5.0.3",
    -            "glob-parent": "^3.0.0",
    -            "micromatch": "^2.3.7",
    -            "ordered-read-streams": "^0.3.0",
    -            "through2": "^0.6.0",
    -            "to-absolute-glob": "^0.1.1",
    -            "unique-stream": "^2.0.2"
    -          },
    -          "dependencies": {
    -            "readable-stream": {
    -              "version": "1.0.34",
    -              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
    -              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
    -              "dev": true,
    -              "requires": {
    -                "core-util-is": "~1.0.0",
    -                "inherits": "~2.0.1",
    -                "isarray": "0.0.1",
    -                "string_decoder": "~0.10.x"
    -              }
    -            },
    -            "through2": {
    -              "version": "0.6.5",
    -              "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
    -              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
    -              "dev": true,
    -              "requires": {
    -                "readable-stream": ">=1.0.33-1 <1.1.0-0",
    -                "xtend": ">=4.0.0 <4.1.0-0"
    -              }
    -            }
    -          }
    -        },
    -        "is-extglob": {
    -          "version": "1.0.0",
    -          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
    -          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
    -          "dev": true
    -        },
    -        "is-glob": {
    -          "version": "2.0.1",
    -          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
    -          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
    -          "dev": true,
    -          "requires": {
    -            "is-extglob": "^1.0.0"
    -          }
    -        },
    -        "is-valid-glob": {
    -          "version": "0.3.0",
    -          "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
    -          "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=",
    -          "dev": true
    -        },
    -        "isarray": {
    -          "version": "0.0.1",
    -          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
    -          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
    -          "dev": true
    -        },
    -        "kind-of": {
    -          "version": "3.2.2",
    -          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    -          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    -          "dev": true,
    -          "requires": {
    -            "is-buffer": "^1.1.5"
    -          }
    -        },
    -        "micromatch": {
    -          "version": "2.3.11",
    -          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
    -          "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
    -          "dev": true,
    -          "requires": {
    -            "arr-diff": "^2.0.0",
    -            "array-unique": "^0.2.1",
    -            "braces": "^1.8.2",
    -            "expand-brackets": "^0.1.4",
    -            "extglob": "^0.3.1",
    -            "filename-regex": "^2.0.0",
    -            "is-extglob": "^1.0.0",
    -            "is-glob": "^2.0.1",
    -            "kind-of": "^3.0.2",
    -            "normalize-path": "^2.0.1",
    -            "object.omit": "^2.0.0",
    -            "parse-glob": "^3.0.4",
    -            "regex-cache": "^0.4.2"
    -          }
    -        },
    -        "object-assign": {
    -          "version": "4.1.1",
    -          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    -          "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
    -          "dev": true
    -        },
    -        "ordered-read-streams": {
    -          "version": "0.3.0",
    -          "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
    -          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
    -          "dev": true,
    -          "requires": {
    -            "is-stream": "^1.0.1",
    -            "readable-stream": "^2.0.1"
    -          }
    -        },
    -        "replace-ext": {
    -          "version": "0.0.1",
    -          "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
    -          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
    -          "dev": true
    -        },
    -        "string_decoder": {
    -          "version": "0.10.31",
    -          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
    -          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
    -          "dev": true
    -        },
    -        "through2": {
    -          "version": "2.0.5",
    -          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
    -          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    -          "dev": true,
    -          "requires": {
    -            "readable-stream": "~2.3.6",
    -            "xtend": "~4.0.1"
    -          }
    -        },
    -        "through2-filter": {
    -          "version": "2.0.0",
    -          "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
    -          "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
    -          "dev": true,
    -          "requires": {
    -            "through2": "~2.0.0",
    -            "xtend": "~4.0.0"
    -          }
    -        },
    -        "to-absolute-glob": {
    -          "version": "0.1.1",
    -          "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
    -          "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
    -          "dev": true,
    -          "requires": {
    -            "extend-shallow": "^2.0.1"
    -          }
    -        },
    -        "vinyl": {
    -          "version": "1.2.0",
    -          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
    -          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
    -          "dev": true,
    -          "requires": {
    -            "clone": "^1.0.0",
    -            "clone-stats": "^0.0.1",
    -            "replace-ext": "0.0.1"
    -          }
    -        },
    -        "vinyl-fs": {
    -          "version": "2.4.4",
    -          "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
    -          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
    -          "dev": true,
    -          "requires": {
    -            "duplexify": "^3.2.0",
    -            "glob-stream": "^5.3.2",
    -            "graceful-fs": "^4.0.0",
    -            "gulp-sourcemaps": "1.6.0",
    -            "is-valid-glob": "^0.3.0",
    -            "lazystream": "^1.0.0",
    -            "lodash.isequal": "^4.0.0",
    -            "merge-stream": "^1.0.0",
    -            "mkdirp": "^0.5.0",
    -            "object-assign": "^4.0.0",
    -            "readable-stream": "^2.0.4",
    -            "strip-bom": "^2.0.0",
    -            "strip-bom-stream": "^1.0.0",
    -            "through2": "^2.0.0",
    -            "through2-filter": "^2.0.0",
    -            "vali-date": "^1.0.0",
    -            "vinyl": "^1.0.0"
    -          }
    -        }
    -      }
    -    },
         "gulp-html-postcss": {
           "version": "7.1.4",
           "resolved": "https://registry.npmjs.org/gulp-html-postcss/-/gulp-html-postcss-7.1.4.tgz",
    @@ -5097,60 +4798,6 @@
             }
           }
         },
    -    "gulp-sourcemaps": {
    -      "version": "1.6.0",
    -      "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
    -      "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
    -      "dev": true,
    -      "requires": {
    -        "convert-source-map": "^1.1.1",
    -        "graceful-fs": "^4.1.2",
    -        "strip-bom": "^2.0.0",
    -        "through2": "^2.0.0",
    -        "vinyl": "^1.0.0"
    -      },
    -      "dependencies": {
    -        "clone": {
    -          "version": "1.0.4",
    -          "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
    -          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
    -          "dev": true
    -        },
    -        "clone-stats": {
    -          "version": "0.0.1",
    -          "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
    -          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
    -          "dev": true
    -        },
    -        "replace-ext": {
    -          "version": "0.0.1",
    -          "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
    -          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
    -          "dev": true
    -        },
    -        "through2": {
    -          "version": "2.0.5",
    -          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
    -          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    -          "dev": true,
    -          "requires": {
    -            "readable-stream": "~2.3.6",
    -            "xtend": "~4.0.1"
    -          }
    -        },
    -        "vinyl": {
    -          "version": "1.2.0",
    -          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
    -          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
    -          "dev": true,
    -          "requires": {
    -            "clone": "^1.0.0",
    -            "clone-stats": "^0.0.1",
    -            "replace-ext": "0.0.1"
    -          }
    -        }
    -      }
    -    },
         "gulp-uglify": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
    @@ -7317,12 +6964,6 @@
           "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
           "dev": true
         },
    -    "lodash.isequal": {
    -      "version": "4.5.0",
    -      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
    -      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=",
    -      "dev": true
    -    },
         "lodash.isobject": {
           "version": "2.4.1",
           "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
    @@ -10603,16 +10244,6 @@
             "is-utf8": "^0.2.0"
           }
         },
    -    "strip-bom-stream": {
    -      "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
    -      "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
    -      "dev": true,
    -      "requires": {
    -        "first-chunk-stream": "^1.0.0",
    -        "strip-bom": "^2.0.0"
    -      }
    -    },
         "strip-eof": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
    @@ -11541,12 +11172,6 @@
             "homedir-polyfill": "^1.0.1"
           }
         },
    -    "vali-date": {
    -      "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
    -      "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=",
    -      "dev": true
    -    },
         "validate-npm-package-license": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
    @@ -11949,15 +11574,6 @@
             "strip-ansi": "^3.0.1"
           }
         },
    -    "wrap-promise": {
    -      "version": "1.0.1",
    -      "resolved": "https://registry.npmjs.org/wrap-promise/-/wrap-promise-1.0.1.tgz",
    -      "integrity": "sha1-sBn0I2zL8ftWCSG0tIcLe9ovUlU=",
    -      "dev": true,
    -      "requires": {
    -        "es6-promise": "^2.3.0"
    -      }
    -    },
         "wrappy": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
    diff --git a/site/package.json b/site/package.json
    index c69e2d545..590d5ed01 100644
    --- a/site/package.json
    +++ b/site/package.json
    @@ -15,7 +15,6 @@
         "gulp-babel": "^7.0.0",
         "gulp-crisper": "^1.1.0",
         "gulp-flatten": "^0.4.0",
    -    "gulp-gh-pages": "^0.5.4",
         "gulp-html-postcss": "^7.1.4",
         "gulp-htmlmin": "^5.0.1",
         "gulp-if": "^2.0.2",
    
    From 58ebaf1fecce3cb8df8c67bc35838b8cfa61a61b Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 12:29:16 +0100
    Subject: [PATCH 13/19] Working deploy. Fixing codelabs dir next.
    
    ---
     site/.publish                                 |   1 +
     site/app/views/btec-unit4/den01-logo.png      | Bin 0 -> 157552 bytes
     site/app/views/btec-unit4/view.json           |  10 +
     .../sound-of-the-bees/codelab.json            |  26 +
     .../img/7619cabb0e41fd1b.png                  | Bin 0 -> 44515 bytes
     .../codelabs-pub/sound-of-the-bees/index.html | 318 ++++++++++
     site/dist/btec-unit4.html                     | 138 ++++
     site/dist/btec-unit4/den01-logo.png           | Bin 0 -> 157552 bytes
     site/dist/btec-unit4/index.html               |   1 +
     site/dist/codelabs                            |   2 +-
     site/dist/index.html                          |  16 +-
     site/gulpfile.js                              |  28 +-
     site/package-lock.json                        | 600 ++++++++++++------
     site/package.json                             |   3 +-
     14 files changed, 930 insertions(+), 213 deletions(-)
     create mode 160000 site/.publish
     create mode 100644 site/app/views/btec-unit4/den01-logo.png
     create mode 100644 site/app/views/btec-unit4/view.json
     create mode 100644 site/codelabs-pub/sound-of-the-bees/codelab.json
     create mode 100644 site/codelabs-pub/sound-of-the-bees/img/7619cabb0e41fd1b.png
     create mode 100644 site/codelabs-pub/sound-of-the-bees/index.html
     create mode 100644 site/dist/btec-unit4.html
     create mode 100644 site/dist/btec-unit4/den01-logo.png
     create mode 120000 site/dist/btec-unit4/index.html
    
    diff --git a/site/.publish b/site/.publish
    new file mode 160000
    index 000000000..7eee1ea0b
    --- /dev/null
    +++ b/site/.publish
    @@ -0,0 +1 @@
    +Subproject commit 7eee1ea0bf86b42fc39b348691613b1a4506214f
    diff --git a/site/app/views/btec-unit4/den01-logo.png b/site/app/views/btec-unit4/den01-logo.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..cb9d09cb6cead256e4dc28be127940f36b6ffe73
    GIT binary patch
    literal 157552
    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
    ICQJVOKg~MF2><{9
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/app/views/btec-unit4/view.json b/site/app/views/btec-unit4/view.json
    new file mode 100644
    index 000000000..587811bad
    --- /dev/null
    +++ b/site/app/views/btec-unit4/view.json
    @@ -0,0 +1,10 @@
    +{
    +  "title": "BTEC Programming",
    +  "description": "A repository of Codelabs for the programming course.",
    +  "logoUrl": "/btec-unit4/den01-logo.png",
    +  "tags": ["btec"],
    +  "exclude": [
    +    ".*-about$",
    +    "^lang-.*"
    +  ]
    +}
    diff --git a/site/codelabs-pub/sound-of-the-bees/codelab.json b/site/codelabs-pub/sound-of-the-bees/codelab.json
    new file mode 100644
    index 000000000..79169d472
    --- /dev/null
    +++ b/site/codelabs-pub/sound-of-the-bees/codelab.json
    @@ -0,0 +1,26 @@
    +{
    +  "environment": "web",
    +  "format": "html",
    +  "prefix": "https://storage.googleapis.com",
    +  "mainga": "UA-49880327-14",
    +  "updated": "2020-04-14T11:15:24Z",
    +  "id": "sound-of-the-bees",
    +  "duration": 44,
    +  "title": "Sound of the Bees",
    +  "authors": "Scott Morgan",
    +  "summary": "During this project, you will create a bee-hive monitoring system using a Raspberry Pi, a camera and a microphone.",
    +  "source": "1W-Ayc-XEngJ8ikZyij8Zub84viV0A1FWNa8NPFJ7UC4",
    +  "theme": "python",
    +  "status": [
    +    "published"
    +  ],
    +  "category": [
    +    "Python"
    +  ],
    +  "tags": [
    +    "web"
    +  ],
    +  "feedback": "https://github.com/Scott3142/sound-of-the-bees",
    +  "ga": "UA-214872164-1",
    +  "url": "sound-of-the-bees"
    +}
    diff --git a/site/codelabs-pub/sound-of-the-bees/img/7619cabb0e41fd1b.png b/site/codelabs-pub/sound-of-the-bees/img/7619cabb0e41fd1b.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..642f38244b70e566c5c1033154bbcc941e0927b5
    GIT binary patch
    literal 44515
    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
    Z4Pn&cI<qe>zy|~@83_gPpQ47r{|nYI(B=RD
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/codelabs-pub/sound-of-the-bees/index.html b/site/codelabs-pub/sound-of-the-bees/index.html
    new file mode 100644
    index 000000000..708c5df1c
    --- /dev/null
    +++ b/site/codelabs-pub/sound-of-the-bees/index.html
    @@ -0,0 +1,318 @@
    +
    +<!doctype html>
    +
    +<html>
    +<head>
    +  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
    +  <meta name="theme-color" content="#4F7DC9">
    +  <meta charset="UTF-8">
    +  <title>Sound of the Bees</title>
    +  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Code+Pro:400|Roboto:400,300,400italic,500,700|Roboto+Mono">
    +  <link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons">
    +  <link rel="stylesheet" href="https://storage.googleapis.com/codelab-elements/codelab-elements.css">
    +  <style>
    +    .success {
    +      color: #1e8e3e;
    +    }
    +    .error {
    +      color: red;
    +    }
    +  </style>
    +</head>
    +<body>
    +  <google-codelab-analytics gaid="UA-49880327-14"></google-codelab-analytics>
    +  <google-codelab codelab-gaid="UA-214872164-1"
    +                  id="sound-of-the-bees"
    +                  title="Sound of the Bees"
    +                  environment="web"
    +                  feedback-link="https://github.com/Scott3142/sound-of-the-bees">
    +    
    +      <google-codelab-step label="Introduction" duration="2">
    +        <p class="image-container"><img style="width: 624.00px" src="img/7619cabb0e41fd1b.png"></p>
    +<p><strong>Last Updated:</strong> 2019-11-10</p>
    +<h2 is-upgraded><strong>Sound of the Bees</strong></h2>
    +<aside class="special"><p>This tutorial will give an overview of a project designed to introduce students to the fundamental concepts of programming while developing a complete project from start to finish for monitoring a bee hive. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/p1JRZLRscZ0?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>This work is a collaborative project between <a href="https://cardiff.ac.uk" target="_blank">Cardiff University</a> and <a href="https://bridgend.ac.uk" target="_blank">Bridgend College</a>. We are grateful to the <a href="https://wellcome.ac.uk" target="_blank">Wellcome Trust</a> for their financial contributions to the project and to <a href="https://www.llanishenfach.co.uk/" target="_blank">Llanishen Fach Primary School</a> for allowing us to trial and test the system.</p>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Coding Circle" duration="5">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the fundamental concepts of programming within a fun, active setting. Students are on their feet and engaging with this activity throughout. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/JVq4q5gw4BA?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>Students form a circle or a line and each one is given a piece of A4 paper with a line of Python code on it. </p>
    +<p>Within the code, there will be a <strong>spelling error</strong>, a <strong>variable</strong> definition, an <strong>if statement</strong> and a <strong>loop</strong>. The tutor should discuss these various programming constructs as the students move around the circle. </p>
    +<pre><code>print(&#39;Boom!&#39;)
    +jump()
    +prin(&#39;Test&#39;) #Note deliberate spelling error!
    +if &lt;next person is wearing glasses&gt;:
    +for n in range(1,3):</code></pre>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Spelling is critical in programming.</li>
    +<li>Variables are used to store information to be used later in the code. </li>
    +<li>Conditional if statements ask a question of the computer, and run some code when the condition is met. </li>
    +<li>For and while loops can be used to repeat processes iteratively.</li>
    +</ul>
    +<p><strong>Downloads:</strong></p>
    +<p><a href="https://docs.google.com/presentation/d/1xzuF6SNvN6rzKSAberh9Q1W5yxHKO_afsCZ0y9YVcCI/edit?usp=sharing" target="_blank"><paper-button class="colored" raised><iron-icon icon="file-download"></iron-icon>Download Coding Circle pack</paper-button></a></p>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Building the Hardware" duration="10">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the students to the process of building simple circuits using the Raspberry Pi, a breadboard, an LED, a button, a resistor and some jumper wires. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/OeuhwVSXAW8?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>During this section of the class, students will assemble their Raspberry Pis and login. There are some excellent ‘Getting Started&#39; resources provided by the Raspberry Pi foundation which can be found below:</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started" target="_blank"><paper-button class="colored" raised>Getting Started with Raspberry Pi</paper-button></a></p>
    +<p>You might want to try out some physical computing activities first, to get your students familiar with the concepts of wiring a breadboard, a button, an LED and so on. You can find some very thorough tutorials below, for both Scratch (beginner) and Python (more advanced).</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing-with-scratch" target="_blank"><paper-button class="colored" raised>Physical Computing with Scratch</paper-button></a></p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing" target="_blank"><paper-button class="colored" raised>Physical Computing with Python</paper-button></a></p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Fundamentals of microcontrollers &amp; the Raspberry Pi</li>
    +<li>How power and data is provided/transferred to devices</li>
    +<li>Building basic circuits</li>
    +</ul>
    +<p><strong>Hardware resources:</strong></p>
    +<ul>
    +<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/" target="_blank">Raspberry Pi 3 (Model B)</a></li>
    +<li><a href="https://thepihut.com/products/noobs-preinstalled-sd-card?q=%27NOOBS%27%20Preinstalled%20Micro%20SD%20Card%20(Latest%20v3.2.1)" target="_blank">16GB Micro SD card (with NOOBS installed)</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Micro-Cable-Black/dp/B0711PVX6Z/ref=sr_1_3?crid=NPEXNVWO9B3N&keywords=micro+usb+cable+amazonbasics&qid=1573399458&sprefix=micro+usb+cable+amazonba%2Caps%2C145&sr=8-3" target="_blank">Micro USB Lead</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-High-Speed-Ultra-HDMI-Cable/dp/B014I8SIJY?ref_=fsclp_pl_dp_1" target="_blank">HDMI lead</a></li>
    +<li><a href="https://www.amazon.co.uk/TechRise-High-Speed-adapter-Converter-Charging-Black/dp/B01E8DD6J6/ref=pd_sbs_147_t_1/261-8683823-0205156?_encoding=UTF8&pd_rd_i=B01E8DD6J6&pd_rd_r=33df8c34-5867-4a61-8f3b-42973792e10d&pd_rd_w=ayEkl&pd_rd_wg=MjDOA&pf_rd_p=e44592b5-e56d-44c2-a4f9-dbdc09b29395&pf_rd_r=QGFAFZ8KJX3GVDA1QX46&psc=1&refRID=QGFAFZ8KJX3GVDA1QX46" target="_blank">HDMI to VGA converter</a> (if you don&#39;t have monitors with HDMI ports)</li>
    +<li><a href="https://camjam.me/?page_id=236" target="_blank">CamJam EduKit 1</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Testing the Camera" duration="10">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the students to the Raspberry Pi camera and the use of command line programming to take photos and videos. We will also introduce the microphone at this step and use it to record audio.</p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/lpmaHNLuDsw?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<h2 is-upgraded><strong>Step 1:</strong></h2>
    +<p>Before getting started with the camera module, we will have to make sure it is enabled via the config page. To do this, you&#39;ll need to open a Raspberry Pi terminal. You can do that by following the instructions <a href="https://www.raspberrypi.org/documentation/usage/terminal/" target="_blank">here</a>.</p>
    +<ul>
    +<li>Open a terminal and run:</li>
    +</ul>
    +<pre><code>sudo raspi-config</code></pre>
    +<ul>
    +<li>Navigate to <strong><code>Interfacing Options</code></strong><strong> </strong>and select <strong><code>Camera.</code></strong> Select the option to enable the camera and reboot the Pi.</li>
    +</ul>
    +<h2 is-upgraded><strong>Step 2:</strong></h2>
    +<p>Once the camera module is connected, you may want to follow some of the recommended instructions from the Raspberry Pi foundation, available below:</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2" target="_blank"><paper-button class="colored" raised>Getting Started with the Camera Module</paper-button></a></p>
    +<h2 is-upgraded>Notes:</h2>
    +<p>The code generally reduces to the following two commands:</p>
    +<pre><code>raspistill -o picture.jpg</code></pre>
    +<p>and</p>
    +<pre><code>raspivid -o video.h264 -t 10000</code></pre>
    +<p>The first command takes a picture and the second takes a 10 second (10000 milisecond) video and stores them on the Pi.</p>
    +<aside class="special"><p><strong>Note: </strong>You can discuss with the students how to stop the command overwriting the previous picture each time here. Labelling the picture with the date and time is a good way to stop this.</p>
    +</aside>
    +<h2 is-upgraded><strong>Step 3:</strong></h2>
    +<p>To record audio with the Pi, you can use the following command. </p>
    +<pre><code>arecord -D plughw:1,0 -d 3 audio.wav</code></pre>
    +<p>This records 3 seconds of audio and stores it to the Pi. It is recommended to follow the instructions below to check each part of this command is correct for your system.</p>
    +<p><a href="http://wiki.sunfounder.cc/index.php?title=To_use_USB_mini_microphone_on_Raspbian" target="_blank"><paper-button class="colored" raised>Getting Started with a USB microphone</paper-button></a></p>
    +<h2 is-upgraded><strong>Common Camera Error:</strong></h2>
    +<aside class="warning"><p><strong>Note: </strong>When using the camera module for the first time, it is quite common to see the following error.</p>
    +</aside>
    +<pre><code>mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
    +mmal: camera component could not be enabled
    +mmal: main: Failed to create camera component
    +mmal: Failed to run camera app. Please check for firmware updates</code></pre>
    +<p>If this happens, first check that the camera module is enabled with step 1 and reboot the Pi.</p>
    +<p>It is possible that the camera connection wire is faulty if this error persists. Unplug the camera module, ensure it is in the correct way around and try with a different camera module or Raspberry Pi. </p>
    +<p>There is further information below about troubleshooting this error:</p>
    +<p><a href="https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module" target="_blank">https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module</a></p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Some experience with command line</li>
    +<li>Revisiting concepts from Coding Circle activity</li>
    +</ul>
    +<p><strong>Hardware resources:</strong></p>
    +<ul>
    +<li><a href="https://thepihut.com/products/raspberry-pi-camera-module?variant=758603005" target="_blank">Raspberry Pi Camera Module</a></li>
    +<li><a href="https://www.amazon.co.uk/Richera-Microphone-Notebook-Recognition-Software/dp/B01FJWO5K4/ref=sr_1_5?keywords=small+usb+microphone&qid=1573400655&sr=8-5" target="_blank">USB microphone</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Female-Extension-Cable/dp/B00NH11PEY/ref=sr_1_3?keywords=usb+extender+lead&qid=1573400700&sr=8-3" target="_blank">USB extender</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="The Algorithm" duration="15">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to bring together the concepts from the previous sections and develop the final system, before testing in class.</p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/vP9QjA5Ct8k?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>So far, we have assembled the hardware and tested the action of the button using Scatch (or Python) to light an LED and tested our camera module with audio. This section looks to bring all of this together into one command that can be run outside at the hive.</p>
    +<p>We need to do a few things to make this possible. </p>
    +<ol type="1" start="1">
    +<li>Write some code that says ‘<code>if the button is pressed, start the recording</code>&#39; . This will embed many of the concepts from the Coding Circle activity. </li>
    +<li>Activate the code to <strong>run when the Pi starts </strong>so that we don&#39;t have to do anything with it outside at the hive. <em>This will let us just plug it into a battery pack, press the button and start the recording.  </em></li>
    +<li>Combine the video and audio streams<em> (Optional - not tested)</em>.</li>
    +</ol>
    +<h2 is-upgraded><strong>Step 1 (Starting the recording when the button is pressed):</strong></h2>
    +<h3 is-upgraded>Taking a picture with Python:</h3>
    +<p>Following on from the Building the Hardware section, we can use Python to trigger the camera to take a photo when a button is pressed. This is covered by the following code:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.capture(&#39;/home/pi/%s.jpg&#39; % timestamp)
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>This code will store the output file as a jpg in the <code>/home/pi/</code> directory on the Pi. Note that we are labelling the image as the date and time to avoid overwriting, as discussed in Building the Hardware.</p>
    +<h3 is-upgraded><strong>Taking a video with Python:</strong></h3>
    +<p>Capturing a video to a file is similar and can be done in Python as follows:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +seconds = 60 #you can change this number
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.resolution = (640, 480)
    +    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    +    camera.wait_recording(seconds)
    +    camera.stop_recording()
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>This captures 60 seconds of footage and stores it in the <code>/home/pi/</code> directory on the Pi.</p>
    +<h3 is-upgraded><strong>Taking a video and recording audio with Python:</strong></h3>
    +<p>You can add the audio stream by adding a line as follows:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +seconds = 60 #if you change this, change the 60 in the audio command
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.resolution = (640, 480)
    +    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    +    camera.wait_recording(seconds)
    +    os.system(&#39;arecord -D plughw:1,0 -d 60 audio.wav&#39;) #for audio
    +    camera.stop_recording()
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<h2 is-upgraded><strong>Step 2 (Set the code to run when the Pi starts up):</strong></h2>
    +<p>There are multiple ways to set your Python file to run when the Raspberry Pi loads up. Firstly, make sure you have the code from <strong>Step 1 </strong>saved on your Pi somewhere that you can find it. It is probably sensible to name it something like <code>startVideo.py</code> and store it in your <code>/home/pi/</code> directory. </p>
    +<p>The following tutorial explains 5 different ways to get your program to run at boot (start up):</p>
    +<p><a href="https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/" target="_blank"><paper-button class="colored" raised>Five ways to run a program on a Raspberry Pi at start-up</paper-button></a></p>
    +<p>From experience, sometimes some of them don&#39;t work, so make sure to test it and use a different method if necessary. </p>
    +<aside class="warning"><p><strong>Note: </strong>Always remember to test your device before taking it outside. It will save a lot of headaches if you check first!</p>
    +</aside>
    +<h2 is-upgraded><strong>[Optional - Not tested] Step 3 (Combining the audio and video streams):</strong></h2>
    +<aside class="special"><p><strong>Note: </strong>This step is difficult, so is therefore optional. The alternative is to record the video and audio streams separately and combine them later with basic video editing software. </p>
    +</aside>
    +<p>This may be one of the trickiest parts of this whole process, and Raspberry Pi don&#39;t really provide an easy way to do this (at least at the time of writing this tutorial). It requires quite a lengthy command that needs to be typed into a terminal. </p>
    +<p>It is up to you whether you want the students to type this, or simply copy and paste. At a basic level, it <em>pipes </em>the output of the command <code>raspivid</code> to <code>arecord</code> and combines them together. Here&#39;s the code:</p>
    +<pre><code>/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4</code></pre>
    +<aside class="warning"><p><strong>Note: </strong>You will need the program <code>ffmpeg</code> installed on the Raspberry Pi before doing this step. If you&#39;ve purchased a pre-loaded NOOBS SD card, it should have come pre-installed. If you get an error at this step saying that the <code>ffmpeg</code> command is not found, you must install it. You can find instructions for this below.</p>
    +</aside>
    +<h3 is-upgraded>Installing <code>ffmpeg </code><strong>(only if not installed):</strong></h3>
    +<ol type="1" start="1">
    +<li>Open a terminal.</li>
    +<li>Change to home directory: </li>
    +</ol>
    +<pre><code>cd ~</code></pre>
    +<ol type="1" start="3">
    +<li>Download ffmpeg: </li>
    +</ol>
    +<pre><code>git clone git://source.ffmpeg.org/ffmpeg --depth=1</code></pre>
    +<ol type="1" start="4">
    +<li>Change to ffmpeg directory: </li>
    +</ol>
    +<pre><code>cd ffmpeg</code></pre>
    +<ol type="1" start="5">
    +<li>Configure installation: </li>
    +</ol>
    +<pre><code>./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree</code></pre>
    +<ol type="1" start="6">
    +<li>Make the installation: <strong><em>Note this step will take a long time!</em></strong></li>
    +</ol>
    +<pre><code>make -j4</code></pre>
    +<ol type="1" start="7">
    +<li>Now finally run the installation: </li>
    +</ol>
    +<pre><code>sudo make install</code></pre>
    +<h2 is-upgraded><strong>The Python file for combined streams: </strong></h2>
    +<p>The following code should be saved and stored in the <code>/home/pi/</code> directory.</p>
    +<pre><code>from gpiozero import Button
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +
    +def capture():
    +    os.system(&#39;/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4&#39;) #for audio
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>Use <strong>Step 2</strong> to enable this script to run at boot.</p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Critical thinking required to form the algorithm</li>
    +<li>The order of processes by a computer in a program</li>
    +<li>Revisiting concepts from Coding Circle activity</li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Conclusion" duration="2">
    +        <p>Congratulations, you have reached the end of the tutorial. Good luck!</p>
    +<p>If you have any questions, please contact Scott Morgan | <a href="mailto:smorgan@bridgend.ac.uk" target="_blank">smorgan@bridgend.ac.uk</a>.</p>
    +<p><strong>Resources &amp; Further Reading:</strong></p>
    +<ul>
    +<li><a href="https://projects.raspberrypi.org/en/" target="_blank">Raspberry Pi Projects</a></li>
    +<li><a href="https://learn.edublocks.org/tutorial/traffic-lights" target="_blank">EduBlocks Traffic Lights</a></li>
    +<li><a href="https://gpiozero.readthedocs.io/en/stable/installing.html" target="_blank">GPIO Zero documentation</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +  </google-codelab>
    +
    +  <script src="https://storage.googleapis.com/codelab-elements/native-shim.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/custom-elements.min.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/prettify.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/codelab-elements.js"></script>
    +  <script src="//support.google.com/inapp/api.js"></script>
    +
    +</body>
    +</html>
    diff --git a/site/dist/btec-unit4.html b/site/dist/btec-unit4.html
    new file mode 100644
    index 000000000..0974bd36a
    --- /dev/null
    +++ b/site/dist/btec-unit4.html
    @@ -0,0 +1,138 @@
    +
    +<!doctype html>
    +<html lang="en">
    +<head>
    +<meta charset="utf-8">
    +<meta name="description" content="A repository of Codelabs for the programming course.">
    +<meta name="viewport" content="width=device-width,initial-scale=1">
    +<meta name="generator" content="BTEC Programming">
    +<meta name="application-name" content="BTEC Programming">
    +<link rel="canonical" href="https://scott3142.uk/codelabs-landing/btec-unit4/">
    +<link rel="preconnect" href="https://www.google-analytics.com">
    +<script>
    +window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    +    ga('create', 'UA-49880327-14', 'auto');
    +    ga('send', 'pageview');
    +</script>
    +<script async src="https://www.google-analytics.com/analytics.js"></script>
    +<title>BTEC Programming</title>
    +<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    +<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    +<style is="custom-style">
    +:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    +<meta name="apple-mobile-web-app-capable" content="yes">
    +<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    +<meta name="apple-mobile-web-app-title" content="BTEC Programming">
    +<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    +<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    +<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    +<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    +<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    +<link rel="manifest" href="site.webmanifest">
    +<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    +<meta name="msapplication-TileColor" content="#455a64">
    +<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    +<meta name="theme-color" content="#455a64">
    +<meta name="og:type" property="og:type" content="website">
    +<meta name="og:title" property="og:title" content="BTEC Programming">
    +<meta name="og:description" property="og:description" content="A repository of Codelabs for the programming course.">
    +<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/btec-unit4/">
    +<meta name="og:site_name" property="og:site_name" content="Codelabs">
    +<meta name="og:determiner" property="og:determiner" content="the">
    +<meta name="og:locale" property="og:locale" content="en_US">
    +<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="og:image:type" property="og:image:type" content="image/png">
    +<meta name="og:image:width" property="og:image:width" content="1200">
    +<meta name="og:image:height" property="og:image:height" content="1200">
    +<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    +<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    +<meta name="twitter:title" property="twitter:title" content="BTEC Programming">
    +<meta name="twitter:description" property="twitter:description" content="A repository of Codelabs for the programming course.">
    +<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    +<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/btec-unit4/">
    +</head>
    +<body id="app" is="body-bind" class="loading fullbleed view">
    +<paper-header-panel id="main" mode="standard" main>
    +<div id="mainToolbar" class="paper-header">
    +<div class="site-width layout horizontal">
    +<a href="/">
    +<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    +</a>
    +<div id="searchbar">
    +<paper-input-container no-label-float>
    +<paper-icon-button prefix icon="search"></paper-icon-button>
    +<label>Search</label>
    +<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    +</paper-input-container>
    +</div>
    +</div>
    +</div>
    +<header id="banner" down>
    +<div class="site-width">
    +<div class="banner-description">
    +<img id="logo" src="/btec-unit4/den01-logo.png" alt="Event logo">
    +<div class="banner-meta">
    +<h3>BTEC Programming</h3>
    +<p>A repository of Codelabs for the programming course.</p>
    +</div>
    +</div>
    +</div>
    +</header>
    +<main>
    +<div id="filters" class="site-width layout horizontal center justified">
    +<div id="sortby">
    +<paper-tabs selected="0" noink on-iron-activate="sortBy">
    +<paper-tab>A-Z</paper-tab>
    +<paper-tab>Recent</paper-tab>
    +<paper-tab>Duration</paper-tab>
    +</paper-tabs>
    +</div>
    +</div>
    +<card-sorter id="cards" class="site-width">
    +</card-sorter>
    +<div id="loading-placeholder" class="site-width">
    +Loading Codelabs, please wait...
    +</div>
    +</main>
    +<footer id="footer">
    +<div class="footer-wrapper site-width">
    +<div class="link-list">
    +<label>Connect</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Programs</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Developer Consoles</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +<div class="link-list">
    +<label>Explore</label>
    +<ul>
    +<li><a href="https://www.example.com/">Example</a></li>
    +</ul>
    +</div>
    +</div>
    +</footer>
    +<div class="footerbar">
    +<div class="site-width layout horizontal center justified">
    +<span>
    +<a href="https://example.com">Terms</a>
    +&nbsp; | &nbsp;
    +<a href="https://example.com">Privacy</a>
    +</span>
    +</div>
    +</div>
    +</paper-header-panel>
    +<script src="scripts/main.js"></script>
    +</body>
    +</html>
    diff --git a/site/dist/btec-unit4/den01-logo.png b/site/dist/btec-unit4/den01-logo.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..cb9d09cb6cead256e4dc28be127940f36b6ffe73
    GIT binary patch
    literal 157552
    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
    ICQJVOKg~MF2><{9
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/btec-unit4/index.html b/site/dist/btec-unit4/index.html
    new file mode 120000
    index 000000000..a333e16ff
    --- /dev/null
    +++ b/site/dist/btec-unit4/index.html
    @@ -0,0 +1 @@
    +../btec-unit4.html
    \ No newline at end of file
    diff --git a/site/dist/codelabs b/site/dist/codelabs
    index a96aa0ea9..70ff389d4 120000
    --- a/site/dist/codelabs
    +++ b/site/dist/codelabs
    @@ -1 +1 @@
    -..
    \ No newline at end of file
    +../codelabs-pub
    \ No newline at end of file
    diff --git a/site/dist/index.html b/site/dist/index.html
    index 02b29ee1f..90eef6b59 100644
    --- a/site/dist/index.html
    +++ b/site/dist/index.html
    @@ -90,13 +90,27 @@ <h2 class="banner-title">Welcome to Codelabs!</h2>
     </paper-tabs>
     </div>
     <paper-dropdown-menu label="Choose an event" class="dropdown-filter" no-label-float noink no-animations>
    -<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="/vslive/" tabindex="-1">
    +<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="/btec-unit4/" tabindex="-1">
    +<paper-item>BTEC Programming</paper-item>
    +</a>
    +<a href="/vslive/" tabindex="-1">
     <paper-item>Visual Studio Live</paper-item>
     </a>
     </paper-listbox>
     </paper-dropdown-menu>
     </div>
     <card-sorter id="cards" class="site-width">
    +<a href="/codelabs/sound-of-the-bees/index.html?index=..%2F..index" on-tap="navigate" class="codelab-card category-python" data-category="Python" data-title="Sound of the Bees" data-duration="44" data-updated="2020-04-14T11:15:24Z" data-tags="web" data-pin="">
    +<div class="description">Sound of the Bees</div>
    +<div class="card-duration">
    +<span>44 min </span>
    +<span>Updated Apr 14, 2020</span>
    +</div>
    +<div class="card-footer">
    +<div class="category-icon python-icon"></div>
    +<paper-button class="python-bg">Start</paper-button>
    +</div>
    +</a>
     </card-sorter>
     <div id="loading-placeholder" class="site-width">
     Loading Codelabs, please wait...
    diff --git a/site/gulpfile.js b/site/gulpfile.js
    index 10b6d517c..8ce9cf4d1 100644
    --- a/site/gulpfile.js
    +++ b/site/gulpfile.js
    @@ -60,7 +60,7 @@ const BASE_URL = args.baseUrl || 'https://scott3142.uk/codelabs-landing';
     // CODELABS_DIR is the directory where the actual codelabs exist on disk.
     // Despite being a constant, this can be overridden with the --codelabs-dir
     // flag.
    -const CODELABS_DIR = args.codelabsDir || '.';
    +const CODELABS_DIR = args.codelabsDir || 'codelabs-pub';
     
     // CODELABS_ENVIRONMENT is the environment for which to build codelabs.
     const CODELABS_ENVIRONMENT = args.codelabsEnv || 'web';
    @@ -945,20 +945,16 @@ gulp.task('publish:prod:views', (callback) => {
     /*
     Deploy distribution site to Github pages
     */
    -// Creates a folder called dist and adds the minified website to it.
    -//gulp.task('create:dist', gulp.series('dist', () => {
    -//  return gulp.src('dist')
    -//}));
     
     // Deploys production website to gh-pages branch
    -//var deploy = require('gulp-gh-pages');
    -//gulp.task('deploy', gulp.series(
    -//  'create:dist',
    -//  function () {
    -//    return gulp.src("./dist/**/*")
    -//     .pipe(deploy({
    -//        remoteUrl: "https://github.com/Scott3142/codelabs-landing.git",
    -//        branch: "gh-pages"
    -//      }))
    -//  }
    -//));
    +var deploy = require('gulp-gh-pages-gift');
    +gulp.task('deploy', gulp.series(
    +  'dist',
    +  function () {
    +    return gulp.src("./dist/**/*")
    +     .pipe(deploy({
    +        remoteUrl: "https://github.com/Scott3142/codelabs-landing.git",
    +        branch: "gh-pages"
    +      }))
    +  }
    +));
    diff --git a/site/package-lock.json b/site/package-lock.json
    index de9db6cd6..ba2ff3205 100644
    --- a/site/package-lock.json
    +++ b/site/package-lock.json
    @@ -339,7 +339,6 @@
           "version": "0.1.1",
           "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
           "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
    -      "dev": true,
           "requires": {
             "ansi-wrap": "0.1.0"
           }
    @@ -356,20 +355,17 @@
         "ansi-regex": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
    -      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
    -      "dev": true
    +      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
         },
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
    -      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
    -      "dev": true
    +      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
         },
         "ansi-wrap": {
           "version": "0.1.0",
           "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
    -      "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
    -      "dev": true
    +      "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768="
         },
         "anymatch": {
           "version": "2.0.0",
    @@ -439,8 +435,7 @@
         "arr-flatten": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
    -      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
    -      "dev": true
    +      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
         },
         "arr-map": {
           "version": "2.0.2",
    @@ -469,8 +464,7 @@
         "array-differ": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
    -      "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
    -      "dev": true
    +      "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE="
         },
         "array-each": {
           "version": "1.0.1",
    @@ -562,8 +556,7 @@
         "array-uniq": {
           "version": "1.0.3",
           "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
    -      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
    -      "dev": true
    +      "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
         },
         "array-unique": {
           "version": "0.3.2",
    @@ -1287,8 +1280,7 @@
         "balanced-match": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
    -      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
    -      "dev": true
    +      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
         },
         "base": {
           "version": "0.11.2",
    @@ -1363,8 +1355,7 @@
         "beeper": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
    -      "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
    -      "dev": true
    +      "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak="
         },
         "binary-extensions": {
           "version": "1.13.1",
    @@ -1458,7 +1449,6 @@
           "version": "1.1.11",
           "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
           "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
    -      "dev": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
    @@ -1651,7 +1641,6 @@
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
    -      "dev": true,
           "requires": {
             "ansi-styles": "^2.2.1",
             "escape-string-regexp": "^1.0.2",
    @@ -1924,8 +1913,7 @@
         "color-support": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
    -      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
    -      "dev": true
    +      "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg=="
         },
         "colors": {
           "version": "1.0.3",
    @@ -1991,8 +1979,7 @@
         "concat-map": {
           "version": "0.0.1",
           "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
    -      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
    -      "dev": true
    +      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
         },
         "concat-stream": {
           "version": "1.6.2",
    @@ -2060,7 +2047,6 @@
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
           "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
    -      "dev": true,
           "requires": {
             "safe-buffer": "~5.1.1"
           }
    @@ -2090,8 +2076,7 @@
         "core-util-is": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
    -      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
    -      "dev": true
    +      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
         },
         "cosmiconfig": {
           "version": "5.2.1",
    @@ -2366,8 +2351,7 @@
         "dateformat": {
           "version": "2.2.0",
           "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
    -      "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
    -      "dev": true
    +      "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI="
         },
         "debug": {
           "version": "2.6.9",
    @@ -2672,7 +2656,6 @@
           "version": "0.0.2",
           "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
           "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
    -      "dev": true,
           "requires": {
             "readable-stream": "~1.1.9"
           },
    @@ -2680,14 +2663,12 @@
             "isarray": {
               "version": "0.0.1",
               "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
    -          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
    -          "dev": true
    +          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
             },
             "readable-stream": {
               "version": "1.1.14",
               "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
               "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
    -          "dev": true,
               "requires": {
                 "core-util-is": "~1.0.0",
                 "inherits": "~2.0.1",
    @@ -2698,8 +2679,7 @@
             "string_decoder": {
               "version": "0.10.31",
               "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
    -          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
    -          "dev": true
    +          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
             }
           }
         },
    @@ -2707,7 +2687,6 @@
           "version": "3.7.1",
           "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
           "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
    -      "dev": true,
           "requires": {
             "end-of-stream": "^1.0.0",
             "inherits": "^2.0.1",
    @@ -2763,7 +2742,6 @@
           "version": "1.4.4",
           "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
           "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
    -      "dev": true,
           "requires": {
             "once": "^1.4.0"
           }
    @@ -2861,8 +2839,7 @@
         "es6-promise": {
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz",
    -      "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw=",
    -      "dev": true
    +      "integrity": "sha1-lu258v2wGZWCKyY92KratnSBgbw="
         },
         "es6-symbol": {
           "version": "3.1.3",
    @@ -2895,8 +2872,7 @@
         "escape-string-regexp": {
           "version": "1.0.5",
           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
    -      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
    -      "dev": true
    +      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
         },
         "escodegen": {
           "version": "1.14.1",
    @@ -3058,7 +3034,6 @@
           "version": "1.8.2",
           "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
           "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
    -      "dev": true,
           "requires": {
             "fill-range": "^2.1.0"
           },
    @@ -3067,7 +3042,6 @@
               "version": "2.2.4",
               "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
               "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
    -          "dev": true,
               "requires": {
                 "is-number": "^2.1.0",
                 "isobject": "^2.0.0",
    @@ -3080,7 +3054,6 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
               "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
    -          "dev": true,
               "requires": {
                 "kind-of": "^3.0.2"
               }
    @@ -3089,7 +3062,6 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
    -          "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
    @@ -3098,7 +3070,6 @@
               "version": "3.2.2",
               "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
               "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    -          "dev": true,
               "requires": {
                 "is-buffer": "^1.1.5"
               }
    @@ -3134,8 +3105,7 @@
         "extend": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
    -      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
    -      "dev": true
    +      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
         },
         "extend-shallow": {
           "version": "3.0.2",
    @@ -3239,7 +3209,6 @@
           "version": "1.3.3",
           "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz",
           "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==",
    -      "dev": true,
           "requires": {
             "ansi-gray": "^0.1.1",
             "color-support": "^1.1.3",
    @@ -3293,8 +3262,7 @@
         "filename-regex": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
    -      "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=",
    -      "dev": true
    +      "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
         },
         "fill-range": {
           "version": "4.0.0",
    @@ -3379,6 +3347,11 @@
             "parse-filepath": "^1.0.1"
           }
         },
    +    "first-chunk-stream": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
    +      "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04="
    +    },
         "flagged-respawn": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
    @@ -3403,8 +3376,7 @@
         "for-in": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
    -      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
    -      "dev": true
    +      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
         },
         "for-own": {
           "version": "1.0.0",
    @@ -3501,8 +3473,7 @@
         "fs.realpath": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
    -      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
    -      "dev": true
    +      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
         },
         "fsevents": {
           "version": "1.2.12",
    @@ -4167,7 +4138,6 @@
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
           "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
    -      "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
    @@ -4181,7 +4151,6 @@
           "version": "0.3.0",
           "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
           "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
    -      "dev": true,
           "requires": {
             "glob-parent": "^2.0.0",
             "is-glob": "^2.0.0"
    @@ -4191,7 +4160,6 @@
               "version": "2.0.0",
               "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
               "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
    -          "dev": true,
               "requires": {
                 "is-glob": "^2.0.0"
               }
    @@ -4199,14 +4167,12 @@
             "is-extglob": {
               "version": "1.0.0",
               "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
    -          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
    -          "dev": true
    +          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
             },
             "is-glob": {
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
               "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
    -          "dev": true,
               "requires": {
                 "is-extglob": "^1.0.0"
               }
    @@ -4217,7 +4183,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
           "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
    -      "dev": true,
           "requires": {
             "is-glob": "^3.1.0",
             "path-dirname": "^1.0.0"
    @@ -4227,7 +4192,6 @@
               "version": "3.1.0",
               "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
               "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
    -          "dev": true,
               "requires": {
                 "is-extglob": "^2.1.0"
               }
    @@ -4332,7 +4296,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz",
           "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==",
    -      "dev": true,
           "requires": {
             "sparkles": "^1.0.0"
           }
    @@ -4377,8 +4340,7 @@
         "graceful-fs": {
           "version": "4.2.3",
           "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
    -      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
    -      "dev": true
    +      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
         },
         "graceful-readlink": {
           "version": "1.0.1",
    @@ -4602,6 +4564,262 @@
             }
           }
         },
    +    "gulp-gh-pages-gift": {
    +      "version": "0.5.5",
    +      "resolved": "https://registry.npmjs.org/gulp-gh-pages-gift/-/gulp-gh-pages-gift-0.5.5.tgz",
    +      "integrity": "sha1-RT/wu1imjO3W8CdRoH5UtJNIbLw=",
    +      "requires": {
    +        "gift": "^0.10.1",
    +        "gulp-util": "^3.0.7",
    +        "readable-stream": "^2.0.4",
    +        "rimraf": "^2.4.4",
    +        "vinyl-fs": "^2.2.1",
    +        "wrap-promise": "^1.0.1"
    +      },
    +      "dependencies": {
    +        "arr-diff": {
    +          "version": "2.0.0",
    +          "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
    +          "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
    +          "requires": {
    +            "arr-flatten": "^1.0.1"
    +          }
    +        },
    +        "array-unique": {
    +          "version": "0.2.1",
    +          "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
    +          "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
    +        },
    +        "braces": {
    +          "version": "1.8.5",
    +          "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
    +          "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
    +          "requires": {
    +            "expand-range": "^1.8.1",
    +            "preserve": "^0.2.0",
    +            "repeat-element": "^1.1.2"
    +          }
    +        },
    +        "clone": {
    +          "version": "1.0.4",
    +          "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
    +          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
    +        },
    +        "clone-stats": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
    +          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
    +        },
    +        "expand-brackets": {
    +          "version": "0.1.5",
    +          "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
    +          "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
    +          "requires": {
    +            "is-posix-bracket": "^0.1.0"
    +          }
    +        },
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    +          "requires": {
    +            "is-extendable": "^0.1.0"
    +          }
    +        },
    +        "extglob": {
    +          "version": "0.3.2",
    +          "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
    +          "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
    +          "requires": {
    +            "is-extglob": "^1.0.0"
    +          }
    +        },
    +        "glob": {
    +          "version": "5.0.15",
    +          "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
    +          "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
    +          "requires": {
    +            "inflight": "^1.0.4",
    +            "inherits": "2",
    +            "minimatch": "2 || 3",
    +            "once": "^1.3.0",
    +            "path-is-absolute": "^1.0.0"
    +          }
    +        },
    +        "glob-stream": {
    +          "version": "5.3.5",
    +          "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz",
    +          "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=",
    +          "requires": {
    +            "extend": "^3.0.0",
    +            "glob": "^5.0.3",
    +            "glob-parent": "^3.0.0",
    +            "micromatch": "^2.3.7",
    +            "ordered-read-streams": "^0.3.0",
    +            "through2": "^0.6.0",
    +            "to-absolute-glob": "^0.1.1",
    +            "unique-stream": "^2.0.2"
    +          },
    +          "dependencies": {
    +            "readable-stream": {
    +              "version": "1.0.34",
    +              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
    +              "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
    +              "requires": {
    +                "core-util-is": "~1.0.0",
    +                "inherits": "~2.0.1",
    +                "isarray": "0.0.1",
    +                "string_decoder": "~0.10.x"
    +              }
    +            },
    +            "through2": {
    +              "version": "0.6.5",
    +              "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
    +              "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
    +              "requires": {
    +                "readable-stream": ">=1.0.33-1 <1.1.0-0",
    +                "xtend": ">=4.0.0 <4.1.0-0"
    +              }
    +            }
    +          }
    +        },
    +        "is-extglob": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
    +          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
    +        },
    +        "is-glob": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
    +          "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
    +          "requires": {
    +            "is-extglob": "^1.0.0"
    +          }
    +        },
    +        "is-valid-glob": {
    +          "version": "0.3.0",
    +          "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz",
    +          "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4="
    +        },
    +        "isarray": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
    +          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
    +        },
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        },
    +        "micromatch": {
    +          "version": "2.3.11",
    +          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
    +          "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
    +          "requires": {
    +            "arr-diff": "^2.0.0",
    +            "array-unique": "^0.2.1",
    +            "braces": "^1.8.2",
    +            "expand-brackets": "^0.1.4",
    +            "extglob": "^0.3.1",
    +            "filename-regex": "^2.0.0",
    +            "is-extglob": "^1.0.0",
    +            "is-glob": "^2.0.1",
    +            "kind-of": "^3.0.2",
    +            "normalize-path": "^2.0.1",
    +            "object.omit": "^2.0.0",
    +            "parse-glob": "^3.0.4",
    +            "regex-cache": "^0.4.2"
    +          }
    +        },
    +        "object-assign": {
    +          "version": "4.1.1",
    +          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    +          "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
    +        },
    +        "ordered-read-streams": {
    +          "version": "0.3.0",
    +          "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz",
    +          "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=",
    +          "requires": {
    +            "is-stream": "^1.0.1",
    +            "readable-stream": "^2.0.1"
    +          }
    +        },
    +        "replace-ext": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
    +          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
    +        },
    +        "string_decoder": {
    +          "version": "0.10.31",
    +          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
    +          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
    +        },
    +        "through2": {
    +          "version": "2.0.5",
    +          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
    +          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    +          "requires": {
    +            "readable-stream": "~2.3.6",
    +            "xtend": "~4.0.1"
    +          }
    +        },
    +        "through2-filter": {
    +          "version": "2.0.0",
    +          "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz",
    +          "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=",
    +          "requires": {
    +            "through2": "~2.0.0",
    +            "xtend": "~4.0.0"
    +          }
    +        },
    +        "to-absolute-glob": {
    +          "version": "0.1.1",
    +          "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz",
    +          "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=",
    +          "requires": {
    +            "extend-shallow": "^2.0.1"
    +          }
    +        },
    +        "vinyl": {
    +          "version": "1.2.0",
    +          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
    +          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
    +          "requires": {
    +            "clone": "^1.0.0",
    +            "clone-stats": "^0.0.1",
    +            "replace-ext": "0.0.1"
    +          }
    +        },
    +        "vinyl-fs": {
    +          "version": "2.4.4",
    +          "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz",
    +          "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=",
    +          "requires": {
    +            "duplexify": "^3.2.0",
    +            "glob-stream": "^5.3.2",
    +            "graceful-fs": "^4.0.0",
    +            "gulp-sourcemaps": "1.6.0",
    +            "is-valid-glob": "^0.3.0",
    +            "lazystream": "^1.0.0",
    +            "lodash.isequal": "^4.0.0",
    +            "merge-stream": "^1.0.0",
    +            "mkdirp": "^0.5.0",
    +            "object-assign": "^4.0.0",
    +            "readable-stream": "^2.0.4",
    +            "strip-bom": "^2.0.0",
    +            "strip-bom-stream": "^1.0.0",
    +            "through2": "^2.0.0",
    +            "through2-filter": "^2.0.0",
    +            "vali-date": "^1.0.0",
    +            "vinyl": "^1.0.0"
    +          }
    +        }
    +      }
    +    },
         "gulp-html-postcss": {
           "version": "7.1.4",
           "resolved": "https://registry.npmjs.org/gulp-html-postcss/-/gulp-html-postcss-7.1.4.tgz",
    @@ -4798,6 +5016,54 @@
             }
           }
         },
    +    "gulp-sourcemaps": {
    +      "version": "1.6.0",
    +      "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz",
    +      "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=",
    +      "requires": {
    +        "convert-source-map": "^1.1.1",
    +        "graceful-fs": "^4.1.2",
    +        "strip-bom": "^2.0.0",
    +        "through2": "^2.0.0",
    +        "vinyl": "^1.0.0"
    +      },
    +      "dependencies": {
    +        "clone": {
    +          "version": "1.0.4",
    +          "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
    +          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
    +        },
    +        "clone-stats": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
    +          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
    +        },
    +        "replace-ext": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
    +          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
    +        },
    +        "through2": {
    +          "version": "2.0.5",
    +          "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
    +          "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    +          "requires": {
    +            "readable-stream": "~2.3.6",
    +            "xtend": "~4.0.1"
    +          }
    +        },
    +        "vinyl": {
    +          "version": "1.2.0",
    +          "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz",
    +          "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=",
    +          "requires": {
    +            "clone": "^1.0.0",
    +            "clone-stats": "^0.0.1",
    +            "replace-ext": "0.0.1"
    +          }
    +        }
    +      }
    +    },
         "gulp-uglify": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.2.tgz",
    @@ -4884,7 +5150,6 @@
           "version": "3.0.8",
           "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
           "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
    -      "dev": true,
           "requires": {
             "array-differ": "^1.0.0",
             "array-uniq": "^1.0.2",
    @@ -4909,26 +5174,22 @@
             "clone": {
               "version": "1.0.4",
               "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
    -          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
    -          "dev": true
    +          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
             },
             "clone-stats": {
               "version": "0.0.1",
               "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
    -          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
    -          "dev": true
    +          "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE="
             },
             "replace-ext": {
               "version": "0.0.1",
               "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
    -          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
    -          "dev": true
    +          "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ="
             },
             "through2": {
               "version": "2.0.5",
               "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
               "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    -          "dev": true,
               "requires": {
                 "readable-stream": "~2.3.6",
                 "xtend": "~4.0.1"
    @@ -4938,7 +5199,6 @@
               "version": "0.5.3",
               "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
               "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
    -          "dev": true,
               "requires": {
                 "clone": "^1.0.0",
                 "clone-stats": "^0.0.1",
    @@ -5374,7 +5634,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
           "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
    -      "dev": true,
           "requires": {
             "glogg": "^1.0.0"
           }
    @@ -5408,7 +5667,6 @@
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
           "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
    -      "dev": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
    @@ -5429,7 +5687,6 @@
           "version": "0.1.0",
           "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
           "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
    -      "dev": true,
           "requires": {
             "sparkles": "^1.0.0"
           }
    @@ -5736,7 +5993,6 @@
           "version": "1.0.6",
           "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
           "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
    -      "dev": true,
           "requires": {
             "once": "^1.3.0",
             "wrappy": "1"
    @@ -5751,8 +6007,7 @@
         "inherits": {
           "version": "2.0.4",
           "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
    -      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
    -      "dev": true
    +      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
         },
         "ini": {
           "version": "1.3.5",
    @@ -5887,8 +6142,7 @@
         "is-buffer": {
           "version": "1.1.6",
           "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
    -      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
    -      "dev": true
    +      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
         },
         "is-callable": {
           "version": "1.1.5",
    @@ -5970,14 +6224,12 @@
         "is-dotfile": {
           "version": "1.0.3",
           "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
    -      "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=",
    -      "dev": true
    +      "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
         },
         "is-equal-shallow": {
           "version": "0.1.3",
           "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
           "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
    -      "dev": true,
           "requires": {
             "is-primitive": "^2.0.0"
           }
    @@ -5985,14 +6237,12 @@
         "is-extendable": {
           "version": "0.1.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
    -      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
    -      "dev": true
    +      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
         },
         "is-extglob": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
    -      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
    -      "dev": true
    +      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
         },
         "is-finite": {
           "version": "1.1.0",
    @@ -6110,14 +6360,12 @@
         "is-posix-bracket": {
           "version": "0.1.1",
           "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
    -      "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=",
    -      "dev": true
    +      "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
         },
         "is-primitive": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
    -      "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
    -      "dev": true
    +      "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
         },
         "is-regex": {
           "version": "1.0.5",
    @@ -6169,8 +6417,7 @@
         "is-stream": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
    -      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
    -      "dev": true
    +      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
         },
         "is-string": {
           "version": "1.0.5",
    @@ -6226,8 +6473,7 @@
         "is-utf8": {
           "version": "0.2.1",
           "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
    -      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
    -      "dev": true
    +      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
         },
         "is-valid-glob": {
           "version": "1.0.0",
    @@ -6268,8 +6514,7 @@
         "isarray": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    -      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
    -      "dev": true
    +      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
         "isexe": {
           "version": "2.0.0",
    @@ -6631,8 +6876,7 @@
         "json-stable-stringify-without-jsonify": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
    -      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
    -      "dev": true
    +      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
         },
         "json-stringify-safe": {
           "version": "5.0.1",
    @@ -6686,8 +6930,7 @@
         "kind-of": {
           "version": "6.0.3",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
    -      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
    -      "dev": true
    +      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
         },
         "last-run": {
           "version": "1.1.1",
    @@ -6709,7 +6952,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
           "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
    -      "dev": true,
           "requires": {
             "readable-stream": "^2.0.5"
           }
    @@ -6798,20 +7040,17 @@
         "lodash._basecopy": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
    -      "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
    -      "dev": true
    +      "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
         },
         "lodash._basetostring": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
    -      "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
    -      "dev": true
    +      "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U="
         },
         "lodash._basevalues": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
    -      "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
    -      "dev": true
    +      "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc="
         },
         "lodash._escapehtmlchar": {
           "version": "2.4.1",
    @@ -6831,8 +7070,7 @@
         "lodash._getnative": {
           "version": "3.9.1",
           "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
    -      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
    -      "dev": true
    +      "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
         },
         "lodash._htmlescapes": {
           "version": "2.4.1",
    @@ -6843,8 +7081,7 @@
         "lodash._isiterateecall": {
           "version": "3.0.9",
           "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
    -      "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
    -      "dev": true
    +      "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
         },
         "lodash._isnative": {
           "version": "2.4.1",
    @@ -6861,20 +7098,17 @@
         "lodash._reescape": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
    -      "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
    -      "dev": true
    +      "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo="
         },
         "lodash._reevaluate": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
    -      "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
    -      "dev": true
    +      "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0="
         },
         "lodash._reinterpolate": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
    -      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
    -      "dev": true
    +      "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0="
         },
         "lodash._reunescapedhtml": {
           "version": "2.4.1",
    @@ -6902,8 +7136,7 @@
         "lodash._root": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
    -      "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
    -      "dev": true
    +      "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI="
         },
         "lodash._shimkeys": {
           "version": "2.4.1",
    @@ -6947,7 +7180,6 @@
           "version": "3.2.0",
           "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
           "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
    -      "dev": true,
           "requires": {
             "lodash._root": "^3.0.0"
           }
    @@ -6955,14 +7187,17 @@
         "lodash.isarguments": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
    -      "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
    -      "dev": true
    +      "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
         },
         "lodash.isarray": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
    -      "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
    -      "dev": true
    +      "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
    +    },
    +    "lodash.isequal": {
    +      "version": "4.5.0",
    +      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
    +      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
         },
         "lodash.isobject": {
           "version": "2.4.1",
    @@ -6977,7 +7212,6 @@
           "version": "3.1.2",
           "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
           "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
    -      "dev": true,
           "requires": {
             "lodash._getnative": "^3.0.0",
             "lodash.isarguments": "^3.0.0",
    @@ -6993,14 +7227,12 @@
         "lodash.restparam": {
           "version": "3.6.1",
           "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
    -      "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
    -      "dev": true
    +      "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
         },
         "lodash.template": {
           "version": "3.6.2",
           "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
           "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
    -      "dev": true,
           "requires": {
             "lodash._basecopy": "^3.0.0",
             "lodash._basetostring": "^3.0.0",
    @@ -7017,7 +7249,6 @@
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
           "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
    -      "dev": true,
           "requires": {
             "lodash._reinterpolate": "^3.0.0",
             "lodash.escape": "^3.0.0"
    @@ -7217,8 +7448,7 @@
         "math-random": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
    -      "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==",
    -      "dev": true
    +      "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A=="
         },
         "mdast-util-compact": {
           "version": "1.0.4",
    @@ -7282,7 +7512,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
           "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=",
    -      "dev": true,
           "requires": {
             "readable-stream": "^2.0.1"
           }
    @@ -7339,7 +7568,6 @@
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
           "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
    -      "dev": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
    @@ -7347,8 +7575,7 @@
         "minimist": {
           "version": "1.2.5",
           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
    -      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
    -      "dev": true
    +      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
         },
         "mixin-deep": {
           "version": "1.3.2",
    @@ -7375,7 +7602,6 @@
           "version": "0.5.5",
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
           "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
    -      "dev": true,
           "requires": {
             "minimist": "^1.2.5"
           }
    @@ -7390,7 +7616,6 @@
           "version": "0.1.2",
           "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
           "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
    -      "dev": true,
           "requires": {
             "duplexer2": "0.0.2"
           }
    @@ -7606,7 +7831,6 @@
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
           "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
    -      "dev": true,
           "requires": {
             "remove-trailing-separator": "^1.0.1"
           }
    @@ -7683,8 +7907,7 @@
         "object-assign": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
    -      "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
    -      "dev": true
    +      "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
         },
         "object-copy": {
           "version": "0.1.0",
    @@ -7792,7 +8015,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
           "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
    -      "dev": true,
           "requires": {
             "for-own": "^0.1.4",
             "is-extendable": "^0.1.1"
    @@ -7802,7 +8024,6 @@
               "version": "0.1.5",
               "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
               "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
    -          "dev": true,
               "requires": {
                 "for-in": "^1.0.1"
               }
    @@ -7853,7 +8074,6 @@
           "version": "1.4.0",
           "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
           "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
    -      "dev": true,
           "requires": {
             "wrappy": "1"
           }
    @@ -8022,7 +8242,6 @@
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
           "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
    -      "dev": true,
           "requires": {
             "glob-base": "^0.3.0",
             "is-dotfile": "^1.0.0",
    @@ -8033,14 +8252,12 @@
             "is-extglob": {
               "version": "1.0.0",
               "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
    -          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=",
    -          "dev": true
    +          "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
             },
             "is-glob": {
               "version": "2.0.1",
               "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
               "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
    -          "dev": true,
               "requires": {
                 "is-extglob": "^1.0.0"
               }
    @@ -8059,8 +8276,7 @@
         "parse-node-version": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
    -      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
    -      "dev": true
    +      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA=="
         },
         "parse-passwd": {
           "version": "1.0.0",
    @@ -8099,8 +8315,7 @@
         "path-dirname": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
    -      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
    -      "dev": true
    +      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
         },
         "path-exists": {
           "version": "2.1.0",
    @@ -8114,8 +8329,7 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
    -      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
    -      "dev": true
    +      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
         },
         "path-is-inside": {
           "version": "1.0.2",
    @@ -8988,8 +9202,7 @@
         "preserve": {
           "version": "0.2.0",
           "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
    -      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=",
    -      "dev": true
    +      "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
         },
         "pretty-hrtime": {
           "version": "1.0.3",
    @@ -9012,8 +9225,7 @@
         "process-nextick-args": {
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
    -      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
    -      "dev": true
    +      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
         },
         "prompt": {
           "version": "0.2.14",
    @@ -9089,7 +9301,6 @@
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
           "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
    -      "dev": true,
           "requires": {
             "is-number": "^4.0.0",
             "kind-of": "^6.0.0",
    @@ -9099,8 +9310,7 @@
             "is-number": {
               "version": "4.0.0",
               "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
    -          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
    -          "dev": true
    +          "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
             }
           }
         },
    @@ -9154,7 +9364,6 @@
           "version": "2.3.7",
           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
           "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
    -      "dev": true,
           "requires": {
             "core-util-is": "~1.0.0",
             "inherits": "~2.0.3",
    @@ -9228,7 +9437,6 @@
           "version": "0.4.4",
           "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
           "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
    -      "dev": true,
           "requires": {
             "is-equal-shallow": "^0.1.3"
           }
    @@ -9385,20 +9593,17 @@
         "remove-trailing-separator": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
    -      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
    -      "dev": true
    +      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
         },
         "repeat-element": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
    -      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
    -      "dev": true
    +      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
         },
         "repeat-string": {
           "version": "1.6.1",
           "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
    -      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
    -      "dev": true
    +      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
         },
         "repeating": {
           "version": "2.0.1",
    @@ -9574,7 +9779,6 @@
           "version": "2.7.1",
           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
           "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
    -      "dev": true,
           "requires": {
             "glob": "^7.1.3"
           }
    @@ -9582,8 +9786,7 @@
         "safe-buffer": {
           "version": "5.1.2",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
    -      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
    -      "dev": true
    +      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
         },
         "safe-regex": {
           "version": "1.1.0",
    @@ -9991,8 +10194,7 @@
         "sparkles": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz",
    -      "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==",
    -      "dev": true
    +      "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw=="
         },
         "spdx-correct": {
           "version": "3.1.0",
    @@ -10140,8 +10342,7 @@
         "stream-shift": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
    -      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
    -      "dev": true
    +      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
         },
         "string-length": {
           "version": "1.0.1",
    @@ -10209,7 +10410,6 @@
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
           "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
    -      "dev": true,
           "requires": {
             "safe-buffer": "~5.1.0"
           }
    @@ -10230,7 +10430,6 @@
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
    -      "dev": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
    @@ -10239,11 +10438,19 @@
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
           "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
    -      "dev": true,
           "requires": {
             "is-utf8": "^0.2.0"
           }
         },
    +    "strip-bom-stream": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz",
    +      "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=",
    +      "requires": {
    +        "first-chunk-stream": "^1.0.0",
    +        "strip-bom": "^2.0.0"
    +      }
    +    },
         "strip-eof": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
    @@ -10349,8 +10556,7 @@
         "supports-color": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
    -      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
    -      "dev": true
    +      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
         },
         "sver-compat": {
           "version": "1.5.0",
    @@ -10563,7 +10769,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
           "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
    -      "dev": true,
           "requires": {
             "through2": "~2.0.0",
             "xtend": "~4.0.0"
    @@ -10573,7 +10778,6 @@
               "version": "2.0.5",
               "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
               "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
    -          "dev": true,
               "requires": {
                 "readable-stream": "~2.3.6",
                 "xtend": "~4.0.1"
    @@ -10584,8 +10788,7 @@
         "time-stamp": {
           "version": "1.1.0",
           "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
    -      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
    -      "dev": true
    +      "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM="
         },
         "timsort": {
           "version": "0.3.0",
    @@ -10951,7 +11154,6 @@
           "version": "2.3.1",
           "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
           "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
    -      "dev": true,
           "requires": {
             "json-stable-stringify-without-jsonify": "^1.0.1",
             "through2-filter": "^3.0.0"
    @@ -11122,8 +11324,7 @@
         "util-deprecate": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
    -      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
    -      "dev": true
    +      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
         },
         "util.promisify": {
           "version": "1.0.1",
    @@ -11172,6 +11373,11 @@
             "homedir-polyfill": "^1.0.1"
           }
         },
    +    "vali-date": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz",
    +      "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY="
    +    },
         "validate-npm-package-license": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
    @@ -11574,11 +11780,18 @@
             "strip-ansi": "^3.0.1"
           }
         },
    +    "wrap-promise": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/wrap-promise/-/wrap-promise-1.0.1.tgz",
    +      "integrity": "sha1-sBn0I2zL8ftWCSG0tIcLe9ovUlU=",
    +      "requires": {
    +        "es6-promise": "^2.3.0"
    +      }
    +    },
         "wrappy": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
    -      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
    -      "dev": true
    +      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
         },
         "x-is-string": {
           "version": "0.1.0",
    @@ -11606,8 +11819,7 @@
         "xtend": {
           "version": "4.0.2",
           "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
    -      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
    -      "dev": true
    +      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
         },
         "y18n": {
           "version": "3.2.1",
    diff --git a/site/package.json b/site/package.json
    index 590d5ed01..ec92ace2d 100644
    --- a/site/package.json
    +++ b/site/package.json
    @@ -43,6 +43,7 @@
         "node": ">=0.10.0"
       },
       "dependencies": {
    -    "gift": "^0.10.2"
    +    "gift": "^0.10.2",
    +    "gulp-gh-pages-gift": "^0.5.5"
       }
     }
    
    From 435e6b6783ed032b1e1b7bdc74caf02fe7ad7646 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 13:19:28 +0100
    Subject: [PATCH 14/19] Testing update rel links
    
    ---
     site/.publish                                 |   2 +-
     site/app/views/default/index.html             |   4 +-
     .../sound-of-the-bees/codelab.json            |   0
     .../img/7619cabb0e41fd1b.png                  | Bin
     .../sound-of-the-bees/index.html              |   0
     site/dist/codelabs                            |   1 -
     .../codelabs/sound-of-the-bees/codelab.json   |  26 ++
     .../img/7619cabb0e41fd1b.png                  | Bin 0 -> 44515 bytes
     .../codelabs/sound-of-the-bees/index.html     | 318 ++++++++++++++++++
     site/dist/index.html                          |   6 +-
     site/gulpfile.js                              |  19 +-
     site/package-lock.json                        |  15 +-
     site/package.json                             |   3 +-
     13 files changed, 378 insertions(+), 16 deletions(-)
     rename site/{codelabs-pub => codelabs}/sound-of-the-bees/codelab.json (100%)
     rename site/{codelabs-pub => codelabs}/sound-of-the-bees/img/7619cabb0e41fd1b.png (100%)
     rename site/{codelabs-pub => codelabs}/sound-of-the-bees/index.html (100%)
     delete mode 120000 site/dist/codelabs
     create mode 100644 site/dist/codelabs/sound-of-the-bees/codelab.json
     create mode 100644 site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
     create mode 100644 site/dist/codelabs/sound-of-the-bees/index.html
    
    diff --git a/site/.publish b/site/.publish
    index 7eee1ea0b..49f5ef7f0 160000
    --- a/site/.publish
    +++ b/site/.publish
    @@ -1 +1 @@
    -Subproject commit 7eee1ea0bf86b42fc39b348691613b1a4506214f
    +Subproject commit 49f5ef7f09936573af7c0e6259aa6aefdb9b5f14
    diff --git a/site/app/views/default/index.html b/site/app/views/default/index.html
    index bbeef24dc..2da18ae8c 100644
    --- a/site/app/views/default/index.html
    +++ b/site/app/views/default/index.html
    @@ -165,7 +165,7 @@ <h3>{{view.title}}</h3>
               >
                 {%- for view in views -%}
                   {%- if view.id != 'default' && !view.hidden -%}
    -                <a href="/{{view.url}}/" tabindex="-1">
    +                <a href="{{baseUrl}}/{{view.url}}/" tabindex="-1">
                       <paper-item>{{view.title}}</paper-item>
                     </a>
                   {%- endif -%}
    @@ -205,7 +205,7 @@ <h3>{{view.title}}</h3>
                  All other views are explicitly opt-in via metadata. #}
               {% if codelab.status.indexOf('hidden') === -1 || view.id !== 'default' %}
                 {% set cat = levelledCategory(codelab, view.catLevel) %}
    -            <a href="{{codelabUrl(view, codelab)}}" on-tap="navigate"
    +            <a href="{{baseUrl}}{{codelabUrl(view, codelab)}}" on-tap="navigate"
                    class="codelab-card category-{{categoryClass(codelab, cat.level)}}"
                    data-category="{{codelab.category}}"
                    data-title="{{codelab.title}}"
    diff --git a/site/codelabs-pub/sound-of-the-bees/codelab.json b/site/codelabs/sound-of-the-bees/codelab.json
    similarity index 100%
    rename from site/codelabs-pub/sound-of-the-bees/codelab.json
    rename to site/codelabs/sound-of-the-bees/codelab.json
    diff --git a/site/codelabs-pub/sound-of-the-bees/img/7619cabb0e41fd1b.png b/site/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
    similarity index 100%
    rename from site/codelabs-pub/sound-of-the-bees/img/7619cabb0e41fd1b.png
    rename to site/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
    diff --git a/site/codelabs-pub/sound-of-the-bees/index.html b/site/codelabs/sound-of-the-bees/index.html
    similarity index 100%
    rename from site/codelabs-pub/sound-of-the-bees/index.html
    rename to site/codelabs/sound-of-the-bees/index.html
    diff --git a/site/dist/codelabs b/site/dist/codelabs
    deleted file mode 120000
    index 70ff389d4..000000000
    --- a/site/dist/codelabs
    +++ /dev/null
    @@ -1 +0,0 @@
    -../codelabs-pub
    \ No newline at end of file
    diff --git a/site/dist/codelabs/sound-of-the-bees/codelab.json b/site/dist/codelabs/sound-of-the-bees/codelab.json
    new file mode 100644
    index 000000000..79169d472
    --- /dev/null
    +++ b/site/dist/codelabs/sound-of-the-bees/codelab.json
    @@ -0,0 +1,26 @@
    +{
    +  "environment": "web",
    +  "format": "html",
    +  "prefix": "https://storage.googleapis.com",
    +  "mainga": "UA-49880327-14",
    +  "updated": "2020-04-14T11:15:24Z",
    +  "id": "sound-of-the-bees",
    +  "duration": 44,
    +  "title": "Sound of the Bees",
    +  "authors": "Scott Morgan",
    +  "summary": "During this project, you will create a bee-hive monitoring system using a Raspberry Pi, a camera and a microphone.",
    +  "source": "1W-Ayc-XEngJ8ikZyij8Zub84viV0A1FWNa8NPFJ7UC4",
    +  "theme": "python",
    +  "status": [
    +    "published"
    +  ],
    +  "category": [
    +    "Python"
    +  ],
    +  "tags": [
    +    "web"
    +  ],
    +  "feedback": "https://github.com/Scott3142/sound-of-the-bees",
    +  "ga": "UA-214872164-1",
    +  "url": "sound-of-the-bees"
    +}
    diff --git a/site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png b/site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..642f38244b70e566c5c1033154bbcc941e0927b5
    GIT binary patch
    literal 44515
    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
    Z4Pn&cI<qe>zy|~@83_gPpQ47r{|nYI(B=RD
    
    literal 0
    HcmV?d00001
    
    diff --git a/site/dist/codelabs/sound-of-the-bees/index.html b/site/dist/codelabs/sound-of-the-bees/index.html
    new file mode 100644
    index 000000000..708c5df1c
    --- /dev/null
    +++ b/site/dist/codelabs/sound-of-the-bees/index.html
    @@ -0,0 +1,318 @@
    +
    +<!doctype html>
    +
    +<html>
    +<head>
    +  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
    +  <meta name="theme-color" content="#4F7DC9">
    +  <meta charset="UTF-8">
    +  <title>Sound of the Bees</title>
    +  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Code+Pro:400|Roboto:400,300,400italic,500,700|Roboto+Mono">
    +  <link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons">
    +  <link rel="stylesheet" href="https://storage.googleapis.com/codelab-elements/codelab-elements.css">
    +  <style>
    +    .success {
    +      color: #1e8e3e;
    +    }
    +    .error {
    +      color: red;
    +    }
    +  </style>
    +</head>
    +<body>
    +  <google-codelab-analytics gaid="UA-49880327-14"></google-codelab-analytics>
    +  <google-codelab codelab-gaid="UA-214872164-1"
    +                  id="sound-of-the-bees"
    +                  title="Sound of the Bees"
    +                  environment="web"
    +                  feedback-link="https://github.com/Scott3142/sound-of-the-bees">
    +    
    +      <google-codelab-step label="Introduction" duration="2">
    +        <p class="image-container"><img style="width: 624.00px" src="img/7619cabb0e41fd1b.png"></p>
    +<p><strong>Last Updated:</strong> 2019-11-10</p>
    +<h2 is-upgraded><strong>Sound of the Bees</strong></h2>
    +<aside class="special"><p>This tutorial will give an overview of a project designed to introduce students to the fundamental concepts of programming while developing a complete project from start to finish for monitoring a bee hive. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/p1JRZLRscZ0?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>This work is a collaborative project between <a href="https://cardiff.ac.uk" target="_blank">Cardiff University</a> and <a href="https://bridgend.ac.uk" target="_blank">Bridgend College</a>. We are grateful to the <a href="https://wellcome.ac.uk" target="_blank">Wellcome Trust</a> for their financial contributions to the project and to <a href="https://www.llanishenfach.co.uk/" target="_blank">Llanishen Fach Primary School</a> for allowing us to trial and test the system.</p>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Coding Circle" duration="5">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the fundamental concepts of programming within a fun, active setting. Students are on their feet and engaging with this activity throughout. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/JVq4q5gw4BA?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>Students form a circle or a line and each one is given a piece of A4 paper with a line of Python code on it. </p>
    +<p>Within the code, there will be a <strong>spelling error</strong>, a <strong>variable</strong> definition, an <strong>if statement</strong> and a <strong>loop</strong>. The tutor should discuss these various programming constructs as the students move around the circle. </p>
    +<pre><code>print(&#39;Boom!&#39;)
    +jump()
    +prin(&#39;Test&#39;) #Note deliberate spelling error!
    +if &lt;next person is wearing glasses&gt;:
    +for n in range(1,3):</code></pre>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Spelling is critical in programming.</li>
    +<li>Variables are used to store information to be used later in the code. </li>
    +<li>Conditional if statements ask a question of the computer, and run some code when the condition is met. </li>
    +<li>For and while loops can be used to repeat processes iteratively.</li>
    +</ul>
    +<p><strong>Downloads:</strong></p>
    +<p><a href="https://docs.google.com/presentation/d/1xzuF6SNvN6rzKSAberh9Q1W5yxHKO_afsCZ0y9YVcCI/edit?usp=sharing" target="_blank"><paper-button class="colored" raised><iron-icon icon="file-download"></iron-icon>Download Coding Circle pack</paper-button></a></p>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Building the Hardware" duration="10">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the students to the process of building simple circuits using the Raspberry Pi, a breadboard, an LED, a button, a resistor and some jumper wires. </p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/OeuhwVSXAW8?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>During this section of the class, students will assemble their Raspberry Pis and login. There are some excellent ‘Getting Started&#39; resources provided by the Raspberry Pi foundation which can be found below:</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started" target="_blank"><paper-button class="colored" raised>Getting Started with Raspberry Pi</paper-button></a></p>
    +<p>You might want to try out some physical computing activities first, to get your students familiar with the concepts of wiring a breadboard, a button, an LED and so on. You can find some very thorough tutorials below, for both Scratch (beginner) and Python (more advanced).</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing-with-scratch" target="_blank"><paper-button class="colored" raised>Physical Computing with Scratch</paper-button></a></p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing" target="_blank"><paper-button class="colored" raised>Physical Computing with Python</paper-button></a></p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Fundamentals of microcontrollers &amp; the Raspberry Pi</li>
    +<li>How power and data is provided/transferred to devices</li>
    +<li>Building basic circuits</li>
    +</ul>
    +<p><strong>Hardware resources:</strong></p>
    +<ul>
    +<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/" target="_blank">Raspberry Pi 3 (Model B)</a></li>
    +<li><a href="https://thepihut.com/products/noobs-preinstalled-sd-card?q=%27NOOBS%27%20Preinstalled%20Micro%20SD%20Card%20(Latest%20v3.2.1)" target="_blank">16GB Micro SD card (with NOOBS installed)</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Micro-Cable-Black/dp/B0711PVX6Z/ref=sr_1_3?crid=NPEXNVWO9B3N&keywords=micro+usb+cable+amazonbasics&qid=1573399458&sprefix=micro+usb+cable+amazonba%2Caps%2C145&sr=8-3" target="_blank">Micro USB Lead</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-High-Speed-Ultra-HDMI-Cable/dp/B014I8SIJY?ref_=fsclp_pl_dp_1" target="_blank">HDMI lead</a></li>
    +<li><a href="https://www.amazon.co.uk/TechRise-High-Speed-adapter-Converter-Charging-Black/dp/B01E8DD6J6/ref=pd_sbs_147_t_1/261-8683823-0205156?_encoding=UTF8&pd_rd_i=B01E8DD6J6&pd_rd_r=33df8c34-5867-4a61-8f3b-42973792e10d&pd_rd_w=ayEkl&pd_rd_wg=MjDOA&pf_rd_p=e44592b5-e56d-44c2-a4f9-dbdc09b29395&pf_rd_r=QGFAFZ8KJX3GVDA1QX46&psc=1&refRID=QGFAFZ8KJX3GVDA1QX46" target="_blank">HDMI to VGA converter</a> (if you don&#39;t have monitors with HDMI ports)</li>
    +<li><a href="https://camjam.me/?page_id=236" target="_blank">CamJam EduKit 1</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Testing the Camera" duration="10">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to introduce the students to the Raspberry Pi camera and the use of command line programming to take photos and videos. We will also introduce the microphone at this step and use it to record audio.</p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/lpmaHNLuDsw?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<h2 is-upgraded><strong>Step 1:</strong></h2>
    +<p>Before getting started with the camera module, we will have to make sure it is enabled via the config page. To do this, you&#39;ll need to open a Raspberry Pi terminal. You can do that by following the instructions <a href="https://www.raspberrypi.org/documentation/usage/terminal/" target="_blank">here</a>.</p>
    +<ul>
    +<li>Open a terminal and run:</li>
    +</ul>
    +<pre><code>sudo raspi-config</code></pre>
    +<ul>
    +<li>Navigate to <strong><code>Interfacing Options</code></strong><strong> </strong>and select <strong><code>Camera.</code></strong> Select the option to enable the camera and reboot the Pi.</li>
    +</ul>
    +<h2 is-upgraded><strong>Step 2:</strong></h2>
    +<p>Once the camera module is connected, you may want to follow some of the recommended instructions from the Raspberry Pi foundation, available below:</p>
    +<p><a href="https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2" target="_blank"><paper-button class="colored" raised>Getting Started with the Camera Module</paper-button></a></p>
    +<h2 is-upgraded>Notes:</h2>
    +<p>The code generally reduces to the following two commands:</p>
    +<pre><code>raspistill -o picture.jpg</code></pre>
    +<p>and</p>
    +<pre><code>raspivid -o video.h264 -t 10000</code></pre>
    +<p>The first command takes a picture and the second takes a 10 second (10000 milisecond) video and stores them on the Pi.</p>
    +<aside class="special"><p><strong>Note: </strong>You can discuss with the students how to stop the command overwriting the previous picture each time here. Labelling the picture with the date and time is a good way to stop this.</p>
    +</aside>
    +<h2 is-upgraded><strong>Step 3:</strong></h2>
    +<p>To record audio with the Pi, you can use the following command. </p>
    +<pre><code>arecord -D plughw:1,0 -d 3 audio.wav</code></pre>
    +<p>This records 3 seconds of audio and stores it to the Pi. It is recommended to follow the instructions below to check each part of this command is correct for your system.</p>
    +<p><a href="http://wiki.sunfounder.cc/index.php?title=To_use_USB_mini_microphone_on_Raspbian" target="_blank"><paper-button class="colored" raised>Getting Started with a USB microphone</paper-button></a></p>
    +<h2 is-upgraded><strong>Common Camera Error:</strong></h2>
    +<aside class="warning"><p><strong>Note: </strong>When using the camera module for the first time, it is quite common to see the following error.</p>
    +</aside>
    +<pre><code>mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
    +mmal: camera component could not be enabled
    +mmal: main: Failed to create camera component
    +mmal: Failed to run camera app. Please check for firmware updates</code></pre>
    +<p>If this happens, first check that the camera module is enabled with step 1 and reboot the Pi.</p>
    +<p>It is possible that the camera connection wire is faulty if this error persists. Unplug the camera module, ensure it is in the correct way around and try with a different camera module or Raspberry Pi. </p>
    +<p>There is further information below about troubleshooting this error:</p>
    +<p><a href="https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module" target="_blank">https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module</a></p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Some experience with command line</li>
    +<li>Revisiting concepts from Coding Circle activity</li>
    +</ul>
    +<p><strong>Hardware resources:</strong></p>
    +<ul>
    +<li><a href="https://thepihut.com/products/raspberry-pi-camera-module?variant=758603005" target="_blank">Raspberry Pi Camera Module</a></li>
    +<li><a href="https://www.amazon.co.uk/Richera-Microphone-Notebook-Recognition-Software/dp/B01FJWO5K4/ref=sr_1_5?keywords=small+usb+microphone&qid=1573400655&sr=8-5" target="_blank">USB microphone</a></li>
    +<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Female-Extension-Cable/dp/B00NH11PEY/ref=sr_1_3?keywords=usb+extender+lead&qid=1573400700&sr=8-3" target="_blank">USB extender</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="The Algorithm" duration="15">
    +        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    +<aside class="special"><p>This activity is designed to bring together the concepts from the previous sections and develop the final system, before testing in class.</p>
    +</aside>
    +<iframe class="youtube-video" src="https://www.youtube.com/embed/vP9QjA5Ct8k?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    +<p>So far, we have assembled the hardware and tested the action of the button using Scatch (or Python) to light an LED and tested our camera module with audio. This section looks to bring all of this together into one command that can be run outside at the hive.</p>
    +<p>We need to do a few things to make this possible. </p>
    +<ol type="1" start="1">
    +<li>Write some code that says ‘<code>if the button is pressed, start the recording</code>&#39; . This will embed many of the concepts from the Coding Circle activity. </li>
    +<li>Activate the code to <strong>run when the Pi starts </strong>so that we don&#39;t have to do anything with it outside at the hive. <em>This will let us just plug it into a battery pack, press the button and start the recording.  </em></li>
    +<li>Combine the video and audio streams<em> (Optional - not tested)</em>.</li>
    +</ol>
    +<h2 is-upgraded><strong>Step 1 (Starting the recording when the button is pressed):</strong></h2>
    +<h3 is-upgraded>Taking a picture with Python:</h3>
    +<p>Following on from the Building the Hardware section, we can use Python to trigger the camera to take a photo when a button is pressed. This is covered by the following code:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.capture(&#39;/home/pi/%s.jpg&#39; % timestamp)
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>This code will store the output file as a jpg in the <code>/home/pi/</code> directory on the Pi. Note that we are labelling the image as the date and time to avoid overwriting, as discussed in Building the Hardware.</p>
    +<h3 is-upgraded><strong>Taking a video with Python:</strong></h3>
    +<p>Capturing a video to a file is similar and can be done in Python as follows:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +seconds = 60 #you can change this number
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.resolution = (640, 480)
    +    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    +    camera.wait_recording(seconds)
    +    camera.stop_recording()
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>This captures 60 seconds of footage and stores it in the <code>/home/pi/</code> directory on the Pi.</p>
    +<h3 is-upgraded><strong>Taking a video and recording audio with Python:</strong></h3>
    +<p>You can add the audio stream by adding a line as follows:</p>
    +<pre><code>from gpiozero import Button
    +from picamera import PiCamera
    +from datetime import datetime
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +camera = PiCamera()
    +seconds = 60 #if you change this, change the 60 in the audio command
    +
    +def capture():
    +    timestamp = datetime.now().isoformat()
    +    camera.resolution = (640, 480)
    +    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    +    camera.wait_recording(seconds)
    +    os.system(&#39;arecord -D plughw:1,0 -d 60 audio.wav&#39;) #for audio
    +    camera.stop_recording()
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<h2 is-upgraded><strong>Step 2 (Set the code to run when the Pi starts up):</strong></h2>
    +<p>There are multiple ways to set your Python file to run when the Raspberry Pi loads up. Firstly, make sure you have the code from <strong>Step 1 </strong>saved on your Pi somewhere that you can find it. It is probably sensible to name it something like <code>startVideo.py</code> and store it in your <code>/home/pi/</code> directory. </p>
    +<p>The following tutorial explains 5 different ways to get your program to run at boot (start up):</p>
    +<p><a href="https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/" target="_blank"><paper-button class="colored" raised>Five ways to run a program on a Raspberry Pi at start-up</paper-button></a></p>
    +<p>From experience, sometimes some of them don&#39;t work, so make sure to test it and use a different method if necessary. </p>
    +<aside class="warning"><p><strong>Note: </strong>Always remember to test your device before taking it outside. It will save a lot of headaches if you check first!</p>
    +</aside>
    +<h2 is-upgraded><strong>[Optional - Not tested] Step 3 (Combining the audio and video streams):</strong></h2>
    +<aside class="special"><p><strong>Note: </strong>This step is difficult, so is therefore optional. The alternative is to record the video and audio streams separately and combine them later with basic video editing software. </p>
    +</aside>
    +<p>This may be one of the trickiest parts of this whole process, and Raspberry Pi don&#39;t really provide an easy way to do this (at least at the time of writing this tutorial). It requires quite a lengthy command that needs to be typed into a terminal. </p>
    +<p>It is up to you whether you want the students to type this, or simply copy and paste. At a basic level, it <em>pipes </em>the output of the command <code>raspivid</code> to <code>arecord</code> and combines them together. Here&#39;s the code:</p>
    +<pre><code>/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4</code></pre>
    +<aside class="warning"><p><strong>Note: </strong>You will need the program <code>ffmpeg</code> installed on the Raspberry Pi before doing this step. If you&#39;ve purchased a pre-loaded NOOBS SD card, it should have come pre-installed. If you get an error at this step saying that the <code>ffmpeg</code> command is not found, you must install it. You can find instructions for this below.</p>
    +</aside>
    +<h3 is-upgraded>Installing <code>ffmpeg </code><strong>(only if not installed):</strong></h3>
    +<ol type="1" start="1">
    +<li>Open a terminal.</li>
    +<li>Change to home directory: </li>
    +</ol>
    +<pre><code>cd ~</code></pre>
    +<ol type="1" start="3">
    +<li>Download ffmpeg: </li>
    +</ol>
    +<pre><code>git clone git://source.ffmpeg.org/ffmpeg --depth=1</code></pre>
    +<ol type="1" start="4">
    +<li>Change to ffmpeg directory: </li>
    +</ol>
    +<pre><code>cd ffmpeg</code></pre>
    +<ol type="1" start="5">
    +<li>Configure installation: </li>
    +</ol>
    +<pre><code>./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree</code></pre>
    +<ol type="1" start="6">
    +<li>Make the installation: <strong><em>Note this step will take a long time!</em></strong></li>
    +</ol>
    +<pre><code>make -j4</code></pre>
    +<ol type="1" start="7">
    +<li>Now finally run the installation: </li>
    +</ol>
    +<pre><code>sudo make install</code></pre>
    +<h2 is-upgraded><strong>The Python file for combined streams: </strong></h2>
    +<p>The following code should be saved and stored in the <code>/home/pi/</code> directory.</p>
    +<pre><code>from gpiozero import Button
    +from signal import pause
    +import os #required for audio stream
    +
    +button = Button(2)
    +
    +def capture():
    +    os.system(&#39;/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4&#39;) #for audio
    +
    +button.when_pressed = capture
    +
    +pause()</code></pre>
    +<p>Use <strong>Step 2</strong> to enable this script to run at boot.</p>
    +<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    +<ul>
    +<li>Critical thinking required to form the algorithm</li>
    +<li>The order of processes by a computer in a program</li>
    +<li>Revisiting concepts from Coding Circle activity</li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +      <google-codelab-step label="Conclusion" duration="2">
    +        <p>Congratulations, you have reached the end of the tutorial. Good luck!</p>
    +<p>If you have any questions, please contact Scott Morgan | <a href="mailto:smorgan@bridgend.ac.uk" target="_blank">smorgan@bridgend.ac.uk</a>.</p>
    +<p><strong>Resources &amp; Further Reading:</strong></p>
    +<ul>
    +<li><a href="https://projects.raspberrypi.org/en/" target="_blank">Raspberry Pi Projects</a></li>
    +<li><a href="https://learn.edublocks.org/tutorial/traffic-lights" target="_blank">EduBlocks Traffic Lights</a></li>
    +<li><a href="https://gpiozero.readthedocs.io/en/stable/installing.html" target="_blank">GPIO Zero documentation</a></li>
    +</ul>
    +
    +
    +      </google-codelab-step>
    +    
    +  </google-codelab>
    +
    +  <script src="https://storage.googleapis.com/codelab-elements/native-shim.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/custom-elements.min.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/prettify.js"></script>
    +  <script src="https://storage.googleapis.com/codelab-elements/codelab-elements.js"></script>
    +  <script src="//support.google.com/inapp/api.js"></script>
    +
    +</body>
    +</html>
    diff --git a/site/dist/index.html b/site/dist/index.html
    index 90eef6b59..433a1bc5a 100644
    --- a/site/dist/index.html
    +++ b/site/dist/index.html
    @@ -90,17 +90,17 @@ <h2 class="banner-title">Welcome to Codelabs!</h2>
     </paper-tabs>
     </div>
     <paper-dropdown-menu label="Choose an event" class="dropdown-filter" no-label-float noink no-animations>
    -<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="/btec-unit4/" tabindex="-1">
    +<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="https://scott3142.uk/codelabs-landing/btec-unit4/" tabindex="-1">
     <paper-item>BTEC Programming</paper-item>
     </a>
    -<a href="/vslive/" tabindex="-1">
    +<a href="https://scott3142.uk/codelabs-landing/vslive/" tabindex="-1">
     <paper-item>Visual Studio Live</paper-item>
     </a>
     </paper-listbox>
     </paper-dropdown-menu>
     </div>
     <card-sorter id="cards" class="site-width">
    -<a href="/codelabs/sound-of-the-bees/index.html?index=..%2F..index" on-tap="navigate" class="codelab-card category-python" data-category="Python" data-title="Sound of the Bees" data-duration="44" data-updated="2020-04-14T11:15:24Z" data-tags="web" data-pin="">
    +<a href="https://scott3142.uk/codelabs-landing/codelabs/sound-of-the-bees/index.html?index=..%2F..index" on-tap="navigate" class="codelab-card category-python" data-category="Python" data-title="Sound of the Bees" data-duration="44" data-updated="2020-04-14T11:15:24Z" data-tags="web" data-pin="">
     <div class="description">Sound of the Bees</div>
     <div class="card-duration">
     <span>44 min </span>
    diff --git a/site/gulpfile.js b/site/gulpfile.js
    index 8ce9cf4d1..66c98f623 100644
    --- a/site/gulpfile.js
    +++ b/site/gulpfile.js
    @@ -60,7 +60,7 @@ const BASE_URL = args.baseUrl || 'https://scott3142.uk/codelabs-landing';
     // CODELABS_DIR is the directory where the actual codelabs exist on disk.
     // Despite being a constant, this can be overridden with the --codelabs-dir
     // flag.
    -const CODELABS_DIR = args.codelabsDir || 'codelabs-pub';
    +const CODELABS_DIR = args.codelabsDir || 'codelabs';
     
     // CODELABS_ENVIRONMENT is the environment for which to build codelabs.
     const CODELABS_ENVIRONMENT = args.codelabsEnv || 'web';
    @@ -230,8 +230,8 @@ gulp.task('build:vulcanize', () => {
     // build builds all the assets
     gulp.task('build', gulp.series(
       'clean',
    -  'build:codelabs',
       'build:css',
    +  'build:codelabs',
       'build:scss',
       'build:html',
       'build:images',
    @@ -842,13 +842,19 @@ const sortCodelabs = (codelabs, view) => {
     // expression or view regular expression into the build/ folder. If no filters
     // are specified (i.e. if codelabRe and viewRe are both undefined), then this
     // function returns all codelabs in the codelabs directory.
    +var ncp = require('ncp').ncp;
     const copyFilteredCodelabs = (dest) =>  {
       // No filters were specified, symlink the codelabs folder directly and save
       // processing.
       if (CODELABS_FILTER === '*' && VIEWS_FILTER === '*') {
         const source = path.join(CODELABS_DIR);
         const target = path.join(dest, CODELABS_NAMESPACE);
    -    fs.ensureSymlinkSync(source, target, 'dir');
    +    //fs.ensureSymlinkSync(source, target, 'dir');
    +    ncp(source, target, function (err) {
    +      if (err) {
    +        return console.error(err);
    +      }
    +    });
         return
       }
     
    @@ -858,7 +864,12 @@ const copyFilteredCodelabs = (dest) =>  {
         const codelab = codelabs[i];
         const source = path.join(CODELABS_DIR, codelab.id);
         const target = path.join(dest, CODELABS_NAMESPACE, codelab.id);
    -    fs.ensureSymlinkSync(source, target, 'dir');
    +    //fs.ensureSymlinkSync(source, target, 'dir');
    +    ncp(source, target, function (err) {
    +      if (err) {
    +        return console.error(err);
    +      }
    +    });
       }
     };
     
    diff --git a/site/package-lock.json b/site/package-lock.json
    index ba2ff3205..88ec971f5 100644
    --- a/site/package-lock.json
    +++ b/site/package-lock.json
    @@ -7664,10 +7664,9 @@
           "dev": true
         },
         "ncp": {
    -      "version": "0.4.2",
    -      "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
    -      "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
    -      "dev": true
    +      "version": "2.0.0",
    +      "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
    +      "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M="
         },
         "negotiator": {
           "version": "0.6.2",
    @@ -11350,6 +11349,14 @@
             "mkdirp": "0.x.x",
             "ncp": "0.4.x",
             "rimraf": "2.x.x"
    +      },
    +      "dependencies": {
    +        "ncp": {
    +          "version": "0.4.2",
    +          "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
    +          "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
    +          "dev": true
    +        }
           }
         },
         "utils-merge": {
    diff --git a/site/package.json b/site/package.json
    index ec92ace2d..1eab975f7 100644
    --- a/site/package.json
    +++ b/site/package.json
    @@ -44,6 +44,7 @@
       },
       "dependencies": {
         "gift": "^0.10.2",
    -    "gulp-gh-pages-gift": "^0.5.5"
    +    "gulp-gh-pages-gift": "^0.5.5",
    +    "ncp": "^2.0.0"
       }
     }
    
    From 17b6bd9aaa893a2737bd0b376f9c3ccb90a61d41 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 13:58:50 +0100
    Subject: [PATCH 15/19] Rel links work, fixing image links now
    
    ---
     site/.publish                         |   2 +-
     site/app/404.html                     |   2 +-
     site/app/scripts/app.js               |   2 +-
     site/app/views/btec-unit4/view.json   |   2 +-
     site/app/views/default/index.html     |   2 +-
     site/app/views/vslive/view.json       |  10 --
     site/app/views/vslive/vslive-logo.jpg | Bin 4224 -> 0 bytes
     site/dist/404.html                    |   2 +-
     site/dist/btec-unit4.html             |   4 +-
     site/dist/index.html                  |   5 +-
     site/dist/scripts/main.js             |   2 +-
     site/dist/vslive.html                 | 138 --------------------------
     site/dist/vslive/index.html           |   1 -
     site/dist/vslive/vslive-logo.jpg      | Bin 4224 -> 0 bytes
     14 files changed, 10 insertions(+), 162 deletions(-)
     delete mode 100644 site/app/views/vslive/view.json
     delete mode 100644 site/app/views/vslive/vslive-logo.jpg
     delete mode 100644 site/dist/vslive.html
     delete mode 120000 site/dist/vslive/index.html
     delete mode 100644 site/dist/vslive/vslive-logo.jpg
    
    diff --git a/site/.publish b/site/.publish
    index 49f5ef7f0..53a3acb35 160000
    --- a/site/.publish
    +++ b/site/.publish
    @@ -1 +1 @@
    -Subproject commit 49f5ef7f09936573af7c0e6259aa6aefdb9b5f14
    +Subproject commit 53a3acb357808101ae4c14e68ab968133554a3a1
    diff --git a/site/app/404.html b/site/app/404.html
    index 3f4342d1d..3f485b3c0 100644
    --- a/site/app/404.html
    +++ b/site/app/404.html
    @@ -51,7 +51,7 @@
     
       <body>
         <div id="wrapper">
    -      <a href="/"><span id="logo" aria-label="Google Codelabs"></span></a>
    +      <a href="{{baseUrl}}"><span id="logo" aria-label="Google Codelabs"></span></a>
           <p><b>404.</b> <ins>That’s an error.</ins></p>
           <p>The requested URL was not found. <ins>That’s all we know.</ins></p>
         </div>
    diff --git a/site/app/scripts/app.js b/site/app/scripts/app.js
    index d726735fa..afb18dd5d 100644
    --- a/site/app/scripts/app.js
    +++ b/site/app/scripts/app.js
    @@ -234,7 +234,7 @@
         } else {
           let script = document.createElement('script');
           script.async = true;
    -      script.src = '/bower_components/webcomponentsjs/webcomponents-lite.min.js';
    +      script.src = 'https://scott3142.uk/codelabs-landing/bower_components/webcomponentsjs/webcomponents-lite.min.js';
           document.head.appendChild(script);
         }
       }
    diff --git a/site/app/views/btec-unit4/view.json b/site/app/views/btec-unit4/view.json
    index 587811bad..b6f31cf34 100644
    --- a/site/app/views/btec-unit4/view.json
    +++ b/site/app/views/btec-unit4/view.json
    @@ -1,7 +1,7 @@
     {
       "title": "BTEC Programming",
       "description": "A repository of Codelabs for the programming course.",
    -  "logoUrl": "/btec-unit4/den01-logo.png",
    +  "logoUrl": "{{baseUrl}}/btec-unit4/den01-logo.png",
       "tags": ["btec"],
       "exclude": [
         ".*-about$",
    diff --git a/site/app/views/default/index.html b/site/app/views/default/index.html
    index 2da18ae8c..a3b61eea7 100644
    --- a/site/app/views/default/index.html
    +++ b/site/app/views/default/index.html
    @@ -98,7 +98,7 @@
         {% raw %}
         <div id="mainToolbar" class="paper-header">
           <div class="site-width layout horizontal">
    -        <a href="/">
    +        <a href="{{baseUrl}}">
               <img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
             </a>
             <div id="searchbar">
    diff --git a/site/app/views/vslive/view.json b/site/app/views/vslive/view.json
    deleted file mode 100644
    index f9dbf3e47..000000000
    --- a/site/app/views/vslive/view.json
    +++ /dev/null
    @@ -1,10 +0,0 @@
    -{
    -  "title": "Visual Studio Live",
    -  "description": "Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.",
    -  "logoUrl": "/vslive/vslive-logo.jpg",
    -  "tags": ["vslive"],
    -  "exclude": [
    -    ".*-about$",
    -    "^lang-.*"
    -  ]
    -}
    diff --git a/site/app/views/vslive/vslive-logo.jpg b/site/app/views/vslive/vslive-logo.jpg
    deleted file mode 100644
    index 54c8ed59dd9675ca22fd10e714cf1b020e5dd55d..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4224
    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
    
    diff --git a/site/dist/404.html b/site/dist/404.html
    index df4c24fea..deb3bea52 100644
    --- a/site/dist/404.html
    +++ b/site/dist/404.html
    @@ -9,7 +9,7 @@
     </head>
     <body>
     <div id="wrapper">
    -<a href="/"><span id="logo" aria-label="Google Codelabs"></span></a>
    +<a href="{{baseUrl}}"><span id="logo" aria-label="Google Codelabs"></span></a>
     <p><b>404.</b> <ins>That’s an error.</ins></p>
     <p>The requested URL was not found. <ins>That’s all we know.</ins></p>
     </div>
    diff --git a/site/dist/btec-unit4.html b/site/dist/btec-unit4.html
    index 0974bd36a..a25146d12 100644
    --- a/site/dist/btec-unit4.html
    +++ b/site/dist/btec-unit4.html
    @@ -56,7 +56,7 @@
     <paper-header-panel id="main" mode="standard" main>
     <div id="mainToolbar" class="paper-header">
     <div class="site-width layout horizontal">
    -<a href="/">
    +<a href="{{baseUrl}}">
     <img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
     </a>
     <div id="searchbar">
    @@ -71,7 +71,7 @@
     <header id="banner" down>
     <div class="site-width">
     <div class="banner-description">
    -<img id="logo" src="/btec-unit4/den01-logo.png" alt="Event logo">
    +<img id="logo" src="{{baseUrl}}/btec-unit4/den01-logo.png" alt="Event logo">
     <div class="banner-meta">
     <h3>BTEC Programming</h3>
     <p>A repository of Codelabs for the programming course.</p>
    diff --git a/site/dist/index.html b/site/dist/index.html
    index 433a1bc5a..f79d4482c 100644
    --- a/site/dist/index.html
    +++ b/site/dist/index.html
    @@ -56,7 +56,7 @@
     <paper-header-panel id="main" mode="standard" main>
     <div id="mainToolbar" class="paper-header">
     <div class="site-width layout horizontal">
    -<a href="/">
    +<a href="{{baseUrl}}">
     <img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
     </a>
     <div id="searchbar">
    @@ -93,9 +93,6 @@ <h2 class="banner-title">Welcome to Codelabs!</h2>
     <paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="https://scott3142.uk/codelabs-landing/btec-unit4/" tabindex="-1">
     <paper-item>BTEC Programming</paper-item>
     </a>
    -<a href="https://scott3142.uk/codelabs-landing/vslive/" tabindex="-1">
    -<paper-item>Visual Studio Live</paper-item>
    -</a>
     </paper-listbox>
     </paper-dropdown-menu>
     </div>
    diff --git a/site/dist/scripts/main.js b/site/dist/scripts/main.js
    index 175c20778..908891b0f 100644
    --- a/site/dist/scripts/main.js
    +++ b/site/dist/scripts/main.js
    @@ -1 +1 @@
    -"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},URLSearchParams=URLSearchParams||function(){function t(t){return encodeURIComponent(t).replace(a,s)}function e(t){return decodeURIComponent(t.replace(i," "))}function r(t){if(this[l]=Object.create(null),t)for(var r,n,a=(t||"").split("&"),i=0,o=a.length;i<o;i++)-1<(r=(n=a[i]).indexOf("="))&&this.append(e(n.slice(0,r)),e(n.slice(r+1)))}var n=r.prototype,a=/[!'\(\)~]|%20|%00/g,i=/\+/g,o={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},s=function(t){return o[t]},c=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),l="__URLSearchParams__:"+Math.random();n.append=function(t,e){var r=this[l];t in r?r[t].push(""+e):r[t]=[""+e]},n.delete=function(t){delete this[l][t]},n.get=function(t){var e=this[l];return t in e?e[t][0]:null},n.getAll=function(t){var e=this[l];return t in e?e[t].slice(0):[]},n.has=function(t){return t in this[l]},n.set=function(t,e){this[l][t]=[""+e]},n.forEach=function(t,e){var r=this[l];Object.getOwnPropertyNames(r).forEach(function(n){r[n].forEach(function(r){t.call(e,r,n,this)},this)},this)},n.keys=function(){var t=[];this.forEach(function(e,r){t.push(r)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},n.values=function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},n.entries=function(){var t=[];this.forEach(function(e,r){t.push([r,e])});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},c&&(n[Symbol.iterator]=n.entries),n.toJSON=function(){return{}},n.toString=function(){var e,r,n,a,i=this[l],o=[];for(r in i)for(n=t(r),e=0,a=i[r];e<a.length;e++)o.push(n+"="+t(a[e]));return o.join("&")};var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,h=function(t){function e(e,r){n.append.call(this,e,r),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function r(e){n.delete.call(this,e),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function a(e,r){n.set.call(this,e,r),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}return function(t,n){return t.append=e,t.delete=r,t.set=a,u(t,"_usp",{configurable:!0,writable:!0,value:n})}},d=function(t){var e=t.append;t.append=n.append,r.call(t,t._usp.search.slice(1)),t.append=e},p=function(t,e){if(!(t instanceof e))throw new TypeError("'searchParams' accessed on an object that does not implement interface "+e.name)},v=function(t){var e,n=t.prototype,a=f(n,"searchParams"),i=f(n,"href"),o=f(n,"search");!a&&o&&o.set&&(e=function(t){return function(e,r){return u(e,"_searchParams",{configurable:!0,writable:!0,value:t(r,e)}),r}}(h(o)),Object.defineProperties(n,{href:{get:function(){return i.get.call(this)},set:function(t){var e=this._searchParams;i.set.call(this,t),e&&d(e)}},search:{get:function(){return o.get.call(this)},set:function(t){var e=this._searchParams;o.set.call(this,t),e&&d(e)}},searchParams:{get:function(){return p(this,t),this._searchParams||e(this,new r(this.search.slice(1)))},set:function(r){p(this,t),e(this,r)}}}))};return v(HTMLAnchorElement),/^function|object$/.test("undefined"==typeof URL?"undefined":_typeof(URL))&&v(URL),r}();!function(t,e){var r=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()}),function(){if("registerElement"in e&&"import"in e.createElement("link")&&"content"in e.createElement("template"))e.dispatchEvent(new Event("WebComponentsReady"));else{var t=e.createElement("script");t.async=!0,t.src="/bower_components/webcomponentsjs/webcomponents-lite.min.js",e.head.appendChild(t)}}()};e.addEventListener("AppReady",function(){e.body.classList.remove("loading")}),e.addEventListener("WebComponentsReady",function(){var r=function(){var r=e.querySelector("#app");function n(){var t=e.querySelector(".js-lucky-link");if(t){var n=r.$.cards.querySelectorAll(".codelab-card");if(n.length<2)return t.href="#",void(t.parentNode.style.display="none");var a=Math.floor(Math.random()*n.length);t.href=n[a].href,t.parentNode.style.display=null}}r.categoryStartCards={},r.kioskTags=[],r.addEventListener("dom-change",function(t){if(!r._readied){var n=e.querySelectorAll(".codelab-card");Array.prototype.forEach.call(n,function(t,e){var n=t.getAttribute("data-category");void 0===r.categoryStartCards[n]&&(r.categoryStartCards[n]=t)})}}),r.codelabUrl=function(t,e){var r="index="+encodeURIComponent("../.."+t.url);return t.ga&&(r+="&viewga="+t.ga),e.url+"?"+r},r.sortBy=function(t,e){var r=e.item.textContent.trim().toLowerCase();this.$.cards.sort(r)},r.filterBy=function(t,e){e.hasOwnProperty("selected")?this.$.cards.filterByCategory(e.selected):(e.kioskTags=r.kioskTags,this.$.cards.filter(e))},r.onCategoryActivate=function(e,r){var a=e.target.selectedItem;a&&a.getAttribute("filter")===r.selected&&(r.selected=null),r.selected||this.async(function(){e.target.selected=null}),this.filterBy(e,{selected:r.selected});var i=new URLSearchParams(t.location.search.slice(1));i.delete("cat"),r.selected&&i.set("cat",r.selected);var o=t.location.pathname,s="?"+i;"?"!==s&&(o+=s),t.history.pushState({},"",o),n()};var a=e.querySelector("#chips");return a&&a.addEventListener("click",function(t){if(t.preventDefault(),t.stopPropagation(),t.target.getAttribute("filter")){t.target.classList.toggle("selected");for(var e=[],i=a.querySelectorAll(".js-chips__item.selected"),o=0;o<i.length;o++){var s=i[o].getAttribute("filter");s&&e.push(s)}r.filterBy(null,{tags:e}),n()}}),r.reconstructFromURL=function(){for(var e=new URLSearchParams(t.location.search.slice(1)),i=e.get("cat"),o=e.getAll("tags"),s=e.get("filter"),c=o.length;c--;)"kiosk"!==o[c]&&"kiosk-"!==o[c].substr(0,6)||(r.kioskTags.push(o[c]),o.splice(c,1));this.$.categorylist&&(this.$.categorylist.selected=i),this.$.sidelist&&(this.$.sidelist.selected=i),o&&function(t){if(a){t=Array.isArray(t)?t:[t];for(var e=a.querySelectorAll(".js-chips__item"),r=0;r<e.length;r++){var n=e[r];-1!=t.indexOf(n.getAttribute("filter"))?n.classList.add("selected"):n.classList.remove("selected")}}}(o),this.filterBy(null,{cat:i,tags:o}),s&&(r.searchVal=s,r.onSearchKeyDown()),n()},r.navigate=function(e){e.preventDefault();var r=function(e){t.location.href=e},n=e.currentTarget;n.hasAttribute("data-wait-for-ripple")?n.addEventListener("transitionend",r.bind(n,n.href)):r(n.href)},r.clearSearch=function(t,e){this.searchVal=null,this.$.cards.filterByText(null)},r.onSearchKeyDown=function(t,e){this.debounce("search",function(){this.$.cards.filterByText(r.searchVal)},250)},r}();t.addEventListener("popstate",function(){r.reconstructFromURL()}),r._setupDebouncers&&r._setupDebouncers(),r.reconstructFromURL(),e.dispatchEvent(new Event("AppReady"))}),"complete"===e.readyState||"loaded"===e.readyState||"interactive"===e.readyState?r():e.addEventListener("DOMContentLoaded",r)}(window,document);
    \ No newline at end of file
    +"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},URLSearchParams=URLSearchParams||function(){function t(t){return encodeURIComponent(t).replace(a,s)}function e(t){return decodeURIComponent(t.replace(i," "))}function n(t){if(this[l]=Object.create(null),t)for(var n,r,a=(t||"").split("&"),i=0,o=a.length;i<o;i++)-1<(n=(r=a[i]).indexOf("="))&&this.append(e(r.slice(0,n)),e(r.slice(n+1)))}var r=n.prototype,a=/[!'\(\)~]|%20|%00/g,i=/\+/g,o={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},s=function(t){return o[t]},c=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),l="__URLSearchParams__:"+Math.random();r.append=function(t,e){var n=this[l];t in n?n[t].push(""+e):n[t]=[""+e]},r.delete=function(t){delete this[l][t]},r.get=function(t){var e=this[l];return t in e?e[t][0]:null},r.getAll=function(t){var e=this[l];return t in e?e[t].slice(0):[]},r.has=function(t){return t in this[l]},r.set=function(t,e){this[l][t]=[""+e]},r.forEach=function(t,e){var n=this[l];Object.getOwnPropertyNames(n).forEach(function(r){n[r].forEach(function(n){t.call(e,n,r,this)},this)},this)},r.keys=function(){var t=[];this.forEach(function(e,n){t.push(n)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},r.values=function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},r.entries=function(){var t=[];this.forEach(function(e,n){t.push([n,e])});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},c&&(r[Symbol.iterator]=r.entries),r.toJSON=function(){return{}},r.toString=function(){var e,n,r,a,i=this[l],o=[];for(n in i)for(r=t(n),e=0,a=i[n];e<a.length;e++)o.push(r+"="+t(a[e]));return o.join("&")};var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,h=function(t){function e(e,n){r.append.call(this,e,n),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function n(e){r.delete.call(this,e),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function a(e,n){r.set.call(this,e,n),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}return function(t,r){return t.append=e,t.delete=n,t.set=a,u(t,"_usp",{configurable:!0,writable:!0,value:r})}},d=function(t){var e=t.append;t.append=r.append,n.call(t,t._usp.search.slice(1)),t.append=e},p=function(t,e){if(!(t instanceof e))throw new TypeError("'searchParams' accessed on an object that does not implement interface "+e.name)},v=function(t){var e,r=t.prototype,a=f(r,"searchParams"),i=f(r,"href"),o=f(r,"search");!a&&o&&o.set&&(e=function(t){return function(e,n){return u(e,"_searchParams",{configurable:!0,writable:!0,value:t(n,e)}),n}}(h(o)),Object.defineProperties(r,{href:{get:function(){return i.get.call(this)},set:function(t){var e=this._searchParams;i.set.call(this,t),e&&d(e)}},search:{get:function(){return o.get.call(this)},set:function(t){var e=this._searchParams;o.set.call(this,t),e&&d(e)}},searchParams:{get:function(){return p(this,t),this._searchParams||e(this,new n(this.search.slice(1)))},set:function(n){p(this,t),e(this,n)}}}))};return v(HTMLAnchorElement),/^function|object$/.test("undefined"==typeof URL?"undefined":_typeof(URL))&&v(URL),n}();!function(t,e){var n=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()}),function(){if("registerElement"in e&&"import"in e.createElement("link")&&"content"in e.createElement("template"))e.dispatchEvent(new Event("WebComponentsReady"));else{var t=e.createElement("script");t.async=!0,t.src="https://scott3142.uk/codelabs-landing/bower_components/webcomponentsjs/webcomponents-lite.min.js",e.head.appendChild(t)}}()};e.addEventListener("AppReady",function(){e.body.classList.remove("loading")}),e.addEventListener("WebComponentsReady",function(){var n=function(){var n=e.querySelector("#app");function r(){var t=e.querySelector(".js-lucky-link");if(t){var r=n.$.cards.querySelectorAll(".codelab-card");if(r.length<2)return t.href="#",void(t.parentNode.style.display="none");var a=Math.floor(Math.random()*r.length);t.href=r[a].href,t.parentNode.style.display=null}}n.categoryStartCards={},n.kioskTags=[],n.addEventListener("dom-change",function(t){if(!n._readied){var r=e.querySelectorAll(".codelab-card");Array.prototype.forEach.call(r,function(t,e){var r=t.getAttribute("data-category");void 0===n.categoryStartCards[r]&&(n.categoryStartCards[r]=t)})}}),n.codelabUrl=function(t,e){var n="index="+encodeURIComponent("../.."+t.url);return t.ga&&(n+="&viewga="+t.ga),e.url+"?"+n},n.sortBy=function(t,e){var n=e.item.textContent.trim().toLowerCase();this.$.cards.sort(n)},n.filterBy=function(t,e){e.hasOwnProperty("selected")?this.$.cards.filterByCategory(e.selected):(e.kioskTags=n.kioskTags,this.$.cards.filter(e))},n.onCategoryActivate=function(e,n){var a=e.target.selectedItem;a&&a.getAttribute("filter")===n.selected&&(n.selected=null),n.selected||this.async(function(){e.target.selected=null}),this.filterBy(e,{selected:n.selected});var i=new URLSearchParams(t.location.search.slice(1));i.delete("cat"),n.selected&&i.set("cat",n.selected);var o=t.location.pathname,s="?"+i;"?"!==s&&(o+=s),t.history.pushState({},"",o),r()};var a=e.querySelector("#chips");return a&&a.addEventListener("click",function(t){if(t.preventDefault(),t.stopPropagation(),t.target.getAttribute("filter")){t.target.classList.toggle("selected");for(var e=[],i=a.querySelectorAll(".js-chips__item.selected"),o=0;o<i.length;o++){var s=i[o].getAttribute("filter");s&&e.push(s)}n.filterBy(null,{tags:e}),r()}}),n.reconstructFromURL=function(){for(var e=new URLSearchParams(t.location.search.slice(1)),i=e.get("cat"),o=e.getAll("tags"),s=e.get("filter"),c=o.length;c--;)"kiosk"!==o[c]&&"kiosk-"!==o[c].substr(0,6)||(n.kioskTags.push(o[c]),o.splice(c,1));this.$.categorylist&&(this.$.categorylist.selected=i),this.$.sidelist&&(this.$.sidelist.selected=i),o&&function(t){if(a){t=Array.isArray(t)?t:[t];for(var e=a.querySelectorAll(".js-chips__item"),n=0;n<e.length;n++){var r=e[n];-1!=t.indexOf(r.getAttribute("filter"))?r.classList.add("selected"):r.classList.remove("selected")}}}(o),this.filterBy(null,{cat:i,tags:o}),s&&(n.searchVal=s,n.onSearchKeyDown()),r()},n.navigate=function(e){e.preventDefault();var n=function(e){t.location.href=e},r=e.currentTarget;r.hasAttribute("data-wait-for-ripple")?r.addEventListener("transitionend",n.bind(r,r.href)):n(r.href)},n.clearSearch=function(t,e){this.searchVal=null,this.$.cards.filterByText(null)},n.onSearchKeyDown=function(t,e){this.debounce("search",function(){this.$.cards.filterByText(n.searchVal)},250)},n}();t.addEventListener("popstate",function(){n.reconstructFromURL()}),n._setupDebouncers&&n._setupDebouncers(),n.reconstructFromURL(),e.dispatchEvent(new Event("AppReady"))}),"complete"===e.readyState||"loaded"===e.readyState||"interactive"===e.readyState?n():e.addEventListener("DOMContentLoaded",n)}(window,document);
    \ No newline at end of file
    diff --git a/site/dist/vslive.html b/site/dist/vslive.html
    deleted file mode 100644
    index 2f5e7c7c4..000000000
    --- a/site/dist/vslive.html
    +++ /dev/null
    @@ -1,138 +0,0 @@
    -
    -<!doctype html>
    -<html lang="en">
    -<head>
    -<meta charset="utf-8">
    -<meta name="description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    -<meta name="viewport" content="width=device-width,initial-scale=1">
    -<meta name="generator" content="Visual Studio Live">
    -<meta name="application-name" content="Visual Studio Live">
    -<link rel="canonical" href="https://scott3142.uk/codelabs-landing/vslive/">
    -<link rel="preconnect" href="https://www.google-analytics.com">
    -<script>
    -window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    -    ga('create', 'UA-49880327-14', 'auto');
    -    ga('send', 'pageview');
    -</script>
    -<script async src="https://www.google-analytics.com/analytics.js"></script>
    -<title>Visual Studio Live</title>
    -<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    -<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    -<style is="custom-style">
    -:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    -<meta name="apple-mobile-web-app-capable" content="yes">
    -<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    -<meta name="apple-mobile-web-app-title" content="Visual Studio Live">
    -<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    -<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    -<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    -<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    -<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    -<link rel="manifest" href="site.webmanifest">
    -<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    -<meta name="msapplication-TileColor" content="#455a64">
    -<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    -<meta name="theme-color" content="#455a64">
    -<meta name="og:type" property="og:type" content="website">
    -<meta name="og:title" property="og:title" content="Visual Studio Live">
    -<meta name="og:description" property="og:description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    -<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/vslive/">
    -<meta name="og:site_name" property="og:site_name" content="Codelabs">
    -<meta name="og:determiner" property="og:determiner" content="the">
    -<meta name="og:locale" property="og:locale" content="en_US">
    -<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:type" property="og:image:type" content="image/png">
    -<meta name="og:image:width" property="og:image:width" content="1200">
    -<meta name="og:image:height" property="og:image:height" content="1200">
    -<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    -<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    -<meta name="twitter:title" property="twitter:title" content="Visual Studio Live">
    -<meta name="twitter:description" property="twitter:description" content="Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.">
    -<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/vslive/">
    -</head>
    -<body id="app" is="body-bind" class="loading fullbleed view">
    -<paper-header-panel id="main" mode="standard" main>
    -<div id="mainToolbar" class="paper-header">
    -<div class="site-width layout horizontal">
    -<a href="/">
    -<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    -</a>
    -<div id="searchbar">
    -<paper-input-container no-label-float>
    -<paper-icon-button prefix icon="search"></paper-icon-button>
    -<label>Search</label>
    -<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    -</paper-input-container>
    -</div>
    -</div>
    -</div>
    -<header id="banner" down>
    -<div class="site-width">
    -<div class="banner-description">
    -<img id="logo" src="/vslive/vslive-logo.jpg" alt="Event logo">
    -<div class="banner-meta">
    -<h3>Visual Studio Live</h3>
    -<p>Come learn about Google Cloud Platform by completing codelabs and coding challenges! The following codelabs will step you through using different parts of Google Cloud Platform. These challenges cover a range of topics such as Compute Engine, App Engine, Kubernetes, Cloud Shell. Go to https://g.co/codelabs/vslive to find more codelabs you can try at home.</p>
    -</div>
    -</div>
    -</div>
    -</header>
    -<main>
    -<div id="filters" class="site-width layout horizontal center justified">
    -<div id="sortby">
    -<paper-tabs selected="0" noink on-iron-activate="sortBy">
    -<paper-tab>A-Z</paper-tab>
    -<paper-tab>Recent</paper-tab>
    -<paper-tab>Duration</paper-tab>
    -</paper-tabs>
    -</div>
    -</div>
    -<card-sorter id="cards" class="site-width">
    -</card-sorter>
    -<div id="loading-placeholder" class="site-width">
    -Loading Codelabs, please wait...
    -</div>
    -</main>
    -<footer id="footer">
    -<div class="footer-wrapper site-width">
    -<div class="link-list">
    -<label>Connect</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Programs</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Developer Consoles</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Explore</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -</div>
    -</footer>
    -<div class="footerbar">
    -<div class="site-width layout horizontal center justified">
    -<span>
    -<a href="https://example.com">Terms</a>
    -&nbsp; | &nbsp;
    -<a href="https://example.com">Privacy</a>
    -</span>
    -</div>
    -</div>
    -</paper-header-panel>
    -<script src="scripts/main.js"></script>
    -</body>
    -</html>
    diff --git a/site/dist/vslive/index.html b/site/dist/vslive/index.html
    deleted file mode 120000
    index 7b94893e5..000000000
    --- a/site/dist/vslive/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -../vslive.html
    \ No newline at end of file
    diff --git a/site/dist/vslive/vslive-logo.jpg b/site/dist/vslive/vslive-logo.jpg
    deleted file mode 100644
    index 54c8ed59dd9675ca22fd10e714cf1b020e5dd55d..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4224
    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
    
    
    From fbb6d47aa26deba3c721fa79f770ae5a22915eeb Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 14:05:15 +0100
    Subject: [PATCH 16/19] Attempts fix at image links
    
    ---
     site/.gitignore                               |    2 +-
     site/.publish                                 |    2 +-
     site/app/scripts/app.js                       |    3 +-
     site/dist/404.html                            |   17 -
     .../google-codelab-elements/shared-style.html |    7 -
     .../google-prettify/src/prettify.js           |    1 -
     .../webcomponentsjs/webcomponents-lite.min.js |    1 -
     site/dist/browserconfig.xml                   |   12 -
     site/dist/btec-unit4.html                     |  138 --
     site/dist/btec-unit4/den01-logo.png           |  Bin 157552 -> 0 bytes
     site/dist/btec-unit4/index.html               |    1 -
     .../codelabs/sound-of-the-bees/codelab.json   |   26 -
     .../img/7619cabb0e41fd1b.png                  |  Bin 44515 -> 0 bytes
     .../codelabs/sound-of-the-bees/index.html     |  318 ----
     .../codelab-elements/codelab-elements.css     |    9 -
     .../codelab-elements/codelab-elements.js      |  230 ---
     .../codelab-elements/codelab-index.css        |    3 -
     .../codelab-elements/codelab-index.js         |   56 -
     .../codelab-elements/custom-elements.min.js   |   38 -
     .../elements/codelab-elements/native-shim.js  |  164 --
     .../elements/codelab-elements/prettify.js     | 1655 -----------------
     site/dist/elements/codelab.html               |  625 -------
     site/dist/elements/codelab.js                 |    1 -
     site/dist/elements/elements.html              |  570 ------
     site/dist/elements/elements.js                |    1 -
     site/dist/favicon.ico                         |  Bin 15086 -> 0 bytes
     .../favicons/android-chrome-144x144.png       |  Bin 2280 -> 0 bytes
     .../favicons/android-chrome-192x192.png       |  Bin 2817 -> 0 bytes
     .../favicons/android-chrome-256x256.png       |  Bin 3260 -> 0 bytes
     .../images/favicons/android-chrome-36x36.png  |  Bin 548 -> 0 bytes
     .../favicons/android-chrome-384x384.png       |  Bin 4319 -> 0 bytes
     .../images/favicons/android-chrome-48x48.png  |  Bin 704 -> 0 bytes
     .../favicons/android-chrome-512x512.png       |  Bin 5448 -> 0 bytes
     .../images/favicons/android-chrome-72x72.png  |  Bin 962 -> 0 bytes
     .../images/favicons/android-chrome-96x96.png  |  Bin 1490 -> 0 bytes
     .../favicons/apple-touch-icon-precomposed.png |  Bin 2622 -> 0 bytes
     .../dist/images/favicons/apple-touch-icon.png |  Bin 2105 -> 0 bytes
     site/dist/images/favicons/favicon-16x16.png   |  Bin 292 -> 0 bytes
     site/dist/images/favicons/favicon-194x194.png |  Bin 2487 -> 0 bytes
     site/dist/images/favicons/favicon-32x32.png   |  Bin 507 -> 0 bytes
     site/dist/images/favicons/mstile-144x144.png  |  Bin 1848 -> 0 bytes
     site/dist/images/favicons/mstile-150x150.png  |  Bin 2133 -> 0 bytes
     site/dist/images/favicons/mstile-310x150.png  |  Bin 2278 -> 0 bytes
     site/dist/images/favicons/mstile-310x310.png  |  Bin 4121 -> 0 bytes
     site/dist/images/favicons/mstile-70x70.png    |  Bin 1274 -> 0 bytes
     .../images/favicons/safari-pinned-tab.svg     |    1 -
     site/dist/images/googdev192.png               |  Bin 6078 -> 0 bytes
     site/dist/images/icons/android-auto.svg       |    1 -
     site/dist/images/icons/android-things.svg     |    1 -
     site/dist/images/icons/android.svg            |    1 -
     site/dist/images/icons/angular-js.svg         |    1 -
     site/dist/images/icons/ar-core.svg            |    1 -
     site/dist/images/icons/blockly.svg            |    1 -
     site/dist/images/icons/brillo.png             |  Bin 1719 -> 0 bytes
     site/dist/images/icons/cardboard.svg          |    1 -
     site/dist/images/icons/cast.svg               |    1 -
     site/dist/images/icons/chrome.svg             |    1 -
     site/dist/images/icons/cloud-appengine.svg    |    1 -
     site/dist/images/icons/cloud-bigquery.svg     |    1 -
     site/dist/images/icons/cloud-build.svg        |    1 -
     .../images/icons/cloud-compute-engine.svg     |    1 -
     site/dist/images/icons/cloud-datalab.svg      |    1 -
     site/dist/images/icons/cloud-iam.svg          |    1 -
     site/dist/images/icons/cloud-iot-core.svg     |    1 -
     .../icons/cloud-key-management-service.svg    |    1 -
     .../images/icons/cloud-machine-learning.svg   |    1 -
     site/dist/images/icons/cloud-monitoring.svg   |    1 -
     site/dist/images/icons/cloud-networking.svg   |    1 -
     site/dist/images/icons/cloud-platform.svg     |    1 -
     .../icons/cloud-security-command-center.svg   |    1 -
     site/dist/images/icons/cloud-sql.svg          |    1 -
     site/dist/images/icons/cloud.svg              |    1 -
     site/dist/images/icons/dart.svg               |    1 -
     site/dist/images/icons/design.svg             |    1 -
     site/dist/images/icons/firebase.svg           |    1 -
     site/dist/images/icons/flutter.svg            |    1 -
     site/dist/images/icons/golang.svg             |    1 -
     site/dist/images/icons/google-ads.svg         |    1 -
     site/dist/images/icons/google-analytics.svg   |    1 -
     site/dist/images/icons/google-assistant.svg   |    1 -
     site/dist/images/icons/google-docs.svg        |    1 -
     site/dist/images/icons/google-drive.svg       |    1 -
     site/dist/images/icons/google-g.svg           |    1 -
     site/dist/images/icons/google-maps.svg        |    1 -
     site/dist/images/icons/google-sheets.svg      |    1 -
     site/dist/images/icons/google-slides.svg      |    1 -
     site/dist/images/icons/google-wallet.svg      |    1 -
     site/dist/images/icons/gsuite.svg             |    1 -
     site/dist/images/icons/nest.svg               |    1 -
     site/dist/images/icons/openthread.svg         |    1 -
     site/dist/images/icons/polymer.svg            |    1 -
     site/dist/images/icons/slurm.svg              |    1 -
     site/dist/images/icons/tensorflow.svg         |    1 -
     site/dist/images/icons/unity.svg              |    1 -
     site/dist/images/icons/wear-os.svg            |    1 -
     site/dist/images/icons/weave.svg              |    1 -
     site/dist/images/icons/web.svg                |    1 -
     .../images/lockup_developers_color_color.svg  |    1 -
     .../images/lockup_developers_light_color.svg  |    1 -
     site/dist/images/logo.png                     |  Bin 29499 -> 0 bytes
     site/dist/images/og-image.png                 |  Bin 10470 -> 0 bytes
     site/dist/index.html                          |  156 --
     site/dist/robots.txt                          |    4 -
     site/dist/scripts/main.js                     |    1 -
     site/dist/site.webmanifest                    |   54 -
     site/dist/styles/main.css                     |    1 -
     site/gulpfile.js                              |   15 +-
     107 files changed, 17 insertions(+), 4146 deletions(-)
     delete mode 100644 site/dist/404.html
     delete mode 100644 site/dist/bower_components/google-codelab-elements/shared-style.html
     delete mode 100644 site/dist/bower_components/google-prettify/src/prettify.js
     delete mode 100644 site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js
     delete mode 100644 site/dist/browserconfig.xml
     delete mode 100644 site/dist/btec-unit4.html
     delete mode 100644 site/dist/btec-unit4/den01-logo.png
     delete mode 120000 site/dist/btec-unit4/index.html
     delete mode 100644 site/dist/codelabs/sound-of-the-bees/codelab.json
     delete mode 100644 site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
     delete mode 100644 site/dist/codelabs/sound-of-the-bees/index.html
     delete mode 100755 site/dist/elements/codelab-elements/codelab-elements.css
     delete mode 100755 site/dist/elements/codelab-elements/codelab-elements.js
     delete mode 100755 site/dist/elements/codelab-elements/codelab-index.css
     delete mode 100755 site/dist/elements/codelab-elements/codelab-index.js
     delete mode 100755 site/dist/elements/codelab-elements/custom-elements.min.js
     delete mode 100755 site/dist/elements/codelab-elements/native-shim.js
     delete mode 100755 site/dist/elements/codelab-elements/prettify.js
     delete mode 100644 site/dist/elements/codelab.html
     delete mode 100644 site/dist/elements/codelab.js
     delete mode 100644 site/dist/elements/elements.html
     delete mode 100644 site/dist/elements/elements.js
     delete mode 100644 site/dist/favicon.ico
     delete mode 100644 site/dist/images/favicons/android-chrome-144x144.png
     delete mode 100644 site/dist/images/favicons/android-chrome-192x192.png
     delete mode 100644 site/dist/images/favicons/android-chrome-256x256.png
     delete mode 100644 site/dist/images/favicons/android-chrome-36x36.png
     delete mode 100644 site/dist/images/favicons/android-chrome-384x384.png
     delete mode 100644 site/dist/images/favicons/android-chrome-48x48.png
     delete mode 100644 site/dist/images/favicons/android-chrome-512x512.png
     delete mode 100644 site/dist/images/favicons/android-chrome-72x72.png
     delete mode 100644 site/dist/images/favicons/android-chrome-96x96.png
     delete mode 100644 site/dist/images/favicons/apple-touch-icon-precomposed.png
     delete mode 100644 site/dist/images/favicons/apple-touch-icon.png
     delete mode 100644 site/dist/images/favicons/favicon-16x16.png
     delete mode 100644 site/dist/images/favicons/favicon-194x194.png
     delete mode 100644 site/dist/images/favicons/favicon-32x32.png
     delete mode 100644 site/dist/images/favicons/mstile-144x144.png
     delete mode 100644 site/dist/images/favicons/mstile-150x150.png
     delete mode 100644 site/dist/images/favicons/mstile-310x150.png
     delete mode 100644 site/dist/images/favicons/mstile-310x310.png
     delete mode 100644 site/dist/images/favicons/mstile-70x70.png
     delete mode 100644 site/dist/images/favicons/safari-pinned-tab.svg
     delete mode 100644 site/dist/images/googdev192.png
     delete mode 100644 site/dist/images/icons/android-auto.svg
     delete mode 100644 site/dist/images/icons/android-things.svg
     delete mode 100644 site/dist/images/icons/android.svg
     delete mode 100644 site/dist/images/icons/angular-js.svg
     delete mode 100644 site/dist/images/icons/ar-core.svg
     delete mode 100644 site/dist/images/icons/blockly.svg
     delete mode 100644 site/dist/images/icons/brillo.png
     delete mode 100644 site/dist/images/icons/cardboard.svg
     delete mode 100644 site/dist/images/icons/cast.svg
     delete mode 100644 site/dist/images/icons/chrome.svg
     delete mode 100644 site/dist/images/icons/cloud-appengine.svg
     delete mode 100644 site/dist/images/icons/cloud-bigquery.svg
     delete mode 100644 site/dist/images/icons/cloud-build.svg
     delete mode 100644 site/dist/images/icons/cloud-compute-engine.svg
     delete mode 100644 site/dist/images/icons/cloud-datalab.svg
     delete mode 100644 site/dist/images/icons/cloud-iam.svg
     delete mode 100644 site/dist/images/icons/cloud-iot-core.svg
     delete mode 100644 site/dist/images/icons/cloud-key-management-service.svg
     delete mode 100644 site/dist/images/icons/cloud-machine-learning.svg
     delete mode 100644 site/dist/images/icons/cloud-monitoring.svg
     delete mode 100644 site/dist/images/icons/cloud-networking.svg
     delete mode 100644 site/dist/images/icons/cloud-platform.svg
     delete mode 100644 site/dist/images/icons/cloud-security-command-center.svg
     delete mode 100644 site/dist/images/icons/cloud-sql.svg
     delete mode 100644 site/dist/images/icons/cloud.svg
     delete mode 100644 site/dist/images/icons/dart.svg
     delete mode 100644 site/dist/images/icons/design.svg
     delete mode 100644 site/dist/images/icons/firebase.svg
     delete mode 100644 site/dist/images/icons/flutter.svg
     delete mode 100644 site/dist/images/icons/golang.svg
     delete mode 100644 site/dist/images/icons/google-ads.svg
     delete mode 100644 site/dist/images/icons/google-analytics.svg
     delete mode 100644 site/dist/images/icons/google-assistant.svg
     delete mode 100644 site/dist/images/icons/google-docs.svg
     delete mode 100644 site/dist/images/icons/google-drive.svg
     delete mode 100644 site/dist/images/icons/google-g.svg
     delete mode 100644 site/dist/images/icons/google-maps.svg
     delete mode 100644 site/dist/images/icons/google-sheets.svg
     delete mode 100644 site/dist/images/icons/google-slides.svg
     delete mode 100644 site/dist/images/icons/google-wallet.svg
     delete mode 100644 site/dist/images/icons/gsuite.svg
     delete mode 100644 site/dist/images/icons/nest.svg
     delete mode 100644 site/dist/images/icons/openthread.svg
     delete mode 100644 site/dist/images/icons/polymer.svg
     delete mode 100644 site/dist/images/icons/slurm.svg
     delete mode 100644 site/dist/images/icons/tensorflow.svg
     delete mode 100644 site/dist/images/icons/unity.svg
     delete mode 100644 site/dist/images/icons/wear-os.svg
     delete mode 100644 site/dist/images/icons/weave.svg
     delete mode 100644 site/dist/images/icons/web.svg
     delete mode 100644 site/dist/images/lockup_developers_color_color.svg
     delete mode 100644 site/dist/images/lockup_developers_light_color.svg
     delete mode 100644 site/dist/images/logo.png
     delete mode 100644 site/dist/images/og-image.png
     delete mode 100644 site/dist/index.html
     delete mode 100644 site/dist/robots.txt
     delete mode 100644 site/dist/scripts/main.js
     delete mode 100644 site/dist/site.webmanifest
     delete mode 100644 site/dist/styles/main.css
    
    diff --git a/site/.gitignore b/site/.gitignore
    index 076ed210e..d20e263c3 100644
    --- a/site/.gitignore
    +++ b/site/.gitignore
    @@ -16,4 +16,4 @@ app/bower_components/jszip/vendor
     app/js/bundle
     
     /build/
    -#/dist/
    +/dist/
    diff --git a/site/.publish b/site/.publish
    index 53a3acb35..ecee4cc5d 160000
    --- a/site/.publish
    +++ b/site/.publish
    @@ -1 +1 @@
    -Subproject commit 53a3acb357808101ae4c14e68ab968133554a3a1
    +Subproject commit ecee4cc5deef272988dc0c07c95775d658083d33
    diff --git a/site/app/scripts/app.js b/site/app/scripts/app.js
    index afb18dd5d..dbd9deee2 100644
    --- a/site/app/scripts/app.js
    +++ b/site/app/scripts/app.js
    @@ -234,7 +234,7 @@
         } else {
           let script = document.createElement('script');
           script.async = true;
    -      script.src = 'https://scott3142.uk/codelabs-landing/bower_components/webcomponentsjs/webcomponents-lite.min.js';
    +      script.src = '{{ baseUrl }}/bower_components/webcomponentsjs/webcomponents-lite.min.js';
           document.head.appendChild(script);
         }
       }
    @@ -284,3 +284,4 @@
         document.addEventListener('DOMContentLoaded', init);
       }
     })(window, document);
    +v
    diff --git a/site/dist/404.html b/site/dist/404.html
    deleted file mode 100644
    index deb3bea52..000000000
    --- a/site/dist/404.html
    +++ /dev/null
    @@ -1,17 +0,0 @@
    -<!doctype html>
    -<html lang="en">
    -<head>
    -<meta charset="utf-8">
    -<meta name="viewport" content="initial-scale=1,minimum-scale=1,width=device-width">
    -<title>Error 404 (Not Found)</title>
    -<style>
    -*{margin:0;padding:0}code,html{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}#wrapper{margin:170px auto 0;padding:0 70px}#logo{background:url(/images/lockup_developers_color_color.svg) no-repeat;display:inline-block;height:25px;width:100%} </style>
    -</head>
    -<body>
    -<div id="wrapper">
    -<a href="{{baseUrl}}"><span id="logo" aria-label="Google Codelabs"></span></a>
    -<p><b>404.</b> <ins>That’s an error.</ins></p>
    -<p>The requested URL was not found. <ins>That’s all we know.</ins></p>
    -</div>
    -</body>
    -</html>
    diff --git a/site/dist/bower_components/google-codelab-elements/shared-style.html b/site/dist/bower_components/google-codelab-elements/shared-style.html
    deleted file mode 100644
    index a66844281..000000000
    --- a/site/dist/bower_components/google-codelab-elements/shared-style.html
    +++ /dev/null
    @@ -1,7 +0,0 @@
    -
    -<dom-module id="shared-style">
    -<template>
    -<style>
    -:root{--paper-radio-button-checked-color:#185abc;--paper-radio-button-checked-ink-color:#185abc;--paper-radio-button-unchecked-color:#185abc} </style>
    -</template>
    -</dom-module>
    diff --git a/site/dist/bower_components/google-prettify/src/prettify.js b/site/dist/bower_components/google-prettify/src/prettify.js
    deleted file mode 100644
    index 63da22158..000000000
    --- a/site/dist/bower_components/google-prettify/src/prettify.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -"use strict";var DecorationsT,JobT,SourceSpansT,HACK_TO_FIX_JS_INCLUDE_PL,PR,prettyPrintOne,prettyPrint,IN_GLOBAL_SCOPE=!1;window.PR_SHOULD_USE_CONTINUATION=!0,function(){var e=window,n=["break,continue,do,else,for,if,return,while"],t=[[n,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,restrict,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],r=[t,"alignas,alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,noexcept,noreturn,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],a=[t,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],s=[t,"abstract,add,alias,as,ascending,async,await,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,get,global,group,implicit,in,interface,internal,into,is,join,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,remove,sbyte,sealed,select,set,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,value,var,virtual,where,yield"],l=[t,"abstract,async,await,constructor,debugger,enum,eval,export,function,get,implements,instanceof,interface,let,null,set,undefined,var,with,yield,Infinity,NaN"],i="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",o=[n,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],u=[n,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],c=[n,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],p=/^(DIR|FILE|array|vector|(de|priority_)?queue|(forward_)?list|stack|(const_)?(reverse_)?iterator|(unordered_)?(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,d="str",f="kwd",g="com",h="typ",m="lit",v="pun",y="pln",b="src",x="(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function w(e,n,t,r,a){if(t){var s={sourceNode:e,pre:1,langExtension:null,numberLines:null,sourceCode:t,spans:null,basePos:n,decorations:null};r(s),a.push.apply(a,s.decorations)}}var S=/\S/;function C(e){for(var n=void 0,t=e.firstChild;t;t=t.nextSibling){var r=t.nodeType;n=1===r?n?e:t:3===r&&S.test(t.nodeValue)?e:n}return n===e?void 0:n}function N(e,n){var t,r={};!function(){for(var a=e.concat(n),s=[],l={},i=0,o=a.length;i<o;++i){var u=a[i],c=u[3];if(c)for(var p=c.length;--p>=0;)r[c.charAt(p)]=u;var d=u[1],f=""+d;l.hasOwnProperty(f)||(s.push(d),l[f]=null)}s.push(/[\0-\uffff]/),t=function(e){for(var n=0,t=!1,r=!1,a=0,s=e.length;a<s;++a)if((d=e[a]).ignoreCase)r=!0;else if(/[a-z]/i.test(d.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){t=!0,r=!1;break}var l={b:8,t:9,n:10,v:11,f:12,r:13};function i(e){var n=e.charCodeAt(0);if(92!==n)return n;var t=e.charAt(1);return(n=l[t])||("0"<=t&&t<="7"?parseInt(e.substring(1),8):"u"===t||"x"===t?parseInt(e.substring(2),16):e.charCodeAt(1))}function o(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);var n=String.fromCharCode(e);return"\\"===n||"-"===n||"]"===n||"^"===n?"\\"+n:n}function u(e){var n=e.substring(1,e.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),t=[],r="^"===n[0],a=["["];r&&a.push("^");for(var s=r?1:0,l=n.length;s<l;++s){var u=n[s];if(/\\[bdsw]/i.test(u))a.push(u);else{var c,p=i(u);s+2<l&&"-"===n[s+1]?(c=i(n[s+2]),s+=2):c=p,t.push([p,c]),c<65||p>122||(c<65||p>90||t.push([32|Math.max(65,p),32|Math.min(c,90)]),c<97||p>122||t.push([-33&Math.max(97,p),-33&Math.min(c,122)]))}}t.sort(function(e,n){return e[0]-n[0]||n[1]-e[1]});var d=[],f=[];for(s=0;s<t.length;++s)(g=t[s])[0]<=f[1]+1?f[1]=Math.max(f[1],g[1]):d.push(f=g);for(s=0;s<d.length;++s){var g=d[s];a.push(o(g[0])),g[1]>g[0]&&(g[1]+1>g[0]&&a.push("-"),a.push(o(g[1])))}return a.push("]"),a.join("")}function c(e){for(var r=e.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),a=r.length,s=[],l=0,i=0;l<a;++l)"("===(p=r[l])?++i:"\\"===p.charAt(0)&&(c=+p.substring(1))&&(c<=i?s[c]=-1:r[l]=o(c));for(l=1;l<s.length;++l)-1===s[l]&&(s[l]=++n);for(l=0,i=0;l<a;++l)if("("===(p=r[l]))s[++i]||(r[l]="(?:");else if("\\"===p.charAt(0)){var c;(c=+p.substring(1))&&c<=i&&(r[l]="\\"+s[c])}for(l=0;l<a;++l)"^"===r[l]&&"^"!==r[l+1]&&(r[l]="");if(e.ignoreCase&&t)for(l=0;l<a;++l){var p,d=(p=r[l]).charAt(0);p.length>=2&&"["===d?r[l]=u(p):"\\"!==d&&(r[l]=p.replace(/[a-zA-Z]/g,function(e){var n=e.charCodeAt(0);return"["+String.fromCharCode(-33&n,32|n)+"]"}))}return r.join("")}var p=[];for(a=0,s=e.length;a<s;++a){var d;if((d=e[a]).global||d.multiline)throw new Error(""+d);p.push("(?:"+c(d)+")")}return new RegExp(p.join("|"),r?"gi":"g")}(s)}();var a=n.length;return function e(s){for(var l=s.sourceCode,i=s.basePos,o=s.sourceNode,u=[i,y],c=0,p=l.match(t)||[],d={},f=0,g=p.length;f<g;++f){var h,m=p[f],v=d[m],x=void 0;if("string"==typeof v)h=!1;else{var S=r[m.charAt(0)];if(S)x=m.match(S[1]),v=S[0];else{for(var C=0;C<a;++C)if(S=n[C],x=m.match(S[1])){v=S[0];break}x||(v=y)}!(h=v.length>=5&&"lang-"===v.substring(0,5))||x&&"string"==typeof x[1]||(h=!1,v=b),h||(d[m]=v)}var N=c;if(c+=m.length,h){var _=x[1],P=m.indexOf(_),E=P+_.length;x[2]&&(P=(E=m.length-x[2].length)-_.length);var L=v.substring(5);w(o,i+N,m.substring(0,P),e,u),w(o,i+N+P,_,A(L,_),u),w(o,i+N+E,m.substring(E),e,u)}else u.push(i+N,v)}s.decorations=u}}function _(e){var n=[],t=[];e.tripleQuotedStrings?n.push([d,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):e.multiLineStrings?n.push([d,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):n.push([d,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&t.push([d,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(r>1?n.push([g,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):n.push([g,/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),t.push([d,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,null])):n.push([g,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(t.push([g,/^\/\/[^\r\n]*/,null]),t.push([g,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));var a=e.regexLiterals;if(a){var s=a>1?"":"\n\r",l=s?".":"[\\S\\s]",i="/(?=[^/*"+s+"])(?:[^/\\x5B\\x5C"+s+"]|\\x5C"+l+"|\\x5B(?:[^\\x5C\\x5D"+s+"]|\\x5C"+l+")*(?:\\x5D|$))+/";t.push(["lang-regex",RegExp("^"+x+"("+i+")")])}var o=e.types;o&&t.push([h,o]);var u=(""+e.keywords).replace(/^ | $/g,"");u.length&&t.push([f,new RegExp("^(?:"+u.replace(/[\s,]+/g,"|")+")\\b"),null]),n.push([y,/^\s+/,null," \r\n\t "]);var c="^.[^\\s\\w.$@'\"`/\\\\]*";return e.regexLiterals&&(c+="(?!s*/)"),t.push([m,/^@[a-z_$][a-z_$@0-9]*/i,null],[h,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[y,/^[a-z_$][a-z_$@0-9]*/i,null],[m,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[y,/^\\[\s\S]?/,null],[v,new RegExp(c),null]),N(n,t)}function P(e,n,t){for(var r=/(?:^|\s)nocode(?:\s|$)/,a=/\r\n?|\n/,s=e.ownerDocument,l=s.createElement("li");e.firstChild;)l.appendChild(e.firstChild);var i=[l];function o(e){var n=e.nodeType;if(1!=n||r.test(e.className)){if((3==n||4==n)&&t){var l=e.nodeValue,i=l.match(a);if(i){var c=l.substring(0,i.index);e.nodeValue=c;var p=l.substring(i.index+i[0].length);p&&e.parentNode.insertBefore(s.createTextNode(p),e.nextSibling),u(e),c||e.parentNode.removeChild(e)}}}else if("br"===e.nodeName)u(e),e.parentNode&&e.parentNode.removeChild(e);else for(var d=e.firstChild;d;d=d.nextSibling)o(d)}function u(e){for(;!e.nextSibling;)if(!(e=e.parentNode))return;for(var n,t=function e(n,t){var r=t?n.cloneNode(!1):n,a=n.parentNode;if(a){var s=e(a,1),l=n.nextSibling;s.appendChild(r);for(var i=l;i;i=l)l=i.nextSibling,s.appendChild(i)}return r}(e.nextSibling,0);(n=t.parentNode)&&1===n.nodeType;)t=n;i.push(t)}for(var c=0;c<i.length;++c)o(i[c]);n===(0|n)&&i[0].setAttribute("value",n);var p=s.createElement("ol");p.className="linenums";for(var d=Math.max(0,n-1|0)||0,f=(c=0,i.length);c<f;++c)(l=i[c]).className="L"+(c+d)%10,l.firstChild||l.appendChild(s.createTextNode(" ")),p.appendChild(l);e.appendChild(p)}var E={};function L(n,t){for(var r=t.length;--r>=0;){var a=t[r];E.hasOwnProperty(a)?e.console:E[a]=n}}function A(e,n){return e&&E.hasOwnProperty(e)||(e=/^\s*</.test(n)?"default-markup":"default-code"),E[e]}function T(n){var t,r,a,s,l,i,o,u=n.langExtension;try{var c=(t=n.sourceNode,r=n.pre,a=/(?:^|\s)nocode(?:\s|$)/,s=[],l=0,i=[],o=0,function e(n){var t=n.nodeType;if(1==t){if(a.test(n.className))return;for(var u=n.firstChild;u;u=u.nextSibling)e(u);var c=n.nodeName.toLowerCase();"br"!==c&&"li"!==c||(s[o]="\n",i[o<<1]=l++,i[o++<<1|1]=n)}else if(3==t||4==t){var p=n.nodeValue;p.length&&(p=r?p.replace(/\r\n?/g,"\n"):p.replace(/[ \t\r\n]+/g," "),s[o]=p,i[o<<1]=l,l+=p.length,i[o++<<1|1]=n)}}(t),{sourceCode:s.join("").replace(/\n$/,""),spans:i}),p=c.sourceCode;n.sourceCode=p,n.spans=c.spans,n.basePos=0,A(u,p)(n),function(e){var n=/\bMSIE\s(\d+)/.exec(navigator.userAgent);n=n&&+n[1]<=8;var t,r,a=/\n/g,s=e.sourceCode,l=s.length,i=0,o=e.spans,u=o.length,c=0,p=e.decorations,d=p.length,f=0;for(p[d]=l,r=t=0;r<d;)p[r]!==p[r+2]?(p[t++]=p[r++],p[t++]=p[r++]):r+=2;for(d=t,r=t=0;r<d;){for(var g=p[r],h=p[r+1],m=r+2;m+2<=d&&p[m+1]===h;)m+=2;p[t++]=g,p[t++]=h,r=m}d=p.length=t;var v=e.sourceNode,y="";v&&(y=v.style.display,v.style.display="none");try{for(;c<u;){o[c];var b,x=o[c+2]||l,w=p[f+2]||l,S=(m=Math.min(x,w),o[c+1]);if(1!==S.nodeType&&(b=s.substring(i,m))){n&&(b=b.replace(a,"\r")),S.nodeValue=b;var C=S.ownerDocument,N=C.createElement("span");N.className=p[f+1];var _=S.parentNode;_.replaceChild(N,S),N.appendChild(S),i<x&&(o[c+1]=S=C.createTextNode(s.substring(m,x)),_.insertBefore(S,N.nextSibling))}(i=m)>=x&&(c+=2),i>=w&&(f+=2)}}finally{v&&(v.style.display=y)}}(n)}catch(n){e.console}}function R(e,n,t){var r=t||!1,a=n||null,s=document.createElement("div");return s.innerHTML="<pre>"+e+"</pre>",s=s.firstChild,r&&P(s,r,!0),T({langExtension:a,numberLines:r,sourceNode:s,pre:1,sourceCode:null,basePos:null,spans:null,decorations:null}),s.innerHTML}function k(n,t){var r=t||document.body,a=r.ownerDocument||document;function s(e){return r.getElementsByTagName(e)}for(var l=[s("pre"),s("code"),s("xmp")],i=[],o=0;o<l.length;++o)for(var u=0,c=l[o].length;u<c;++u)i.push(l[o][u]);l=null;var p=Date;p.now||(p={now:function(){return+new Date}});var d=0,f=/\blang(?:uage)?-([\w.]+)(?!\S)/,g=/\bprettyprint\b/,h=/\bprettyprinted\b/,m=/pre|xmp/i,v=/^code$/i,y=/^(?:pre|code|xmp)$/i,b={};!function t(){for(var r=e.PR_SHOULD_USE_CONTINUATION?p.now()+250:Infinity;d<i.length&&p.now()<r;d++){for(var s=i[d],l=b,o=s;o=o.previousSibling;){var u=o.nodeType,c=(7===u||8===u)&&o.nodeValue;if(c?!/^\??prettify\b/.test(c):3!==u||/\S/.test(o.nodeValue))break;if(c){l={},c.replace(/\b(\w+)=([\w:.%+-]+)/g,function(e,n,t){l[n]=t});break}}var x=s.className;if((l!==b||g.test(x))&&!h.test(x)){for(var w=!1,S=s.parentNode;S;S=S.parentNode){var N=S.tagName;if(y.test(N)&&S.className&&g.test(S.className)){w=!0;break}}if(!w){s.className+=" prettyprinted";var _,E,L=l.lang;if(L||(!(L=x.match(f))&&(_=C(s))&&v.test(_.tagName)&&(L=_.className.match(f)),L&&(L=L[1])),m.test(s.tagName))E=1;else{var A=s.currentStyle,R=a.defaultView,k=A?A.whiteSpace:R&&R.getComputedStyle?R.getComputedStyle(s,null).getPropertyValue("white-space"):0;E=k&&"pre"===k.substring(0,3)}var $=l.linenums;($="true"===$||+$)||($=!!($=x.match(/\blinenums\b(?::(\d+))?/))&&(!$[1]||!$[1].length||+$[1])),$&&P(s,$,E),T({langExtension:L,sourceNode:s,numberLines:$,pre:E,sourceCode:null,basePos:null,spans:null,decorations:null})}}}d<i.length?e.setTimeout(t,250):"function"==typeof n&&n()}()}L(_({keywords:[r,s,a,l,i,o,u,c],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),["default-code"]),L(N([],[[y,/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],[g,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[v,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),L(N([[y,/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[v,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]),L(N([],[["atv",/^[\s\S]+/]]),["uq.val"]),L(_({keywords:r,hashComments:!0,cStyleComments:!0,types:p}),["c","cc","cpp","cxx","cyc","m"]),L(_({keywords:"null,true,false"}),["json"]),L(_({keywords:s,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:p}),["cs"]),L(_({keywords:a,cStyleComments:!0}),["java"]),L(_({keywords:c,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]),L(_({keywords:o,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]),L(_({keywords:i,hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]),L(_({keywords:u,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]),L(_({keywords:l,cStyleComments:!0,regexLiterals:!0}),["javascript","js","ts","typescript"]),L(_({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),L(N([],[[d,/^[\s\S]+/]]),["regex"]);var $=e.PR={createSimpleLexer:N,registerLangHandler:L,sourceDecorator:_,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:g,PR_DECLARATION:"dec",PR_KEYWORD:f,PR_LITERAL:m,PR_NOCODE:"nocode",PR_PLAIN:y,PR_PUNCTUATION:v,PR_SOURCE:b,PR_STRING:d,PR_TAG:"tag",PR_TYPE:h,prettyPrintOne:IN_GLOBAL_SCOPE?e.prettyPrintOne=R:prettyPrintOne=R,prettyPrint:prettyPrint=IN_GLOBAL_SCOPE?e.prettyPrint=k:prettyPrint=k},O=e.define;"function"==typeof O&&O.amd&&O("google-code-prettify",[],function(){return $})}();
    \ No newline at end of file
    diff --git a/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js b/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js
    deleted file mode 100644
    index dba57a1df..000000000
    --- a/site/dist/bower_components/webcomponentsjs/webcomponents-lite.min.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -"use strict";!function(){window.WebComponents=window.WebComponents||{flags:{}};var e=document.querySelector('script[src*="webcomponents-lite.js"]'),t={};if(!t.noOpts){if(location.search.slice(1).split("&").forEach(function(e){var n,r=e.split("=");r[0]&&(n=r[0].match(/wc-(.+)/))&&(t[n[1]]=r[1]||!0)}),e)for(var n,r=0;n=e.attributes[r];r++)"src"!==n.name&&(t[n.name]=n.value||!0);if(t.log&&t.log.split){var o=t.log.split(",");t.log={},o.forEach(function(e){t.log[e]=!0})}else t.log={}}t.register&&(window.CustomElements=window.CustomElements||{flags:{}},window.CustomElements.flags.register=t.register),WebComponents.flags=t}(),function(e){function t(e){return void 0!==u[e]}function n(){s.call(this),this._isInvalid=!0}function r(e){return""==e&&n.call(this),e.toLowerCase()}function o(e){var t=e.charCodeAt(0);return t>32&&t<127&&-1==[34,35,60,62,63,96].indexOf(t)?e:encodeURIComponent(e)}function i(e){var t=e.charCodeAt(0);return t>32&&t<127&&-1==[34,35,60,62,96].indexOf(t)?e:encodeURIComponent(e)}function a(e,a,s){function c(e){g.push(e)}var d=a||"scheme start",l=0,v="",w=!1,_=!1,g=[];e:for(;(e[l-1]!=f||0==l)&&!this._isInvalid;){var b=e[l];switch(d){case"scheme start":if(!b||!p.test(b)){if(a){c("Invalid scheme.");break e}v="",d="no scheme";continue}v+=b.toLowerCase(),d="scheme";break;case"scheme":if(b&&m.test(b))v+=b.toLowerCase();else{if(":"!=b){if(a){if(f==b)break e;c("Code point not allowed in scheme: "+b);break e}v="",l=0,d="no scheme";continue}if(this._scheme=v,v="",a)break e;t(this._scheme)&&(this._isRelative=!0),d="file"==this._scheme?"relative":this._isRelative&&s&&s._scheme==this._scheme?"relative or authority":this._isRelative?"authority first slash":"scheme data"}break;case"scheme data":"?"==b?(this._query="?",d="query"):"#"==b?(this._fragment="#",d="fragment"):f!=b&&"\t"!=b&&"\n"!=b&&"\r"!=b&&(this._schemeData+=o(b));break;case"no scheme":if(s&&t(s._scheme)){d="relative";continue}c("Missing scheme."),n.call(this);break;case"relative or authority":if("/"!=b||"/"!=e[l+1]){c("Expected /, got: "+b),d="relative";continue}d="authority ignore slashes";break;case"relative":if(this._isRelative=!0,"file"!=this._scheme&&(this._scheme=s._scheme),f==b){this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._username=s._username,this._password=s._password;break e}if("/"==b||"\\"==b)"\\"==b&&c("\\ is an invalid code point."),d="relative slash";else if("?"==b)this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query="?",this._username=s._username,this._password=s._password,d="query";else{if("#"!=b){var y=e[l+1],E=e[l+2];("file"!=this._scheme||!p.test(b)||":"!=y&&"|"!=y||f!=E&&"/"!=E&&"\\"!=E&&"?"!=E&&"#"!=E)&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password,this._path=s._path.slice(),this._path.pop()),d="relative path";continue}this._host=s._host,this._port=s._port,this._path=s._path.slice(),this._query=s._query,this._fragment="#",this._username=s._username,this._password=s._password,d="fragment"}break;case"relative slash":if("/"!=b&&"\\"!=b){"file"!=this._scheme&&(this._host=s._host,this._port=s._port,this._username=s._username,this._password=s._password),d="relative path";continue}"\\"==b&&c("\\ is an invalid code point."),d="file"==this._scheme?"file host":"authority ignore slashes";break;case"authority first slash":if("/"!=b){c("Expected '/', got: "+b),d="authority ignore slashes";continue}d="authority second slash";break;case"authority second slash":if(d="authority ignore slashes","/"!=b){c("Expected '/', got: "+b);continue}break;case"authority ignore slashes":if("/"!=b&&"\\"!=b){d="authority";continue}c("Expected authority, got: "+b);break;case"authority":if("@"==b){w&&(c("@ already seen."),v+="%40"),w=!0;for(var L=0;L<v.length;L++){var N=v[L];if("\t"!=N&&"\n"!=N&&"\r"!=N)if(":"!=N||null!==this._password){var M=o(N);null!==this._password?this._password+=M:this._username+=M}else this._password="";else c("Invalid whitespace in authority.")}v=""}else{if(f==b||"/"==b||"\\"==b||"?"==b||"#"==b){l-=v.length,v="",d="host";continue}v+=b}break;case"file host":if(f==b||"/"==b||"\\"==b||"?"==b||"#"==b){2!=v.length||!p.test(v[0])||":"!=v[1]&&"|"!=v[1]?0==v.length?d="relative path start":(this._host=r.call(this,v),v="",d="relative path start"):d="relative path";continue}"\t"==b||"\n"==b||"\r"==b?c("Invalid whitespace in file host."):v+=b;break;case"host":case"hostname":if(":"!=b||_){if(f==b||"/"==b||"\\"==b||"?"==b||"#"==b){if(this._host=r.call(this,v),v="",d="relative path start",a)break e;continue}"\t"!=b&&"\n"!=b&&"\r"!=b?("["==b?_=!0:"]"==b&&(_=!1),v+=b):c("Invalid code point in host/hostname: "+b)}else if(this._host=r.call(this,v),v="",d="port","hostname"==a)break e;break;case"port":if(/[0-9]/.test(b))v+=b;else{if(f==b||"/"==b||"\\"==b||"?"==b||"#"==b||a){if(""!=v){var T=parseInt(v,10);T!=u[this._scheme]&&(this._port=T+""),v=""}if(a)break e;d="relative path start";continue}"\t"==b||"\n"==b||"\r"==b?c("Invalid code point in port: "+b):n.call(this)}break;case"relative path start":if("\\"==b&&c("'\\' not allowed in path."),d="relative path","/"!=b&&"\\"!=b)continue;break;case"relative path":var C;f!=b&&"/"!=b&&"\\"!=b&&(a||"?"!=b&&"#"!=b)?"\t"!=b&&"\n"!=b&&"\r"!=b&&(v+=o(b)):("\\"==b&&c("\\ not allowed in relative path."),(C=h[v.toLowerCase()])&&(v=C),".."==v?(this._path.pop(),"/"!=b&&"\\"!=b&&this._path.push("")):"."==v&&"/"!=b&&"\\"!=b?this._path.push(""):"."!=v&&("file"==this._scheme&&0==this._path.length&&2==v.length&&p.test(v[0])&&"|"==v[1]&&(v=v[0]+":"),this._path.push(v)),v="","?"==b?(this._query="?",d="query"):"#"==b&&(this._fragment="#",d="fragment"));break;case"query":a||"#"!=b?f!=b&&"\t"!=b&&"\n"!=b&&"\r"!=b&&(this._query+=i(b)):(this._fragment="#",d="fragment");break;case"fragment":f!=b&&"\t"!=b&&"\n"!=b&&"\r"!=b&&(this._fragment+=b)}l++}}function s(){this._scheme="",this._schemeData="",this._username="",this._password=null,this._host="",this._port="",this._path=[],this._query="",this._fragment="",this._isInvalid=!1,this._isRelative=!1}function c(e,t){void 0===t||t instanceof c||(t=new c(String(t))),this._url=e,s.call(this);var n=e.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");a.call(this,n,null,t)}var d=!1;if(!e.forceJURL)try{var l=new URL("b","http://a");l.pathname="c%20d",d="http://a/c%20d"===l.href}catch(e){}if(!d){var u=Object.create(null);u.ftp=21,u.file=0,u.gopher=70,u.http=80,u.https=443,u.ws=80,u.wss=443;var h=Object.create(null);h["%2e"]=".",h[".%2e"]="..",h["%2e."]="..",h["%2e%2e"]="..";var f=void 0,p=/[a-zA-Z]/,m=/[a-zA-Z0-9\+\-\.]/;c.prototype={toString:function(){return this.href},get href(){if(this._isInvalid)return this._url;var e="";return""==this._username&&null==this._password||(e=this._username+(null!=this._password?":"+this._password:"")+"@"),this.protocol+(this._isRelative?"//"+e+this.host:"")+this.pathname+this._query+this._fragment},set href(e){s.call(this),a.call(this,e)},get protocol(){return this._scheme+":"},set protocol(e){this._isInvalid||a.call(this,e+":","scheme start")},get host(){return this._isInvalid?"":this._port?this._host+":"+this._port:this._host},set host(e){!this._isInvalid&&this._isRelative&&a.call(this,e,"host")},get hostname(){return this._host},set hostname(e){!this._isInvalid&&this._isRelative&&a.call(this,e,"hostname")},get port(){return this._port},set port(e){!this._isInvalid&&this._isRelative&&a.call(this,e,"port")},get pathname(){return this._isInvalid?"":this._isRelative?"/"+this._path.join("/"):this._schemeData},set pathname(e){!this._isInvalid&&this._isRelative&&(this._path=[],a.call(this,e,"relative path start"))},get search(){return this._isInvalid||!this._query||"?"==this._query?"":this._query},set search(e){!this._isInvalid&&this._isRelative&&(this._query="?","?"==e[0]&&(e=e.slice(1)),a.call(this,e,"query"))},get hash(){return this._isInvalid||!this._fragment||"#"==this._fragment?"":this._fragment},set hash(e){this._isInvalid||(this._fragment="#","#"==e[0]&&(e=e.slice(1)),a.call(this,e,"fragment"))},get origin(){var e;if(this._isInvalid||!this._scheme)return"";switch(this._scheme){case"data":case"file":case"javascript":case"mailto":return"null"}return(e=this.host)?this._scheme+"://"+e:""}};var v=e.URL;v&&(c.createObjectURL=function(e){return v.createObjectURL.apply(v,arguments)},c.revokeObjectURL=function(e){v.revokeObjectURL(e)}),e.URL=c}}(self),"undefined"==typeof WeakMap&&function(){var e=Object.defineProperty,t=Date.now()%1e9,n=function(){this.name="__st"+(1e9*Math.random()>>>0)+t+++"__"};n.prototype={set:function(t,n){var r=t[this.name];return r&&r[0]===t?r[1]=n:e(t,this.name,{value:[t,n],writable:!0}),this},get:function(e){var t;return(t=e[this.name])&&t[0]===e?t[1]:void 0},delete:function(e){var t=e[this.name];return!(!t||t[0]!==e||(t[0]=t[1]=void 0,0))},has:function(e){var t=e[this.name];return!!t&&t[0]===e}},window.WeakMap=n}(),function(e){function t(e){v.push(e),m||(m=!0,d(n))}function n(){m=!1;var e=v;v=[],e.sort(function(e,t){return e.uid_-t.uid_});var t=!1;e.forEach(function(e){var n=e.takeRecords();(function(e){e.nodes_.forEach(function(t){var n=l.get(t);n&&n.forEach(function(t){t.observer===e&&t.removeTransientObservers()})})})(e),n.length&&(e.callback_(n,e),t=!0)}),t&&n()}function r(e,t){for(var n=e;n;n=n.parentNode){var r=l.get(n);if(r)for(var o=0;o<r.length;o++){var i=r[o],a=i.options;if(n===e||a.subtree){var s=t(a);s&&i.enqueue(s)}}}}function o(e){this.callback_=e,this.nodes_=[],this.records_=[],this.uid_=++w}function i(e,t){this.type=e,this.target=t,this.addedNodes=[],this.removedNodes=[],this.previousSibling=null,this.nextSibling=null,this.attributeName=null,this.attributeNamespace=null,this.oldValue=null}function a(e,t){return f=new i(e,t)}function s(e){return p||((p=function(e){var t=new i(e.type,e.target);return t.addedNodes=e.addedNodes.slice(),t.removedNodes=e.removedNodes.slice(),t.previousSibling=e.previousSibling,t.nextSibling=e.nextSibling,t.attributeName=e.attributeName,t.attributeNamespace=e.attributeNamespace,t.oldValue=e.oldValue,t}(f)).oldValue=e,p)}function c(e,t,n){this.observer=e,this.target=t,this.options=n,this.transientObservedNodes=[]}if(!e.JsMutationObserver){var d,l=new WeakMap;if(/Trident|Edge/.test(navigator.userAgent))d=setTimeout;else if(window.setImmediate)d=window.setImmediate;else{var u=[],h=String(Math.random());window.addEventListener("message",function(e){if(e.data===h){var t=u;u=[],t.forEach(function(e){e()})}}),d=function(e){u.push(e),window.postMessage(h,"*")}}var f,p,m=!1,v=[],w=0;o.prototype={observe:function(e,t){if(e=function(e){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(e)||e}(e),!t.childList&&!t.attributes&&!t.characterData||t.attributeOldValue&&!t.attributes||t.attributeFilter&&t.attributeFilter.length&&!t.attributes||t.characterDataOldValue&&!t.characterData)throw new SyntaxError;var n=l.get(e);n||l.set(e,n=[]);for(var r,o=0;o<n.length;o++)if(n[o].observer===this){(r=n[o]).removeListeners(),r.options=t;break}r||(r=new c(this,e,t),n.push(r),this.nodes_.push(e)),r.addListeners()},disconnect:function(){this.nodes_.forEach(function(e){for(var t=l.get(e),n=0;n<t.length;n++){var r=t[n];if(r.observer===this){r.removeListeners(),t.splice(n,1);break}}},this),this.records_=[]},takeRecords:function(){var e=this.records_;return this.records_=[],e}},c.prototype={enqueue:function(e){var n=this.observer.records_,r=n.length;if(n.length>0){var o=function(e,t){return e===t?e:p&&function(e){return e===p||e===f}(e)?p:null}(n[r-1],e);if(o)return void(n[r-1]=o)}else t(this.observer);n[r]=e},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(e){var t=this.options;t.attributes&&e.addEventListener("DOMAttrModified",this,!0),t.characterData&&e.addEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.addEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(e){var t=this.options;t.attributes&&e.removeEventListener("DOMAttrModified",this,!0),t.characterData&&e.removeEventListener("DOMCharacterDataModified",this,!0),t.childList&&e.removeEventListener("DOMNodeInserted",this,!0),(t.childList||t.subtree)&&e.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(e){if(e!==this.target){this.addListeners_(e),this.transientObservedNodes.push(e);var t=l.get(e);t||l.set(e,t=[]),t.push(this)}},removeTransientObservers:function(){var e=this.transientObservedNodes;this.transientObservedNodes=[],e.forEach(function(e){this.removeListeners_(e);for(var t=l.get(e),n=0;n<t.length;n++)if(t[n]===this){t.splice(n,1);break}},this)},handleEvent:function(e){switch(e.stopImmediatePropagation(),e.type){case"DOMAttrModified":var t=e.attrName,n=e.relatedNode.namespaceURI,o=e.target;(c=new a("attributes",o)).attributeName=t,c.attributeNamespace=n;var i=e.attrChange===MutationEvent.ADDITION?null:e.prevValue;r(o,function(e){if(e.attributes&&(!e.attributeFilter||!e.attributeFilter.length||-1!==e.attributeFilter.indexOf(t)||-1!==e.attributeFilter.indexOf(n)))return e.attributeOldValue?s(i):c});break;case"DOMCharacterDataModified":var c=a("characterData",o=e.target);i=e.prevValue,r(o,function(e){if(e.characterData)return e.characterDataOldValue?s(i):c});break;case"DOMNodeRemoved":this.addTransientObserver(e.target);case"DOMNodeInserted":var d,l,u=e.target;"DOMNodeInserted"===e.type?(d=[u],l=[]):(d=[],l=[u]);var h=u.previousSibling,m=u.nextSibling;(c=a("childList",e.target.parentNode)).addedNodes=d,c.removedNodes=l,c.previousSibling=h,c.nextSibling=m,r(e.relatedNode,function(e){if(e.childList)return c})}f=p=void 0}},e.JsMutationObserver=o,e.MutationObserver||(e.MutationObserver=o,o._isPolyfilled=!0)}}(self),function(){function e(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case" ":return"&nbsp;"}}function t(t){return t.replace(u,e)}var n="undefined"==typeof HTMLTemplateElement;/Trident/.test(navigator.userAgent)&&function(){var e=document.importNode;document.importNode=function(){var t=e.apply(document,arguments);if(t.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var n=document.createDocumentFragment();return n.appendChild(t),n}return t}}();var r=function(){if(!n){var e=document.createElement("template"),t=document.createElement("template");t.content.appendChild(document.createElement("div")),e.content.appendChild(t);var r=e.cloneNode(!0);return 0===r.content.childNodes.length||0===r.content.firstChild.content.childNodes.length}}(),o="template",i=function(){};if(n){var a=document.implementation.createHTMLDocument("template"),s=!0,c=document.createElement("style");c.textContent=o+"{display:none;}";var d=document.head;d.insertBefore(c,d.firstElementChild),i.prototype=Object.create(HTMLElement.prototype),i.decorate=function(e){if(!e.content){e.content=a.createDocumentFragment();for(var n;n=e.firstChild;)e.content.appendChild(n);if(e.cloneNode=function(e){return i.cloneNode(this,e)},s)try{Object.defineProperty(e,"innerHTML",{get:function(){for(var e="",n=this.content.firstChild;n;n=n.nextSibling)e+=n.outerHTML||t(n.data);return e},set:function(e){for(a.body.innerHTML=e,i.bootstrap(a);this.content.firstChild;)this.content.removeChild(this.content.firstChild);for(;a.body.firstChild;)this.content.appendChild(a.body.firstChild)},configurable:!0})}catch(e){s=!1}i.bootstrap(e.content)}},i.bootstrap=function(e){for(var t,n=e.querySelectorAll(o),r=0,a=n.length;r<a&&(t=n[r]);r++)i.decorate(t)},document.addEventListener("DOMContentLoaded",function(){i.bootstrap(document)});var l=document.createElement;document.createElement=function(){var e=l.apply(document,arguments);return"template"===e.localName&&i.decorate(e),e};var u=/[&\u00A0<>]/g}if(n||r){var h=Node.prototype.cloneNode;i.cloneNode=function(e,t){var n=h.call(e,!1);return this.decorate&&this.decorate(n),t&&(n.content.appendChild(h.call(e.content,!0)),this.fixClonedDom(n.content,e.content)),n},i.fixClonedDom=function(e,t){if(t.querySelectorAll)for(var n,r,i=t.querySelectorAll(o),a=e.querySelectorAll(o),s=0,c=a.length;s<c;s++)r=i[s],n=a[s],this.decorate&&this.decorate(r),n.parentNode.replaceChild(r.cloneNode(!0),n)};var f=document.importNode;Node.prototype.cloneNode=function(e){var t=h.call(this,e);return e&&i.fixClonedDom(t,this),t},document.importNode=function(e,t){if(e.localName===o)return i.cloneNode(e,t);var n=f.call(document,e,t);return t&&i.fixClonedDom(n,e),n},r&&(HTMLTemplateElement.prototype.cloneNode=function(e){return i.cloneNode(this,e)})}n&&(window.HTMLTemplateElement=i)}(),function(e){if(!window.performance||!window.performance.now){var t=Date.now();window.performance={now:function(){return Date.now()-t}}}if(window.requestAnimationFrame||(window.requestAnimationFrame=function(){var e=window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame;return e?function(t){return e(function(){t(performance.now())})}:function(e){return window.setTimeout(e,1e3/60)}}()),window.cancelAnimationFrame||(window.cancelAnimationFrame=window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||function(e){clearTimeout(e)}),!function(){var e=document.createEvent("Event");return e.initEvent("foo",!0,!0),e.preventDefault(),e.defaultPrevented}()){var n=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(n.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var r=/Trident/.test(navigator.userAgent);if((!window.CustomEvent||r&&"function"!=typeof window.CustomEvent)&&(window.CustomEvent=function(e,t){t=t||{};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,Boolean(t.bubbles),Boolean(t.cancelable),t.detail),n},window.CustomEvent.prototype=window.Event.prototype),!window.Event||r&&"function"!=typeof window.Event){var o=window.Event;window.Event=function(e,t){t=t||{};var n=document.createEvent("Event");return n.initEvent(e,Boolean(t.bubbles),Boolean(t.cancelable)),n},window.Event.prototype=o.prototype}}(window.WebComponents),window.HTMLImports=window.HTMLImports||{flags:{}},function(e){function t(e,t){!function(e,t){!function(e){return"complete"===e.readyState||e.readyState===v}(t)?t.addEventListener(w,function n(){"complete"!==t.readyState&&t.readyState!==v||(t.removeEventListener(w,n),function(e,t){!function(e){return"complete"===e.readyState||e.readyState===v}(t)?t.addEventListener(w,function n(){"complete"!==t.readyState&&t.readyState!==v||(t.removeEventListener(w,n),function(e,t){if(function(e){return"complete"===e.readyState||e.readyState===v}(t))e&&e();else{t.addEventListener(w,function n(){"complete"!==t.readyState&&t.readyState!==v||(t.removeEventListener(w,n),r(e,t))})}}(e,t))}):e&&e()}(e,t))}):e&&e()}(function(){!function(e,t){function n(){c==d&&e&&e({allImports:s,loadedImports:l,errorImports:u})}function r(e){o(e),l.push(this),c++,n()}function a(e){u.push(this),c++,n()}var s=t.querySelectorAll("link[rel=import]"),c=0,d=s.length,l=[],u=[];if(d)for(var h,f=0;f<d&&(h=s[f]);f++)i(h)?(l.push(this),c++,n()):(h.addEventListener("load",r),h.addEventListener("error",a));else n()}(e,t)},t=t||f)}function n(e){return"complete"===e.readyState||e.readyState===v}function r(e,t){if(n(t))e&&e();else{var o=function n(){"complete"!==t.readyState&&t.readyState!==v||(t.removeEventListener(w,n),r(e,t))};t.addEventListener(w,o)}}function o(e){e.target.__loaded=!0}function i(e){return l?e.__loaded||e.import&&"loading"!==e.import.readyState:e.__importParsed}function a(e){for(var t,n=0,r=e.length;n<r&&(t=e[n]);n++)s(t)&&c(t)}function s(e){return"link"===e.localName&&"import"===e.rel}function c(e){e.import?o({target:e}):(e.addEventListener("load",o),e.addEventListener("error",o))}var d="import",l=Boolean(d in document.createElement("link")),u=Boolean(window.ShadowDOMPolyfill),h=function(e){return u?window.ShadowDOMPolyfill.wrapIfNeeded(e):e},f=h(document),p={get:function(){var e=window.HTMLImports.currentScript||document.currentScript||("complete"!==document.readyState?document.scripts[document.scripts.length-1]:null);return h(e)},configurable:!0};Object.defineProperty(document,"_currentScript",p),Object.defineProperty(f,"_currentScript",p);var m=/Trident/.test(navigator.userAgent),v=m?"complete":"interactive",w="readystatechange";l&&(new MutationObserver(function(e){for(var t,n=0,r=e.length;n<r&&(t=e[n]);n++)t.addedNodes&&a(t.addedNodes)}).observe(document.head,{childList:!0}),function(){if("loading"===document.readyState)for(var e,t=document.querySelectorAll("link[rel=import]"),n=0,r=t.length;n<r&&(e=t[n]);n++)c(e)}()),t(function(e){window.HTMLImports.ready=!0,window.HTMLImports.readyTime=(new Date).getTime();var t=f.createEvent("CustomEvent");t.initCustomEvent("HTMLImportsLoaded",!0,!0,e),f.dispatchEvent(t)}),e.IMPORT_LINK_TYPE=d,e.useNative=l,e.rootDocument=f,e.whenReady=t,e.isIE=m}(window.HTMLImports),function(e){var t=[];e.addModule=function(e){t.push(e)},e.initializeModules=function(){t.forEach(function(t){t(e)})}}(window.HTMLImports),window.HTMLImports.addModule(function(e){var t=/(url\()([^)]*)(\))/g,n=/(@import[\s]+(?!url\())([^;]*)(;)/g,r={resolveUrlsInStyle:function(e,t){var n=e.ownerDocument.createElement("a");return e.textContent=this.resolveUrlsInCssText(e.textContent,t,n),e},resolveUrlsInCssText:function(e,r,o){var i=this.replaceUrls(e,o,r,t);return this.replaceUrls(i,o,r,n)},replaceUrls:function(e,t,n,r){return e.replace(r,function(e,r,o,i){var a=o.replace(/["']/g,"");return n&&(a=new URL(a,n).href),t.href=a,r+"'"+(a=t.href)+"'"+i})}};e.path=r}),window.HTMLImports.addModule(function(e){var t={async:!0,ok:function(e){return e.status>=200&&e.status<300||304===e.status||0===e.status},load:function(n,r,o){var i=new XMLHttpRequest;return(e.flags.debug||e.flags.bust)&&(n+="?"+Math.random()),i.open("GET",n,t.async),i.addEventListener("readystatechange",function(e){if(4===i.readyState){var n=null;try{var a=i.getResponseHeader("Location");a&&(n="/"===a.substr(0,1)?location.origin+a:a)}catch(e){}r.call(o,!t.ok(i)&&i,i.response||i.responseText,n)}}),i.send(),i},loadDocument:function(e,t,n){this.load(e,t,n).responseType="document"}};e.xhr=t}),window.HTMLImports.addModule(function(e){var t=e.xhr,n=e.flags,r=function(e,t){this.cache={},this.onload=e,this.oncomplete=t,this.inflight=0,this.pending={}};r.prototype={addNodes:function(e){this.inflight+=e.length;for(var t,n=0,r=e.length;n<r&&(t=e[n]);n++)this.require(t);this.checkDone()},addNode:function(e){this.inflight++,this.require(e),this.checkDone()},require:function(e){var t=e.src||e.href;e.__nodeUrl=t,this.dedupe(t,e)||this.fetch(t,e)},dedupe:function(e,t){return this.pending[e]?(this.pending[e].push(t),!0):this.cache[e]?(this.onload(e,t,this.cache[e]),this.tail(),!0):(this.pending[e]=[t],!1)},fetch:function(e,r){if(n.load,e)if(e.match(/^data:/)){var o=e.split(","),i=o[0],a=o[1];a=i.indexOf(";base64")>-1?atob(a):decodeURIComponent(a),setTimeout(function(){this.receive(e,r,null,a)}.bind(this),0)}else{var s=function(t,n,o){this.receive(e,r,t,n,o)}.bind(this);t.load(e,s)}else setTimeout(function(){this.receive(e,r,{error:"href must be specified"},null)}.bind(this),0)},receive:function(e,t,n,r,o){this.cache[e]=r;for(var i,a=this.pending[e],s=0,c=a.length;s<c&&(i=a[s]);s++)this.onload(e,i,r,n,o),this.tail();this.pending[e]=null},tail:function(){--this.inflight,this.checkDone()},checkDone:function(){this.inflight||this.oncomplete()}},e.Loader=r}),window.HTMLImports.addModule(function(e){var t=function(e){this.addCallback=e,this.mo=new MutationObserver(this.handler.bind(this))};t.prototype={handler:function(e){for(var t,n=0,r=e.length;n<r&&(t=e[n]);n++)"childList"===t.type&&t.addedNodes.length&&this.addedNodes(t.addedNodes)},addedNodes:function(e){this.addCallback&&this.addCallback(e);for(var t,n=0,r=e.length;n<r&&(t=e[n]);n++)t.children&&t.children.length&&this.addedNodes(t.children)},observe:function(e){this.mo.observe(e,{childList:!0,subtree:!0})}},e.Observer=t}),window.HTMLImports.addModule(function(e){function t(e){return"link"===e.localName&&e.rel===a}var n=e.path,r=e.rootDocument,o=e.flags,i=e.isIE,a=e.IMPORT_LINK_TYPE,s="link[rel="+a+"]",c={documentSelectors:s,importsSelectors:[s,"link[rel=stylesheet]:not([type])","style:not([type])","script:not([type])",'script[type="application/javascript"]','script[type="text/javascript"]'].join(","),map:{link:"parseLink",script:"parseScript",style:"parseStyle"},dynamicElements:[],parseNext:function(){var e=this.nextToParse();e&&this.parse(e)},parse:function(e){if(this.isParsed(e))o.parse;else{var t=this[this.map[e.localName]];t&&(this.markParsing(e),t.call(this,e))}},parseDynamic:function(e,t){this.dynamicElements.push(e),t||this.parseNext()},markParsing:function(e){o.parse,this.parsingElement=e},markParsingComplete:function(e){e.__importParsed=!0,this.markDynamicParsingComplete(e),e.__importElement&&(e.__importElement.__importParsed=!0,this.markDynamicParsingComplete(e.__importElement)),this.parsingElement=null,o.parse},markDynamicParsingComplete:function(e){var t=this.dynamicElements.indexOf(e);t>=0&&this.dynamicElements.splice(t,1)},parseImport:function(e){if(e.import=e.__doc,window.HTMLImports.__importsParsingHook&&window.HTMLImports.__importsParsingHook(e),e.import&&(e.import.__importParsed=!0),this.markParsingComplete(e),e.__resource&&!e.__error?e.dispatchEvent(new CustomEvent("load",{bubbles:!1})):e.dispatchEvent(new CustomEvent("error",{bubbles:!1})),e.__pending)for(var t;e.__pending.length;)(t=e.__pending.shift())&&t({target:e});this.parseNext()},parseLink:function(e){t(e)?this.parseImport(e):(e.href=e.href,this.parseGeneric(e))},parseStyle:function(e){var t=e;e=function(e){var t=e.ownerDocument.createElement("style");return t.textContent=e.textContent,n.resolveUrlsInStyle(t),t}(e),t.__appliedElement=e,e.__importElement=t,this.parseGeneric(e)},parseGeneric:function(e){this.trackElement(e),this.addElementToDocument(e)},rootImportForElement:function(e){for(var t=e;t.ownerDocument.__importLink;)t=t.ownerDocument.__importLink;return t},addElementToDocument:function(e){var t=this.rootImportForElement(e.__importElement||e);t.parentNode.insertBefore(e,t)},trackElement:function(e,t){var n=this,r=function r(o){e.removeEventListener("load",r),e.removeEventListener("error",r),t&&t(o),n.markParsingComplete(e),n.parseNext()};if(e.addEventListener("load",r),e.addEventListener("error",r),i&&"style"===e.localName){var o=!1;if(-1==e.textContent.indexOf("@import"))o=!0;else if(e.sheet){o=!0;for(var a,s=e.sheet.cssRules,c=s?s.length:0,d=0;d<c&&(a=s[d]);d++)a.type===CSSRule.IMPORT_RULE&&(o=o&&Boolean(a.styleSheet))}o&&setTimeout(function(){e.dispatchEvent(new CustomEvent("load",{bubbles:!1}))})}},parseScript:function(t){var n=document.createElement("script");n.__importElement=t,n.src=t.src?t.src:function(e){var t=function(e){return e.textContent+function(e){var t=e.ownerDocument;t.__importedScripts=t.__importedScripts||0;var n=e.ownerDocument.baseURI,r=t.__importedScripts?"-"+t.__importedScripts:"";return t.__importedScripts++,"\n//# sourceURL="+n+r+".js\n"}(e)}(e);return"data:text/javascript;charset=utf-8,"+encodeURIComponent(t)}(t),e.currentScript=t,this.trackElement(n,function(t){n.parentNode&&n.parentNode.removeChild(n),e.currentScript=null}),this.addElementToDocument(n)},nextToParse:function(){return this._mayParse=[],!this.parsingElement&&(this.nextToParseInDoc(r)||this.nextToParseDynamic())},nextToParseInDoc:function(e,n){if(e&&this._mayParse.indexOf(e)<0){this._mayParse.push(e);for(var r,o=e.querySelectorAll(this.parseSelectorsForNode(e)),i=0,a=o.length;i<a&&(r=o[i]);i++)if(!this.isParsed(r))return this.hasResource(r)?t(r)?this.nextToParseInDoc(r.__doc,r):r:void 0}return n},nextToParseDynamic:function(){return this.dynamicElements[0]},parseSelectorsForNode:function(e){return(e.ownerDocument||e)===r?this.documentSelectors:this.importsSelectors},isParsed:function(e){return e.__importParsed},needsDynamicParsing:function(e){return this.dynamicElements.indexOf(e)>=0},hasResource:function(e){return!t(e)||void 0!==e.__doc}};e.parser=c,e.IMPORT_SELECTOR=s}),window.HTMLImports.addModule(function(e){function t(e){return function(e,t){return"link"===e.localName&&e.getAttribute("rel")===t}(e,o)}function n(e,t){var n=document.implementation.createHTMLDocument(o);n._URL=t;var r=n.createElement("base");r.setAttribute("href",t),n.baseURI||function(e){return!!Object.getOwnPropertyDescriptor(e,"baseURI")}(n)||Object.defineProperty(n,"baseURI",{value:t});var i=n.createElement("meta");return i.setAttribute("charset","utf-8"),n.head.appendChild(i),n.head.appendChild(r),n.body.innerHTML=e,window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(n),n}var r=e.flags,o=e.IMPORT_LINK_TYPE,i=e.IMPORT_SELECTOR,a=e.rootDocument,s=e.Loader,c=e.Observer,d=e.parser,l={documents:{},documentPreloadSelectors:i,importsPreloadSelectors:[i].join(","),loadNode:function(e){u.addNode(e)},loadSubtree:function(e){var t=this.marshalNodes(e);u.addNodes(t)},marshalNodes:function(e){return e.querySelectorAll(this.loadSelectorsForNode(e))},loadSelectorsForNode:function(e){return(e.ownerDocument||e)===a?this.documentPreloadSelectors:this.importsPreloadSelectors},loaded:function(e,o,i,a,s){if(r.load,o.__resource=i,o.__error=a,t(o)){var c=this.documents[e];void 0===c&&((c=a?null:n(i,s||e))&&(c.__importLink=o,this.bootDocument(c)),this.documents[e]=c),o.__doc=c}d.parseNext()},bootDocument:function(e){this.loadSubtree(e),this.observer.observe(e),d.parseNext()},loadedAll:function(){d.parseNext()}},u=new s(l.loaded.bind(l),l.loadedAll.bind(l));if(l.observer=new c,!document.baseURI){var h={get:function(){var e=document.querySelector("base");return e?e.href:window.location.href},configurable:!0};Object.defineProperty(document,"baseURI",h),Object.defineProperty(a,"baseURI",h)}e.importer=l,e.importLoader=u}),window.HTMLImports.addModule(function(e){var t=e.parser,n=e.importer,r={added:function(e){for(var r,o,i,a,s=0,c=e.length;s<c&&(a=e[s]);s++)r||(r=a.ownerDocument,o=t.isParsed(r)),(i=this.shouldLoadNode(a))&&n.loadNode(a),this.shouldParseNode(a)&&o&&t.parseDynamic(a,i)},shouldLoadNode:function(e){return 1===e.nodeType&&o.call(e,n.loadSelectorsForNode(e))},shouldParseNode:function(e){return 1===e.nodeType&&o.call(e,t.parseSelectorsForNode(e))}};n.observer.addCallback=r.added.bind(r);var o=HTMLElement.prototype.matches||HTMLElement.prototype.matchesSelector||HTMLElement.prototype.webkitMatchesSelector||HTMLElement.prototype.mozMatchesSelector||HTMLElement.prototype.msMatchesSelector}),function(e){function t(){window.HTMLImports.importer.bootDocument(r)}var n=e.initializeModules;if(e.isIE,!e.useNative){n();var r=e.rootDocument;"complete"===document.readyState||"interactive"===document.readyState&&!window.attachEvent?t():document.addEventListener("DOMContentLoaded",t)}}(window.HTMLImports),window.CustomElements=window.CustomElements||{flags:{}},function(e){var t=e.flags,n=[];e.addModule=function(e){n.push(e)},e.initializeModules=function(){n.forEach(function(t){t(e)})},e.hasNative=Boolean(document.registerElement),e.isIE=/Trident/.test(navigator.userAgent),e.useNative=!t.register&&e.hasNative&&!window.ShadowDOMPolyfill&&(!window.HTMLImports||window.HTMLImports.useNative)}(window.CustomElements),window.CustomElements.addModule(function(e){function t(e,t){(function e(t,n,r){var o=t.firstElementChild;if(!o)for(o=t.firstChild;o&&o.nodeType!==Node.ELEMENT_NODE;)o=o.nextSibling;for(;o;)!0!==n(o,r)&&e(o,n,r),o=o.nextElementSibling;return null})(e,function(e){return!!t(e)||void n(e,t)}),n(e,t)}function n(e,n){for(var r=e.shadowRoot;r;)t(r,n),r=r.olderShadowRoot}var r=window.HTMLImports?window.HTMLImports.IMPORT_LINK_TYPE:"none";e.forDocumentTree=function(e,t){!function e(t,n,o){if(t=window.wrap(t),!(o.indexOf(t)>=0)){o.push(t);for(var i,a=t.querySelectorAll("link[rel="+r+"]"),s=0,c=a.length;s<c&&(i=a[s]);s++)i.import&&e(i.import,n,o);n(t)}}(e,t,[])},e.forSubtree=t}),window.CustomElements.addModule(function(e){function t(e,t){return n(e,t)||r(e,t)}function n(t,n){return!!e.upgrade(t,n)||void(n&&a(t))}function r(e,t){p(e,function(e){if(n(e,t))return!0})}function o(e){_.push(e),w||(w=!0,setTimeout(i))}function i(){w=!1;for(var e,t=_,n=0,r=t.length;n<r&&(e=t[n]);n++)e();_=[]}function a(e){v?o(function(){s(e)}):s(e)}function s(e){e.__upgraded__&&!e.__attached&&(e.__attached=!0,e.attachedCallback&&e.attachedCallback())}function c(e){v?o(function(){d(e)}):d(e)}function d(e){e.__upgraded__&&e.__attached&&(e.__attached=!1,e.detachedCallback&&e.detachedCallback())}function l(e,n){if(f.dom){var r=n[0];if(r&&"childList"===r.type&&r.addedNodes&&r.addedNodes){for(var o=r.addedNodes[0];o&&o!==document&&!o.host;)o=o.parentNode;var i=o&&(o.URL||o._URL||o.host&&o.host.localName)||"";i=i.split("/?").shift().split("/").pop()}}var a=function(e){for(var t=e,n=window.wrap(document);t;){if(t==n)return!0;t=t.parentNode||t.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&t.host}}(e);n.forEach(function(e){"childList"===e.type&&(g(e.addedNodes,function(e){e.localName&&t(e,a)}),g(e.removedNodes,function(e){e.localName&&function(e){c(e),p(e,function(e){c(e)})}(e)}))}),f.dom}function u(e){if(!e.__observer){var t=new MutationObserver(l.bind(this,e));t.observe(e,{childList:!0,subtree:!0}),e.__observer=t}}function h(e){e=window.wrap(e),f.dom,t(e,e===window.wrap(document)),u(e),f.dom}var f=e.flags,p=e.forSubtree,m=e.forDocumentTree,v=window.MutationObserver._isPolyfilled&&f["throttle-attached"];e.hasPolyfillMutations=v,e.hasThrottledAttached=v;var w=!1,_=[],g=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Element.prototype.createShadowRoot;b&&(Element.prototype.createShadowRoot=function(){var e=b.call(this);return window.CustomElements.watchShadow(this),e}),e.watchShadow=function(e){if(e.shadowRoot&&!e.shadowRoot.__watched){f.dom;for(var t=e.shadowRoot;t;)u(t),t=t.olderShadowRoot}},e.upgradeDocumentTree=function(e){m(e,h)},e.upgradeDocument=h,e.upgradeSubtree=r,e.upgradeAll=t,e.attached=a,e.takeRecords=function(e){for((e=window.wrap(e))||(e=window.wrap(document));e.parentNode;)e=e.parentNode;var t=e.__observer;t&&(l(e,t.takeRecords()),i())}}),window.CustomElements.addModule(function(e){function t(t,o,i){return r.upgrade,o.is&&t.setAttribute("is",o.is),n(t,o),t.__upgraded__=!0,function(e){e.createdCallback&&e.createdCallback()}(t),i&&e.attached(t),e.upgradeSubtree(t,i),r.upgrade,t}function n(e,t){Object.__proto__?e.__proto__=t.prototype:(function(e,t,n){for(var r={},o=t;o!==n&&o!==HTMLElement.prototype;){for(var i,a=Object.getOwnPropertyNames(o),s=0;i=a[s];s++)r[i]||(Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(o,i)),r[i]=1);o=Object.getPrototypeOf(o)}}(e,t.prototype,t.native),e.__proto__=t.prototype)}var r=e.flags;e.upgrade=function(n,r){if("template"===n.localName&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(n),!n.__upgraded__&&n.nodeType===Node.ELEMENT_NODE){var o=n.getAttribute("is"),i=e.getRegisteredDefinition(n.localName)||e.getRegisteredDefinition(o);if(i&&(o&&i.tag==n.localName||!o&&!i.extends))return t(n,i,r)}},e.upgradeWithDefinition=t,e.implementPrototype=n}),window.CustomElements.addModule(function(e){function t(e){if(!e.setAttribute._polyfilled){var t=e.setAttribute;e.setAttribute=function(e,r){n.call(this,e,r,t)};var r=e.removeAttribute;e.removeAttribute=function(e){n.call(this,e,null,r)},e.setAttribute._polyfilled=!0}}function n(e,t,n){e=e.toLowerCase();var r=this.getAttribute(e);n.apply(this,arguments);var o=this.getAttribute(e);this.attributeChangedCallback&&o!==r&&this.attributeChangedCallback(e,r,o)}function r(e){if(e)return f[e.toLowerCase()]}function o(e,t){e&&(e=e.toLowerCase()),t&&(t=t.toLowerCase());var n,i=r(t||e);if(i){if(e==i.tag&&t==i.is)return new i.ctor;if(!t&&!i.is)return new i.ctor}return t?((n=o(e)).setAttribute("is",t),n):(n=p(e),e.indexOf("-")>=0&&l(n,HTMLElement),n)}function i(e,t){var n=e[t];e[t]=function(){var e=n.apply(this,arguments);return c(e),e}}var a,s=(e.isIE,e.upgradeDocumentTree),c=e.upgradeAll,d=e.upgradeWithDefinition,l=e.implementPrototype,u=e.useNative,h=["annotation-xml","color-profile","font-face","font-face-src","font-face-uri","font-face-format","font-face-name","missing-glyph"],f={},p=document.createElement.bind(document),m=document.createElementNS.bind(document);a=Object.__proto__||u?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;for(var n=e;n;){if(n===t.prototype)return!0;n=n.__proto__}return!1},i(Node.prototype,"cloneNode"),i(document,"importNode"),document.registerElement=function(n,o){var i=o||{};if(!n)throw new Error("document.registerElement: first argument `name` must not be empty");if(n.indexOf("-")<0)throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '"+String(n)+"'.");if(function(e){for(var t=0;t<h.length;t++)if(e===h[t])return!0}(n))throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '"+String(n)+"'. The type name is invalid.");if(r(n))throw new Error("DuplicateDefinitionError: a type with name '"+String(n)+"' is already registered");return i.prototype||(i.prototype=Object.create(HTMLElement.prototype)),i.__name=n.toLowerCase(),i.extends&&(i.extends=i.extends.toLowerCase()),i.lifecycle=i.lifecycle||{},i.ancestry=function e(t){var n=r(t);return n?e(n.extends).concat([n]):[]}(i.extends),function(e){for(var t,n=e.extends,r=0;t=e.ancestry[r];r++)n=t.is&&t.tag;e.tag=n||e.__name,n&&(e.is=e.__name)}(i),function(e){if(!Object.__proto__){var t=HTMLElement.prototype;if(e.is){var n=document.createElement(e.tag);t=Object.getPrototypeOf(n)}for(var r,o=e.prototype;o;)(r=Object.getPrototypeOf(o))&&(o.__proto__=r),o=r;e.native=t}}(i),t(i.prototype),function(e,t){f[e]=t}(i.__name,i),i.ctor=function(e){return function(){return function(e){return d(p(e.tag),e)}(e)}}(i),i.ctor.prototype=i.prototype,i.prototype.constructor=i.ctor,e.ready&&s(document),i.ctor},document.createElement=o,document.createElementNS=function(e,t,n){return"http://www.w3.org/1999/xhtml"===e?o(t,n):m(e,t)},e.registry=f,e.instanceof=a,e.reservedTagList=h,e.getRegisteredDefinition=r,document.register=document.registerElement}),function(e){function t(){i(window.wrap(document)),window.CustomElements.ready=!0,(window.requestAnimationFrame||function(e){setTimeout(e,16)})(function(){setTimeout(function(){window.CustomElements.readyTime=Date.now(),window.HTMLImports&&(window.CustomElements.elapsed=window.CustomElements.readyTime-window.HTMLImports.readyTime),document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))})})}var n=e.useNative,r=e.initializeModules;if(e.isIE,n){var o=function(){};e.watchShadow=o,e.upgrade=o,e.upgradeAll=o,e.upgradeDocumentTree=o,e.upgradeSubtree=o,e.takeRecords=o,e.instanceof=function(e,t){return e instanceof t}}else r();var i=e.upgradeDocumentTree,a=e.upgradeDocument;if(window.wrap||(window.ShadowDOMPolyfill?(window.wrap=window.ShadowDOMPolyfill.wrapIfNeeded,window.unwrap=window.ShadowDOMPolyfill.unwrapIfNeeded):window.wrap=window.unwrap=function(e){return e}),window.HTMLImports&&(window.HTMLImports.__importsParsingHook=function(e){e.import&&a(wrap(e.import))}),"complete"===document.readyState||e.flags.eager)t();else if("interactive"!==document.readyState||window.attachEvent||window.HTMLImports&&!window.HTMLImports.ready){var s=window.HTMLImports&&!window.HTMLImports.ready?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(s,t)}else t()}(window.CustomElements),function(e){var t=document.createElement("style");t.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var n=document.querySelector("head");n.insertBefore(t,n.firstChild)}(window.WebComponents);
    \ No newline at end of file
    diff --git a/site/dist/browserconfig.xml b/site/dist/browserconfig.xml
    deleted file mode 100644
    index 90cecb10d..000000000
    --- a/site/dist/browserconfig.xml
    +++ /dev/null
    @@ -1,12 +0,0 @@
    -<?xml version="1.0" encoding="utf-8"?>
    -<browserconfig>
    -  <msapplication>
    -    <tile>
    -      <square70x70logo src="{{baseUrl}}/images/favicons/mstile-70x70.png"/>
    -      <square150x150logo src="{{baseUrl}}/images/favicons/mstile-150x150.png"/>
    -      <square310x310logo src="{{baseUrl}}/images/favicons/mstile-310x310.png"/>
    -      <wide310x150logo src="{{baseUrl}}/images/favicons/mstile-310x150.png"/>
    -      <TileColor>#455a64</TileColor>
    -    </tile>
    -  </msapplication>
    -</browserconfig>
    diff --git a/site/dist/btec-unit4.html b/site/dist/btec-unit4.html
    deleted file mode 100644
    index a25146d12..000000000
    --- a/site/dist/btec-unit4.html
    +++ /dev/null
    @@ -1,138 +0,0 @@
    -
    -<!doctype html>
    -<html lang="en">
    -<head>
    -<meta charset="utf-8">
    -<meta name="description" content="A repository of Codelabs for the programming course.">
    -<meta name="viewport" content="width=device-width,initial-scale=1">
    -<meta name="generator" content="BTEC Programming">
    -<meta name="application-name" content="BTEC Programming">
    -<link rel="canonical" href="https://scott3142.uk/codelabs-landing/btec-unit4/">
    -<link rel="preconnect" href="https://www.google-analytics.com">
    -<script>
    -window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    -    ga('create', 'UA-49880327-14', 'auto');
    -    ga('send', 'pageview');
    -</script>
    -<script async src="https://www.google-analytics.com/analytics.js"></script>
    -<title>BTEC Programming</title>
    -<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    -<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    -<style is="custom-style">
    -:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    -<meta name="apple-mobile-web-app-capable" content="yes">
    -<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    -<meta name="apple-mobile-web-app-title" content="BTEC Programming">
    -<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    -<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    -<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    -<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    -<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    -<link rel="manifest" href="site.webmanifest">
    -<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    -<meta name="msapplication-TileColor" content="#455a64">
    -<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    -<meta name="theme-color" content="#455a64">
    -<meta name="og:type" property="og:type" content="website">
    -<meta name="og:title" property="og:title" content="BTEC Programming">
    -<meta name="og:description" property="og:description" content="A repository of Codelabs for the programming course.">
    -<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/btec-unit4/">
    -<meta name="og:site_name" property="og:site_name" content="Codelabs">
    -<meta name="og:determiner" property="og:determiner" content="the">
    -<meta name="og:locale" property="og:locale" content="en_US">
    -<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:type" property="og:image:type" content="image/png">
    -<meta name="og:image:width" property="og:image:width" content="1200">
    -<meta name="og:image:height" property="og:image:height" content="1200">
    -<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    -<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    -<meta name="twitter:title" property="twitter:title" content="BTEC Programming">
    -<meta name="twitter:description" property="twitter:description" content="A repository of Codelabs for the programming course.">
    -<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/btec-unit4/">
    -</head>
    -<body id="app" is="body-bind" class="loading fullbleed view">
    -<paper-header-panel id="main" mode="standard" main>
    -<div id="mainToolbar" class="paper-header">
    -<div class="site-width layout horizontal">
    -<a href="{{baseUrl}}">
    -<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    -</a>
    -<div id="searchbar">
    -<paper-input-container no-label-float>
    -<paper-icon-button prefix icon="search"></paper-icon-button>
    -<label>Search</label>
    -<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    -</paper-input-container>
    -</div>
    -</div>
    -</div>
    -<header id="banner" down>
    -<div class="site-width">
    -<div class="banner-description">
    -<img id="logo" src="{{baseUrl}}/btec-unit4/den01-logo.png" alt="Event logo">
    -<div class="banner-meta">
    -<h3>BTEC Programming</h3>
    -<p>A repository of Codelabs for the programming course.</p>
    -</div>
    -</div>
    -</div>
    -</header>
    -<main>
    -<div id="filters" class="site-width layout horizontal center justified">
    -<div id="sortby">
    -<paper-tabs selected="0" noink on-iron-activate="sortBy">
    -<paper-tab>A-Z</paper-tab>
    -<paper-tab>Recent</paper-tab>
    -<paper-tab>Duration</paper-tab>
    -</paper-tabs>
    -</div>
    -</div>
    -<card-sorter id="cards" class="site-width">
    -</card-sorter>
    -<div id="loading-placeholder" class="site-width">
    -Loading Codelabs, please wait...
    -</div>
    -</main>
    -<footer id="footer">
    -<div class="footer-wrapper site-width">
    -<div class="link-list">
    -<label>Connect</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Programs</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Developer Consoles</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Explore</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -</div>
    -</footer>
    -<div class="footerbar">
    -<div class="site-width layout horizontal center justified">
    -<span>
    -<a href="https://example.com">Terms</a>
    -&nbsp; | &nbsp;
    -<a href="https://example.com">Privacy</a>
    -</span>
    -</div>
    -</div>
    -</paper-header-panel>
    -<script src="scripts/main.js"></script>
    -</body>
    -</html>
    diff --git a/site/dist/btec-unit4/den01-logo.png b/site/dist/btec-unit4/den01-logo.png
    deleted file mode 100644
    index cb9d09cb6cead256e4dc28be127940f36b6ffe73..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 157552
    zcmeFai9c59|37|8lNwTL%H7xsF%s@pM6`%(Z7RxkN~P?Sr7WFlDux&&im0SjqCz50
    zL!?EUxU=4cDBG<C+4{Y%>zv#4{>(q{dwd_=^O$kYxn9@ndR?#A^R-;pStfMtYU2sN
    z{{AaL5ED#R8LlUYNuB85abw|1Z;7J{{2A}LYV#g~&`?DGj`B}6@Fj>Dgo)v@4gQJk
    zwR1-iGsI~wUD$GN>%A%Cr#{!6FAAOh=f~T(f7Jh6AP73i>px^;N@V{J6)}n9_kS-f
    zC2RjLGveS+X8)?`r_TP>1@RLaKPuxVG=9{^&#3W(Hhx0m2W9+>8b2!ICp3Q4#?Pqn
    zgEoFb;|FE@j2b^G<0mwJ)W*-K@q;#gLgNQz{EQkuD&r?Ke$>YQb5TR^Cf5<|-cZYi
    zEBEm1W{e`ZA-X@#7#)+7{<G;r&wy>I|NT+R{<{x!_>Rc`5)s7M|85P5zmxdCRGi}f
    zY(4!H>|Z7Q)Y!ke_=&L*UHtUQ5mo$*WB;mx_!%z#RmRV7F`|o~;bKG;Kf}eps`wc$
    ze$d6wa518cpW$Le75_gC7mNQ1nkal00A&5SV*1x$KTDv0b@4N%jp*WMOdC<ff5Jt`
    zy}TuVIhuUd4|E#S@ZlyUC)S!po&06n<56F`Dfnk;<EYYu;w2(YqdpOHR%OgczFfCG
    zdD?Q1r#2g_d{%B)FnYncJ>S1^*N-uPF?a_(|MPrN`_lhz5Bbjc?=F%qdIsu$f0XRF
    z|L#di{Q2LlE75=cvyqe`^7cRbO+Uq>e`@dlW$a1FOkh2T|82d-wGeA_{t2zDF86`}
    zO`&HUnDcszosf!i{lw!*Mb<-2&vJ%4mo#k2Zt+X(Gwr)F5OQbujf!h-KU}=K`&o>0
    z!_dcG;U;gs?ucjc->lbI^I&f9Z?)E0kxRY~7j@N(HQXIqCTKLC`S+#KGpe$>I{zJ;
    zmY*ziaca6*u3p40y{UX_gZ{6AZbb*J_ER?`Gi5(>>I;IuB>NAw?s0c+STa>i_|)Of
    z<s)H4c~0{@L#<6V-+zfLl8!8rDY`MyP2$Eo-;jN-LlYbH`oC(ujjZ;w+R09t+C61t
    z*r-*xuEvY9MPwoyW!_0=9FQ|M$WD=~xgVKO?Wfhl#xBZhBot9re|x`)a2ssxxF0$o
    zqI=h4U8JbhntOHwosSN(lJR{;f)wpxnwz%ePsJ^Pjc+@A0%U`O+LP#zpxp;<=Us0t
    zwFnrC^dUZum8;NLI3sGaS?(O@SFBAGbiaCN+>xi&GMb?xJ4eDD&&*()w_b3=xv!&=
    zI(lZlmz111cj7@P1@Uj^vJq}&Cb@c3-&yBaEt8<U`hS=7>&SIK@XvR#po)ULOlg+h
    zQc)O!>C3JwbxwA?iP)29Ek@p`%eh=y*H~5US9Ouq2kAN@ga3ThxQ=n9{V&=C!z)|}
    z!IT_HuUk{U-uXQkRPw&G@E4Z5edI_Y&{S@|86I*eX(rFB{UwoqUQ_*}*Q-NvNEI?N
    z3^`S$G$M?LS+4k~h}ToLM!ePWHX)4O`;PO!ZTy4<A0?$SLaDW0qphdy?bn$VbMxi$
    zej@_-J?kDeKDx|`&~7SJ2)T2;#^VrP@Ftss5i1-f5>KATU5_u_*pa8}Foq=_ln`Q?
    zT5@}8i+_lBT1{K#y;1zQ0)0chKlNC$zUd=mp_5w(O6&6uwRc|4?QFB&2yQr;Cmx?a
    zq9dmu`%Z=s6m;4YH{Lv==ibg@hU+kruoVCH-WRgR)p+r0R}mtmH*2MyhD(E8f*8Y+
    zv>#D@{i;VhUi>3dG(Z2I`@slBX@a)D<0cs?Cdndz+BY(~|5nww9b(>kf9jl6uk>oI
    zB)HPO>hHWZ4|Kj1iaKC2q8(#{aeEW*s1SmOle+J4lECl{LBBD>Q)MF_+jqqHV8q6N
    zfxebPF@kRbcAqYp?9x!D_jNowd-G#Ln=k$R$MbGMPv`(a+-Pz!v=v_ix;91+H^VPp
    zPN+lDcfCefh;^3J8~a}t6IAaPKSSHfg1p--^y$4LjuoKZd{eg7I;TqUnh2rjBP}Ua
    zWI51TvWnqIG%5>0(S8K<{>x&ycQQparIo)B%IyZ~e6QVx3?bz;G96`==9|u2BX)@S
    zh<nIynN093b0oWSSL$_!i!-!bIiZQ@%c-_<|Hw={7cnJl6fxgNUNTP7%N~Z8Vy#IJ
    zj06~?nawwMc|~-rEsgRah@>y6zv!hW_0M4C^jINOy8j;4xaLiXjWa8}c8w<}gPw&7
    z`c(yao{L#Qb4FmEKRZeSfaWDF*&>N7SYF1CT7OiiZoxJ~=vQACWEdzXH%bVHsu33L
    zh8IK#vSN%7#r4!kPczlH2b<2WK<$f1+U=u8+RvPL?0eSHKcZkji6AZ-(ySZurwUC&
    zKS{OS6saIvx~FhFLCfWNbVuw_WU2I$g?yd>cHg|iDjX0Yp1gE3OoZ8TQOO8DdL+h?
    zk*T(oHc{aEH?;`D<|tKqv8OIJg&`vbb%e;_O+o6r;OM_3Tb&>ZKbRRNzAnh~<uZg+
    z!^qU9#CmTw_|-?IdNM&d_2>Pf*C{iZA>vmFJ&PO-;o<tyQh`j(1cI{imPfcgqsua*
    zpN(g0P<kBTKtXom4P)QY1pj!QQSs)EJhNkLkn}$-oNV~gM?309%NFg~HiaOJn#>Gc
    zog3;nY-Hry2w^2C0rX#Ag@%PYv*Y`$I`a0cU~M~iV1()s2xojQLQzYUAkVuiZUfvu
    zqF9BD5WRzB4@4`h#uDVSL0L&BlxNrw^5m3IFuj<yAS?nfWV^TmmI;+BbPCGg1SC6%
    z1@b`E3($3cAIv5zGFYfBzSN%pHhx^E;=BBwI;Tslv%WVJLR(JqBh2SaP-uunN1n6_
    z8)4rIR{_+UDX3ivqyQ;35~ng^@ce|6d9wP^j@JsZmzG0GFK`~7f`s*3&3a|Knh*j#
    z^_wm?zSX%6!sLez%#61Jz2q|Lqk@F#gswNqonv#hal>VRq|w_3?6>7?)}i$!*}8!I
    zBs9fl5XY#+1)0n)felzZDWPcQtHpfMa*`a?MiaDBtueB{*dEqo10xeOS(Tfn@b315
    z#jDeRLrhO{2oDnPd_`uW+#N!0;p-pm$esF;leEHY6a@2J*<phN9eFOdSdCiFVuKp}
    z#|7JI>d(6;wQ1i3HMHLw2+_V4<hRwCVMzWZG>yNOYTVaNX^lL9IM?Pt4pn+ala-D%
    z9U+1Y-n{8DxX#`nf;jta@u1zgp1R|QSu|MA6pnh$G&j-x!Qu#8s2KV}2c~u1>F>V8
    zQiYF%dd=C*H(jG5W>$8;@EJu=vV*q(6vsf@=vT6u1qI~<cGz;kvF?zpu?D>Ml1~-7
    zG`I;}kuzUt)M0Cg6AH2`(i&65Kn*vV+6283V15bK{NW>!sc=^Fr%4|<_K~(w%la$!
    zs@HpU@bRDo%@YPE!G#l#Z?0T?)Vj3vl0HD6e_Xsf0#Iot$~tX{5Vh3z81Ky<Fk3q?
    z8Rt|Xm|y6z95GfpRI|>>UM^eIcJ2oBC!2=TgL3Aw;e<O@Xx90_DQj)1;JAA!Dkzm(
    zyRf;O*yzh&B8(?bmOg3*lpL*6OaOfa@L{ep-4e_k{-tU^2N`YUV!1=I$9zGyp68Rg
    zw66#GIob*dg_CU$g~=XSyhzf^)e59j?mR|r1vnjMZQ)_T+JgKCg2l9t956*TIOk5&
    ze3rt01m{y?ymj2pK@`3Xk%0crc_(`*t1CTGNT(*8s$!h?X4fN&^{XM&@GlKt4f5;0
    zwT6+4@K+t7I^n$;fVA2bMiUqp>oNqCmJn&&$*OU$5o|S}<(Wb~3)%d|LcRM{Y?Dox
    z2Iz+vN{3DEVn?u#Wdj>6ZI+vuy|#2q8c4{09V*;2xM9RjnLoi5^xX3NDX^|T;m;ah
    zFk9#o_RFBOQjm4Y1npDnCXEb`C>%iS&0jv^&y4**0FLa4jaCXRsdv~Kc+yQF!jUyc
    zMxGc7bpT<WG%~1yaL{0;Q@x~cxFn&4_@c$A4(O>4GE76Y;B;ofypj1%!-8)9x93WB
    zqVY?ZmMKD>zQW4rNi-6Xuz?J+5sHX)3`@#DXoM%Gk9H_lf_~^J1xCeNgqY}?BAU)*
    zuJ*hWk9UWG7S7!VD*u1H3~eR4Bf1RO_%67;!6oPuix5j?%qapnh?fxeenOxIC^p~x
    zE5stqM`rUh(6{W+wVt}%M%L<u3T*r_KaB;x(R8EQPbz}VWrN|YMYuYs!u1iqAK{1s
    zg}`(em}E7wq0?Z5$#O94Hd&`_XnQC>Y9PcqOlYDJn(!@;cDy<yE3b~wrQ28iPS!7C
    zBBLHXUqM{}b6CHban_dSa)?z*W5^wucd|xIBOzy&RoPX~6vBc^wDRWNwl0lAbK;yj
    zP*tEiAA%nGWe9DIVl_;_wR#N~yqcOj0P-I>!Vpoy?JPRM6vAejqrd)LeQ25jrAZr<
    z=SHlWg)3rzHPyIR*U8dzMbN-qmm`@8p6IlcVa6wWq?jXni$^=AN+L({-VIlJXhCny
    z;}C0Us8Y~xRaWI2dBzI<pxu?o)|szBqZyZm0W!6B7&5L0>(_MHD)2h%Qe!Dl9H~5<
    z*Hf38$@C`+Sddd^pgL5qoU3<C1C&EQft-02lFeI|EJ>oBiFbn#ySAxSdbRt*AWwLc
    zGV?*X1;W}RY5n!rU-0O(W~%LK8^{hWz=75phDGNS6GpC)3WbtKi|{nZSHXXw5>9Y?
    zBE+twL6%uYj!-lY$f`D(5sp>BifRDWK88e74s$`j&t9YpKA17A#q;`IvgmW!GC1c)
    z${H2#FibnchUxc;ueUs9HdE$9rD;@rafxvOYU95dhFbmBd<KxT9*cci97@P-vMMMs
    zP*S}PAlVtV0P1NtcpR&Rltb~k4a$OBU{3m4Zb(S%XO_>fS=Ofc*!px5Ktti(0)=vg
    zcf4{KQLqzhgDru`LN+$ha-a>xZLiMD9$SQf=GP6`KK2!ZAbOZB{ir2T-kSljf>(i&
    z?Fgz}or@GUK@n+=MIwlS4|F<Q26(xt#`%c(2F{xWC*hAKRqA;}S>P6eoS3@hnjJHT
    zZBS4F&|DhEp!g78bqw}ndKg~RkZ|W=O0@Up9I{j;4;tw0wMGaVXUbS+g)%$_m?g0G
    z+m#t{D@1!90<w9zp!eJ79zWJE$;b;^t}S5({S!6>rnUENhonXD#N;7|pJKCfPw7E*
    zhDMJS%-}d;#*<H0+_qy4GbB&`N~QB^eC+SU%o1fBqCM-t>jGV^xeQgiD4Ul2RlrFM
    z6JZr#C{u%&?|iF|bmsnq0R-{Nk6giUvr&!P2=4SEVnquw{O0My>U;%-%AF`8!}$kf
    zRcv8e8uq6Yw)wBFg`$ht*#%XSUHK3TU9J!7d4j)SO@Op(untXv^puvo2G~u<GbD&t
    zJ|vT4{rABv!h8bv+5;7Tym3c^M0w%&NpJ!`?o^oV9DL|M3eCi|TB}YbR~4=Zq=(nR
    z^7b5VB*@be?SLHkJwug^b?I(HnZ+t_DiGCB*w#U!7GP%q>`>MMr9w8HB3ZQOT`-)`
    z^8+sj`889h0jQRUF2c~G8lZH5;31IFL7`bN8d!b!8`A(0uv&zV`(QbL_rYTQp~3lR
    za=xFQRr@6io$sPB>jf(`&nsRGj?h<{j0`4l?Ul?-3-W6@!7`K;&Bp4bJW_2>N_J0b
    z*B<P|;Igk5cuZ>PXi#JbsnAtfn{2Qe>F;B8E7f`3WlNxm^7{lEidw?7@XC`!^CyV+
    z8qGI%8$9jt@617`^>zEi!Wd5_ru^-E9hQmk!@C^VpB)fqIs_?X2WtgRp@=jdj|*r5
    zj0Da@>5{v?MKW`d1nLdW<8U?WG(=Aj<6fNi8^dBjqBTNCJcR<AI2*7UeMtm+2<sb}
    zlqc!6eHWaP%gYtFxuHM^KTggDmxYq}Fklwc?U@lXtG#yF!3FZXKCDsZq1*<)@T!Au
    z_<$$H_`!nNaGD{CSgpbh1m^~@V$x*HN$)qe$<oYOFcE6WXB1!7;W-gxqC`7`>)%pg
    z2~#=OP&XnRp}GCaXGlB<yznbgeZ9p3qk`Uk!S-Z_^rqE{@1A=@3oVXyh2{Z2PO?Y>
    zKH&bM8uwP^vAe>%nEP;nIyGJ4qDu<qK+t^<4>n^mw7Grp7v0rqC<Hy>p%7Gn8(_M&
    z63kW{&4Vl;=~W$kx;^S3Y8-B9FsUqO$r_`buPfuJkiTuoXiQsjY!f=`D?z+gvzBi3
    zBAM!>-Ub#g!Ora}j;Q<K^GUi>I~hilq)FDM0DLUaK)aR`ROHpsslWz%+7*V3l#yu1
    zN3;zpXvxyhMl`9xsLvrhZMFyuUjb;qBU4&Y-fwc`IwOS70^Ih{(DC+y4%8VR2;GTn
    z5mVoAkO@fs7C2yKC67_#p=k&Lozx@Px+MSB2A3>6Q$iC!4aj&aZ6aaE0W$uB+NuH@
    zZ3gi~z5yHl>^F${iW_u)jd_fu$v=&jOxl`oh|V;HM23%c$Vy7zM^L7;y0d!f9$jHZ
    z;Rmq^N-#&A=Orhp@;&n2K%TRj*(>cqclA2Om4xiU*OE(Dl3T{di<^(VKIykZ$_JNh
    z7;{mPJ9U|*r0eWMOTwl<O-s^<dmNJT{n@RP?%K9P`sw)*4ywpkGAs?ge*3Zxfe3!Q
    z<jfv?;CjBoH?FCiM1hyC&mXP{X9XpADK7)6um@4{*>dgHO1T@5*2u1lLHa>nO#CBw
    zk(rD|2T!f9Q7XI6%<J&y#W(Nng;Ey%c#$sy;;<W09$O~**4{9XYUoEHj_CPVrJroC
    z!%UxOKgNz6T*^qZ?wd{W8u>(aq3i3Brh_^W->+5l^mn9%DdmjCK|P|Rt+1IR#MP2N
    z?)lYWj^(w5;=X~4d$AbC&ebiiq)Hi&pz41AfC1oHU@xj`>UK@(`+{oJ$FpJtBfdAj
    z)bBt_A++bGW^axTaKs|3G{)&CmnX6XqVHp-_@<|;X4NTeR?7ADgAP>8XPB41jvDF>
    zo?X5Q7f#fx-o?Ci&H?719_+%}F1x#D3q!)Y4l0sC$9%(k623~CIc?}fTdeTwx4rKw
    z&@mWL_b8q(vHEXD%eTJfz%bedOmlmQwG%p`UTw`l)8x0;DbE#d0_(2d-?ar#UPk9I
    zo=Doz$)>B%E@>WOdec3}7h;oY+oxvdDfuy~wa#1Rov?iticj!!O=b*4Dc;6#*o#LV
    zKF*qr;6(voen*u2RUGWLd{K*mz<vc52(DGu4yctXa>5c)T6ZmOPG&rj$QG({)O_rU
    z^igr7OZd?etZ}uMre-I6B}=mg(B+JSk>?rY&^@vBc~8(aLi8UD9YUlZL1zq;38;?g
    zE;t@#9AKu!J5-~@>XIPC*m2sUuvUre)=lh20xun`g8ZEzOT~TB-wZ|UL$2r;fE|&U
    zjt}x2nfb`(S!`pMokVsq3k``A)jLg2vIA#IqopGJ$N<wWJ9~6QsjFt$&DyN=?E)^R
    z0zLu2^uyRlRV3|#!x2}Hv6{@^2})|B3=8V*bO!Vs1`mY9^Xns~kSM}dCPe<ovZy>P
    zoBS0;d_G;PEwrWahkIs>QqF-&hx+%NQ$*5;e!K+3FP1>Z1R?H{rh@*`HPab;KCD$5
    z!Ia2+23-Opgcvhcz$ocbCJT&+*SD<ge#FXXv!{rY_Pi<yHgpuJ-SgXwr&5qo;hV61
    zH={(wUW{r5L=6%+rOiTr>73YV_vkr+(x@6ERJNUD)e964Sw$DlWq=cU*UK6aL3%vN
    z0yb-X&FlRcjWNpTYT}F)S?Dhm6&V0nd|yY~B{kb5I+Z~{IlTrV++JahEwMI6#C+T9
    zqPm?`$zlhv3KI_|{EML(44SB08=P%e<crs7GqoQfUdjmQxyjVc&&1wXSHliPLu&ql
    zJ$n&jkaP8idyjEFlbFB0rcEnUBPP((4YiclI)DT1?PMwxf*j{K6={sJWCF4;ma)&{
    z*1w_<tSB)Xobw>s26}HreEJUTWCK6VW$~_(TCr#|5cuNKpih|v48fhm9MNTeWI-&d
    zRmt_-h*_+tI`9P@z|TJcJVP8EX*(n1-$;>-L(5r$Flf2~x{GFWXuVS!P9UCXrfym$
    zCr$LVv03xW=7b87>aW5M_X4}YtX$tEh!5|f`6Bce#xf8R0F<NW!~}XT#FwQ;1SVL5
    z`!-B=(ZB%f+9`C!v1|8tEykb}y#~o{dsNfQSj2){d*H+854SF$WAN?VOzh+I%-JZG
    zD}UoJ#h0gAnT$jtT{aR)m|p4lY9N*tZJUR+;QG4FzcZy6(E}qLR-R=-fwA>?p=zfX
    z$K?kZ_2Z*~P0lt-`xfEUL+I`h%3HsC&J4^*Gc~(L>9JB=1Ue&hwPJ9JfU5e^m-<=A
    zp$Xrs6}~Yrp)LE+8SmQe<TVb7=n#I3=2zm_%8O;u--@n!PTFZAcLr+%NF13ld3RCr
    zMnOOu(a40WT|$2WXiwP~lMMqQ&8^>!E^BKG!zW*sRgTR%=RAOutr}K{C>zb8@Hxy_
    znp~TjeGMXw$__MjKA+_a3kfb0M#L{x^epCiB{wa{aMS*Ez7r$mhz#}DQJ6T@wB7>C
    zFx$wV)u$}PQk;uO#nkLK;OJYHVTvu-zMmN?y5{&ooB`{vRxC2Px$4tqJxsL!2m6jS
    zVp56+Ova(G*yA?tu)3&Nmf=CpcdSF5D0v_-xoQ4s8D2(ctKL$YxSGYhhZCdIzH~<I
    zjlIEaFh@O!ayDJ^6HMJ=lzQ8qJ;(_bMGe~H=R0AWg3?)-1z%z&{K;=38lSS9@3jt*
    zf~DCijsN{bb$T@5@EU7T+}gm3;4j<mKV<ZDW%M&=be(=Pw+V-Qf{>oaDBUR?ne|lD
    zyILFEllc#A!w5jl-{_nGQ7<q72Tqp4_3W2=AEX#+{(9#GsCvG&<2*!Hqp<lKRvBP)
    zXBuA2Bu1{Uv5VdjE#`!0$?%|h*(~C8wqg-@t!<tb%N+d?FJb~_Vg^E`LYb2vn=w!$
    zwe|QHq$cVW1UR!#u8fKLMrkShubHV=Al$6Y%DKL5jfFZBJUPZUJr$7l!<3TiaQMe<
    z1d;uW9hhQe?qv*uo2fb$sK#j(zOmb5o2pq*;8rq+@dH|NHbkjfm2Y_iSRRo(liAo^
    zU(PU>fkN306k?WxH8pmmVpv2nz=<%t(&4;>*ZtxtD;D}gem8Q*r^jwoWUu<PotZXE
    zAW_OwM~8e*oFpN6{Ae%jIgGRNiP&moNX2V9Srak*b~kCD15ay|osy2@7>HW{Fk7Yb
    zFm`2*uCLh`y)oKFg;6qYr;4<^710r|aD9zJnZf^d?dIf7MUCxiu5>7u%`QuwkIvX1
    z?Zw(ZU@bzB^0y1vec4u-OHp}f9NIm$x-(i&x<l9v{!)#Ld@(KWI4hFy=076h_Z_dr
    z+X&fMOKVb?B8chlxwym~=cpP><h-Wdsy~X9IE_I@#xJN60GH|i!K3KitiOn;Wz{Kf
    zo|XH28p9L+cXb>S;yA0Wbj&WBS7vO1q^A@=zatqcfv+OAC4b1&t=A+eoYArI$FjFf
    zJHMmkG@kH#Q@2|X@T=ziIQG8jx!5~gFCxpo#%l+rAJj6JGV_o%>6#O$Jc<eYTSC|b
    zf6H0H`j)YC!lMWYSX79jo)AGk;$k`Rtco#PHRrJPUBf!(gfvlI{o!s8BqSkoPl~;T
    zP31`M#;)10$vMwL=!-1>zLVWr!MN24;&v=s-U$cqOM2m#gy;MQmQE`B<}pby@stXC
    zBa+I2^6(8J*A9Tpp>$2Ds-+&QMcW`qU%i~2r-#-{lyIm$RuHidBwTp$<NW!@j;Eq7
    zeA`$QC7BwYaO#ZPBaFxizpJ9KMC;7XQjgY~&LHh!80+>Kr!w84l}L<PUo!_VEPCvR
    z7)I1PUcjr`mh(T@h5r6oi6wH~nI?^TUrMi7WOj2NE=~!7g=RzlOmrD`8(NHhM=J1q
    zWa<{C<iPsR;JFrq{kWYV0vr1B)*ur8s#sV>Y#Pff0EbTqt0&&`RXAg>wz%RJ)pU)S
    zJthB1fnA`wUi?y@iU7h_Ldy^#gJ9d_HDT;3C*xEUGs#29i>?00W$5(qSY$$e{Ex#g
    z`ZN(62BOj)MXWOIO{v){qi+~7;xWQgL7Z#I7<8s;*3%K?=hvkC$+TzWMqxjY0p$jb
    z^c~x+fMW`*Hr>;(_m-Yz!|i?CZ|r9!ydXdX7cjvw$YF)S`)V1-pfi&2S_d%k6qbd7
    zsFTbE6f0uyV{A|zt)F*CvHrVA>m|BKt-#5IjjE(eu&`ZNz#hARY6jC!FScSKvOjLd
    zYd5G)lcR$15Pz+&>F8hS#j3BSms!n0{qxKk$E%*}hy#m)3`@rOK(l9zMk9!3tU+tr
    z$8T8``nGNMz$3u`P->%?Mx9YZ^>1|GCVA9C_Vx#E+0H<X>Yd((VVsW5WTGE}@tq-6
    z_z+JSZeD1;#60W}&I1=R&X!^IjJ-Wc4;){JFi%REx>=dXv5q41r-~CA3dZi0-i=m0
    zbT&lfD$RpzNY)mQ?8NP8fJ!`on<@yYr<6NwI%?pb)ze|UA-`eO3Un#^9Mm*TZ&+j9
    z|CR-N5an#R6Ec|zi3+V2#^Y+m^Y5fYCL|F@x8f8@-DhLgRa|p<W{ec*OO2KzUfe$s
    zmZex@h<3dQMMJ~<IF2}J`$JK(G5VO2{GZs<wSQex&boXN=L4STMTpdGQu(Y;${cg(
    z5A1)piQ&Qx&x}Av`5UjeMMEKw;*YNzH<#ry1SDG?`vbHsU>K=K$cG7;GsY^&7eSwI
    z!*8Pj`Npx;Crt`COx)4lB18qb)NwBA(ucR6Hbzf8@aY=rN64h3^<cX`J|Vb?Q76$+
    zAmrHKp$XwEcp_?2nBs$=GfMU&eF)T10@xTG+2D`MbGrNguHxw~q*5?kUmZ3R5fLkl
    zF&y5iwP=)KnC_{jFgC`-d~!)%lYE9PpN=l9L=lG?d`6byNVyF4AXb;B#4xs{1x9#}
    zb}cHbZ@V$&3xC1LDnOkRhHU9sfa<bqO7cS(KSbhf(H1rxy*<7F9cd#+QCh=Jb#=Wa
    z+Kk+Z27`5U5|){o56f_+Z_!OJhp^sP*B_q3=$-Zr_rXl$*_6Vh5zj><06KZ1J}(>b
    zg38o4Pp;#RC-y_?RyS-YsgzGZO$1Rhw-OaM{M)hB_6`s2p#rYJ*PUAKv*idGz_3I$
    zELI3p!)lw2m^cg;Ee_C&nu21_O>^(J1(-+6m1mb8e87UkE>TG}(qH09R0+>6GrokC
    z0k^r5128cZUyGQ!MFk?1*{8poUfSWV<@H6mtmjc~(yGYnp1-5&qu_T2Y~)j>9ECXg
    z#+rm?s&Nyl#b$kLJ%L%L4b{Sq>0EqFka<S99+J6%5Us*G)?mW1h9TB*IEjqz6*scF
    zpMd4)(;AtuXo&){f=t}{n(agXe9d}=2?P@idcS>X?lr)r0zn*Iv>suK?~n1w1{%Ju
    z+;AUTM{_T{43NSk<4#mhGa2q=yfU!VBS`<uV7DVH@G8fJh`)r*6}OwizQr!gQ+fO~
    zdV$~BIdLyUokqmRU{fGQ7?B8rU9%8#__aqcGZJBE^v`j8xo=cq5A37=flmnDnaoOb
    zbPRS=OhEnBczsOxAC6`BpfYR}?_oiVQ5}4XtxtrtKCIxMU^~zU|3H!1#QUu>W}N@x
    z83214i#K1FG*kl8!6-1wMce8!J|VqjJZs}TtNmR!k#^fnuDE3bZ1*yNU-SjM^hPmr
    zLe)v{M)@EE&_6IzZwOYajlz~7NQ08Qn8zm2S#W57$`>q(I4wj<JF{y;$<Bt14zZ#F
    z=U-~nARxtQrjUsd!^G%HhelZnJKwRle`70>9@x8RMpE<6BOJW@qH+dz<UGF-q<?QR
    ztNR|Ov?V}8_u#6<ME@ZZw&-bx*l-dIxgB$KU3R6zcS*I^IZZ6A$iVeym!=4BwiO!n
    zqX~(_YQX$cG8;2^(Wx1jmdH5Zh%0N(YS_-HnII44GhVY$>fc7ZL*{4{u4=?#kMduX
    z*z`OH=ZIpb{GIW2aR?d7O=i(zOYn8x%_B53jwh!C=gEv*){Un#1P8yj!v529A(0V7
    z1na{&BZ~9gHFFWuF2io=O8=2ncimW5zZILFj=;*#WF+BxhSwnl@!d?_9xEm9z;-7~
    zPaeVtu%2VWzThy5vJ*|xnGF%LbofQfE8`a|j|^t<-!}@~_NbCNulWV*oSZoAJj>?o
    z^jx%%qI=Q$Oju3ONk|goZp>vk>|UOMv!a=_exSV6_Z7zEJnA^DCn;Vto;KvVj(Kb-
    zm?s&Yxb%k1{lCU-+CD>Jm+GO<n+9~+Q|6M6`i2K=t)~8B<Qm&juvu#Ir2`X)p<7NW
    zNDC9qECMD;T1k5K@TJf>ED>$v=i?*dOAO;kBI{qt85Qd(M06T3J2JYTb*f%Jy2H%w
    zY_dKNRTZ>D>cu6YA*t+YYKiA=yfh?;=j?k3HtS#68x|KTZfjubWPhjRJ$BdUFkFa!
    zmuK#1*n+XT5(?X<NfvS#M_iH-8X^|P2t)-Bkf`*dD`2RIkR!sOykpy(-DWa0&zVPu
    z=nFui{vsmf$}_BMs{T&LKeFhFG4vZ^p4~Rz<XrtYq|eH*eLw?WKWnT3BB`?hxL>n5
    z@j9AB{E3R&qLOpNLL6M>5FM42Tjt~As*3v%Tygn!Och;myKZaCh*UmXg<(+!KT`oW
    zp0P-ZHh5-dj}<iC-C~X15FCnm*p)l}%I-Yf--gu`dfa62P;%9V#YY}6BheY{Z;+L^
    zJFo1XsPJyKLiwEE8KS&LK3O+sFjSnAC-!8|gJbf9&~UCCmh7pI&#q+*8COrf9SzP&
    zskp5onfV)=#E5cr)^10cw>LOvDsD?jc6WvFa_n%={hfQ#uN^@*;^9YgJKjjcU#{|%
    z-A<BTJFnoY;<U1Y#vBGL#8ER`VsefkCBCSO5<E1*eK{dvwpK3q&Mv6*t*MSv8}f#+
    z>I*x(LVeq7lrSq1uQP2Qi*Mp%g5>G*P_540er5Nwl{ktJoOlbvL>sIJP-8=qEVB2C
    z*wa0;6@qUq#r?*<p9gq-iH`}gZ+-b2v`VCwnIP=n3h8_B9yf8~+ia~=PO@pUQE*=l
    zQOyJ@8A&l=*xfZnvSk_rO`<W=DGqwlYcE{v=v=BD84_g1#0Lt&XpRIkV2L8Y2u0S`
    zdjJsGao=w<z#02-an<Y4W>$}P+TS3DeD25SaUJd}UZJc|u8x-;@CXC*Dp%`uq{qyV
    z5Jej%iqPd~Ftk>HUrEbhycHdE;&hL;!pZYEpAh1;Ew)yB%otn?Ur^bvvan;fAw1ue
    z!kC^*!uvK`4>EkX_87BEZ@|<fxZe>Tv0j=xuY#*E|BnFbpzc$jtZYN32j|9;Jd{NH
    z6&7~P0c7IAD9JwK^lParv7`ijCpGcbRHUM=*$X?Cp|Kw_$(eIdGdF#;`ecSxN!MXn
    zOr;7?Fq|VabZAY8c8)ni5<eD~68t)(`bBp_LLzaENzkhj-{0M0!*C_c590_1&qKWO
    z^^+b1N3UVJD|ScPTA4j&74l&fU=K~t7sLYD&6zAL`7N>SW9@RrK;)L5b_8@@ERF?{
    zA#09e`_dt`;Gjp?34RI8*aJkQ6nLI-@p7gpr=sA2n%(KwvK|Pj+TZ8^m7p^FyzIbH
    zT#?WZ_r8dT#d|9Ns0Be8en7xihaeUi@;$^CP5|}G3t?{7bMOga9>>gWCxq3N#mUMz
    zkkI3T%6%5zVk@Qi>=S#E`cVUAb@Fu2428S9N>9DPLU5N?fx_oZV|eir29YW#tBvPn
    z!{8aX&G@oWtFppsb(W+x@J=sUK~PSn$REsDe=u?ef5=U*oQ8)dh(8&jwyb}ZWLT`A
    zp#S@9%u2ChrS58PJ9Tv?$q;v#$Mf>7ovS~G^!XXKv-{zSJ~Nq>G%UfGu;Cw7aob9=
    z`;san_BK$#>CIfsln`9M7m$q1<9`UpmX*5YPw)blk{nne+|Ttlf23pZ3AqPdWP00C
    zQqp*0Fk{m2BJhe9UpCz7y)RNsMvm>j*15Vd#QHB*>E5gl5%feruPW-gW<639k9}It
    zs2%z7FWB?pcHO79qLJu0F!pqI-ZlOKLpDt1CWL5bZHET<@m28yqVN={MZk2)1E-l9
    zO|c3q>AE@_%>4gaVu@y50FDZ%EciSNcjk^Ak!TI`PM91x`wWHmlHDK9mEx(9hU}<d
    zF6RA{PSqC?D-C7p0+={avT{T{*%OV>tX-iHkdahl&8oa~q+OD6v_jURJr=l9rlO`W
    zQG+1t&2fD11K-(aIB3ISe*C17_6JFG(KN2?)>M3#93#&-o#hNLG`$N_Vn|41%WyB`
    z!dmqH7ie%+bD{-;lkyxq??5L0aYs2Qyt4)FRKY5X0FLCb<{P($x^tFAbUriI9dvOx
    z@VTXfF1?!Xb27L9`SL~Py%6QAwO%{qB$G$DK+$o=W&uIu-JIHdC!i+6E4(AW<YJir
    ziO4Pm`MP9qi)p<D$O5DxHWGOVP?OoHn+cZyLjjU7FTREA1Dy!7_{IzQe#(snZ5mDM
    z4#{2Xw5ULa=P(}yh>wS8zbtB>Vc_im+*O(1Yikt;3lQ4uM8XA`IBuz3T4T()g1>4e
    zf3hC8AJME}-YJ>__^P{qG$;V)8FF;+Q}F3s1QBfHTwOHz!yPdn8C{od4R?iY`+Ak%
    zBa44w9@{rJ#QyZE0HYwDg3Q=*_q5F-f@p|2-9xH9pZW5|0l&GCD?|6qxulPvz#qbo
    zNYP`2F=nRS?Z)C?V3SWzX<^6PO=nXA4t$~G=E@}Gg&6nhSH1qH6M9j07<g2anT2jx
    z$ov4LZ-N|sH_sy(BGhIWue)k(X<d!+;pz9<CV!sv3AOt&kCGdi3lZ{dG7cRlB?zt^
    z6f~yj6{^D_yxNs|3fnY3p}FV(g2Bf*=RFSDupLJac#Tc5>h+P8B80gmc<SVjt@ROs
    z(gN9>X7i^CRj&uTHIWtknKwH)rzUq;Ylq<AK^qR9ZgbxG2A*DBS8kLDuWR&NPj>3R
    zIrWqEbOq=lVCpokLbJrYx~+#IdvF0mKXkhrwr~%`uHOlA&@`=4qoO-3_VZYGh4W#f
    z%U9|_M=F_l!$EP~d08<(W(`A*b_d+J!C;M0i+HM4c9&g!GZVi@%P(VqH3nSjWYK8W
    zo5Sl+G|CnyxT}#eE;lMDM5LXPo74>h5Cu#y9ILU=%}@K=ngHxWWYeO$2MM|9I{{N%
    z4S3AFvqP#awKP3PLCz%%&6rX6Q43b#p{<>sK}l`SyWfIPQKx(Ms_`;Cvc#XXOcuo3
    zplZ`R0Y`7~4bIh_ow82MtLpSaAE_d{I|&O3S{uBz{k&^)M@rVb(K(VY&NQBC26Ll@
    zyE*eNw)o#{O+F<<^?t-DST2b>I9KOcm#VaFFD^JimDWZBG|9z`0+vFSG%T*2$)p&g
    z&Wm}M=U2Uc33rT-sx9o;D&?qlKO*Sb_T}z*lyRtk+8k7TmoP6kj6H9t3(r(;cY;gs
    zEGbVuH(g^6ham4Dos!3-W0n@fw5;P%unK3^G2%;eMV_Jn0zXQ!#<2KG7+B}%mD<0X
    z^2g}vZ&9q>Gey!0)Y*&bK4L60(0&b6gX}$aqPGLXfr{#XY1ecL7995pqG-Llk@uUG
    zyhJxjCHHv9=1_ls31k{Y=F=lfl$m4(5HihhbbkRIqEGiIDQGCXle%`;=|j>)pJzu<
    zsThu2k*$;WLmb_mn|G8|q~n)VL*3e~fW4)U_8rxLhlT6;uLGwE&?MgCC+jIW$Rcu*
    z2dZ%)K`7n^&F40cCd7?(9(zugl)pZq-dsv>2UZ9Rwm~lr^A>vRbYTW>Hw*PmQ=bl7
    zxnp$scD8=s3m^Mraf5-hm3a=cl}W(~XW$Z4A@iV2jB0ashk#f#gE#7)r(Ken`gNq%
    zeg>ucnF_F-(R9?elv>sOZa_Vx0@Pn}^=@q0j6(Vs1~OkLcBYC=<<AL1M1eQz@C-h(
    zz!D}JcKv~B#V3mIVwS)~5MXk`<o0+#-O}$+9)*USB1Od?bxC@mMW7qB3x+Ye_-9V+
    zDg_^E$DOFCzLeUbHxC?vt<@pfIQK=P4`-=%N0_OBy{KO1HOMYD>rqj;5h0&#t<=JP
    zAzE`PZXcV)^V+$Q`zt$fqz8dM1L0C!=m|rb<Q?_<5l426CcfC@mOWf)IQZ%+c_Q76
    zcHDgr`eZP#<z}pyRsBNNzFrHJcz`okOO0^}n-!SpM24ufOeH7l$F;b)ppulT!!O)Z
    zvMBAqj~uh8`Oq^pse_}4FW^}*pFY<_`P{#-_gNj_$Zj*LHS(9>pvfC0G%!EX`)wR4
    zN-TW_`ugL3#QeNNCV8P~^%ZtyB8n6B(b(_vGb?VlK&hpJ4aZ%ZY?k4;;~>~A?sU)j
    zfp1TruB6nLhXcLfD5K#Cp=^yr9+CyiVQi;EO<zxmx+=VbSlm9m0?27I{ALO*Eu6#I
    zF(Bty$S=!!Kie1%?)0Fi*cun-wm{Y)1p8Uu!i2=FI}?|er{R$6FGi5s$i0&rd#+FD
    z8=vrLu<IothTu0dU1C#Vtx}wLN)4`oID)U+u6y6Fto{dFYbJ~}-gj`@4q6P#^?k4;
    znF$l8KQqZsZ8EFe8SaYjV5#^7b(sZj2+L3#S%GQrGasMb@xW7{_YX`I-UKsbi#n<;
    z1RQH&&K!7(0@jIZ56Ko<%L*Vjywig~<_Rd~w=k1eW9y-_rHdqA99fJPh`$n~Kbp|4
    z(t@v}Jlauta1<3jYnbf`&9$97U&;CoZ;ya$;4kKWIZf9(ecI8gc@%8TduyB%gE<A!
    z5_X`yK1HC>JB}@>XQ?A|3s#8pah^D<vS^le5V*%~Sa=peHo7qAn&WYt)@@C4uz!E|
    z?mVRTK7EWD|FJA;_P@Uv=CfDI7p<lw;I;?oHaL6W>F)>S`XFs5xghm5GJ02GVeouP
    zPP0TiM9@tqM-$w@E4w2Vx4kzX{d_)DzOYctK${SE*5G0>_z>&#U9PvLwpni(OVIw1
    zT)KkG!$N{we%b#K>Ea~9;Q_`q*KFu?ekFT!c-Kz22Ai_a?a~|}mAOM4Y+UcI@bVYk
    z^0a9jFo*Ut*a?{fBz?@blVHrO>P$~7Y23}XDLY?79d?1Z+nV+MnFGOLI_GZ<?mj3B
    zw(bTBCTtrh;jq2*g`MGd-WkI<$;^V@H<t{C9ah}qpUaQ%_3S!$?2KODo9~}_jiMSm
    z9h=-AwY|87){|r5?FZyTUd?)=xnyC>-MhD!0$a8eEnwCpWX7Ud7c)D~`IoFnwrRe*
    zf6nt|6G6L&<Vq(FK9&2G3LMBS3hDFjx<+a(YF^m7ueZK%36v~Rr+ueMI&G2&r+o}z
    zjk|ySZIm`kR$+b0G0P@FXL`=?=xd*PT9fSr<u3k8qi@O%^!0eXofur{v#%pp%x8}I
    zM1q9XncPXwnyA+ziZ73-uJN`Dl70z^k}_dpjVR-K`B!VMKQ!`ddD<Z|SR-{k%!BKH
    zWp|FEeCez&lCuO}*82LMQS}#Uk1ReptMaWxF}ymsF-h~unU#c5dzG!#d@+b#q%(sM
    z=_|X}02a<7aMONvaiTdZWUgIbdTgAi-ZJOv!;||$CV%m7ZPe)NexWD2^|QqV$GL~T
    zE5p(PTEjx%QOoh>G^&oE&>`p(j6<D-@>=uw_XTKY1wL9}8q%1_DFx@P))LK6uDD$~
    zOVI7cYs?57EZgt9({lK_ZT*AAV_+lEe-%_W?`Jwq)EmRyRM!@+VvqJkNaj7=vy7J-
    zwfm|SWd6|==NA=$?0U@0#3E1jv$kqiPKvzoreRC>M};YV=Om(F3m_P!r+sprEgs}w
    zi)Pio%`ygoj2M{XFhOn23-eBU{GcgQw#C!Rj32Q6Rj~BeJ7U4+b2~Ftzel8JE6A!z
    zaYjM?37db(nGk|s5C_M%CAl~>-97yc)Ig9=upZ;}uydYmNq_9%kvp};Ixeit>ZE9X
    z*7ZB3IZ=`49xMU5l6#jM3)e77uz|AMaIe&ru7sJi6~f~JRK%3vuhvi|%o1)tU*kz8
    zFStv=n_LCJFe={qP0i!L;Pd31pu4@NO6?3jJ-nK~<V%ZB`nBeJ-vKB2k}Z=6xv#JX
    z{LK;N5BhH$M!B0M9s_ei*V{&8Mwf<+gGV9wB6|Is;2f*C4e!?7T1^?(85W0Dt%ShH
    zk;VZ>*#uW){yVg0m1Oe%+LPvOcU>GUze?8J7U7rOty;h4o-YVZ$78c|b#S>%&ksfW
    zEW`mQW6$Pq^4va;Sd$$Z5(CCkgs4G^Gy3`s>x(byp2sP*JFx=4T<#yfOOy`V+a2-B
    z)=JC~nZA`F4#yh}3CB^?k@S+4Y@7VPwZ2j!1f8#esHu%s*e{+F_Du-him2y9rstms
    zihj>rQIJvIVR>HW+Na7RI-4L6764!gs%7?zh)$oQK`X}iPko0Hh&b~dj}#RgXj1&7
    zTJMDI4II)2^nL`@z^96;N5Q+64}E;L<|A_Eiv%f5IhnHOo@~pcR=7_1LXt8ud;%L}
    z^-qw0l)&x>{hU$M7OW`lE-m;VQKv@sH7IA)P&Hh?0`R~5lfeXe{?kxYf^fBQQVWm9
    zAz8d+r*8R+phU<PLD0C=0fIq$qCZ-V9ma1w)2%o>EcK|XeV}7{IVEgw+I1L~XobB4
    z%1^N#<flnSgxOex=h9WPo@dTJ7;)q^kP#~sU~ZlI#>GbnScMZoIM>m;FjG2@cVcPj
    zfd<$qx(>i1IP-vK{hiQ|DcxwZtsn0+z{~R}T~lX3XLFG6q#)r+3~!5^^(#hsxixD^
    z8%RO68lp4)Q`@k;@RzWJfuEZh!?HzEHw!H#`u}K7REH=<-N*T#vf2|Q)%r(NMCuDP
    zHYN|iy9Fr31mPVkn#8$|zEu}E<%2b67Bp~oz$_2XMDt$S#msvZp0{9oLWuQ=Ri)?u
    zTwGa#L=+T)Kx2*3Ywwgj-j*Rf84>f`vscIhTp9+p0Uf0Zj>(yWr@SA3&4*fsODC$3
    zhlfSgGyMuQCeFO_e-Gy^nq&-98#v{o^>nnWML$D~jyvqJdzuDwpn7pZP0zq|+;vs6
    zD!La|LMh)N4Z;)r9UzPmBc315x=Xw8Y`KyN@Cg|x=U%=;boO!JK)Z&PRK2d<59j_9
    zF?_z9#_&<}9k96UxC0he1mR(PTZF8*tKAd&$09iG!XFQ#>anuP?XY{HT7mdw1c16?
    zW?<mt;S6*(4y%Q8Fd=W1@pzv!b#xDr?1hWU%@>Px^OZpXbUD`bb6sXz3BB=2)8l-A
    zkobZ;TnS@4!!n=*TySaf36c5ODB=g#B2z4lgqfLFt~0b<S)7X>!t<TkoHzmE4rT92
    zB1|OZ)&1)8<j7*gu>bM&F@(Z9*fN$H3lh^dc=zM1luSIFojnG&gIZe6456mgz-bb}
    z`{a^-?bJay6`cGNVbI@C;tBkDJ|)3pxvW_jnl)z{5c<;%`R~zWZ175sZ>PgW^U%%H
    zI2Vz-A`i%jqW9vXiOAM}>W;xK>qG;TK{XjD=6PX3{X8v~%Q`g3pbSoMM1gDH!OmV0
    zm0(Rcr)_xiH^Sfg!y@zHPx~rAse9kx!z??{`jKdS2fWvK{)X=VxuZSfeAqBvv;hu$
    zA03<yf9iQY<9(jM-p2%KI3x2Dml1rGA=rJ1JqL3ToW_&msfzA|R)3KkzjG0tL9ov~
    z6NSw1<oV+Wy;t91V~>Np?FN36mO6uPr+lC51()pae+5}~pM^u>6?i8t2Fr%E<6tX-
    zs=DbE4OiQjhx*<zL;8B=W0PbBDO~0vnrHkU5ZUc_6%Lla<;{R*{|Txsu75*A{*~)c
    zO`CuKf+^`apzOm)7FgF&R$t&wgqR5Q=BF}7vBZcN{L^B*Pwj)nl}8aUXjx!fPd9+e
    zOn~}|io<~9KgBL17^Bsk+c*atfd*2-KLjA}aUtw4`Ifs|rgP!Svn(fX_>=z&Fo8{*
    zMzek8+J2Kzokq!n2lFTRwA8$}%P;yHiJT6))`KSdjj*f7?l-S>eRQs>(+zx*d7V}d
    z-A&Z}gd{HlRPuEg$v46d(IdN<NONFKzH~Rc?0B-xS?B9k;6?~O8|o6g%<pBeh(~cR
    z_#|Eu+%Q6Umi**?cdfBh`$M0s)BQ+d!e1Xv_`b4&1nfghfSYSna;DQ3XvoJa0jjM3
    z<&njvX+_I6A!>VA=~8|-9Y!}_LbIZu!JQKk;LBeLgQDcON9tp1lGtC^4+W>;V(Y;J
    zO?U6!90#pQOxYoYV_E#4HJ@rdPzm1*O^nL+pAU;iy4;MY*JL`GqK4;qaZR4MYi%s`
    zAs+Udw#-ExJfLo%<lbl&D(Yna2Iol%;J;8Oz*m4QYT!ly)VTz?0Dt3z;OW2||6Nni
    zkvMb+=3x7$cv)_f-IIw7M)<;38I?4U(2xu#0>uCWf50Nqi3R55YgEov%Z!NiL4Gcf
    zgSm02&R*5hX#gp@_d?=lKRFaQ3Sl>9s$?PlrUz9pr45LQvs#GyZ$OpZ7PJbA#L=H$
    zCUY8qz>#4F-(UJogc#fEk(+)J-C(3w^vLz0;cFY8gV)m}e7hhPf3AcGY8o6xh`c`X
    zG7{Yzq>jPZBFSj%@0fIHmrrKIKEGWRb@gcQR<)Li1m_MmgCU$3;Mh+4!DhhmkOM(o
    zE^y6XY8$Fc2ywLSqzJd%8zG>f+hb%+5?UAuU^Bb4?iVsr4~f$02HT*f=tDRJbq<m-
    zsnqj$-`y!<pa|0Dk&ZMnUoY&woFBX?2_(IHq}t+PAG!v0!1<pZH&oZ<3MV}L=@@zm
    zw!}R_YVqQo_#Qny3F0$%J#4r@A>wu)DEIbs2B9gMz<mmI>wplrrz>vTbVybr0NI0U
    z4J^WWr6G61L&VI0@NA5Cd9OZXL3)APO5KP+RHC#$dAcdhaYs8G65?lIrc=6em}MJ5
    zdVE4zo{w*UP-pITESI&*C_1<rk)qOq8lU@D$P_WK%Z%nk74$(G>IyEOd7&1eC`3Lz
    zj%-C`0#?XF!=1hQaK>aP*~C*Ti%*%rd48y-&HachNu&p^5eRHv;btf^AUg@9yxn1e
    z>Mg<&*MtJ)yDLsx&8p0thYA9s1i9V#0gj}Uq}PW8xIo^8o7nxJ1!Ys@*8Gib3g-io
    z7Q)8e0_3~IMYNMuFdWfp{RHev-tB3J5KNwiTZK4~<^QEQt8%Uup4~;59Z^sn8S*$p
    zTMN8^+6{N&ufas)A(;Rx`*zp}I6;<HYr}9v{O?W^34RiaE_Zr2!v!OcXMaJ%#RvBx
    zVNg!6t*WPx4)xn{usrC<yN4j;_D+{nnYaYbM{WS48x@TqeUU*R{NM>qy9~%FPk2B<
    z#4iS4?MsKX%IO1L$Y>mSv`(Nx|3Eje+G})x%fvb(L#dA_7EH%?1Yl0|l-l=q7cck&
    z$&Z|C*dV~qZ)(}T^sRlWo03<o<Z6$umK<lyZ8s%z6gj^g3{Y6BHhTW}ik<VQabu=0
    z9rKH1U_fkbwvtOQIreT_%iYRPq46obr$owzytIh<4B)oQN89!*FF;cEDT0*#Hw)t~
    z7I<pFnBQ=kh`)2SBO<z1X`dtb6t(8=nwuux>rVH-wLF0O5bseWOKL7y@HI0ARQ3cv
    z@<IRUmLh9qvKl>$ArOr;(HJ0&cYl<=gp^IK0f<o^pB#68JdU32dxCFg(}uVz3w-G&
    z-`1KUn|eiF|0|da$PWPcD340xrpO>U@I~%KF<sEFc_j}0e5;|NhmVH~V@xd@v{7|P
    z1R@s*j4M)Vfv*vO&vJt{sy=uE4O1+$>Q+X7&r*YHdva<nzfJYPAB3SUA$g=;lr~2O
    zt^S2D9vxi@{y>-*F53W|#iY?-X0LsvK{o_h(l7dVTu?^Jg0II5Q9yvrGeEpxn?y{a
    z%4S_v1o@4rzoExS&HpTg;)D*b>&cAJuYPOu7*X?U{9$pTnI2g#KQIV!ovfbL19OTW
    z8wsGKPW3;B*UT*&`Vd0k?p8Uxv*ADWm`Qm|+8KZZdH3r2zxIK~jMAO+c0@b0g8)y8
    zgXG&*dB3eGLp}HdphWuGesk~kJ?g;l!xkROrM1~FBGk}lQsxUXC;Fba*we5SQ45ws
    z{N}%wRn}=s`LY@cO0ET{>Nd0}Zp^ClicaVd4S*BNiUT5VE*^MjeY(H=AKcFy`jJkZ
    zW|s20S}?^0c%dA=;kB=^Nx#P_{mhxbYFSl{^)U}QPz2n7M@ZA{^-B%{;mz@V3wj(j
    z_mr>kP4mhwf;RE}CB6>=y?t%mMSb7>NPe7AIOnc*^gC=1aDik@Ds&E58%Kw|te9v7
    zii46$5qJlD&3Rd2r3~lsCy$_~>Pk|b^Te>h6w)#D%nqY?O1B|X-?LHCK~J>Nw>PBz
    zhMqePH+=0obj<gA1}K@kEz+caZRy<wU(ett6-kujNbc~K)BPnV7QV{Nm<3(6UFDzS
    zpyTM1ygjDr{DQBC@f)|K-_`84?}fR3t0joTo=Mwxpyd7GvZ?BO2(BFPr1I#&<TG$h
    z@^0s0K)L2|4DviHj7^{Y1m{HIiHimE0m}3O86Jcil6N)Rrl(<*8%&SfuJ0-@lf>M_
    zr-PBQ$m`}X6|O8;E)m2N$vW<9J4@#_bmWfitr74+w}<aT13{vD_T+Opu-YjA4*C0^
    zsJ0n<)j2Q44Q`Ga!GLs~yQ8esQKTtq2x)3vU*5ASIJ>xYt1(=Ai%SNhca4j9UORA|
    z#X;p1=lI6SIGT-zdHSMxaw2yD`KSPM?^E0D05)rZ2f>x8hcEB84rYP1-@ti^+g1ah
    z+S(lgiH&o4phGLz&D7F>gT46Zg8&hNlloan4TXqsn~kP(XM%)FH@H<D7}tyLnNXuX
    z9F}c+Ss{g=yP~$j0*rbA$e)A0-obSjLyxwLuXyc?b04`hJ?DOeS_+bb_C!u{8DMXw
    za30Za1KkBfL%^o2x_M=qzHm5}zarWK0+u80kbycV)t<a)e;S_UA@i~3dR(PD?o^-r
    z48!!i^%_vO56Wm{UQpl$LP+4M9_U6N=%M}9UBSc|1{-T+XXWDO(R!MO{q9GIDq`N+
    z$cRme9^Zk89tW`_4;Z%JUsUZC+f+P+z6;sLOj80xg~bglD2SN74yXHh$Wa^jlHh^V
    zy<EI`;M=~qtYN_T01OX5u09fDv&YqJ-T9ipTw5J|j3^_Z=GX#{GmtoWQTn`04U3>=
    zKBiucsP_fkX?%%-Wus;6`X`8d#m1WJ(Sxs^B1!uG-fjtQkO>lk77&~keFR5*kL(wB
    z<Q`o0g~jo|oLl&C32cElt2voym_r2RYW#zw(_Nocck}y2mtN>=U)I=DsG~6k;Sq3&
    z`1)cM8(p5A%7eJXkKO3zm)N9ScFqR4YqmGsj{xI{mf`@g8>UXZxf;|73gl{t1%Pn*
    z=_q5_VmHxj4<2x{ImBpWE|SE>spi=zpyG_jpsn%)MW2D`Nxc-+txUbLq!Pw}ugW4k
    zy|H0Jn;F0l3ISTJJ09fqU&gZYs)vg<K1dYk!Z~*24E(V-e(mcLxf@tW!F@!yz$Dti
    z^39Wz(Y|6hewc_>yIk!a+a&J}p+4|fjS};r7a|_5Tlj^z#0p=v(KHhx5-oPM+Wl0M
    zlom|4;Dt{#jHf0FUIuXme3Z~n(Xbd2d_doy<0^@{!1eq@x7$UU=;Le+%kj4oh@B``
    z_8q#VB$bSxYF~lx><g9yG^&GF`L<q!QRa_Bz=sb9p}_2b3AmH7tu$Nam4%{ubd3@_
    zp;-Vzz57=bVTkY*pc~l9p#46bMY<V#AB+rfc&>*y6i$7~FDv5Eha9-BVgqnFFc~7?
    zlFQI9X(=n(Y7ou;;wvRQl!#UAdRLg6;5Y=mS>G-pCw5@fh{A2dJ5*;phO6TEu0E}W
    zbaUbRgS-`5&`p0C!?Z6JY5;-k@Op?n$ka#M=tVI4Gl;TL&_W2NgR^?1URlFFgol)_
    zdq!slOd~@b-QmSqouHj+RW{?VP{P+_&^Bd0^-4+l7>aNj7&|R(@~;!`NQ0Za#@Nx6
    zL3Sbfv=GB1`97<_NL#O&sw#u>{Le!ca~{&|g<}Tl)H4)M?RgERmJT|zVQj8C`sR~h
    z0k|AE0YNaT<eR|>W#xGqe{q#O3q^n%G!~r4ML@yeB^V?$pmwb8qNAW_Py%`i%70c)
    z>XkV3@kg#X)~v%ioYIw!ISj|ZP=;UcN9b2(s#*+@+fgUJB_3qcKt76a@zZ=kYkm16
    zZbZ)+kI_M_LGh=Z{?M~T5qgQ>JsZJ}p`z0<n!^yd$-nfKbfoZ7geX9u<3**Sg*wf}
    zjudDFiB`*{aOexXtw@D_#F5Q!EEby~KWAAAXB=g$-Zj`q>XHwDR?I7WqGL&51q#}5
    zUY4LEhWLCqDcTUb9%Vp*?#3GRn8A0-Fk`Wx3`a;ik7^M$ZHWLK@JTD#4cLf3`v)k9
    z!YkFC+MyG(K;r(+m^3|S<nu(58Im}~(nAJe20xfeUW5Fo6lWq)2bNX7HqkfD%+etq
    zt#%224X`r#>?D$&gTKs9HGGM5SzQaflt0WxRZVq1BBXOrbRNsEfV4{#?IB@FMmfk=
    zxkl&vKy?s*q1PmW!6D^=980`->ucZA62ujX8KBL*hC)SMZ5Ldc@?~Zjs!hB=La2%{
    z{gZj2&z8dZSPYQ(EWp{sjA5N#fDm15tD>W65#(qM<ODwe`H;xo(@if?_AbIs{$vxX
    z+tLRo0Kc+3bz^l01JEju5Y!<=9Nh9d%#XDG6PQt(`{6OF=MB)vxi_GMa_>cqcYAc-
    zlS>+)hucYO{C%(|70P9y-J{^!>2fjoU4`rLf(~@1icI$$!nvywFnnvx1DnJrprDWe
    zh<GsoPpv?~f}cmE;t<xti|3V{$%G+~;*Hk$SX@GFhpiaS^){tzFDvBGrX6GjGy*3|
    zzt(Fv%#GTLmo7U~ob!ecUlj`zA?QEql#wQO;K}h*5hxV*I3wD(4DC6l5_<j)5Hvfo
    zhCDV-9x)coMtYE3yy$mOrzeigd%R9H6;}h<?*Oz{-*14#sGxyj6cxJR71Bi@lDIJh
    zMo<WM_r{v9h3&oNk5C8sXaG>dDOeVPGSrbW9u8e!@HJKvdh~c~1?Z5EAoL;W=v}rR
    zhh^pB@bqq=>BUoyiU`Aa!NlE+0Pi{nSRM8&oZxF44`2eOZiuNNmQx(38m<W{Jw6ns
    z4m|${M6iym;nkz6@Dw7as!&`re|Tjs48y8;HsG4zWJj8mgQ#zCImSbKf8@3Zv=_w{
    z{|B-u-Q+4?ooGD`VE4gSy8X^PT%Kg8q0z_On>!mQxKLhO!Wc0SdS;gys6*ewpYI?^
    zk;@RgS%~L9xU#0<e87i4481mNaLYku61A*frz{giYY49{h;6a#bZ|WK`?N)H>Ec;1
    zZP6t)NBE%lSzDFOu~0PQWfMayp15BZB+od2W!>;aUQc!l_}$pI`eplee>B^JxDo?+
    z1q@@RV|AtE1i9|nW&)Dsl`18?tZ+fX0~LbdlZRI_k%{mfP!71*Cb=5uI3v*9+a8h(
    zS{V>@0dg<+Ww<~^`2z5~j>+6@=p*HISjKrc&}6JZ^O1?Ym@W=#%Wx3ug=v;tMxiEn
    z?j#tdg$W;6Pjmr717fQwssZHT8{|8*7eE2m{-9LJ4A}~lG7f=M2Li<hO*o~4)oTH~
    zoP>_U2~z-!bU8D+H!P}HV#2!#`R)MTHVZd}I(ecyG_}aZxSCqtK=mQ?{}s4X4zju+
    zG#!j1cna8Z9@r8j)BQRZ=~9>ZV8>DPSUBGR#R;MZ-_hb6!RccQSjG3fe%Vz(c?_OC
    zx>ttS(|=>NJH9a1t+xg$`#MKdbZ1#IRA^x*P<d=H1a>2Q@h&R|GSVWG;0)Lr&A*Gi
    z-w&-@!6l9ZP-qp|ppWw4AQ`&Y>Ss5)<(PgdHw7QQ+8L7wyBd3UB4RQGl!bnrt0Ir#
    z&k9)W&MPZfis<T9HnWdN!}Clq{>sOiLtqf9D#z0i^@NJa^rb<*&H}iY|5uw*OX?Mm
    zL@3gL8FCxy#;0<WK%XH!Q0G3%*C(RQP5W9$RJI*|1;W92!UyO$GS+}m&grWil_vEl
    z&f3==Qz`{$z>j{8tgdGV!5Mv7H^V?I2N)f_;GFkL={px(DgW{S3V&ARa107SyB_o{
    z^_V_A<RfeF`1dbEmMcqL36X#0Jxz;yzUvVwDK4BozE@4I>fcp*4%0BXq7khl37W%#
    znQMfVIm1=HA<-HvQ&7Xq1wX`1II>T+)7BUs0Z?H*YLtdBBq<-02CF&d<A>a7Xi^Ow
    zyz$6~aAM_MyV`NmByfs0DhdaX9yROG<{H77g7hebb5n+~DEe|}J8Zwe)`G(vy#=7a
    zz+1^N?AsG~V-j^Df1S1o;M{Zh0QI>9&IK0k*x=qc+LNyAjN^Yrbp@#jR$TL`^6Myq
    zpOBCAvKaFS7gFKXEZG877N24sL+-d`hn;uN|DpRGbGw8v;r-zwj5;UM1Xd7Q<zPzi
    zQ&fbapC!IQ*}etbb}!^D|C=mw{|^=R#CCJ2ka7-x=f4AXN|1$0Q}<wJaTJ2)gse5-
    zjR($E9-Y6(75GI*jua4?Xhi@&^5e8=2v0UpNtkHJ{0?UOIJeA{sgC1EGeLuR&!-=O
    zr6s-;?)7hd4g;=~kC6#uf(?F>9XQdpbLN1H<zMVrkvPS8EI~bk4ZztJL0@xW@eV((
    zGJ{v*N!h_H2zgbouzR!u;$h$Uf6a6SFHb=%_i5-RfITeBA1g`2`VDU<PG;&wyk!d<
    zDV@a`plHEM#@9-8_Syosn18vc;%x}vmOkwy;&vZOjUq?`@=&dhXQfBM1AcU(tThBe
    ze@KDX^-4fIgKs)z>mgFXFaCF-8r<jN|3jDNB~(!#haDmMzz?jL=cWjv>>%Kp&_rc|
    z($L|=6`~-%!%*UORc0u2ys`j_!N<s9U^!{<P{+%hARanKZ-kU{35`iyT*VAd1n=Qb
    z1NnNdR(I-^*}$5Df>bhxWhF$;;EQ)_z5}lL)1f9%{#N!Bq|Pl>Qezed<Rb*wv2FL!
    z=Iy{9eh=`=0e*jkI+%|k$WDD_ooNglE}}hJ^11sHm^d3r3RZmoqvf~=Jkn-~6TQR#
    zN7t7J)SSKlpNcG{G)9FMYJ`!x$x=jj#!g|ZQRxzuC6!QUc^gYvn;Bd7JA<qdDk*do
    z*^=y}<ti#`A&OGJ*K^)CbA7(^yMOq6n)}>yp7We%KhJrND(UF5UB$Iwd&qIGbXCa;
    zW<D(PZ9P|FY`lsgnHN9pa008{_-XDo%(L38Hqyw(^}HPyKFJ~#gH$dex+qRh@DJI%
    zKQcDBd;!vz+5SYF4w-yM_$h(p=a5p&@Q5eKm1n;M7&-^_Mn~t;aF_-dRbmigC*y5*
    z?$Lm385b|7DP+Q6*JHQW{^Sd-OqLZBELSbZ>DF>e4UFOTD+>-~?4SQ~l$buj$Yt&+
    z2<a<(bC1cq%p~G@47lM(CoA$V60K-Ni4m=5-y(nTsPMI4U?jGuMV}F)O<FRcT}|vW
    zHx+l08lz9mVjb$>bOD-s%N0jpq!9Hdxf585ikF279!iD58NV{3uGj)vBV^~ZWAOA3
    z{0kSml4o&W^E*<Noe`C!S7OD+Y1Ib~KP3H!Y&_43<Nr+KZyZ&E@%{hW7535>h-*}j
    zm~`N9_y?FS{MDb9vFW{R^uNnUhhM(+S;5{2e1Esn?wg>{v4C*xtX(&3pXgcCoaeUP
    z0k)@2RqV`(JHFgWp-~kkDqlr$gI5#OyElwl9~Jop%rBXLW<(B>+mE@HkL6>|h9a3Y
    zl@Q>S0`+j$7yV`K0by9P#B0Y={|Pjv?6^uVD?f67AssB<>zcC%?##3}JLc5;H^1_k
    zchSr)dGVAW|5TxX_LGv;u<@ZjjB(Gr|2iOYg2b0EyjnJc=5>FBA3qw}zt92XYf~AE
    z@FPh=T!lOl!JQ8D_8~Z0jj;VF3G0)yMNlLoQe2@1-%N+K{|5U`Hs>2`JNRPTXTGVx
    zw{0qeXTJ;{1g2&zm=3}u-7iqwBV#Kezp}zFSNcT-JL5m>`y`TbJwYn+X+haJE3SQ8
    zkYo(s%~*59BWa^gsV=vYFvRYICqPI2kJ4AQ!k7_|+EMRws$hj4)xwj7oZ~|lJ^S9i
    zrx;Ll^?l+<nHep{14;Y8L=E%3(3?V3rt~6;`@G7+?^$M`4CBV`zVTC(58zfF|7IfU
    z)`6mmW8CoTUdjMlNz5lc+1=&y#b=l|HwKn)HJ9reBVwS(%VH^=!&dVP96mgKvG+AD
    z4qeUf;@I8w&CcIxZk9}Q4`1+{2g~Bz7dW%Uwr9ehpJN;KZ6!aDNq%cWlr%QP(u65)
    zT^#M8D=hih(nUU81X%(_`j$9D>>x94P9~d9v|v0>+XEDh1R-S`)PXBJ`h$BEfhM#`
    zaXbNFWTlPs;DJ_+&S4!__6?WIVD*{SDSC*)C2!VWgK+R8(RAJ#S7;2$03l;&F*PgG
    zoEt3h=O<n)Vuh6Zho77u86mn(8?#{2j=VFJqk`ceGO>Y~zGM%z#%&o#jkf93ijvYz
    znM`^7%<YZM28pm7fxY8*q<+bc0r;a8tM<WBNhIa^EaMm)!hG6y%Ftn8uG75&Yd=$#
    zFoBmgNd|nib>8!+Es#Lcd=j!HQUYa>q}COa^TR%0!C$ZQmQ(D!5W{YLwtEEXvk$#$
    z^ibJe4%$WxHM281V*gw5EVrZ!@c&3mUqVB&FkVG9hU;mGBm-h4G5xBwXAp9V5=jgx
    zCEHe<Q7UJX%sIg#biV@H8yoW75|Gdcu!)>I3dXLq&$TItIWpD8y%qSz4S$M>72`AD
    zl}*QPHfIV&*zg5Eiw3oF2_N_Fh80-9m;#b4h595gq3(RIkE?#+0}e!WCbBBL@Ju4*
    zh|YlLuxZz$)}T`g->gBM2vo2ou~T;NbcCy;s6?cD8volI5r@nBb!45QU*S~cVn>2y
    zdr9aOeN&Ns;Lmhqo=$+@zkUqYPp*(5DS4rNz(g2h8;O0T>2VX-FIg<t5WBv3tqt=A
    zCw+Qthd3(f5atBrWRmB~-SbT#d9qmEFTMoc*Ob3Pd|-ud!2?!>GW<xC*($FaVEL;L
    z|9pS~@SzaEeLsba(DT>E>vQ45DUQ9!#UB=(@YM;mb`5{_2WHAlOh9<H{yJ|0u<R2Z
    z+;Sz(E>QATFj~OhAIRhmtR)Zj-C=7Jy1=nOY7+((ALT0&h0tFH(jmNYf)+SKQAuh2
    zOJ{ayA+$X+Vk_+tK4ZAV>U>x-03ZTs7llKW{!%^vroa<>ij%mUcUTB)syO}P3j1Z)
    zk?HP_F!btpE?u#B8gM|($zC6`NZTQ`M|KfO)aQrrM<(}JwD@t)m_C|l+ibRJ*Os_X
    zHTXR+UBfZ$yiE^_mdtDR3EKXbGzqq&KiZ0_yuHeWgzY(ty+vSLUH;mUE)GCn{nQ2E
    zvM6Lhd$@*|mD6~t1$9qFo?fZI-<in?7)%%2e*>W$)OG(VBIyb)0!|dju@kTFET_HV
    z=>~0RX-o4&NbVq!qK<GqK$W}1DG6EwZxBV7YeCi(%43_(*#YhTfjgf~z>4uvE}`W-
    zS`Ky4R}Yg(!Z=@dgr>Gy;@bwHwX&p7-qSyU62`PAo=ULX#v%1|`eRIqs8hgmuN9<I
    zqBx(1nvt?vTz;MWm@J-~TfML0^0mI7FlE~Tlxyoj`9N@}3z6z|F4o9j4>RV^fEYun
    zNe3ggJyAZ8gnDO#Z^hf=J0IQYy*^^pie*PF6z!B7*`g*-JPo3o=gsWcGk2r%QHy&*
    zbD?>%sfN|>r!3ukqX)fO=s$1Xh>4TFW-pl?^znTDlFxry@^!!FJ8s0iR7po#bKuOw
    zN6HMIcDSX%%I~-iwq7tL|7=gb>iI+>2Tjs8f(D&A3nfpSDjiRrzMfpuSPOtbP0wDR
    zb&{eH02C1M19i_@uf$K8_DmmZjId|Iebl)}LAcAWE+hH?@GDU?@Ta{dNU6x&rai{)
    zY_y#C(aFMQH|)3`-u1cDw~`>)YdSm=EZ?WW{}PsqXgqd$?-&FZbLyu77CFIFJo;lA
    zY|~qga8Hh~2x&QdVmPkLr9fzU;2P8rn|1x8KwIoQXQ*L|pNG`ruT1V{+FEl23QU=>
    z)!(eb+O#b}%A9GVsuaU4@rUlMY#;1haUcEg(YpX=c-{zV4WCDQi9rVh?!Ce7xJ;PV
    z4qP>D^pTgi^PUN3#qV19VCw;5-&hs!(~t)IQj04H+n>a_J7Dgx7+gp*e5l8bWr8_T
    zZ0V&A<7xTi5DME)e_nNc%`z>P`#Y+RpPfnxb|Dl*n&w&-1y2dHgUV7!Zqm_a!6;4w
    z2Y3KIQg}TswggqP!1lxKj`&^X$LrXO-1rIiKSZZcE@*0Hr)`(7cj6l26Det_e*6X)
    z9*GC>OYZrbEB3ZQLoTJXV!@Q=863=nYLEo8FFS4&KakLvd{L$&Me5t3GkQu4QGf0*
    z?vJYo@O+dLV72G_NWmIIkGwqV6$hq}a~B5d$s}gV9lz7|LyaHgOqjlGmNNjeOK;y=
    z^Fb5ONHq-Z|CZD|Hi@6^Ry`V40X$U-qTe4!zBpOb2fD*TEZlNq#*0vbWKk4b$jcsR
    zlPSG`x=ieAVppO*E`(k3)L@S?qdW||M{#jc5h`TUjpFR#_;F_S_0_;Bl_wZKRoQI2
    ze4s=m0GBHbw+`TPnF(>fe8}M=w=9eGaX={>R&5Zp=SK0mOm)~t=i1cxb;Y`ZV#)i@
    z`}4?BGlL7J;407Xn8t=Til@ZW#?dint>3N(=SuWWP=QPQW2bt@pwUn@fgkMip4xGt
    zQY`1Ne{4AkOtZXwMq#5pL<a1JWnJu|lD)+wdy<Y`!Bg_v>jGV;X^-Kr>usX>x1l&l
    zp?7@26l+s_1*H{8+^?IRC&M2lJx_N*3$l4_4Z0AReIxVxMG-q`eHgIq^00ka;`$ri
    z;lwEF$4#`gC@vb!L2t|odO;2eHh{7*GGWqCP*^PZdNlsX%O!(r_5tBNB?B!C&srb%
    zghKc>dv56)#W14X`diuHkc2a?AM27(Vo=#cwIV~}6v^0E9)=-V|BgE7$V*(ye1h3R
    zGjKazW%d*4W|p9lM!8~z12?1*58lGsx9M|x<Ej8UMP*F2qQzUl&jS7~sk(j~6YrdG
    z|7dh*$vilZS)~_mzJC|Pp&xM<K<iA;ju<i&og)x!DYuWCxOd1UueY$z0Yq?o5-H6g
    zEU(>sqc}erf0y(=-2)2l*`2d+hc|=}rSW+~3@U5#U?@bzxGyQQ(6|Zr(UvFcJpS(`
    ztGrHC+60&T1Fe3ja<0uf+tmbnW-_X#go6i;4BQaCWjx3u;C(u%hx(6TaeO{eR#GuM
    zbQu(jM8h5iL2-JXS(Duk&~uTh)KD&NVPMc=8Z?Ur<=28ke?9VY*5Gqrzox@2_?_DY
    zjF(5bU`6z?_27946=lx>euHT%QNDUDvq2L9>z6T!B{|U4_y{83S%B}XbqR%5_DG>C
    z0z7GBD*Jk=PMyV3uO8zdrWkcTMwK3U>H4DX!->84+4RY0t+&>5@nnhIIQ;o}$Bh}&
    z5f%$CVjs6h8T1y;%IRU)j?Kgx_#{%YM=+S$4vUpdB>`1V-|4mETtp>|eO&np;$Q^F
    zX<UT<K5^Fig0Ue%PNSAbJNRCvM}Ec>hnH@<QGDkML94cE|D@HB%-B8KQ4XRss_)tc
    z#ks1~o*$1fEEj=~)&+rA;>xxVP{V;Eg`0DzG*9uY0QWhYK{?ZKq@HD$CS}oZ{IIvC
    z+r*Ev2YaNz8-9i(taUI8<EbDOnC|45o;>Pdct#ui5F59>06x~-57P2WjyP&nH3E=p
    z5m&8$bl!F&C>Gm?*r_JH*{?UELtkNin-;e*;F15g*`GZiO#|7Nc!Kt@xmG<?x^d>q
    zGZ-PkHPQQNr&b&VkyvLdoYQ~01apMU!_Ic*jLql)zL4;s1z@H`3Yq34lsPf>$AX+q
    z6w}|u4jCBi{feAz?6ENhC##}4OUpe8TNlMc4?~?n7_f5AdqBuu+8iX~-y#i;MinN&
    zM+JH5dM^H$mmTpLJm>=6yJ_n(?MVkF`-`Z9Pd_@$QVgC~Xc}hM2Y+|yR#taIAB1|1
    zEggEPFJ^HOFGDeDGx|+zG+x8KIV;FF5YT;m(y3Wa+|xTbpjFi`U?F_u;T+4W{Pb36
    z*t#G`587`3{v(BTf0s76nKIde!sn-22XbJM1KParz3p;_5<jjxvwbdz+nJoMlYRPO
    zUscLsAvd9G&Pp5r6-hUx6!+%+W7=g>GZrh}ZG&ILHMgDlf+-#yKqw)d5-_r!(6dg)
    znk?2tr4ChKMUfFpU^iJ^@qJroxa;rU>wq<1z!I+tNEOu__gdN{W@Ei%9nE?!Q~CnC
    zeus~s4^P%9ELwFKm}@{|Tb1APF!Z7vqQZMz&gVa4FuMsSWNA#FF)l5cWT{Gt@jL9Y
    z-!I@zWB6Ppw3o4uEuEX;WlCP|72Bw~H}WO@R>ptlM5zGbH}0_n#G^gN_rv`&Ff<BS
    zDuVa#Iz0$1Hj)$Z^Qvoeb+p)e@lq0#4&&Q+Xs3svZx)1F>F9I33DguX9vNDJCR-}j
    z$m8+nVE+r!nX{oO*q-jscbV$oxP8RL^M`je%$fpBo}lvt<RP2e!dxnCzzgu<HtUia
    z@B`-bF#7;hWVdt)QUFxlf{!3BX!>40i}=LqKA6^a1_3>Em_)p(2dUsnJ_Gc*6G=Z?
    zyk$YoMi?Q#{YUl;yM*V=-P)q3n+nr@bTp{A^wo0P<&XD3b9lNw^8tMI7y%5W`V4&J
    zmYgl~MHl-M4G6W-b^j4`;`7BFZq=o~MgpabIcuGBFoKlHr@p~7&P;z7ELr6umeYk7
    z)~0%Z#n$m8vGALS*M1x~(QELf4m8|GmC6+9odU6`wgOiPgJ1wHk;Cw#-N7^SUA8u1
    z#%<N9BRxmn0MXQBPU-JZPl~Bnf^4Dsa@o6se0={Aj=oorw@={C#ObCQY^bWAk+|O0
    zWKMR`yvf-fc$9s)dxzFcHsSlB5GA0NjR}3o+)LaJAAw)8fre6bj#3R(z0)r$1d4<u
    z_5dp&33PG9MD*l(676u(43umXR4Srp5jB%-*2Rp*sM04sHZ75@h$jQ~{fL#B;%21&
    zh0V~xk-WGWM^O%;x)d*Rt1=2|oS%iryW4Mr!zes}cVsMHEmE<RLccGUk%iQ&1pVwL
    zh8q|J9Mfi!P<4?L%p=aZ22$jZ3ca*Z7l-lRI7%0X9pBN#Ilm!nXW$#s5exlGGvMc4
    z<r`7?JrrMe<v+NEa2YY;`3d)NO&bjng<n+1Y9g!5``R7uUm3<y9?14UR&u#p2Q)qS
    zen$5SK6L2p45+WFY22$g`6E+ZwFDZRw#ftGwJaoYnl|;iV}Hc;=eb446_FX8G4FRQ
    zI?wa@DYt&$Rdz)Zya=Jvd~!?p9TEIDQP6}Qoc%Wbj7y-{Fk84t>!Q<-AuTCh-)sbn
    zhut^K!JaDYZh9aNHFNKP<nABek;8pwb&E0%bCS3zchun{eba|8nG3)D;@KjnwW^~F
    zKdxHmeI7?Sp{3Lo5OLHAz88xIpF`^(g&frXG1#B15_}_aQxsb{%b)LQkL3(lNbZ`%
    z;k(@x*Riw<hSOxyfc@m^1sFp6G+GF*eH0H$!!w|F-Me5Z@-aRS@UQO!?f(lFS=fbd
    zZf<|rdN@W)J5BtEMsDs9M#=Y!F6;s<bLZNBz`vH;vY_=g2gl4H)EU>K%$?&|#gE6%
    zBl5Dan8t^JC9IiYLvY`%aRod9bdFFS8aEL^QXh-a=nX1qzSHl@fx`qV`j)Ceb+fYJ
    z+f^yZ-u{ahH%#KJx+AYUx}&giAB4itAaV-yRO?3c)xmPIXF}yX&cpaCDn<3eq_qSo
    z<2n?a1s$jKgGC#5$sG|$RpCUNbvpK-B6I==;dyvm*d;$|<LozZ1J9pXv)KA3_sK*9
    z@rbjhEO#Zwby&+I1`fw_E+8N8)uIBbgix)ess$c=Z-{QQtr;tiC(~8RC-uYqTlhEJ
    zhn2Lnx7TEWP3D4^g=uMzoz~kCZ>fA%)e3Iok{*<E<&1F?11=<ewKd}7?bY{wi^ETR
    za(RMEHTwjg(k7_Lj5jr5@-r7yN8E{&?G?`(@HRQEbD9eUk)f}OvDm~V#=$n=OB#xs
    zL)B25X|<sv=04PB<(>7t>3h-lV(x`j`2UirB=P5>MRH&V&X-K*Mpg8>WH+7=dPAXi
    zd+0Lh!A7ot9+8KDg;IL)cu=}bZL@Cg+-{6CYXY6-mQ&RfKEhTtIod=#rp@H`2*fRl
    zZH<5$-T3@JV0QL!zfIlyOK_>%qcL1i+wIsNi3<H-#G!HVgr$5kBE<tEXdsry<0g>}
    zT{hC$u;=?8Z_!8Rz1ZtO<)|i*PC~Uj*BEPfG?%wXgDowwvY-{=GnF5xs|K0`euny)
    zbU@_{q*y~~<=2Io1pA8k^H55qE;jYq`2~ZQU!o{f8j#<(kLoKpN6jJOwEO*b<mKJy
    zn$kFIfHFwjfE%2qH_~VWtOC4CVLTG&J(vG~AZn;ntndJaEL7fv<#sSKyMo{0C%nd8
    z6c4dfJ2!3%II$`t&BJgT=EFyfszq*A6wwJuF60Bb!3VuH*v7YGRGagObdqXuPEwjK
    z`IzSqOj(Y!ga=*2hB`APbt6)h#ZaZ9QU*O7Y4RnnGlqJJ@bv&0a%>PU#c9Qlr&*<h
    zc2e&z3J<$aZo(Xnpj}O0KBBZgkwN~{(`MZ$Qky~)?N#6*w8#t^0@d=_%mC3>2=Ow+
    zdKZahFRnWkZQu!4BiLnTe;)bL%i_X-x^5_lP}ch<mgG?y7!#7G$y#v@S*dG340?}s
    zzoNw)cugU3EsZ1<V^Al46KENn&`MbgD9FM_j^w@y-2;HS;t#sNp8I?OW5YfaYPF+T
    z#Q0h@%4_sHD1b`bEqWZ2G1*$~V*u~}!Qae>98a^laY*So4E(Rz#*pm3MuxIfe~4FF
    zd!|^Iwx+pivkcWxH^F_$0)4ucOK#I#&>C-&!}mf;*>M2PtC-G-EXGlKy@I8bz@iPR
    zEPiXr8$JR^OgZI>fkzMMvk)k$5sl8|@usZupZe{Hr^T{46MnQWl11Lx9wj5n?URVo
    zwr_cg7nAZ7np~W8>gEMGZxMC}@GMC{dTn2@?ps7PMq<TSpfRn>kB9HV)|)0jVl{4#
    zKVZqJDz8I*@1@OFVmoS(I@O7Zg`&LYI+*hWtPHPcQK4l?^mCf^@lqKkD_bV!*uf;g
    ztzL~F{pcuAv5z~tZ@l*+zk38uwJO0ZW+FwFlV0J|?*14sPzwqMRx@cQ_z!!;b+<UH
    zvMC8zrF_DD#QGm{eKGa?4`WN$o&LX&t2kureTvWIo{>wt@_6DqQW$aEY=N6)@kd+4
    z;JL|&A8b6}G=Lp>_EoiGwp8XQtR{ozme!I<%h3GcMK*!4T5=c#vFnt0u24V!!-k43
    z>2)A;A0$GSAXc1=<OlNUF=`U_C*r*)TC5TYJ>-^JVp$94w0T3Rt;IeBEM~q{oNsbF
    z8|Pp(wp`+Or>PP#V#Zk|v40{$fiisLG_N1rCmRixdszRh^`y~UABqWg6$hBbqS?H#
    zw@#xQlb$(Fdxa0riL1mpw+-#>JhQ&Lm*ztq9^M(95;%i^zQd_1nk++y3!hDyyg%L&
    zzd9?ZEQ_F6ni@&Ux1*Uicyr|e9<nvyC;dLeAmx+8jbB24HP$rS(GFq4`$^-Sp*W%%
    zbp$^vVJfaWNK9gdGYt!i!Y=^JUE@4J)Sl|ZmBx^sb9pl7C8jICdJvL8_amTO)u-D-
    ziH2BsDeIy`=SD*RqqWbSDO|ZNR#R>gM%1{Qlste*U%l;ndm}XFXmPX-YRE4qg&hmd
    z+!-K5dN0FpyUVbblW1C@Kuw|O65SNN;$Q0_=U$DRoI`hlQSc0;N}{!gg5PBDcfgrR
    zNP$g7vTeqj{RGF-$Qf5LoUt6##Z|kN`;T0pceMTPyV|U??;>&=70Nd1bLmZ8)a{!d
    zKC+F}NPH^NC7VQ<QByTC1w1z-rP};KwuAzc04$>p5qeTE2X^BAzlz}$H+7pcNjuJx
    z@k=?uKwx!}7(mbUM^KG?y^6&XOMl*W`Hmx}@g6m~mi^>|Y;WvJ9S~G_kgw7={9I49
    z^I|jGp*9mg*3najLM9|D!}R|SG?N%4E1=CAhm-b9+MN;|yKoQy4a^TmRrDPSOM-To
    zl5t!EcZZ6~ZAtfX@mb7ubgM#;33=t4y2x+L5!aaVK2)0^l%Gjv8b`9mNPzkE+em>4
    z<m%!q0Uz;lkxGeJ_O+KF8Nx$qy~XARI=<X{6^~a{ve|-2hP)5FQ@AuflbNuBG9*d%
    zBK>&+R1^i7h0kiVYdf$79IN+f8u_>Xvq-C-fEqfhS{yzy#<F;)E8rH;k<m(mWOOyV
    zk&R+ww_il!z<1U-%$JXL;BEfzbiac)z+sl6Kk&E>Iu76fXe-VVTJT+nP~Xmfd{#GO
    z##^>vr}Y|(mqK|iOT|1Zp{>4R%8rx@4m;f$4~-)}Zv87?MJUfBs30%hjH5iM!MkB`
    zP`0&=Wgfl$6+K>Cm4%TGNBxEx!CEtevK(+esK1PuT}AymD)o@)T`)C+YA*v@<nv>2
    zWsn-oJYY2!83Q+w`h#%YGITgcNj#PDt3=cZDT~DuRtjajOLLa6t-Jng`fp5q{el-6
    z9~x%7K7{tuf;I+5qeYY))bKVV`y-jx9ko)gUk|j{O1!E^V=1R|qyo8v&77>B?=t_~
    zoCyPwLu_wQw7v;TI30-)w0s@`Gkw03=#uOG;wSv6@b-zRGhsr#`{U-gyB(=IB66Y%
    z3Y9PkU9iyZxPPQ#v%c`D@}He@2<}Pa2~p%PsVq;WH9fj&ynoAMh{ghQgR;?F1}Y_L
    z>)3+`2WML{shED=iRC=oONx!VaEcR+;vzK6swg~OGW?YN`aLVPq*K{d&5RYRt;@$v
    zl`a|kUS6)@w|uDH{^2^>39=oAtrI#PwQe5&k56j<_D03ywq1=rZ~j|oKWFnf@h-#=
    zlO2O>P-!*=7i^Rh8$CR6kv)lexE#NzTW9!)v1{h<Lc`j$^YCR}_i6QYi&$mt#A6e&
    ziLBCf^sZJ+Hfa*dQA1C<p0nr)MiTo147T3Ib-l6^E%>UanF1ah*zAEmgxaY=snO9D
    z$@HtpF@qvYJcxdby0tWdRxBt+9`^Lfo^9c7g{$1HQ0_>n&`cvVo3O4PeMjRwtY9>}
    zyahW~*Iz%($67#Z`9sXVEH1v(PJ{VOpKS#n6fOBP{sSa#RJXHMOnNajsNcHiG<0ll
    z!xUq_E^Gg#1GW*L8t#zKq%Faw_rr0kP~3x(eAAw7B71?2=ZvC4E{Bk7%DPVII~uQJ
    zPy)Yl{F&M1Cw8?UP^G>acAttbK^3h{rdq|C!>)rvPm0=d49(S1Jc@hmx^3J7PbO$C
    zDp_b~5R!qlIe#>tU7qfM11oG<17~G^kk1k(cY%*E_81j&;`wb=ee-wtpMN!O<Z)d#
    zHg^859E)P=m#&;rbSKwqU^U+})`Oc$ak#+NU2*`rpAUDskHN{%w?;H4o67H~s2D-E
    z63AYEHr)WdRR_lXoxbc-Uk=osM_ei(IRUl2yW#Gq>9@~%BFUZ@ezEk%cymtRM4s(a
    zk?$h;A)9??;fSJ3_`2xl{{{0K>53oscR2V)YhUnA_|z}F+kg4k2+5ydP>pt*AUDsN
    zg=nP9*U9a_6z%!K3kBqD)wW?HU7wM+E^zQSZ@(K3rt&whySZM@s8zy8N*7EUH^XE%
    z91*GG)?_3(@J`3MnOxKL;(A=1QEI?fn!Dld#KB<+IP~3TIJ^8|OgJY=E?pUFWb@19
    z{dCQ|j{g$#W!LKZ(vw`fvZ-oxlXvwTdCdaB-8~wwt^n+zA2w=G<Y(nUK42@g-5R^A
    z%_amK1=nFB_2*g4c=um0KT$Ad`7-N;g+&B{QiaxyUR5Fb5tJxqxjdFr$?IiGfjJ!C
    zQme(BDtov3T4V<293Q!X8sXMbsaW7o1rDB}w_7sh^4jRiQ*fv;l(qUo$!T=hvjvoO
    zs<dnM^~*)vZ^frQcN;_okr}3L{tJgFddE5(L|XYRezE=5?DB1+MFvq9{&~A_mrvQ%
    z$wiZ04JYQuXDV0ws-Y&)4$wfSqbv80(_r-p2GlC<f1nm~sDKV{92SKzp(y@NZbK<$
    zz?pQe+J<M3+cxf$2~%h+DoHd1QZ)ts?Z0#{BRDpd3#e++<k2q8SfE3JLpT@a0xJui
    zKt{C1y+su}@^WC42iMPQu!w4qBF~WqQpNooki}9fXF=;l*6do@i+lonbRqP^<!=86
    z@X+t%6hE~tXwQ^U%ZfH|fCt=b7DqZnMeYiXg(VBy8kpx3R18>=jw*nanvh5*a#DCd
    z&w*+Q8ws7vcUszAjSdqIj_NiAM^Q0Q-|M3zQ|y?O_>dpoz-Ls4d~xX*T#7RbXP^Pv
    zxiC>cc+Ns4AW1aar$ZeM>e$ZEV0D#Vv&$ocIRna@s`1tl;;jU)QPoXZ^pjpy4}l!v
    zO{b$wHPS~u64U@T8a1PS1z91G74WFKaPJ@|Cczn<juv?_dC*btdps5TGIof&<|@7J
    zv#?v|xmxV?FMUT-!a^Pd6<|A+pLnsc&T8E3>S)&&2XBi?s(u41e)-S>EBPWPsB3{>
    zj+*!L<4jrtrRa5rAFwewb$e*EO*_b!N$@Uk=wVTu@2MfI4tE{Ya2XLAK5`#*K&qlj
    zST?F}Q`SCtO>^5~4l+?q@#pp;rZI(F;{~Lk@k~D5{BG`vuN*HnM@=~7OEQ2!+ViJv
    zSnjD4up%`^e6V}`5L-pp56KY5K}aJ=Mf=)ALm29h=HB2}6?W9fs&N@L2irs;h~9o+
    zye4bqu8KpF$ZQLu8By#dB}{|)8a(avBhnd=?0{oj+uc)>Y!*q^+7dd@R*gcifB?Ct
    z6Ja-&u0u4cO(!a>ll66q)?`yZk_aL94x#l|W5LQMM2(P_5TTAQ^G!7b?eNiqBE9Kk
    zo5}mAp&rU5q_#&vYvz|5KKPh;E9Rb>#4=~XsZtLrZpfu(eVefMRWxTMpVL)+PE8_g
    z#p#94z#P0&#2X;8Lu<%G5P6JEqsGn34cr6rLW0aM8_W|cG7mq@6zR`S5X)9B?v9%=
    z>eKa5pKc@!!%es#hl%@B)<use;P+6}8A^`Zcfi_RklL%XqG~m{-OlLB1t2HL+DeVA
    z=cwPT;z_7OQ<hi?YnpVQWJGAMrcacn#MCt7o6N((A*%U|R`3P%rUXmlhW95Mey;G&
    zO(cNkS!C$+<0!RN!#_cb$aO+AlY#b3-U)&^R~(Ap0%4+F6-?>4In-4DFtlVoyo+Qi
    zi(rxvwOxGFiMHDa%%6ehn5BdI{4<Ns*GhdpZ<^2c%);*CR3X~f7FByLl{#U|au00I
    zZ;Ni1+!1^e=`kR@9!cRNl|5R0J%GwNtj|$R<`jE&IatF(wZ=5U>d@c#fU&*RX!@Gd
    z^v1D#=%z~tdsU^k>p+vnc2|d)0{6}v*~Nt=iP6yw;a~bPb|h%;>iUdb1gqc&5mHg1
    zE7@q1c1(G2>*yw|SH=xaRRvF@Hv&j$hxXitn`N8R@V+X5u?Z!?aAbqI84XtR-vuo)
    z@S%k-AHx{GOn7%*L|+{>lUQPjHk=xlOZIBA3D1c!MsP};Rr5R)1|;B4{<W1atFF;-
    z<S-byi*u?ONx_nDX5Ra2V;If3Tbxr}x=lFAEK`G~4!-m`6JSS9!65mLBU;Ett8HlD
    zOxn<x58KK#guHN=B7eT=-@%M!#2D%2+}l}FiGx?qbC5uMve&AKWlJvNxi2pgR_`5K
    zeGTZ-lz>XrY$R(+sMl;FuX)B(L<^VSuDVV@;vF>=<4dO#{TDomnsShQs<AP%K(7HJ
    z=cvhtbU6pR(G1l%hps&ARprGW6I5NtQz?s<r1UGth}K~M6Gr+E7ANG_@fs(*NF&uN
    z|2AY}Pfu+Br9TQ_@HwEyrqZWS<{Ow$iul36pvXO4i;ayBm|bprlRNyI)j}6$A2{PD
    zSnaJj;G66a&=>lWmldd@saR?XBwteCuzSeLD0e1}A9(QZ^piFOH<lL+s+`Ac%GXKp
    z7TD+ltT5Ngf>*{dHj<xxsw8_mQ8d~uRfCN^Omw2UI3|qafwai)veiJnfC)Z8y{$oH
    zwJmIRF8N=XoV5<9+ZdPK#(K<eR}>ULeAq1-img?%dqO*MLU-KXaCf`WMG!NbxXOc|
    z<b%~zNvtC+aMq|-TC6P+esjf%I;%}2Z3>DDTbDd)%I^7XUmf8;g%8q8ZIDCMSR!}-
    z{9SmgW_~!6_eAuUZp<^}U3r30wZlJCZ|%hETDD9+^g;;@!!D~ym2?)(R0{Xaz#x69
    z89S5>6%sO(v*t*(08D5}+P25ksipu4AMDXVoJrmA{7k%*cy$G4>H~*=?op9`>MVJg
    zCX0g-3a?x=XAzTIaHP2-*p-*HHX=;{ZDLj?4RxVNL|T0uEgHuMNVhXccQav!t`gGP
    zBGPL9zA%(jMvo~|I{<``7H8u3QB^awC-U_Ao9vsL8-ewN;g!>jij!(gBDaGgkakBC
    zzwz+jwxo~`g)^A{h5Cg<ZN)k8&&8e1>3b#b6|Rc1bGy>UFNK*Oda2ncj8lV%EJqy2
    zPJOoNG>*>JNf_tkn&>TdoN2w)8Kfk2^SD>g;y*vwaCgdJmp*`ew|91VgO3ZJ)om~&
    zRyC`1mjk%pQU4MXrsk`XPFK{FG>f1Zan6}U2^+g+3$Mf%ywzBQ@xs3&;OdEZ57U?(
    zQhZvqx5FU5yI0hx&3Y2nH=T^N*c>!^-GZ}Gh?=+BzA=5;kBP9M**CnIwDWOzFztAP
    z!GWg@Rf1i~$u!AqqXz4pGG<WvDaxL)K)-*WD^xl{IfCYj-@3Ia`&rq)75|<Wk2iil
    zg}z?|CunVS@C{97AA-!yIs=Z;AT>JTO*riTy{m(IGP(As?tD#A>a>}*A9<S}+1L$S
    zC!gwyzLnGJx!~)G&g>opoXBX-=rXz~n~=4lCoX*>hmmN(QR=FWG6g_FUZ|Tk%Pv?1
    zRn%6*Mx8z<D1X(89s0HJ=xqk?^l_qXznHAFK%*%-skuo)U&o+65TH@sfGMlxhe?60
    z)u+1&wf0Jboqk9Rl0W3q;ocg;_EgtFk+ZnFD=SiC5k=ZA2XpK`$)F^7loqE$t(qQX
    zg;WT3XjMabOP2lk(-3))HP55J=D8`AEIlH{E&IfSH+|IM`OLBWm8Y6s?^H8{kJ^zC
    zXq)ZPV8M%bL%01xi<9yDt}2dIj3#B%yOOnHu}5qDQ!<zG_4D2?DkntPO{&%>p0YEE
    z<FRq}Nh1fP_c0^D1oiBf%$CT0_CsqL3l^!tX8^&-%+;4)NPKx39F7wH8NV=D+}73H
    z#C_uDxGIPFH9dtV@ip5I#20~`vP7(os|l`fp0Fy-&g_LN(_t~3PZq1&J`>W~l2M|)
    zU5ZX`{$9GN_9h(bQR=%#`7Yt?R5v{q`#0`Mwc<|9YhFC8qP7D`iEJ?(rw@19p@qOh
    zgxz!>0qJ0MH{XOV#z}^m9Rb!0(_4jLM0_6c5=oW31^x(OQJ5@A0B7F*8Tt<g{a`m6
    zb#~kL0vSDhmOWJD%yk;fKA1Su?>|8M1w}BKj}vZ(mtGAqCIDF%b!y+H-3>0$=)fd>
    zVF0ME5TA3r`bf37u9S9=bf9Ee!tSZM=qRw|A^{22>cY#DTctCn_rP??wk->cxgrSF
    zSMz+wZnilv(*O<zl<we5A)|oz2XH~fdT~zP<)LxToHZkG!Q2h^hGVxkkOIV~P%Wvz
    zex!1g*mVaEpv}PJ8nFq(Ies0baR_ROKK2~)+Lp!n<Is85<KW+39k_6Y(h*u?csZ6L
    zX_;PK(o*=FeVznHU8cDN-lR<Bbg|2vm1NU9Gucom$`h?bjCs|bYP#4}SX?(IcOyEb
    zem%1a=tE&fPPeAvlu7DD=LxN@`597Rb&M|efa2ecwFP6@G5K(e)iCvI$SX8W<Pm}!
    zfhy*zGs9y?v|=2auqp_2n9`nmc%kZHo@5jlN_wrXY%-JC%)gr(dD4&usT`-q;j(1n
    za0@tH?F`BuAbUPzR#yU29#F@cr?L*bZw)b6hx|<62V65vQ}>y(sS0rH&-%rX7q=-q
    z#S_{>o!0c!qZ~OiBtY)<gvf<K2YQQh`Krw&?M(>%umm?IvoGJ_v4G;1`l^qRk{I$L
    z>xH#NL=w&@wVoKQd8^AQ>BQ@iRC;0pHP`8SGsA)@T#o(M_ryhAZ{ET8y7RoOQti1{
    zQpt-dRT4S22jOhYdA8X)>_kG(A2<cS1L{pcKbd7ivJ=ApF3%Bh_EujLC9j0PLLHj1
    z&GXwBjKa|pJ~8UX-Ia|0T7<~6VBCRMKAEOJ2~0>=m$jP&H}a|NLoIgT$-GR{Nqi^j
    z)iOG)7ZucZy`1p_lRhPm-GCf%<IQ&!$NEv#THr$P*gn&PTam0!e!RNB?tj41!*OGO
    zUxl*h3{R3FeyqWp7&OXI?lCZII0`6v=y(kksu%kh1o56ln3Vb=G-gEn@<zPEUmNF7
    z*JSd*hs1>7=ydhHEhUw7g_41r=beU<<i?F>s%v<#3a{RXl%ySxZ_?Xqu&$4YP|Im3
    zrp9dwXFgJ5AY5|UPM9t!0q~ayRU}YSV<^G<y;6^LeN1DlA_zJ4jBE66gmfbI#(#L0
    zTKR=Z|0W#~^nc-o5ldb<wQvb0BmJ*Un<AFJs_Z1&Lunq98yU|vgkSxWpX%`tK)iXR
    zvbO9N&8By}!$IW4LNL@=Zc2z%gg$D<jYUvW%t2fK9ResC3Mv9Qv7KuC#%%d)E1E4~
    z(!<08@!TNsOJ<FF?c5*40%Jvayssf>(omUvC|+>ch!xLIndD_$2I8CrxCzWti%HO7
    z6B3}L+E?KR8s!Eb#a$gC-bld2rSIq`epe2!(_&3iN5f6v8kyhCYfQ^jQj0A`rzM9V
    zDSpHOT-%EEd}1icLg~`9vLk0VFV7CFYcB2HbedDn%k5OYrw~F(54~AW?=b0d+PMD!
    zG36xZ@^YI-nZ-wmQ0D<tSlsz7*z1Xu(X_)Y>9O)@pg%q@c}<53t4Dvg!Hoqy+0(0-
    zt)A<l|Anw4yjycB#UJBhyGSi`XRnuILlP!)Wpe_jc0c;m_Pnzj2d!AwG<A#yP%Qn)
    z|7iwhnlzO2$5M6v_(Yk<M}75cnQ&*G*YMQSTp8cvwW%uInBYrfF67~+xrZ_9nti<^
    zO*EEY7gcFLg$A*8ZDOD&lS?SeiRvSKUaBQ|m_utUO19UjN{fvQ_BWvK5AiClMky2E
    z{w~vE{o(!&85|Zeg~>a@*Epdou3udPnmk&Al;E;cfo_<t`wFOrhLa%ySAsldr><_e
    zoIBtTL*}hvXPDq58`7_%zs_L&tNzR9xaaoPn`zXewV%c>I!)XXn9hP>N7l8sHVe9X
    z?0V*h!5x>jS9p}y9{wZsk5C;Zn?@`t=dluw*+@ooFY7npdeZ0I2lo#^!DG@eu8&l=
    zzBW=H(Q?l@@0ScdmuQVr5%((ugy#S#0jj#r!P8ihl}Qsd1cS4)U-9;Q@QJx`Y)Ko3
    zpotP#iq>_lTQlQLA;)RY*awb>>bi&V@_WhgK<@kq*MTw7>DDdL?bFqLav5STeC~2i
    zYXn_mq=&~r=lPGt3)X%93xHnqmIp)_H)rcFdk&uG$+<O-*T$&uk?<HXVB99u;U5^H
    zA^iC$anYhz+((q~>v&^nfmose$<UX?WGlSN8seFfX-EH6mijLpPux1z9wDyyMgX&<
    zFs|yFep3zM<f9}EiSLlWbv=A7fPSJh7s(-+0dh!f#pw|b{TYe}=Tv|Nwm;QB4TG1W
    zx?5$;voyAIM`<$4+XE68z7eq;Q0sRkovK0VRVDUqXgjMe>o=pRQ@JT~;hgv*%?zY1
    z#yv@%-;_CxqTQ^UH3Zjf2PQ5`TEJ~gtRWeXuC({yftBY1t(m;pTuaRPE~gX!`P6^c
    zj0!O79Z+>qzlDZimood+%R8MpOuz47=)^~y?HuAziDrcf-^@7f$~JDqZ^RhE@jb9t
    z3T(K06b&R$C+~0k<wB|1N{<Lw!}Y2jUM?%it~Rc$cqKG%mr<^`7qZQ;3ETME#-h(g
    z8i$prGfu1qDImuO=;}RG_T<6+_(24sNa4Ce#qd64TSDmtVVQ29<Mcf%;RIGOUo7#K
    za>TezsF+Inh|}d)W<IHlIkk;#)k&C5x?@aIvI!RMK8(f@-f=%hB{bP&ekv!>>Q9FI
    zfr4UD=`M8&+7mZ9O`Y?8HZISYK#1J2Xbcqe-9Vf=KXyN=!G<lq`+$N&eAe@Ksv8MZ
    zN(4IS=H7}qoZ7&pK~bYF=7v;o9!eb%m9cLvX1wCcNn%6H+9(LC$WoYf?tOOM;$3bS
    z=O2If$!EYa_>}N7d=-J*NFgduJ}}f`8|Rhq?<Hp64Mf`8j2=>Uh<mGXaIO)-2tn!_
    zZp~>UJABOuC5CoP8J(O(i~1j+%|t-sh(pbp$=!p=$89|MWE=Uxq>8%|WJF)@WAROy
    z$?dEf0tlpz{Qs_Ml>ZZ(aGX<VjN63kar@%2qi5&7dU;QT^-zOl#j9E{q1ja2?{fHO
    z!#iSSWs3T4)lq69l%ioJ@706vd3Vu9eOpH_-PIhv_YBuc@KCLCcxtmf^Ec=dQdiU|
    zC?`R7x|BDPDGdDA|KIPG-Dy#SjvZ^lOs+*GA3rX_M5(j7awqM$`A8Cpht6NjaQEMT
    zgAPsgJy;rn?VZx_>=k;E{;Rw7=-xO}5mBK}uB0<bya{(_QFjrmCVs+R(vcB9A2*%Q
    zV!E@ud5+kDU&~eL6Q)nu&9KRH-uJT@eW7|0uvw%pEojd*nVz~jP^{o{o%(X|Av#(l
    zCfN|mCj6;z6)y|Jh<_qxeqC__*6aCr_sQEHkXaU<s*7<b1-8nad{bY$d*NE)qbvoW
    zn1sJD+KAT}j@PX({r938@s20dj}A$PB0+s$owgIB4IrZ1sq~}byYJW0_gnbBe!dTO
    zUVY{yHxs(t3u>g|X<Av)sV`Y&fcSJF{^;E9d@hOlSXHEcYPNptI}mAy#Q0UjWin%R
    zE?l}PFFDDIRmR+Vb~pMeZo%ojj*CAUypP6`HheeM%T<mVg6**jUvTfPvJX<Tpi;d$
    zmCC8Wr}DtZ$$N22uJAz?09dZN7Go<&>MtaId1;R}ATP}}rY7-~ReiTIo+FCfZ-qOu
    z+i`0|>xnT>Bz@t2l1eSe#uEL)=gvh}luw7_k9HRkc2-ANmkPA_`^gT88!pq*<=kGX
    zR1nkS#Bmp$5p5PI4KX-r??6b4b;peyvVu5dp!*a}=8%9rJu{Rmk23CSskCn(N5_}?
    zh&4;L6UR_Dmck0kdWd7l$M}1Cw&P3M!*ghjJIV{Q3bevs;i_yCpwq#dZz%7@BvsiH
    z2Wku}KYa>!*rXx;p8l=$2w&dUim6DWJhT!*n3IR=v>LQK;J-HNyX4RhL%5|7e>u2+
    z(PN5V{IgpTSd6;F%YLL$J{E)j^j-{dpZt)zt1{t=`l==Eu?Yh9JaD-CT#jprx)m^P
    zOA{p!V}(Ay1y$LR2;7IJa^iP?8VP(G1Quqw_XvlIlP~u7EZD)RW5y4%8mZG2{H{0^
    zzil7}8rvb5PnY@Kbd+3hOTK>xi0YL>kSCXN7TwE(0@X%I<^bh{vD_4t)-%QOdAfY<
    z&fl%Q3Tv00oitycnOyZ8{Cd3zqHeckKX8x-9OQWXQFn2#s?`Y{t4j#U#r1#scdnxE
    z<{C!>ZJ+d34|Bm`nViLuMnO5K-H5a!A?-3Zq#4tj>Fq}Ztm&iX9I#E~8r?`-5W<ww
    zWK?P6rzgI{gsxh;#ol|iF4`d&K&<f0qD6E0KwZCsBQ@u?XUk44*6dX8UNq6>!D=qP
    z3+1G&Z{^+85VYW?&G8j+@%raq6Ucn1Vb|6&K87kXs8-*m*j6;hANQUmA&hBu%8t)c
    z$Fq%%{4j;{!<4gqSs*jdOHJ*=VQ3JA5ut<SJr+UI2*llzn1Saa!c<}sOA)kNH0SZ)
    z049?W=k=stj{1)Hl&q6EPMY6}nJ8!%2hm6gGrwC8nc=P8ZyrFL=53$|Tk+R-G^3I;
    zw~brewU|~Kxvp1f8f%_`ZCub0s6C<SaM!nJMS;0==gpN7&{m#hYGm*k@bDBpkL9;x
    z4s`U6k0B2+8^8ZY{Jx+aj1QS<5tlpav~@GV4`a`Aj(d^A6pCbRVg}i4^-Z*<98`AE
    z^$i-r@`53kazuRjiDx6eRKF;Ec2Bco5>eyvQM!FM3cbjz8pXdAC(F3+P&s!m`OO^^
    zdOwEKfCvmhv2iX%U?N5>z8h;=88TwB2M<txt2@tEMr+^7Yt>Y1XUiY}l7Q|gXVXr$
    zlhF5Kor_B43Cn073-OQ8DSXbWmw6cklFj?ZsMf?TkQ-#bWk;BSL6^6f$8W9&0r5BH
    z8eJ1sL_i;s7Q2IGFeMGblgZx(A)l*s?(<}(5V#D<2&R<RVKw6F%*Xh6-Csk{c(b0I
    zB(ZgEqY77cA!JvN+w|~lOQu^6wu`5Rd@Pn<WodLJoJg-`-@Wen?<oA5%C}Ld3_`Yt
    zFPS_6xFYmGLZc_jLRTUHK93wbg%%cR-I(N$oyo^@xYMTaP~R!#pVN$WnUC-D{aDoE
    zEOLHiHiOlqzOo5X-+3-7=(H1i+t6IW>an)ag|o|)v#Lpsi;KReE+xu#gf5UlfSm0L
    z&YOpeE}+c!K-&pu+9cd9)b$e!40wC#Z`(6~<Y)<*<JIqB^yl)xLNZZ(-Q{bDZsbBq
    zHpkE6bmbRB8|hj_$s8Yx-k&Wja`M|S<EuFdv>>s?cH=fLrHtu^lM6;MS;vYeP(Xaq
    z<JBDyfs#3jF#N*?J)UBSA%w%~woyUVM6!YSNBEn7us`%b$+!J6rkEsKI_Le6!MjpA
    zGl@_QyVqVEM?H2?C}<qBNpG7o-I=~_G*Fy+CWJNP>_-3SQr-=CjQH;N%Lz{>j%T^q
    zv(zMhhT^TR1$i}-ux6C&h3M!uAx)Teg8k1l&;J0ygArc1pX~%((~^$^D}0Q3#a1J2
    zO(^5$vX^MD>P$0KJxRibk$ZfXY9MrZS4XsoQI9+o1_zS;-{`Y8Tu9AP<5&I|{?<WW
    zwISmz^c!QJz?rsi5v=^5hcN|P{2u@kswkBB;~xcO2nkhwZM_jy{#2F=J@k}&=HJ!u
    z)5C8dREOg-LEIs8mTONI7uW0gDP*ItTT&QvH)#R(h+o@7q^urYu%X0maTJ}FKfzjn
    z4?bewl1645N(n9zgr6s)S@U<&Wk7^)F_P~N>J&L|LUL}ai<j&famkKJZ?##~>*Mj=
    zMf<T)-M%oM(78*VLY3IpO4#=u_32?3@xjG#a#rDs`3+Xn0+LRL{oSiIg%%?SlbHFK
    ziFDWa6%^bD>Z<d0Y^;%<HrsT10jdvt`~Md}N3v7&u#r4KB#DW-Lx@LOi6mtiD1qGL
    z*`Cgk1hKk7<q#=Wk~6q+zZF_cY{&JV0ZWUJe))x@-GLt^HSVDcof5m;xPBf3y`g4k
    zO!2q6?vrT~-Kdk9a6#0fVzEJEh`?*MVhst=F{B8Rx?%`6NZmP8tS7n+7I9eyT=ID7
    zhw%4z`{NT4G?vA#*Ey*9Z3E@wHl^(i@;?UK8A$`mwtfnjur#9LMEo-UnyPi_4{X!R
    z4j->JuPzvR>HhhKh=K?Aw^2)23P*$&ZfD!F+<gco3Pk$+{d%A2Hl#OZGDhMrTRLu&
    zbAwrCS?en=&iCzn-r>%x^b;4pWcS@~6<Po6=K0(!&+DC?uQ<=gqP~1-=ztUo9q+}F
    zeJj8FU<WNz_g_w5KaQfLT}3*<VfE)%HM?wQRXnfZ-Ocpl;mQ&li{o#b4mkelx0o9(
    z>OWF*4KPZYmg4FGs}NgZRtQ#H<%N)kS1Ab>zL7=P_auFOtz+)H&kYeTdg?C-wk>@Z
    zl0PUHmo05+dz<XH3b~)>T+ou0U!!~sb;x7VqHjE@xcDZrK^Y-0+0tFNxO7_fzGa?u
    zN8*n@X;+U2rz=^yaSLWO{kaRCu3wx*2{n1ZHy)J*);^q75!G+n)UUFfPv$2qi~Z}$
    z%=+%NG^_pN%JZIaNWdofr_~rxhqFz#6X$CPW?w_#oAXjEx$WU=2WzAL9PlIb0S&1u
    zYv}j7Z1|Py6~-=EQD0w`ZL5vF^5#x64Hj!jd@kIZ*`Uy7Ul!bbaQ`ftG~kLb&wFqM
    zP=5LR*ehlFCobk>9{f7@C3KO^wt?CxT_vs}686rIdE10lJ!?o>^f4<IKW1VJHLih>
    z4qaeW?xwTI`g)X2@$K^u3Lo6Rf9DFEi6dSfdU$L2`CzR7-eW%L-K@-##yqfDkKUi_
    zrX4CtYHIZ2e*M1M4}oW5Lc{cy<lBVfD&OJZ{!jWDvh{9r-sk89GU=GNd8z$+ThZj<
    z!(9u9UOGV(C4FdS(|bu$%%X+nzHueZ3M+~d{2xBJ|FJr~6^;T)Z~ZyS^=-?;U1$Z0
    z%o!Ye*k0Gcb<<seN-*qM1V#wAeekqeD|9WI*tLBJRow+-Gd@Y)d(Djv5Z$`H$;XrV
    zCMq2vHC`j@wxQ;U_j(IJn)bZW%h0bk1Aaf)hJH+SIL3DR12oxyqX-^)b6Yls+mvmE
    z1~_jf4yr*Gw9M_w39oR2)$bgOPkvnAl_}m4&7%)k1y~e^^aa~iBCC?b3&%o_5HcyG
    zFZr_Tk$b{rfhW!SpNqI|cRnVXay^rweU5p(ZpHQ`FEC^BF56ZU+bIvj151kvAFxox
    zE_H4CMVyXVv}^myKSK+`Ul$EdUgjDJ*4Tp0(X~zTpX<Yn|Nfd8^VpwOj$t2)EAKXL
    zQ%G&I2(;b1Mk_F!*RVbkkH^>VuH53R<8tYsjq>&?CoFhTFLZgOl?*>%b;6=}Of_1h
    zRKi=*8AO`8^2gec(%OPhgeatP6~BVTZWWz>JgoodI!D<*Z&O2u8NEaPm>PP2`IxZ>
    zO=r3v#0U#!52xMRgWcl?38ZA){(1ZH_Pu8|ft7X^5pCbdibsEn+~~YG@_6-$1~gvS
    z1P`=_hHNG6SVH*oK4^hk?~c~2(B@b2($_sZ5OrIFxzPnxp(#J6>1*(A=fj~>gtX{K
    z3(cX~`Z=HzHK_uuq-g2i@CPoEKOmCT4#Pg&oND}f`%_>-*F%L>!(FGnSz&sjVArZI
    zd!s|aiAi+jBBnaS2TzvPhS-vt{gQCnf>tsnfh*mooR%GXe?EhS%&0>{Bc1BGgX_R9
    zXZ0V0T+P#sb=c4s8E9m;2SmlEvg_e%6&A%??l(@`j-M2~EvhbTZk#zeb+3Ni_8oPd
    zEc*C+F403pyv9nHm|gcqXb2ZPrc$|s5QWtjy05@>4H@YV`y~Cv=N?DyO0lmSYg8GE
    zsoNM-<fZ1-m&3GewSgw8!e!Bg<2GS858S|8lU2l**dLUj^AI=Xy`mpuI+UM~461!N
    zFtW{S!PfxSENYe;6*c?->s-6`1U5T2N-PDeY~EiVC)ldl?>6lZQeIVfp@qz=y_MF!
    z2JcSXd-e)S>j_$?=)gWp1{%#r6PlU6oCVA*dM~lG(PxU^NtI_`HM+RbtH5ySB4_2v
    zo;~osP2CJ6KTT~BU4_$8PTpTcw7Ts2i+M$n@BQHiPv(pMb4OTvgMd%wUEa1_@lw+)
    zGR`V8IvOc0&mA3@8?~S2ZEfZH{ZRx5qTAOtdwd?ncM4wPoGr+jncP3ROe3b~+zS(y
    zFu~Ttj14WzK%tXa%`A#6nAwc7Ux1$>`9Lyltk7+kQOnR*NuwQ(*eKsYeixhH1^aCV
    zldjWJ42Q9~y)ou3GUa!{V-e*<U4{M|bH9d?VPtjfsUBJqbog39`mOWpqV3PDynS|E
    zGy>X+UE0iTt&t7He!)`{@VL!}=JeZ`*DK!BLapgJ1+=5EIsqJfpVecWeT#lD2pGTV
    z#Q04QbDA*gi?%qO-ggT3O61M@<A@BaZS%xDvK`JmDFGn+heu7GgX><dmbCNqC@VUA
    z&D^5+3{n8QVO@?I+35Vw)YVvw{+aZ;96azRK5=3-r(s7aQW7o?jz-rUtzG8W`}4ha
    z8iM0U=y_{AQa$HXq(qC|`gl0LyBJ<y=+=7)s>UN;&Bca!(>mI0-f?bYG+F?kHP6m+
    z9efVypE5*@yXuN};F^1F)K400&#ODX1A7*Bqu%p%a#0PKoyXvcOYn{=NHFz$4(hzC
    z>)-qHpuu$yAf9;CBDgZ6t%j@@ghUwF^$$=Qx$%l~_Ba64p?FJT2a>;v1<y#9ok&f8
    zIDS(Rx^PRH!N-VdA{f9LEeSF}b6*(F(IVlufzHu&d%eQ3g{9QLN%rff6VvBIcG4~u
    zhpmk+f{w&%b+RMVQcT$TtX1P7Q442F3GoZwAKr{XJ6&tyY?r|}D4X-%$K1^DjWFwF
    zePKiFj=G$$8p2@;cQG^48un+P5@-90KTeFyy{}b)9j9_r@(AHqz(|DHceE&sv+_D%
    zwanWCZB0oXn4CKVJO1>}TADTgOk~Q(_}`#Ts4_=rfstKZ-xeNvSyaf{)ck5>(U21J
    z7h0^+eXI5KKx3uHUaTRRt1+)fVIRRMu~cY4Kb<ygaP_e#bE`EYl>T$xPn`4qb9H)C
    zw5R5?PJ&<WboYP;F?WhB+2M0N;S}poydhZtx90G*wCI`;M5IQQ%+|7aPQwR``WqSY
    zpcG83qyQbCnqk$g!v>!_4MzX=+ky_B(}rA{dq&gju+G=I+p8i!IoHA(QzFjc)V*gq
    zmt{<O7Fw;H0R|A3^@)HprO+g2e7(n<1=UlZ?==W2ousf|_;l~9@aE_wun==8Yi#nN
    z<>IQfxhXyUb<olD_ISf*JLzuYlW$wuK#X9mLo}D(X?ml<#Wlhgr}*>uFY%91mYUd+
    z5U!rL9`|*#X<Nyu+4(it-?pHIvEs?SXE*LW3og;bYjX&Uu25|1#NR-IQ~t!cb;WcT
    zN}eK;?S~m3zbOQLAwZrs68U6<pe;Mj_3X(c+Qf@E=o{(!2~FFSj`Q<U$LS&o&6E{U
    z#g@f+TJTD;>4b~ySV(~1<01WX@|!y(G~mp*|2{2tr7GhK3v{}^=U?SfNU3k(ZHDE6
    z##(@Oe8o8JgOSADNr%7A9KN=#R^iALbZnpq@_b~@LV3GmoHL~Fe12jpf`GWe*sh_6
    zYCC_v_YC^u=|IJw=hrseD*QUF%U_-S%r1nOFl(m2vRTH8dl#2yC&_ymu7B`*PLh0q
    zY0AEnvTi!sOFB*ooM@O3^|Jihgb}|-ceIFhzV+d^s)N;^MzoBs8PdGAxEk$3bI3+7
    z`ur=H>fXMl#9Ylgg~5SB`2rX#chKdV?`m6T7?o*NU3y<5Jr{fG)*onTM4OaKn>5PF
    zG<n@*9l$decb6sOokqY@$|4HLqt@;$4!P|5o`v_+=~QPn-q5KT>qn>94;OhyGNoq!
    z5}K{`uQk)bA44e(M?ZNQX*+*ov+|=wGp@(jJwJ=)BB_)gnLN(vGnzO25W}D0j!iDU
    zwsp@Ov<iAeOjwouuCzM#{k!So(;Yj=I$kg_|I29nG)D<4*kAzz2h4q<#kM)jGwQF!
    z@hr@|haDEXtuD2S3p@8I-2B&+MST>Ce3OQ+Ki8Y$cIyU6j7N<ASElG(pFkDdip0yC
    zV{UJJeh+?x*j<%=YV_-)&o)08CroMnG~N69zyM7aPZ8cLN^{w~^BaI43NO}nyEUkJ
    zb-gVHiRS3KxO}cLeHLlh_q>*FLB-{C=;;k4r?1YQ9KZsX?*`8yLGq^X@_Vp6wV{>X
    zy0kfRW$XH<9(d|#*t?1jOuDc5X<$NEw$M86T#HV1&S_e#_tzzlY)W~#b!;4{k@mMQ
    z<d+SljFWuW+6r^?LCw$PG&Mfi(6Uol|9M6y^x84MjPxl6?D!1-#oso>CGR|DWR`Rc
    zooi|Ld}2^Inz2Y0du?neY<tpz3F|n=kUzDJP6VO94i#(OSyl$GqB&pQaF@@a8)^rx
    z3@q^w)}$CftL~uW(L<6_kK)@)={K7etzVpN0uN7%vRO2b>pN+;q5+!YgV%?=UKeVB
    zi>>bh9o+O;Kg02#v~}6Nj|(2zOcHm0Pw|?7TQ+;pnN&$avh=68u)2WLMY~%_f+AP9
    z?i2N9hV#cxOjuffb3UGR_-80uIXui+AWmzG=@bf5CRL!UqQRlQ{?xi|CtNkzJ;JZx
    zLnkwq!XL;*6nlAd8PChDCPzd*Y{qq};tz<%(vv_0X?2*;jM>o7U}#;7*6N@DO?*WZ
    zDAif6tTfMQqBMO6-+;0Z<$Lria1qZo>P_)ukp>GZ9^tUHD`|f-BpAJRw@@6s1fjYP
    z$&xSY+ou_ulh+Pgh>XCD>sNM~Y}-hO_Y}yKqZ_qwhhRq%>>#`68_sJ8I!^8N3HmQH
    z6OcuV?u_JG0^==ffbjvs_)M4^Fg|%&<mex#*BtN$6=j2ois(fl??cG`NXS08UdW`b
    zV}R^^s8MX#2jx{DOWolFGbBq>VncCuNVVk)Z$vF*^5eUo6Ifj5xUlsZMg2fuZE9{I
    zABM5pTNY}tU6j2lSTMaa8!IYlMU|67@ONNc02W5+qkhFJ99baUZiW1`SVQs?g2!})
    z<rKN_wLhrqUU;&n9jl~tSvghkj(vD{dRk}_U)lb!?l$!>H5W+nitwh9=}W9FUc)qy
    zfW9U6UG&D9G`+;JdLzcx_%?P<zR8J-wqV<O+Wb_?65b=d1<+35)8^A(puD-<v5^wx
    z`F4fx{1&s07*k3;#{|-h_{2RgT!K(4m^`onKa8j1tiZNshM?(vtOH>!by?E(SL)Y)
    z=;@0D&vWhhPPboMwB>@seC!9+T|jRAu2g`F=3L0yoW9eX#nFjY>d9n#Hui2#AkDIA
    zL0JmWvHOP3hN88Rn>2(q<mt@k>%`9E<8tHt2W=)l$Tu4zb8hI@G<%Km4MpD9J6u5`
    zl<yBo^vgVV6)Ni-w{7fz{pKw9r$t^+Sl4^mXIa&C?{@*c;NC&I=C(3V)e!nk(|dCH
    zH0J=T%ng4)xX5#s#$4K5cBMlmTE;A$J?T>a(v8hn9H;5iYko{>+8=dFz-v&DM%nHX
    zpyta_+h1cARQ6?|FwH$x+nB{sYHO<D_`*lH<#lb_CtAtfpt2U*F$dkUmo|jycglA#
    z5(?ASbZZE7LE|#Q>OvBZ$abjqA+yz=fTmM2Ql!x0Cvuv~B%o-8sS$G_uPl*XR611h
    zJi*gRTzlP&>qlE>#P0)ET{u=y_H`Afi+1TKly#PI=Yr-jNd%v03nps6cqlo)vFrN}
    zYlV!<HznWkTG4JDg=_%Y*Wg(LU?UITvr(JfJ9(x(z!fu7>|lWha>m<UJTyRmxu$XQ
    zW4pqqx*D>4f*vxY0NqygoRhiTk_J8fy5Y1oQ}PEsVSb!!=U44<>>ym^OJC0<(+H#E
    zTf%`+z0*9SWtp758N0n3fAr-=TDh&_P}qiUwRNq;3dJ{5pBS-2(|zfj7B9Vr++)mx
    zZ=OC3UQvgLMSa-54+G*}PqSpkB$0j(vo0`ct7ZFW?Dbwj(@XFCro{p~|3h5<<M@Ho
    zR@CeJYDq?(Zk-Vm`#%4jrXqy|BW=>Brfkk5dK8Gse#rj`wmXT_X)LV8*U$S-YZxc(
    zY@HD@OqZ3AwRrP>WiKW_mAP1@UR#Cav|~bdPOB5%iQc7QY-q(?m&d-r%$Vx%{6@Ge
    z@pfnO)z17HjU?joCi@{u2nKZ$la9H(IX$ZN{9XErnPIjOwwi1xRk`JzPVT|RW)}JZ
    zC$=fDEEeG8>k)WNkx@P7u$pD~Yv{sfh?0o3X7|yaVdHLO4`81!w%UX~j1=X`4?;b^
    z%87I^7e=J6>E`UPlo<~soNnbMgH-q>K9-X`q9aRoVG3^1(+8|>?UU17cB-DZsSd5Z
    z_yqWs{K&S<#qZ|y#&3k%X~CCNO~K_?W?U~C5~0z&Q(bhoTdg$2Cx&`--Sb!6Qe8G7
    z>9jF^p!kUdK9`PG1+#VC0)B0t?r6z=ZGNM5#)?i%mO@Nr+C5E^^(HuS-`^!Bx|iuP
    z=?%{1$7=Re-fpK+xeo4EaRpwKA*42Lz(HpFPn^Y#2N-#1vRtZQ5bA3UevNhP!s<(h
    z8H8vu-iI*n<f-m#?Crf#Z>T^ATV2-#o8U)R@}##eZ>|{B+-p}GW**x%s0-{4M+Z|#
    z`7s~_JFpA{@)IQ$d+=~Oy%asV=7;g0mi@qV*OR1{JV0xaA^nko0s3$`J)OFNr*`lJ
    zimr3mu;$Vh&}hMfG!%ivcbRK-Y|zR8$`Bu8=P|>uUA!`0tM&K`)xvN#a_Z{VX1IKm
    zNsM;W{qc_w1}HZoK72AJpWQ(1o^vBFXLf3MdWaoTo{4>*B@>^!&pnrf^U$?>p!|;B
    zrU|mT$2pNYnt>)iRq6UqE{CkpWV*jM%-53ZRhTnLYoezU-{kX`=?6nAatvT2<PD1+
    z*_h#wBRA6SIsEPTeVX#sJK=0MFy2x!_uLkmXt6fY)cE`cOX#IeSNyK%dn32w1qt#$
    z+u^uI%BApk5%>>O1=_13D-Lv8Cen#_C3hv^G2U7dnRatmJ7yHywxSDEG`R&UW?Y}U
    zOp{GCP1XT!Sh_*?h(S~PdBce%CqmNE?s-6`mF~XUQmy&k*F#n}5$egh_{8J-{)DQi
    zi+m*kCD9rzg=$R|0`z{Tl@&R<Xh33H=tUNUgTDcIqCIESaxzMRbSX-B>NvE&PfjaA
    zy9eB4?WRHm2d3{QzUiTju_a4EHrQZ7MPm27q<Xp6?hbg&E2i5CoJ4;m1AX)TQ)n^r
    z9l&#!u$(aunlQN)4L|*TQ6NivUbFM=ibWdoNaDFEeLpo}KZiQbGrA>GG-*RgQ(OQg
    zaE-Oy%md=4_3O{3R`rg1UEPJ1Q&!q<_`5_TXMg_mfOIj$01cYPQlW@~UEVyo)5>MO
    z&7{rD@NUdk(q1>G;6<rJbbd%8fGKf*7K%cava#=Pw|1E`)07R}BJF#zswmnjUw^2T
    ze|B>+W*rU9h|~Fq%RD^&A%|uWDkhgTlSY}Ll<6yHQi?8)<e}j^2EW&5qY<uCk@T*9
    zllDPN?tLTn{rTG(a&ua!W3am>Ys+IakrAl!gUuqvtLx_S*}eJGtah4#P4(?&RoiPw
    z=_<4|c)mY&DWR_+Mpu-_o7yqvE5Zkzu3BN=L^;w2t1Zz|d?e1%nsL2*e@sEU1$o?i
    za2^hksK<n&(llV}w0^_b@$w7J(K%x>xflGxR--JQgdBYaG@T176m9#CDC!UBd8J>Q
    zv*TorcRbAiS^mmgd{R_xhd$#QfnR@HpIKe(Gn=I(*IIOK$~>rSpqKZoVNCve7jLc?
    z3iBXUmDFfnFo^DEe!{%rrL{)+8t>sR3#T&$Js2#t2YvqCPGb9ds_2tBneFP#1_Yar
    z-_!p`mO|CveyeqCHH4pO7a_36Qo1g9fs8~A&lC;6w7GAml_zrA2z$1hmYC`_Wyk3l
    z&Sru~sN-o%HuhqU8~tjZ6&368=7w3%FD}u{9bbJpd^F>IjFk&)&Vd`jjLX(><nyxL
    zfw#D@{z-9My1Q>n=@?UUm#~UJ#08LrKz<Kkt@E*_7+bP50^OQA(jKk9v%<TnyzDLX
    zUsMxTKyq~BvqXnYIC)03ohEj8aEGT-TwIp4LDYMkRpq}nt_U2?a;XL{B|mF5lQzAT
    z#ku@^2bg2=A)}HirH6)bbO0XZOC@J`+lNcA&uh;o(el8wFRh@yxrF|DxjN!Zjv=1E
    z$l81vJUECDK6{{*hHwgcQjH$s?TV6*%6S^b#uc6{m)wgKc*Xu`CDgc+q`4HmIK~r#
    zZq~$qXeyI!MYuCa>;EzK=5aB8U*Pzerp?wODnyA0scb1N#u`fUjwE3$Au6e;lsxuG
    z@<xk<!CSlu*-{jPY)M5SB%_oNA{4^+oM+~FruXOjef?g)`$x;ndCooCJ@?%6+<Pt?
    z+)90Gz6qgkSr^J1i@*3lE3kGvh~A=V#m6Xt;ZY3@4R}sFPwr;b<A~%YCC@@b5dTGk
    zW~>DUc9%aMAEYjp1jaVvTW?>Yx0CTKUgbBJlD>P<-ehrex6}b3e4X1Ci~ExlXeds=
    z#kBnrR&~={BdWqV*jID&8+5Ksd)-zlecth-ABbYngk%Gk{1kwhV<&o{jRb$ey149o
    zR1)+tRbaRVGYNavsWK~YKuLWUAa4^^+R#gMY3=6ASnHK4cS%Fhey#N@O60V<dtl^)
    za$cKz8sX@@A^Kr<^M=?ILk5Rex{U7hi`uR6N(rR+Yc|PY?!x{E%G_`GiNy=UNxH6g
    z*EOh%=U=vSheh!y^U~Ke`V{&dyYxNbWHZ_$=jLOa_F%Wrdf;rbv)1sQ<om-XycO)C
    zMf$80a;qFfwlj=$Q4;d8Kw$XqQZ0R~Mo%>S>#732jx$&hl+VpSh-<AXdBPa;4Vo`w
    zLo~$y<oyd0GgO89ixcnB!L8UR_q+GQFrP`Ab&}JT7ItNHXKcAI6xpL-B^#5^u;Y~X
    z&~{i(nD!=0Ls6L4D;nJlA%&8JUs+SAeBw>wI@G&a3!^(CQ?H|k(^&h&LSyFdOCeJE
    zJbiSb?@*AWqZ3j%L~=snCbFEgdvOKedNn;}ssP&2P+KV%!KTB6x7XE=&bUvS4NK<G
    zoE15{8S6%G);X@iY$VU=xa1Pq0UjYhJ7{0CtrK4HLui|9zN<m<4yysaR{{j0b;MaW
    zV>cW;-x5gz$?Ln^Lb;A3f~ne9uiC-`LJ?J6lkA&880DTA-?k4Ywd%;V)gD|6a)la9
    z4SBvXm{+?8Oly1w+gQuAoZy?dHGvc$y%Kd+74$-@hFSu9E_TX=OgvWo;4Ut$hsa$>
    z_ECJb?!{8-^2z;{{SvUATp<)lx|6Q<k_OJ~>rWPdEtkEw>D0EN7DW~+($T9z>Y<o6
    z)*hwZ-R4UcQf)tGd_5VVHTkdlu&|H6Rd9W$=kd+n00vW#er(3GwqX9|i8~?ODO)=h
    z15aAk%i@whJFKt2(HC6H7rYgMNRMQ2kvQA&jWrg;eVm2t5oV05owS=jySGGHl`#{g
    z!8Yk~l2!fgpOb!TfyZaFw7TxM<oSoAfeQwKWPR@*G`wAJ-o&NO7q;So@s>WPMrsZ<
    z&Q(Woy)G8W=oFdz2-hcLl0Y=Qh}9JlK&C3|Fw|Tqo%A6|g=s^o9}*IYihAEpA*E@Q
    zYLn7F;rgA8V=#om;Wy=MrUAIqZcny_(n%I(Ck6wX>?-#Cc!8H;70k{5up1GQM&$?<
    zwluIAU$Pdn^(J;LTWAL1w|@2jA6Ar;<5gh-O*AfYcH(e-n>7q)NyrbLHxP1O|I!6Z
    z@@o&%>(pRZ{rsNt?rYh4c2lG9%zRFWp2xl`KQYMP!jgFo$-H(J*Voh}dSsTn^gS-0
    z)rYA3pFN?JrhPMvkTO+Z!c*4R5zd>Eexj*?<J6g=0H;-IU`yxE^C{lW$C1P~`H^Aw
    zO<i^fWFZy31rkb-n=cLM2a<mljw1Te#@ULMN704nbc^z{gQn7fX?0g`fjh0~cMZMJ
    z5!`Rixm3n?OM({7>~dEionB!jkf`$*6$(a-Y(>YcyuDvRMjNk>(q^~(J<nQ$`O7Ec
    z*iNCCt;=k=e8~u~rQKnR$^U(RL>!jM4~1j&Pg9|E%-sAieO2Z!oUjtmozeb(^Q8-r
    z0~)z(Tf|->HnGf07bY}ZZp8*tqE-W{&+kPu-p5%;90dcCK7k^2=5x8TnjFe5#9jct
    zMwzj>2jsY9b4mJxO;H;9%{NoPJw?_LrjP=v&Bvg_&GBMStYc75UP-jGJgO}`)SM*{
    zjUm%5EXR1HRnb^-GHAH5G#=UNibu`U>VD}#U*a<O(F)?SlL8T5LV$F&3v^It-j=%{
    zU1W?bU1koPBo@;Mkn|s#sD^pXQy`)1l+B&Z+JiX-N^CpEqUkumcW76k$nnEr71lRN
    zQg@>e+JECHnm|5h5nT>adUk7{q5uu3#_pt@2Ka6m2a>JBakX`vb-mafTe{~d?F9Xr
    zeWW!^Aotu*+Fig5{N~Ae(R2f6ZE$Bd8P5#DlbofmS9MT;Mcr0~{P0YC0g4%#?}3`A
    zHyR<{_)1}e&VodB=4rWy8tZ4J5g}dBy0h#Qd=#>L^b536XYQugDd>y1jKy&C%VsD<
    z=0>?RiA$FyLg|>mdmIdlhZmU>8IS0(gA_+&2aj)9P|b`ujp&EHy+(!q+Wm*cR#klo
    z)7&K_mn`+6orTis@@YsJ3+sZg3v*JV@%<w1<cVA^#rx*ju0wD#ns{^2U7_^G`V6@x
    z+8$`SrVp~z*MsoX7By)H@`pkF0|%-z3$iYt07>~JQCTP%IVa)=vyR|t4ygv)IStK4
    z8zYY^&;>+)o(jzBU`#t9$hlURR3L{P4{X+aP~dw_c#VEg>L(Y?bcJYs(`+F!PES>V
    z!98#s--aN1ZHoD*4-YpISvzZfBEPFyHmm|uu@>OXb$<(FG^5xCgixP4*KoK$Bj+H#
    z7&TlK>J3PBE4!!F)y#!OkMK2J5W4~bpPC!dgc6-PyL)j}B>^NhdV(#PrQ0RP?|ng}
    zS!6>XChP0x;|+WViPzda=k>5ED3RX@hYd<;ckV9&((Ino8F!7DP=`Ng<(ER?)<RN7
    z@45Lbr$M7gAmCi&iSYsZmhf_lJ-&pY(~GGT80~M^fC;Iag%enWI63Ljq%7M1d{|dl
    zRQe!QPJNVHI~+Y#4_T<DeVUN0L!Dx9vAIvAXdtAL2j5T5v~U>u`hFx1ossp9x?s)L
    znf>C8QR;du7Q5uEij;ko7cyZxPC%>oMG!;GoA4EQVB$8JfVJvL0ct=Jf~?ltnT-RP
    z(WJ>VZOQO81_jfG?9SSa*M`XCc_JA>;!f%PdvM)|!OX+hA#`vWZJwGfc~hsbpKtmB
    z{2|AL=5Z=&wkm98%fpR2yKFArh=jKk@MyXy&{W{1JM7CdoTja?iy$h-6J?TCcfBXL
    z%dG^id|rht>K{Y`+CF@GM<D7~vp|h0B30d5kBhy54kJ2ZkId}vmo>pqNHW{#U-Jb8
    zF_ed!Vj^J9QaUGr=xw@jb^yM0pkXb}n48baLPiTg*}Qk!e_BI*$<F>P+`~DSaD>1{
    z_Kw{HA?<AOM(wnm(^e2gm%(64J>q;90yJ)_`n4Yol0BG;|Fe@?Q}WY+5LEcP;2nXu
    z?)(^s`_9R0it$R8_TXKes}D|O9>#lCH%-GcnzI5}$!Y9+fqp=8fy~lSZ>XM7bSdYt
    zinKRNpVK%McwJYRLxv$8{C=-JCZ9+$)Y{Q#j_*Ib8Pz~7HK@!|b+&-%PSXq$bu8`%
    zawu2ix-QoAneEH!h9rQKv_xi32M;2(Oe30BW2lBk%eJJl8Mx1@4{MC@)_b}ZIFSnm
    zc<A_qk`)YvXpEEG8f5KV-U(R6$Q-{qqxX3%_deDEm;S}KSYH&kYhoF4;)f3EpzXP`
    zw&x+Yy;?o$DGl#B5lCj@l5n$t1;bp+hldM@pwv&HKYW34qp8f=Y|xQ*C<;n^N+a{*
    z(cXW`J7hj?2WAQB7+Lr07po$rB{tgd^W*pEGuwG#gvFD_15Sw)G&IoxkDQ^a8!`2A
    z!J$8ERTP3VOGs_hYAJ}z32XRZ1#so^?{x>cy#V+c`qVdqknO@OuhGb+hP*$RsbZIa
    zSmoJo-b@Im><4CeB2F6+pxOJjY7ojEQ=!KwY?m2egy0Cwpna3BkYM2tyZ4u^?YXmN
    zSP<S3pI-{~w06!JBByfJi(hQG$!a8&J!<8np#?Lidv}Hk@)f`={`QULM#<LeE0#4|
    zzL|unl>Xev&7xgh;Y(P4mgZjmNy}}B3T&j2ob-LT+_FOZr{&;{zB%OhQ0aB=sYj7o
    z{7tM_T)!IU=iE8;Mb_Hv`vMtd8^V`-B>_=$e^Iysv$fmqZ(BN+B@}8k2!cHvj<3hE
    z?h|dy100(nnlEq6#d5c!(e4pjW}F^s0i~j7Projj4H5xo?2hDTmYyK?Wk-6?ARzba
    zg^NJCLH>MgZ1zt1^Rg39E?vRxZeJF&+)-GEZ+FoF!|UwKHgK`(>K&}aAh(Tu#$m+D
    z(YlP8Mpvf&u)2$N0m;lnt?=#h(%$&hNqW)MdVueFv~8o|ABcMPEwpHioU$+X@zw_E
    z3`AF7Qm&8RVmtTheg+Cm0r2p_9XS9#x$nq976UEBw7NS?*9LRNaXAo+kayXUxc+h+
    zi|!v<CSV3Bn9EK6oZm+vWiK!T_lmP82q=p^_sLodZiuH*%og{-h*Rs?2DBM$=W$!d
    zDwOkD#S~AUsZ)A2`e_*vf~rV##6#On@;iKP8m~}g3ezXH1Gd%>27%F~q(w=q;pv*t
    z%pQ8d^Ia+SLx8<MkHvr&_M)(iM~0ss3X0Q)^7kzDB`5l$v-r0E3hf+%1c#J1&`a(z
    zneH>}9XTBN5qM(-wszm=jDuu0=3BIB6DBglYBJTC{U{bi8x~q-xoxOUPMHz(V$bD0
    zt$OJSfA;6vJ1p+;M&CNB?CBp*=ZvSC>2cy}O{YtGSu522)os_t4wANVw-w$N%{MU>
    zZILX!w=!yY+i`~5#||nf@;H3$xM#$_AxvK(ZnOdo5~J?2&}jRi8X#+x^o*^vC!6ku
    zr?!sKERMd%tH8fK{3eT*H%X+y0xg(IK7;u+WA^|Et%;i~l&;1ZizdeDDJ*xF{t8}v
    z`9-L&1l-vpbG0|Gr6M|8T0=Ai24Y^(=KTgr5kZE_!n9VH(UA9M-gWN_w*Y;(%#LpQ
    z9&ES9#(3><gstqsxX`=zc7ud0u$WzRF-K<Z(Iv1;p26PdKVjL6D6%5SJhR@|6&}o`
    z3IFn*-MIVo#^MGRGADocCxNt<EFX<@-M{^X(lD~<=XrR<hgz-ooi_tb1KZ*bPxfrT
    z*1M<80?DA3eWtLOB10Evfi=4^J}A5&X-=|)Fzvn8gGB_Jf){*N-1S?mP0#P$Je}*!
    zxCXBvd$}o_AnPXH`S<(pl4*MC%vJJU%x^C&SsS`w0XjrF<Bq%N?rF2vx|CfQgh1S7
    zx^R@vn>@51c4cp=lR`sU$6sM7xW|t$JHpm@`gQgUspKNfYPy34;r_vl@@Uop+b>&;
    z?_UiM;>1xrsZFGSDa`8C2G~14p?>`i_DVy%9AH{7-n4RlyioK}KAVX0x(ov5qta4;
    zRFztS<S{Gv7v=w8WX$f+66N6y+)V#K8@7PIv~X{yKJbNA;uoJgw00gAik3HIDbUP*
    zGY@Z*>)&ibvj<an&OkqE$TI%s&u|P)nYW5jjsT*Msot&N3+oKp-i@P;m&LU2FD4n^
    zhGyIdmg~80)*U}x-DzXnKrTB{uUCa##)oSuavfbzfW;fHX)hxiw_UI2p@ApnQSjLL
    z`<fY(1d{fsEk$$m2*z6!mY{sru~z>w_-rryirp3l@a%hcO9I>!y!bQ75A#_2N54jI
    z%uw}Bg%Fx`SjN_w+wC2b7xzXeVs|v)%=ma>L2E!!N<Q6WhXd00uU;&wg3MEDn>Aez
    zLT|N85FDL_F#vwD({n8O7wLgrbR!H-QsR#!cXq#}f;Tj)$-&<KPUOoNw^YMHP{$q)
    z#(%*Itw8i}TjA2z=Zolngoy6P(lkUMoyGRqlwQ{Xh7B6BnDnA(hHLd^s9>p3GELpS
    zcKz!*;w5*RCJV_YV|O9vt675@=0T>?MNfm-%f%F8itLU)|K}SC8k@CYZ%;L_XJ;t<
    zS6YZ{xnG+8USYgq!wGZ`4+a$VeaSA}H!X=&X9A7(zPRYrhIuP@G7Ij;(PRZdhP`XF
    zkR@^*U%j3T!2vV36iO*i2Vf)jAd+c_@PmG9uwn-TbxD$Rw;$t7C@}o3DZ7cc>afP^
    z6!;W{D_Y2soX(SMVTKjmvd-8*6T4x+ojgnJws&XYDEo>M{4>kK+4*JD^0~jEzNb8v
    zEW5I~lhECs^+IL-=RdL2g4WSjp-+6a`eUIm+ONR2y)ERNrWYw>oY`>}`<9qg5cA?Z
    zhL_ZsIVk=fm1n=={75u2H}gB-Ww{=Q)Fmrelg$`$=gsF&tP`${D~a)%p#jb8rLyP(
    zFp(^xN`{K2e(Y6gx!sqt-|Wd27W?%Uv}EkSg10`;x<f~HWJLcJd~q<jy^Hv=P;?$`
    zXkn%{_@AzbVmZqV@i&7h>;XXZx=T<HqzESEyK{HQxHtDMt?A**gh-A1r!rMUzC=5k
    ze|-fi@4V948*ZwK@p@(k3G%2O9jbwn-m#Kb=eES?T~d{(kZnj$Weqe#B(&F3bgvf@
    zLrt2zE7c7*!Tu#Mr0qp)TZv%}lXB1B7|JRY&f&|`(_is=Ji>#{W0dpj3m%aI$pTh{
    z>@z)Z20M6ec3lVNZ@DeAua6~E&Oy<tLfY#tiBuE!Bwm;#uVmUEGqZ&Nckd|aYw9Cw
    zD>Y>28msdI?GQpvZW_t%Wgr{0wZ-|y)bymkE+dfpAY{7{**;2zTQcG<^`{Q4)$iRX
    zT(U=1%ushY;%yhKP!rulFhv`C?A5ugF?v7oT@yhtGrdww6(d5vo@1ZNo8WdtcbV@k
    zXv<ch%Ai_2xLHH~j){e6PH7`~{H?91Nbc>iXIq3R^`H9_q`hz?v||U3wXNBanhyti
    z+h~a5dBAZ5Sa(7(nB8M{l=zMInQjY?Y$a%XvtV;}I4qVguc$Bg_?m;Y=T`~Y4SyiL
    zY~iYpo@c<~|G;eCQ8Lift*#5RkF|+!X|K)=oQV&U90>_F_rKYmp4fo~>kRNCskz)=
    zj<RImn276A+8lnI*;cwnKJ6n{R7+&ao7(0TfekDYC`AGKSK%bho-xMd>Hf`oRon-$
    z1DGI~)(NSWDX~Z1cVo0zmS<iXfOAydjCtxU4d?5y75FN&D{C}bbNt@olXZ0NSKdU2
    zC%7Gt319jL>exgceR@c~_R!A0%X*QA=5|<O^=zClqxV6Dv2CRU(D{@y2gp#&f>Zn0
    z?H!$$a6*{D9+n_9Tge-pPkG`%|KO6~72c5&r^?7F0cHz2QMdP97;n~zvLHHUN2ZR>
    zl6GchvZDPlcMe`OLmLN<$tfZr>6Hm|ZQG5(5Y9$&l1ZMKD0ivi_$q<a|C!)+3ysPY
    za@e96^w~pt$%rS961De{mY9n<@iFK33hUc)EKQ*Z08h=xQ|FS!NJ^KFnCIYT2GMym
    z?V}INYvf86pWT6#Rh!R#!kdH@R|FR)C#%4D`SXYgF9I_=f_F-OE9(TTl7$)Pdg7w8
    z;HcoJqNo@_JsWH=fA&&44T&33BGqBdB!dD#Mf0CRf#kNYX^+8Oaq~E)aFs&Kn0m+W
    z{!M${XTk?|$SYaRM>8?4-2e177K`URP!{b71o+U$PL4?01IOXLG0(Io!BJjjbXgAL
    z{VPCWkM*V~)PPWVtWCr*?NB6&*5pgNE9g;qvlNag79!1Cvik_!6=$&tZr|a!Fp~Qn
    z!B+NeO6x^tM_js~yB5DtVhYdPQDSQ9Q_#+uEmBF()wgN!HI6MT{5a5&xzEk%%xrlY
    zj6kKa2^5ILwo;LwL#NLi=uL*Ao%$<ySfJ$>n=#B)&bKiOQD>52=yLUNa>~qlDxX07
    zAIz$K|8og$5o4DE_&gOs6~!&cRCw{oPfn&M<MhQrqZLw+ZBUX~hHj#-X-#EUMbwLf
    z?%InqP0@)KAiHfU5XGak*2V0-nM7gz1f}BZrrh!Cq#N={i<!lex_H^V5(KGJ#K8n^
    zKP}ihCQK2<y6-$3fJ)7fuT$x3sM`>(A+qB9p;W7d)eH?o+Kl#blYSlTcT%*-hd1q=
    zb`O+}Sj9{DxpGPrf5Zp|pVesi_f@EWv;3J1O81m5TJTQ(Z?Pj%y{@S=TAnY#>Z17S
    zjOjelzbll@&Bm)Wv4!_X7&irNd+l(^kYWQv*x|$MS6Jn~&0$dYe3<EPMG9pYg^LMF
    z5!U)d4)}iQTV*h;IP(4CFe|(M1&XNkn>_zR9WfZ?&a^Q|ibY%n%SRV*>XO(iWo_gd
    zxhy+eL;7yW{cRC<{QMH>L7a%Y^4=D-CgccZ4=>|Y5ebv!t9Mb0go$mI{ikh9o<Vrx
    zDYGN-2Nk0?$WYnEm$iuh?5f2FyWV6o*chVIrYm_9E!~ysS=kjPc{}HA+EKE5GJfIU
    z=Q|p|ZK>~E+^#;s?QBfb;z6K2m`Ht7d6hE%@zWhX(`vDfw)ZJo?v&sk<`shao$q3j
    z6H|Rc6}>v*BD;kZUoS>wPdAWW>3#?q_f?3m*cb^fT{KsrPirGHyhx)-M|a5*Vc)Nl
    z^agS%E#^1tSJ@sVjpUgJ7<`1jB~kZ&x(5$C&+d8`!-7OrQJhk1hU;mBr=c^MCsIo}
    zwY<T`hYi`RRWYiUj8%%P?bthh4}ETT)14jA&hYfofOGTa+>tX^y!6U5MFfi3mj}o~
    zx4kcH49@*IRW0bzko_uj?!R(C>$X>(u)!z&J8DWW-qnqzkTOML)s$1d>{5lk5PP+t
    zE}cAkfobJa{WXFmmp9&fddiPr(6=zGb7uc0*M(3$DvwW85q>%RYVeXPi3(*3m1>pB
    z5>h?U9&|t5v01ami`DIEwg??!3sR0o>&~ov`<Vv%cdR{)`a+j&L3+iuk#?)g8#B3&
    zUH_Cec&2L4Jr&0<*{@1R+b1R}zP(P{GUQEKi`Hazq*3?Nq|xaChP7+<#DwFj`82yI
    z!azb>Y1LzKb>3MQk9KGJ%9zVz^3q?0`YAfLwp40jtM?th$-yaO@(lK<56j#ZGYPSq
    z9Z7g8?_1iW6pZ_Z9VN>~=Pa@MN2Bb*apI)Vl>$+0H<ei%X7Mhpr9T%h*Y)pOc4+kk
    zw}u@h54OwcXSZ$3pTOOScl@RXuQb**Hk}*rQ>r!7Id8Vv5sy*w>?Sj;MZbq>UT{Ux
    z#DiGFDJgY<*^v!%6a&>!sotZWN{sJ&2*TIUfl#y;)>JWcGgivx*tB50Z5FRfKE6s{
    zYPDqU@ISj!YY^*cIh~@tO02TToOvvrcrf~=E7Sj^>0Hm?Vb7cC1t>O&x>A%u&UfCN
    z$u=2o>a?d#P|+|`Cl+b-IuC^Vv1oBW{MB;EmwN<zC#1TWRu;u%t*po4F*_wT7Y7<G
    zFRaa3wCn{I)D1R&_h9eD)EeDSeM|$pt?p<YJTd3>Db$GG*VF!T2$`jl!|;)Ju<HE+
    z-A@re`>oNPKJ@;+UKQA%mxUa(-Vi|-4?ewI@nkl}iaScik8bXy`=YJR*!M1@U7syd
    z3`6PID@%vrYCLiYn?XYRc1cK0)cy1uBie4dN21kR9SX*qB%c+9$dTcVstd@yv8_G|
    z1Nj{#7N$;^jnKU&8M6O6&N3lfv?8->A?c2^BEPTd;N+b5)MAc%O3@QEMnAo()5GMr
    zWZ5l%6BHD?syT>t9=(74_FUXYMV~oT-bT^tZs#($riE;n^+UJL*3W6-33i6UIf`nv
    z;VY~sudWVaL5oV&9h}DI?N{km+~wZu%Kd8<j$UesgW3Ji5(*%a1Dsg13*Wb+<S(gE
    z>w|Mf)w~8fzyE;t2)m~kt;3f0mi=v78G<7fzPV*6Mst~bq0V+%JC00t*yfmj8I8I)
    zv4UzgFjmlCTNcka-|=g&yC2O@OExt{v(VtGB1~aZfC{)E5&D@OC4)_!Fjk)_Jv;d7
    zwj$jD{q4H8!R!vy$K1Jo1b>UeqKCRDo&eh%8dp9TtlQ|u?~DmI*2Q~0x-Bn>+Bf*+
    zo?BYTglyY|jrdFIr1WQ^_+6y?PqodN*<I>x#n^6(8D6LPdwECQBLTIFc}ONx>PfN*
    z_0-F~*nu)Z0eMxc>$bE$(c@sN<*Dc9bdgiSR5ab|%Mm4cF~Kd#>`1S26x{xptkVPg
    z7DuJ7-V)>2@QKc*vF*!!x+hxEuH&#6ljql9i($r?JoHcTF+)9Xk4x`SiDj@-#Bqle
    zkgJqV6oeRfkIuVQ<2ZcSm0xA*4!`FmwJlxV<#6^Q;SdGdb@Dae@I8*<ELW1(Y`SO#
    z<`Mmb-ELt)fr{GfJ-tfrtKzinB419SN0;wuj{a7ouqq+u$A$>vZ7K%@^yp?h#-aA_
    z<z3!oVbtQK@YvR&O8;R!l4hP%n|OQO_=wTXw=UZ;ODDRIO;;F>VHf4_Hq4IHjUV6T
    zQ<LuJ@Ogjgt`0Lz8F$OKArn`u^O1v#MCYJT{Og-?j)A@p)H@VDbq*2SZFbA6IuWln
    z>!ox0p;pU%40|G^qxET;tN-(WC*>n+?vHjz3y@Yh->!;_Z?`Y#d31AXLaP3=*{u;A
    zo3)dY1zN-1?IkUCO4)uZy<K?028Tr_dQ={aTkex-EFWjMU{fxnpxac`#OMawcHQGs
    zR$bD2>s9Kc5DY^FchLm*9cp+s{*K>Q8FdAc;4UM(4WHZX-m?qmix#Oq3ixN<{f)yc
    zml!LCwbX{CrM@`**I^O_VAQYo+4kqBV~FPa-tEo}P4gOFh_rqF#DorB`fRVlIO=1S
    z7R&7IV>h!RzQ=_D@y6Zb{YEzjRBGHGJuI<tWY^=ZUn545W3LtMa8$HdmqO(E?lq+1
    zhHvlBwTsL-9XD;pg=O1r#JfA=(Nla8cCX+j8gJQ9r3NJ-sO&BYS;k+I&lx;){pdK_
    zvD?LMF;nfYSMMEn>+Mx`UjjZ_CO>n4e<AlnpVsD8r!~ID(bp>6^}}e#USS{h*{5aQ
    zy0|&$-0I&0;>UD(t3xy*Y<$$m&P-qB$c1%ii_Q5zSE6ZLY1kk3Cu-=IPownUd)3w1
    zXY8jn{!V+i*W9_hRq%RqxgQdKb9r%HgE@_Hpk!<`2BYEmuQtnl{K}KBLL*)~=0v@Z
    zj0}zb=~Z9#`;Yt~Jf4X&xBH>A@+RXw=rR{YfBG@EVE{|g`95|hR_KCa6pMYL&rV`L
    zSNssKUyz6<^&h#?SMvs+o{GO(8m8h2m__^c{--HE>z3jmAGzGuGAhc2j(^cN8Ji*G
    zK4&W|a{u6OX26eUp8umP?(1->i~c|D|NcyNKCzc38x|kEpZ`d}^e)IWZb4?yG<qk&
    zs>c1$h7&@V6n^#>o%&!K<3#URX6WEQEi!zHFY!84W!CTi$7hT)diTO^PHi|?smRp=
    zWz1Nz;gz(ixmch3N}N@mgYhBbri{F}ucWk%@_*X@<FixCd{;s#z6NDF_s8{MlUm3q
    z-c1{(?|z6vEmlJT9>YN7iDFJCtkR<s)A6MR5v4cgvxM6V@IM{G|D#9lGilX=_!dm+
    zxZ)uVC6m4W^Ih{CngK)QW%~Zp$Nz0j;c+e{LWw8(l+w5PHK<9~3rbBEJ7Z!Y`VY#M
    zp?3?&N7e7}FVlIHKiJm;itqSO>5u;}PSg?U*;~qiQ9IzuPmGD#>^x53XYbt9<8l4S
    z{}@d|r9|3)nrw*WL~S<z=HBm*4!LzjGd!|67j;rh^^4KB_+O@%1;68SBkkRc#z~;>
    z7;y)|e6cSxvg|L(mNj=og?RUcol3yHm6;B0O};F0Usw2Db@lU~)o*KT<QR31`;cFE
    z*z&(5;9hL0G7M9653XW%z@B{O^Ggvdp!B?|Q;-YU<hHC3muoG>|Kx37(Vjw(z1(K1
    zAwGfMW_X@gB<U32*SyOwz)p_)qRpLOJVX(&(wFt#4~{+g7uURu^FVg>^!WX$Xnqii
    zwz7TIyKm&vTndaJR=Lh6=;$-)@v=o2>vL!v5$()B{GefOziKUDHvQDGgCz@)h^cS$
    z>m(5%Hu(>d$LFVA5ilLC`DGl}8R!{)z`vR3OBG6{W5yrA=>@voVa4}l(0`xung72o
    zFZo!4k-YaIKZ~8fS~^y-6Bm(8ns=%%glBobg7n>}p+^NfdVuw4OM02XH(C4t5X*jU
    zy@u6i?S(hLl)Re%Gu2}eS`Xtar|DNk<Q4gHjeW-J!ix9!QZx`{>UH)I_fCtxnssw*
    z0%XK^*Kt%JXV&AqhiI`cn%RddliuMJ&SAb_SI`16?$l$&!~(KEW?glQ#XlTUSSqvb
    z&9UUZ6E&BARbhOMs<oskoj!p0-eP=5Ap8%yEJ?pX$Z<M7{3!h)?$hL&^zQAc=s2W@
    z@JS@*nNbbzzw$m#bjHuP9s_#x;2xsive_)to<CcBSY&k~Wn>((J$tT(_&r&#_src7
    zpK5^m(>998Ne<nV#B#wuDtq#NFv>#OUOpbc@1g%IehBOIXO(4fjWv$8JMSu%^z^hW
    zZ?X}j?<KZAJbua>JAM-`*w9`e)+Hhx+2^fYEqn7F(xXe+kswZvOXWX4c;18T&_!;x
    z*ITF{=CS8cWXu!w$@X?~RwU9Z&OXXN3wSJbl|CF_NCWe1EwaP4`n(6n`h3A)LHd`R
    zKkIB|mk7jMkqduLMGL0Qv<C^KIB5toRuB)DR-&Q7^}|!o>f*d1Z=%rh_bSYWP~V!y
    z>5#sUgiv@8jeX-Z<!oO$kH!vjqXjGU@V?#7yYZLTR#p#&g)ez)LMkszvcof&THtxI
    z-`VR=(btWA62niYCc`2VKx(=T>w?L}dee=42_z>8pZ+6f<|WIj{L|4rPo(%5<KGrE
    zz<b_F!mSHyY}WFY7PBRCCS;^~f5Y>TLTLZT1aFqfX`}42ul;h6&h@@8B&u38Sp?gc
    zc(PoR>(4E29l<-&(brjfi6vh+{;#_&AM1mUG1W%%wE-WLUGT)>`kL7pJjB7%?2c9!
    zxfiXneZ>#Vm|K@fP+mKbj&VCYv9hD4J-dTV@oZ0LT~=~UClXb_daaULMiU)LEf#<)
    zNg$`>X*Ga#afbp%^K$~B=qYF9T-e`AHV(K8!J@|H3)J5u;f?Pv1o75$i)~a|Si5Jz
    z(la2_rXfCS+Jg72&hC!kQD<b0Bo-_P!T&UNcDlSOA1irW?MJpRZ+D-)!)j|DvEAS@
    z$!e*y9rq3UyX}K5t=MnSv_7@o%@b?U`$Xr)ECh)m-kTP@WOwp#kBXBIrQ*FC^o=KO
    zk29QOrAW;nmN6YGHJCBf*YFmGqj*xPDwoUJbBl8xao8ZkC@c%a)1AKyr9+YP`u8UP
    z;f{HBaUePE)$;kqujP}exphc$jNIe%2xWf%Og(#FA1vOwG($a^PtWlW5}u5}4OQbd
    zNO>^*zhk?C{?u4wi2mPEb!Y4h1k00qD%Z0~UATv&ropF$(u3Zggi_K{eN~bLM%@pN
    zeOk<GQCjtWz81tDyP*wo5lBO41#r(pxC1-d6h`fO;ctG%mR={R`JVr*!5EV{-x{Hh
    z^kz%>N4o{~3kI(#{iC624m**iJ-f{hBiS+}LPnXr$#Rn{u>;<2!Y#Bd1=7#kFcsDU
    zwf!1i-wso{2ZER9v<1|$m0U>|Pt+;9Ufd%P|Cu`%`;9(#2D7FUj`uQ9WKhvpT+ceI
    z26un#8V;#6*j9)7dSYH7S^7?CiScK54nd8WM}sYfJcz8O&nsTf_0}`+{1xcvp>TrU
    zHq<HOM6}){&xt41z{}?ZUiCqbx^*pb!eR^4zC`n$MP%M(yo$8ayCX>Zu=2HzUnj;s
    z*v8zdFDAj<C&3(fODne@xs5F!?&ht+RCmRk!x6Mu>A&Bwf2IpYOJD!+9s>lgM&e9n
    zVj~xh6Wfa%f8*<uXlq5+aStikM9|xyZ&(8(VAeAE*Z4E*%89K4@pPO+`vT)3$8b5W
    zEie8Ly>Y(HLBPD*XsoG=iNCCSYuNqSghaY3Lfi@x8xP=hN;oaS?*|Ff`)h-E?cQSg
    znr$EY8d!lv;h{TNX9`Cq#;{BKjZ%CE%%#s#);35xubm1BfA<rePbs}Yc|1PkRWSlf
    z{}d7pOIR9O#0t!%C$Sh$F@|KNA;<&Mr}e))2kVnO<2EILiI%e??!P7}oOJrB3Njmw
    z>l_Wx`1jq8aFAvOOZmJ!$JUTH(Jbx8vj`cJh-BC<{H_bh*RHnUzwT9Qxcd$RRCT!o
    z3Xuv(3*V_U!I|N72#Q%mUjQS*nR-4SU+9#({R0_Ulh8bTk#d>w%-vlJom9c_=1aa0
    zQTUAAXhPdiLw8xvC9-7|B`05H!tu22z47k><cgA3`84B(qW!|T@^7)j42Pqtu*?>x
    z21^#=yuola_-_n)nnkNKgrq~0hj>evQh=&cWAxx)&=eu~U@#7r$F1;iP|zsvArXIO
    zbDe<oH8(HNQ6mH!SRHHL?JmzxAc)8oFT)Xa@E)RI^30FQBLEkw2lCT%GKF<pL1)v+
    zg64|WaFVo;G@Vg}w5L?uP2Nm28&Bh3F%*Vm)rEiZpkT5C4Oq6Vf9a$Tc`rw4LlDJJ
    zihxu)CGrk$3#yZ2bm3qz-T{4*MDcjlOk6NYoV|z4ir}z7a?wl+h*{^nLm=5iXii@K
    zf%SEU%daM8p&9~wHDNN5=qOi5_y$+Li!_(xHysgy^YJ#2MfU15Z8mlC;$$N^Zg~q_
    zrricAUxs-?G0g!!3tP2^<oq?fz@!czXwI+iK!bkyt>Z6n>(#RsenHy*M%+gMbL(H<
    zcJP?2{v8pr^YGNF^St9?-jrWeVaA2}K6<O7VE6kb?B@CbWjCrA1@GwjBwq^-*8i&x
    zwKRfH*5;>Q#-poJlMTrnz0m8<4RyG0drSp>$gTKiP>>>}h^flBpVL5xbujBtVzrIO
    zkyYm13S6FX2qf|U0YSeLAC}E)-*rc9J2-e>ft`uoMC-Pd|4gl_=My;MoZJF1>3qH~
    z+BWuq2=?#w=h1IOq38C)PxsM^xppB|ZBFiy)Q#(1YW`uSKs5T|K>J!D%K#G{@bLn`
    zuPrSWh>8V+979+guF(Fgv)|<4D?c4TwNjAtrIuYJTi^0r$#nyVaI$8?&s{{jB*g{n
    zM*~m8;i;pfMBL3)g$Xa^L7Y3`B_rX#cuvHiZ6*+fdMDuH<PU6cL`jY8-|zr!D-ZO9
    z7?%^;ax%(kNG4w&F_0rdYW-n`K;+}SibL>6tO6l*hk3iOzU}4;Ivur5g;F*)&Ga6N
    zJ@`Gebya%2d!xpK&fg~shzmK8Cjz-<b6G|_X+UP)4`S}(i9E3(4f|2k7Az-+Q2t8P
    zi6cg`KhhI)k`5_gtP7G-@v7|BFL`dhkk?;Ev!9U6c+O%w6i3~9p4j5MDC)c$_@gbY
    z&^P*3t3pA>#N!Kkh`2tO<KG_RzF>U{Jk$x@_0nJ!Sn#<szq*sE`8}*FM5m`u!ji+B
    zBbdIb{1PhY?@fP$i4%&P%`#ZK_QzU5y{txZy~ur^sXVqeq`9zdNj?@;yK_}3dEXm1
    zCJC6sQ4_ksMshDgiZu}C%}j<zV-R833MzxK7-U--Y#V>>=!mz{qXXK&gEYB#54qHH
    ze8qefdBD_ztm@_B=_r|qj{KOB?TVZVI>sn@b`fBBG650o6fWS<FdiSK3Pe$)K~3T+
    z%i9w*XfNOqq?+dm<bj90gXZh4px}Ix35P(s*~bWUx@wyU<p^xa68+Im=JR&aba~Qw
    zmmRMr>Z6WN7Ld&bQC9>hqE5MXIeU^CeEMG83bxW(QT;7Dbad9PQ&PM1g9lRUy%+aP
    z6N=PH5y-CHB4t;ew*_#}<G3o^Bx|WMs#b%7a|TLk|AcFzU`yU|0A5>FVF4QH97?3I
    zEo1TO50i6GIBGyl@d&(nW*fQ+!&`HEf=-K7l=yx5Arz6!jD)^yF;XG04dSVIROr|j
    zV%(=K(8%Qo^_&GF*r3B%G?PG@|MdL<@=6LGn}PaP{cJgoqe5K$Z3$-7OsDiygPR0f
    zHGLaPY1(#E4klylhe-m_xoyV;%qLP{cw!F$qZ8bR*ImEr-yI;2R=Vus>gEz(bx@Tl
    zGw@#h8jpa98%dH9Z`QN=4+0a=DB?PhdUs6GV9aUAwPHK?El`7z;YmsgY~(XT-)?a5
    z)zx|OtRu^irYQzzV>v{yWaknis4PvGe!Mdn79l}f7uvN4O&YO^mSOW@qCk`y{YDMa
    zNOe7kUzN|n{P4`6z}3VpdXO6E5k-C$c#N=ni*?VVo4I`;#^ZzmB;O>K=Z(M~=Irsj
    zH+BctiL~=SQyU`BRZV;XI)@K=gSa!X9j7)POm>Y_LQQzJMV*bqn9aoY;NQB)_A(uQ
    zDUiP5=U<>>rQKC19ZkX`EF$v_SgKmyn1mpFKWF+7+3nJj7+<UL93^72ijM7I@{hy%
    zkWACRtC*<mgV_lQ2O{m~ay-r58b;q;dKkp&MCo2Lq_hM6rD)RQtQj3!E`$=2$s3FD
    zDsaGdJ8y}z_C_M5rw#>zco>ghmyeRw*pNxBp_1mT1r({2eBaaoG^-s?q{I#8xtX@h
    z^WMk%+lE%Fh|W3Sd_IVb{tZe7x<^dpjV*lY2WNpO=kmpYOTH?|*^E;uF7Pyu>h$6$
    zu0L2Fk2BjtEX)`|vUQmKSqLi2ta;hy^ldx@CbOKM<98(6Zm~O1w%JPAPTT2uuh;k;
    zC*}%Fya}Ke@fE+?RlvAcJUBL>f+HJpQbryEogvy?gi==)69S6H;a`fzOd~H-`RJ_%
    z)R4tB7~yhG^%cWM<l#fQ4OU@dmSa|HGCEE41If1zq934~i=xRM)(vS5_kT=j2L&{a
    z7hqJBXbd{VHYh<6M+!4-yJy_3tzZ)9{0lF4B4RFUcTxd?-BG2cHvDu4ouToag(8|t
    z#g{!df=Hx=F{r#T(_T8^V19qp7(-7qn1ZnF-9g9Q(v>G=OqRA9EIW?EZy;OvZsCIC
    z<NaZN4dHO<+~Vl?6*+y{!@-)c$)H0ytmLBMM?vK7_pn2Iex<lCH4;h5#u(eOHK>qT
    zG&~%LgE2(RYstaBQG)DT`67flWDUDf>pOdX#{~C(NV-FWWOYT7SSahoSocO?m%%f=
    z&(nLz6=SQFB_=SMq9s*Yo?oLL*MIr;TE=Ta)+r)K6DnUfB3&^^wdSD&>?wKO5}x_#
    z5m^WjR;ml@X@<XMds`PY>Gg!7)u)%QR$*>0_w~e7H`~J;uVhsi*-*(lnEFs$Fq@4(
    z^Uw%JzaQlYI^_8^<@svSqG!W3$~a_D^bfwe8+~dj_C_{z?Yo%^m{=<Tq-U3X#Azn1
    zm;<oO$I)FNu;DP&`<F+mFiqdPb^uk1Sgw82?gu(4LVpf`%>cRVn16f#E@WPe5Qs!*
    z6eg+Oi69aqDNi^!D3Z<_1NEvDw6=n4WXCVPQdHr?)e*|hEXu>MvsG`AbBcV{P{7e1
    zvV=-B(z8J?kl@#!=E|kE{%iM1V3MJ9Mxr{oaHe*E(H|wIph*$edf#Qp)_d|6Q+PYQ
    z-LbU_b41oS2^B;FJf7Gaf;6<w@c?DnuT`PwDyf?SEtaJ6b;1CSC6g6@?(0C_seWhI
    zrGSYAj#{0>8{<LNjXaK`-N)?BBn&A=flltEjsj6QNk?+BU~z;Bgw^jupP#{jivDqM
    zqy7%vKr#p{M|(E{$;5n0EGFUSM5s5?TB*X+V;`dM#NGlXGAM($_PqRGz3{f}=tflt
    zqt*Yl<G!t-{OaoU{Huh#UMEr<#_t$<1Ed~JR*_+0Mz{VxEEpWpwbruDMMrP|2a&U#
    z)JD*&c-LtY;Tdt4ZlG_0E?>V?z1J4K4&(iL>P}4<{@P*f%8UDFo$1$bX$!gl0sfFx
    z^}%#NVh~n}!}v+j%nMG4u=Z++t<PvRFrKsw%MCc(=!!}GC>cMrCWP$Jgefnlx<W=<
    z{I33L+OqHg9w6?HNEMBFP(Dr-j>+!nfyHP<Vo`P9N5H6=V~2{iMb~4+kyh|_+20+(
    zVibXl5}HBA`cbam7oFjNMBO`}&>Z*8#{`-?niu=S;>M;x4nWeO_joJ>l!HdN0g*Gl
    zJ_Q}|7R^fDi;A)E2cGDi&>jzh`5Em)rsRl<MXkVM40fw%?kZt;DzsbC8BBH&A~n~l
    z`dQ_l7Gz?@f2{%4OV;r&%q9)h^mfkp0bntX$bNmtU%+f=lJP3_e~&ZD(T!nlkYR%2
    z$uQEuXrNCE+1$fwyxrHYQ^gW129xpq2l6Nlo>id#U&38JSPMimb3#-YHPjPR?XbH)
    zWNe@5`u%ATZ|`xbc*OMWfVg$Yu-A6_aeJ_q0j3-EUtJ%{v6hiAW2XkQ*kMa+NIZ<R
    zCw^Ug8E?^vYT^~@Y2a~Lt9zYmH#qjGXJ7D2But6xu)kehb}AVU8W;*k^JB9xA5Aty
    zKbRYNyH)`&#YZcaRDyfQk9$BohXv6>`R#~O0(k0qRD3hqQG>}s7(aT%6s%6`YD64d
    zAL9cV79_58g9fDkA0$-Kyms2VVD;>25tyYVQLROD8#o)pBc=_gJ|y75`q_0F3{!4A
    z>jhqGi2jO0orKWl%vC;$@QVF80o)C!4;A{6V=zb^1vSc+>nI~D`SWtkm*NM=0uSY&
    z;RE9Fy-Rp8c#7}nK<TYZTtEASmXPt!^PD?;N8<6wyJTRAZO-kskaz?+(YJ}aeq$?|
    z$#)apGA-U0t`|u9##gE^%gN%F=cEjR49U)yJRX<LeJ&kRg|87iIzc)Ok@V{$48ZHb
    zMAwL=*Epi3BLmy%!?7wyJxHgKCWlGUuHpgya>FyZ4<mFrBvo?@L3#}($u(okw5Yb-
    zjqvEy+ktWG8gW>+C-$}4;d1JM|2Yl}5@mtyv1HKn1(4B=0M_~$Rm9p?6m$l!;yD${
    zTuA-jffM!MSVPZ&;1y4*h!<Kx#^62uIZTW;n!zTW53U^$%9MjDx{;0&dZNS=)iZ1d
    zNZcw02&7v`@hb;URRNc?Pj~?}jq6>a%Jg;I+zuWcLNPz8lC}X0%e1;tc3fBWlLIHV
    z$6kiTT{k!_kgg;=6VjHEGfBU?DVPJ3CEeI{YLuqNPF3b@_;pq2=Yat4Rt{c@hTL1o
    z4-_ZHY$Uk%Cgumy4@(WSL%&VQpYQMD$K>o#8xb7c(dg0=rd@9j9?9>2lRx7%0lo~l
    zn|(|Iu`i93nN~IJAYJxIv7;K3rnAKnXlHK%I&1JiW6&)ZbOEocd%N>ye?^2!FMTsU
    z5Hg&Iq{|BjX+R?09)LIdC|c8zz=^m!XZ{;&@F(c>Ng?QI)e&0Jq%Ul&+CANE1XJ!@
    zGJ`UPbhck;jWAuTI2dO2wdXzHXi^yRC7_O+G{hiohrHv#ZVqU5$sH+3CM-qMkHHtU
    zWcr?D`UL_ep)86M5j6WYoRO^Cj0Zz3x~Ma8Wc>jSd+gDo&MFyOz0P+8xLe)bC=mA`
    z33cggAz+61+}PFFi+8onV-nQ_qTE^YHQ*Vkl>L!jJ^ukmkaYDRt5z3(SpC6rewH5-
    zK!Hl@8c4kZC-OmHQyYs`D$JINRkGan;7`NIU)*_9Y_<^keHy@vsi|N25EW*nBPJ^|
    z$=os<{J(*;^@;)2GuA1!8+&Q^pM@Y1C$<$zH<G!n*jLaEyf#ndGl^2HqIYSYDlBhs
    zYXvss=`yQCZ6W=JvtrveuKtU%{vQC<SiIRLfa6W3O@dpQJF%+XbU2i4L#>su?q35u
    zLznOorL=Kw{>QM`6~mi_;NIr$27!1UiE~C#jW(pe^5<WYNGGL6H|v4Bt`ekke*trz
    zB%a1gJj$8O?cUFxP?k&`CaxO*8NH0lINdUTV*1S9q@&df>nb-mA$v4iW-cGF8pLC;
    zTSa4*W_uw2k$Y~w9J3KJ`jb5!@G~0htpZCf4pMU11s{<FR`e2x1SH9C-FyMku}<MA
    z9#egEQmx_0tbwiI=+iM#kl{$E9PcH9GzFjF+SQq+uxKsPYfiRZwhw=ZCpu;FcKfj~
    z4fn4$Shj-J5~BAtgX-|ZSrJPJC|d0_*YDWT=PLkH-Y@UG$;wofc~28_9LgUfg<cxS
    zVejjl9WW=eN1^LJ>uLzC4<O2XnFLYZapq~NeHQRh2#k6-7AM?5w(FaP`6aLW-P581
    zWL&4k`&n1fdnFzeZyX2in#i5Idb=c$J}vCU&m=R4ZSD$hhq6(C`Fi4#;sJ5Mg%%)x
    zVGmy;6T8DMnn*gJbtmauJC5&XJI=(4<LW%FUom~KT6vhM2J?2hX<Ja6jL%gEiPhoJ
    zf)I{3_;O=!cUW|N%r<b>B8uq8e<`BJ0_wF;o(GBf18>@c*R!b@+P&pjyDVpIF&up{
    zSc~**LO*m$Y|*MAQ>+|OU#`xi-VPZFBo+i>QS=$Wvu2(Hhe{5xuKFst8xlGC8Viy8
    zp#!RO|K&6+x>RF7GR#z+>E*Cl7xG!6DrIfK|EkiNEZSo~5{k8A*9j!nY(Mye>EC3o
    z&Gi!y;;acz>uD;Pt|FR__9YsDv53`&@SUw7<IJVx&lSboIFL9tJeSztR}tx1v{PqP
    z$WT7pii9vDgWl!J+tXKpI#}7=)CJ6Gnlz6W4u%Xh<JUZni67JjB72Lrh~S1_$}1I6
    z+uY~HMxEc&dVy4Zqo2`bLtX~wx~Ju6cb~sZMbss2S<FFI=5uqrD@bfptOU%7vUCn5
    z1T5=~JbW_8K6g@|1v%Bfr&}VrsDHR9j=`<fs_;I;0!^3V#r#($?eL^I7EB!)!I6IS
    zMU+9U+b$^H8fz|)xRSVBwH|=f)1UV{j7?S>RR}n3{vR|qZt*WG7OlG^!t!a4{fuV4
    zY6ZSzp=v2NU*=|2O|(IRKFrOJT*uS2@?IG8VYDXP%jk*t$f@L4i;%1vO4oGs+4N{A
    z-W6*rkoXWmK3b(nkkSi?o|DFASZJy<Ye^r$_yaP74LmCL@O#Bdds8UnvsnwCVpJVA
    z7Tm4LqAVvSgEY}CjW>m<!HpX5^t1USFyBLBEFG*hd!%O3X93t$RylG~Dt%)y6c*)=
    zNd<QsLSv(`1jPNq&@kU{Mj&#;>ZUr^5^iIm%Sn~0%o(EWjGY%+%COx$SyQTK`9QHz
    z>>7b2h*<O2dW7^8wxH*9I?+R>xm!i_gczk&S;TPhT}_-7CgR9z;;3@Rk%wWfNncpB
    z<**doX*PGi+`E$ix|~_V(FJdV67^s(dHX38Gwdo7bb+!R@!xqY8eywI;;6486sb{n
    z-$~FjE@ByZGY$l*xAfURQqx{nAo8e?$6OuB(`^Wmszd9b_Iw=I;a*o`tiSAw#Izz}
    zHaXiNF~hp>{O{_MmNN~XoJdBJKsc5M6{|yLXh)CBiF|h*-sGN}*Sj+;D%?3vAYpw9
    z{a{Y)RgyGj*k(0&Itatu(TdIl8UY{yrw<(GqB(Q(@h*bBK3GRS-c*fQ$<DG4cUwbQ
    zF*@h|e0S#g(~Y3Grwb#Hn37VuX_bTY(T5g&v0m`=HcjYD4(IJlDH<#-4i(KD*Sa{R
    zw8t{;Z^oyCyEgGoKctUV4DhYy;|}+Yk#<<Pbl;I>O{U&(bQ2of(Yz>Gbb<k73_x&2
    zb5{?G0LjF}KUf@tG&0jD2gm-ZEqy*7=0M;X>p-+jf$0^2g(4G(!sW~A)nS6zgBxq$
    z|IYt66kB}Ugo_wr%u=fYD}0fD<xM&khh|tfUMO&?#5PLT3QB1qJ!L-5DUHIc0-O?`
    z<D4>*17{}YB(131+6_|Xzp;WTv}i89B`^Z>HE}%c8STQtKr*wUoj|mKXkWDt-|=*i
    zS@0P&FZuL4Xa$z5B>ri!do*5X3+`)=V+h)l>r6bgcNJFe%yq+{Xcj^cSixYeN!`~E
    z%|`!X+lH6E=klfH$mQK=f#fgZ(oL%px%B_YVPX>U*d;*&qKmLXS&{8657yCu379hJ
    zr-WNxzGn~&z8BdYj_#uFcCJIJS}XOEp%u0qd845CwgJ4Qc(3o^xa%c9*Z8aek-!bz
    zfeF{C*ls{|h~}Jyc}STHQZ|<;o2B&%DO+K~dtYf~`F#PC8PQu6I?_VrYp@AYwG8hX
    zRWyqp<i^T7Ss`8aNEd}_N0WqhSiX4AcYe_W^`9*87(*sSkUi%i06~>TnXKMvjG;yn
    zHy}XV=|c^Oo>??vEn9L=7wwXTa5%`0>kXXnQU#m!LDth?QA#5Q?RLn#`%sM#yi{w`
    z_Z>V~{W6PE0rM@w7==k>FAuRsvMZGUQQIjdsK4VNkocjv95x%mTXOY%ZHx<E%-4ht
    zm4j#VnJS2Wey6QK5|Q{rMI<Df`DIirVE(G};UO69kfk_9Iec7;h4Dy`(OR`28ejN;
    zqllTUM~M%gPCa07(IpdDMA6~V{lZ~bgL+T$=gFoVV7-e4;{L`8Y9T@pSb3Ca^-jF&
    zKqrZhi)4?p)(PSL*#ZOTOhMmMnM4bA<sIg2u4xm-;*CpJ)M&uHhHjcIp<d~DIF08O
    z_**v?rKhbOtj^ew|Dhi+ffgN#_8afI8?ZiT9$xj9Lo;YzTL>V(*e?0z%RcMtd%0jd
    zwI7G+8twt<i{Pa=hp4$kVbO9DMpvym5cw6h=ZIsjRL>`Xj|^V2q6BC$>}PlIh_-rf
    zn`{7~SM5<+lxACWYaK4juHho#)CS(4uiiYy4zKPdy5_fo_e57*vUc66&#KTm#7c)F
    zsR?s)^E6+6nDnOyRwFeSuOga3dYoZYE?^#{_T<t1dH5s-BwZ^0fM}i)pl)uyWk(K`
    zbbrV#ys!M_FKrk+79GsF8&|u6`QI*T96-Is-25Xt*IvHH`lW+wB06s}IH2fmRL#1d
    z$6b+!a!kvO<fXCyjG+ennB#{-h&<N0TY_$2em{2#hfvm7v%xlu7FET4KSqOO1c}U1
    zd!QP$p5Kpuso#7%w=>?IPJ$wjwJ2Wb0PY88x;`=EHQD4CwiqPFMd(WZ9t!7Z#vQ!C
    zNje<&gPCu4;cd%$kHJf$0=xz7lgVPN2TjOI#+(Gvn!vgF&R03Aq*tb|7s9Gf6&lc)
    zVz;ONtkDDWhq?1PfZFFd@H(v#=aWhD899#JTD#!w8qj)y3s1KfBZS<DU0Bf7g_ys)
    zhM2cZOV8oRW-78rVMh_$kz^L+o#_maxLfibz4%1Lr+bBe@D8DlAEQ7rhr}~8#TG~C
    zbCmM~PR<gK#<d#E$sBS)!LW#2(4x{P$?Ba};BKD8$6K{-uHT2P4>F5@+Wax-wkez{
    zw$X?L$&`h6INpl8w^<63;o1W=m`w6hnRaF9r=H%}mB3G3#aKQcb1yq=u_oHwS+FRT
    z`rEV45!@-CqiA1V{kmM>Rtd!kWWl4gAb`A8yFJ?9P7TDsWx1Y*Q)_OrWZcTzbcTx!
    zCP+NFg+=>?PKYc?mqWH_7V8_g4~Ed!rvCvt6XF_S)t!Uuyzpu}_;Tk`H>f2qB*$}R
    zrsm6@Jcu{m)UZ+KgKArN9+7(UWo(&1vWmpItU>T+dLc%9{(8JveLvj73d$B$YK$BC
    z4=0D)oxr>dS76>EuE)V|Exe$1N23E2Q`A+gp@9KiXyz8~`{LB(&yjw&+|FRp!3&r>
    z&(nfcG?cq0YyVh!1_kjAqcQ`2G{>FBi0nt`-}dl@mY83zuQ3Mm=hOKx;GAh%R2PhP
    z@b=C(BkHhJKlQ1tfkP)WGnVhOeXKu7X6x6hh@5Gt4>xK;U(j`Ke(ydUYwozt8nC{8
    z{B|fl{F?Nm4Zn!2y~*0mr#>TDVOAy_y3RrRSi$P<=b2Eu6@^-RcO8aA*Pa(V8_PjR
    z7U-9O=nD0<kbcZIY8Eh^v-qT^==|LL*E-kS)<W?SKO>6@HKvf{xy`mo2nn{gb~Rq(
    z+?3=m{l|zYdZ#0Np+WrR7Fw_9O~r+{)PFd?E((~Nf1&&Oepdye3zi2pnBRo!cN4O9
    z^y)$-hX*1L2t<!_o(UK&vg6+lw~gSabWVl*lsb_<6<^xmGW~%H6G)*>&uFNnP^T6{
    z9jlMSRd092qCoF^a7>owtulbxXNMaFAUZ`{?r%o5mC6DuMsn1{m{?l)BN3v<-Bub?
    zp*7;+jy68h-@iL2e2F?bQMbRa!d2`Ffy9HXZ&EaRjm69MUHF^pPISk~MFTE=vyHo+
    zRIv%~!yp&aHD$GC_%0l1Yo6!Caq@sIIHg>95xiXsLf;=C@`{MOE6pZI-Zh){9L5PN
    zthz#N1<ODSh)T?dCGgYz;mwqJ3RD%s%*eerU;f+JU4iaMjj`&iYHgTu%~Of-)vPuk
    z&bEY5H{$c2wh;NmC8x6=$Ey35?@o7nufh9H<?>L%O>}Z;qo9mgo4NtBHtB7EG<o^^
    z9Mt3;92QB29O*Omd^}y=2JiE2<i$bWr0bs5hE4bWV6SE?GIw#n?lC1%`*CaRvr(8E
    z0u%*w_bEV>G5z^f#V*;|4gffIL}c_$Yw+6wT$bo}=5Wl|{qd9$3ivq*;V=pTNK26o
    z+N!5=i}1zN7PJ#Z%Y5~_HRxF2yN%1FBGuuDIUyUD2(7t%A9Ma*qbJod)$H!mRsfoa
    zirH=48knbLn5&aFss4wFT_GIvPh&1(u`je(xcu9_enES@bHxc40xH~`A@1L>D#2c;
    zfj9GA>7)Yn2}p_Tcr0#QNjRO$nFKRr6{a}F-^4l~okrcAY8In0)EIeGxbRdRzSlU#
    z319bEpA{KE6T4)Z7Hy4YcsA1N<91#Y{j!G6M^p}R*JDvJvx&0b0l%-xp5T>c`C0sq
    zDd|BBlp3et2@tP+ZJ?PFsj?Z`X#$v1gF#svzE`!qxR}M40So>N)I<m(ZYkkhJbw?r
    z6T;<(KMJ8Pp!25Q*HI2M2RFrk-?VNTy5_zixLobXQ)k>iElR7qQCr-mGaXC)Hq$b@
    zKKHKnYP<z)|A}4->4L?}iYWqSDcToAQ*yFtpRo=wooN=`!AVwjC~w!&QJT}#TSL_K
    zYd#>;AmU!^zBvMMx*so60t&O^RUqme`t!@lns{$L8j`fA`P)w1D7))}hwFE9-q50P
    zvcRBz-gb}<wcIFxX7Zr2h25e*55?|N4|58WY6Ritkfwc&n6#OMX{zXNxRRUKkoMzG
    z!yl~9a^Ql_wPlzty~fkJKPX8bnl_{FKDoMi5bo3aGY`)gHB!3b&xn_sRs)#7uv{Nx
    z)ti$*^woveu>^0(_m@@xgNS0|h^BQ{gh;Uknzy|D-po!5cj~dQZ1cNKSMUOJ8b7Nk
    zneTpll<V{eZpwx~dAa`z;6((Ek2jmHsK^0_5BVdh|8aITUWh7P$osqcu)JN3-BsJn
    zL##8So7$i(SgbWKC;e^*lKJ@hV>~y*N&lP;TRJVy;!P&=$4e{b9BfmY+AU_@h==1e
    zT5Bgdm`7yzuFYSwXwKD>XJm|8JAG9zorT3Nmm(im_G&fr^XFCZF-Pno#Q&Hsl<F_g
    z9iVH7Rktfn37~>DafHW?aR*7!0{--$Sg%jgpw|<zYGi5V035qHv=y)Z*w=L%ZasF=
    zfZ8m-{OZ4OWXYSq%<tShQ*%5Hcyj+QRs2Q!9X_6J-5S0;@rmT2#JzfgOs(QLcIr!=
    z78QjNt}}>h<R}g*r&l$Wh1ogHNgZy|#+rId+(sddbP(gok-(E9IIs#?R4b_8@$9LM
    zwpFtc$cEzn2xjOBV{4x)Uom^%wXuJ7FzzE(wBMG5^mP$td}6%v@dWdF+}|PA8;(}?
    zC3VJR4lH~#zPXYv@jS(2oETn=bJg<;yY6n#7bw7*jQb=VkFhmC`(BIvhZU`E3-zgp
    zP&V_OM!O3;RAA+Y32Qi<%~m0E08TZ1{~RxXeS=Vz{)_wc0m<tHC}A_s$!!mgxTsna
    z^#%Dm^{HDsOuP`+X%@KXSv54G^T%RS4xjEaGn8=0#`6JzvwowWpaUP$v5&NkJ{(rV
    zTjwmQgVRPUV3|)7vVF$pmF~xl_FEp_9j*@H?AeDd-7v5FU$oMr_ilAVu(bV4S0P_v
    zB+UQ|#MoAvz%Su$_Nfl;r0aouqE3aU2UJzgz-%J{#y!l;-W(IT8IKEu?F&}!W3zS(
    z$rZv<>!-*wsWRil{`R;zRx02&)-!*PCjzH@1ZfvCnHj8j?h5fTFwH^_%W1e9NZt%P
    zCglPwJr+=v+X=)=sM8ba#v+Fa?Z6N;1}LCltSL+2D(o~X`d1IUIl$Hr9gci2039QM
    z6>}UrfZ^JPU3U|D2^5cwy=rEK7M5crgt|N;vyC<;unq*7a4tnG`^z#(cfi9zP_Omz
    zE*9CN5m8rpq!dqJ+D^*$>7%E>Brf*BlJq&RFJ|7mZjTP6-jtN{=#jSRNi*CJy?$LM
    zj#6PlaQ4=if1?FVSbD{8Ly#>eo@Pdv2%znai2Ul~HXL>8cMfCzyjM<dq>grlW%SeT
    ziACRc`|+K6vD8iN2ld-%I4s2_sFXb}VLyHN_N>Hict=Ia*Ad(_0~_a^bOEu@1)Y#F
    zZ8&R+N%(>nbS}dqlJX`td6bmp`n47KOMeak=_cB!>U3>gD-e%MdnfF|vG8TTiw`gp
    z%O7QC@9Y5ebV``n`!F*iCT4bfRZ!1c!}ZAQn=!j$;KLq}vF0#d3K2gLr59B?0gK=>
    zu8%c_a`<Ykk}d%3`8*3p(;Pw;|Cvz%!_G>Gm5W#T-JP-;llOs3o|U(14Nc}G-%aVp
    z?&TA7!EpPVAIhyDzp5VSgV@7mya0aE&ZjaBZ9HCdU>UAF<xR5iQPO$Wuj=5x$jltX
    z#$<p$Wh2zUdN7JhizDmDyaW9}JPOC#hxKYuN9R9e*B@#34K!;7Z3}!3aB#o22WM}I
    zne<i#Y+kj;k-_@FpJ#UU#M@O%cHKSv7pKsbSIzokb@?0(RA?Nzq1hI3DlqDmh?_t}
    zw+{Q9G_CZR1k#NkkWtMxP-Z}k&MM8!j*Xe&rvk!36SIB#a_I?4iBF*l_+PI+k1%BA
    z-~9Sa1ToVb&+%G3nRQu@webZIUh~D|k`C&2-k1#Hn8L>z{A-@tec5jKQmXuMW;RX`
    z8Iwp2x&H=)80cPTuLkP31>B06*)~4AV4tP${Wgd(>5&RV(jL;X3x`Jw7{M?a6I|RZ
    z>GGH5Ld$sqSRu<bz+&L6m={FgDD11@$O-S_JbhigRp<b+P6dSYu*UMA1Qt2<S&gM>
    z;NjNLwiw66gwq`Ok%VBo8QKWpf87^(9zhnWHK)&15KC&da5)*<>?8NLZSIWhM7+Se
    z&@@Sc-MviIVB=ed>fpmO708&9aoMRSHsPF+xoq~cnz3^citv3qnR##K=<*5rVEBKi
    z`tm?3x9{(VitbgUiAt2IflvxXs6?ie3YFnBm!V9FOsBd<mvSQ^MO`5oQXzAvo05<Q
    zq6nGFJZIMX+0Qwr@9%y7xVh|M?X}nNS!+-Cvkr16Z~IYU;W@onJ#p4wML8-F{%qMx
    zm+8MA(90DXrj%iprA~n=7WmbBfcZEDAL(EupNWM&!0kN7`SYJtYQWeR6;*&JL9(md
    zaTY{PvcU{EPun=^mHKsVFyJV*A}qjvSoS2YvopNQL-`TUttKs`0&@@<Yx#C9*Q`3u
    zeH+V5<@EVZr5wps70fOB^hGGq)S{2>e&@L(5tO5C<!X?ane5=QOpU7lhcKQ0iBGDN
    z+yRQgA`WUASAxXKEpsW>)f?wQC9&m>#|8et4GAi}zqo^DeY<Cw4`W_{VrKs<Chmx9
    z7HMyMggfX9jtLlaBJrIcxXtZIcMz9s*!PBFu}bH02a;;T_Ox<TYD{cB#XO`0u@!q^
    zKuURo#ml+&l%Yk0Y!?ru`Fc#AV(laoc=h=ODA$an$J`-wl*voJZT^Gm_>qxOdK*BF
    z-JGREq@RE04WNBTqNl-J25AC_WQe1os!)N?6f=exeX(ML4>)d863V5p=YUDf;yJ5%
    zDG6d@)W~*v)+5sUE5=Rdtn#&-A+t`JD&US{D=$3!VOg2sF>49sC{Jc4#zL!Scqsys
    zsq$&R={%``-IEtAH3cZKP-1SvHL$q$s-8&g2`&#i?^)u$JJm-p;!P9tsQUY4?(}w5
    zx3oSlj49w@3On|5<%ach{u(?G^#fk%!Ym%<A)@<Ykrk$34xH>ONIv^hxla3}T#6~w
    zha-xPu7tot{S?k>2JC&)Y*fuHxM(j<t`FZS{Gu`$4?dGa0FJxU9ilF&cf|@)fvlzz
    zxm(_I3!lO~Z7mpy#H%Acnqj59)H339)TRk-#*;_GQO;TKR5(Rh#h66lNAA5_@Wz3=
    z4RrPo!p;@)q|w)wpSdkQ#I2J}>Bt<Y3|Lf?^Ae7;X;vmWxXckA3g)MD8}`3xe)5<*
    zkv?G@YvFa>@F)*6giPeEzxgF`6T5sG*Gcu1e2n<J=t(r}Xqo3qid94=ar?_D!W6?O
    zZbg{k74Gbe%QW|`m(0HmYj=UD?fI!FMiaqS+fh8JC4c>Qv!~vg!mT_GmZlsH2$j3`
    z8Awo~*GyJ~$z9|&c_@r9zO~8)R_E0cQOePjF8TQQpHyHeW<8F(Z->!jImt(L6gxOX
    zs>2J!(*_`7@WM4a^e5#kF0A~&Hbb2wlFN4B>c|V5l&Jb9A|CM>Sej5;^W=JQ#0L&@
    zn2+{GM}*6XQ&m!A8E+Y};%e)Jwqb4})Zl*EUtqbtw;L~fWD4Ao{%n*W6QfT%dx?Fx
    z+oGim0QrAyT11Bqr#MoKAWLiwbR~z6?g(fs=b>I5Pxw6)o%wJ0sGlWc%PH+;G_PTA
    zKVAsdGsZ}0@3xrJxoGy_g3F43qwo(she-Z&yp$EuwI6?~zMVoHYLfkJ17_U11_nCF
    z?4<6<k>OeqK@*K3tS;rUdP}<IqF(*y6ia;LCpxfky+o*+V_RLLQ;-KsDtt5E^6gx%
    zo10NOYE-cK5ygti(wI;EAm>-K!-fy?q1k@_@Do7H^e1{JURij~OL)PfgtF_q?JA}t
    z>q(pIc+%+EK>sp`$MxUso^!cNvCa`cJ4*pigZLgtwZ8`g9z2_i=XKwGEM4RBl1uWG
    z$2(*xM{2SVFM1S0(B7>xyaFB#BEU)T;t+7B`_r){`O7gg%+MV?%oHNxu2=Y%L&QtD
    z4>M3Rm;p8L1;g;FNV;lQ60UEE%_!ZXGyd*RJT(C87uv^_i+qDD+<0qwj$-kM0;y~u
    z@!z|xa>?jf#U$(22$wo)^r&~sffRTT?c7tmlq)%5a>vECT4Uojk8(VzYigqUw&eG?
    z2i{3a%Ki<TUr(m;Ii`|`@Q(+vN5LfcFokih(o){noJYij>*n%NVy_MGev>%?Hra1L
    zhSE_J)v}TauAiqiKHf2(a$Ew0MrQps2`zuzgJudlB`(IZ_4#P_f5%U)plg5oC;Uq>
    zr>sU?;!1Awxl?=tKkB|U=9+8mc(_x^gDEmpJ@Z!lRB8k9c<;#Zb>^e7wESz_Rg*i3
    zM}?hI7Gvx*AVm^%4Uv#zv|`xJ#8I%P7Ij8kR=rz63q%U6HPiA>C<Zy^eW%@QAupwS
    z@^OB|?^f+{x54z^{DnlwTf=m-RY*SHaQ3ixmWo+A`YRsJ3+V^;cSpcf!A7b<0x_*1
    zG4SR*NKX#=U80!c7AtTQ!a**ydpC1M*b{$?`%rJCV>l#WO<d`~IYl>|)QfA6wB<I4
    zw~d6qL!||OJj%Edz~B_bEgF%L{+X3?Ddr|+PSN@_wok)B>T|26&7cOzvG_ZRx%ZIs
    zbBc0~!0jaLPi^V34RAYjhq@2a@ebIJ-0Q`Ab><rLPz8r{yi$NZ{^T|qPJ)@<y3PEQ
    zU<cgvv880W$uAB|4EG)SX9-un;idd9N7`|UGY{>z`LCtLld2cJ6*84NOAPV5W%(V*
    zTo#87&g6O)s&Gw!zsrd!lwRuWH7Jnq>46e%MKo0qYTw@iv(%NJQTnoK3#U;^P_ens
    zRrg!;zkJkHBB*kkKt!Kk2E~lpyK)9@ZGziW-pMVkS3eH@l$X;-p%B|-gDKQmDdHj~
    zqhBE(*t}X&0ovft6#})tt`}GO5BoXtFr^6CU3#3lb87OPD5ye257-9}|7*=<|BK7H
    zL)-#<x;~Pk#NHcVDM5m$!RTudZ4~Q;30T23DfJX&QNe<$-<GS$i|3TdWCY3I=cUHq
    zitORE#j=hisNqZkFQwO)2sujSVQLaMFtD9~py9i?v&eVsx^o1)8~dx061hxKg=yDS
    zsCVW>{`32^`KbCc{nv|M5@*T&?2#ClC%g+gAoTh~h2;)_6SNk_eo@hqY9O~f{ZeuI
    z2p>g%JqSjWk0Hq@wI7NyYXhfc&Hc7Q$m7^R03^Ahqshq6*G9U-A`ltEJleRDJGiK_
    z5s5!ItyL9`{`Zd-PJfHN_jZU}bPj#f<&uFeg`JW&Ay0WL-m>L)lWz4H5SOZPEFBKe
    z3fOJ7a4O|~^oDbm`_EmRMw#YGihqs_^a0-RKbgCVdPgTjtP>sj2be881MvD_gvA|h
    zyrz<#zvQs25>@}&r<^?=y7bc26uf0w6NdRdhNIc+&;4Xp{&EZ`-0TA%b!kb(zIk{i
    z>dV>YiRgVGqD50ubAJrCUF#?LqD>MH@t&~bau_#-djiyq=MpG4$_`Cd&Zg=k;D$Di
    zt>CoIvWZy?1a*BH<;Xk9&qMK%yBCz^3K%0P@x${?bHAYkrz91l8suL@M1DKDXh%tu
    z%<Wx^tpzbiJXjxY;^Nz3<2TJ~Bqy%}4)RvQgH08pW)MAR%z{uS6#_fDpS<ZD@jnuj
    zjw<l-P}`5J@IbnN*yAk?0?1cXmhMtG_Rxo`=7G9zj))6KuN9<jvAi7?i9F?{E|3Fs
    zqJeC?y%RT98q1e+rI6Uo@GF|gcI^&?!MZ?Bu8H2fs0&gDWtyEwzW8w&uw1@Ugo!sQ
    z&kt!*%;&@n&M5uZ*A`=jqUlCixAJ~2<rG!2B(X*K15rxtnhi$w7e+>h<2!zj?6ZeX
    ziS_vJ98}WaR*93D{M7anE4&dm(}Qa=l)*EH-X>XIKK-hkmYH`w&hB*kcMnysBW_ns
    zyeuE_o=R$L1%HA>)*3giv6s3=u%F^6AGQ7UaTKzkC!!C@fO-cw<c`uhPOH>e#b)Og
    zOBw1NkAfJoXyg=|((ZiRec)c_<*mjQ8qpLFom=f9l-gY~C@i?lARz?f9}G&TK&TUf
    zaN=MOcXlt)F`zHu!Rll4cwpNJ!#;1$LH2eu*m-27ET?l(X{_8acX=i`(5zoe;2(p|
    z`t6@Nh03+N=DdE+98TF8di31x{*$^Dj{CY9<X{@L<=6^ws^0s%@anMN<+i+OcG2-N
    zUxpFYwu4FJY^ahe-kvF6L$Puujj}8eX0SiL=cPX>ZIST@4lX#<#rQ#*ykJ({a$qA4
    z&9cVC;J)dP8D&UdONcm@HXRj^5}HOR6_rn$f#<AXvn+RW8hi&-7~tRYRSP>(g4n<z
    zhM-E(T($t7KvvTWvpRnsr^3L8kHwGX;4ad|^|Q?=##%zbp>OAeC{~Mn4M$G3%kEhs
    zwO+A^dMEr=l9!610cgM;9Sz$>I2sWB$<Kq+8dH25Nf20?Q`&ln2eWW`Luo#l`JM1`
    zsp8!f#Zc}ayvxOxcgCVlrbXkF<PZN?q$XDrxemOH-3rW7V=pJJD18lcj@VkTdk@+K
    zuypEONhz%)ZN9%x5;)JGY^jf0M;*Bi16KruDT_p6M2#PiadD+b)X0N%F}Ic#VFD2x
    zmTE8Ccst-0PW%4&=i(aRAG&V?hsb!v`{L=O$;*n|SnrM}4MqZNDW>4a&gzy;ODR?r
    zk$)QZGn2jcO8n$n_6<uQ%^K3wyG@f?z+SY1=$;JZr>bh5y?=0}SuHO<>>#$MQyZG#
    zqD?M>=L9f{-ewzjFd*4T{u_t=tkzhPfFRy(v9kGeO393j{!!nD71-LJpCt5)!+dJl
    zKhEo2_-0c-?iBi4tN@soBT}*)&gkqC*N5I{bXBDvlRH(7o(ns}vEuzBd=D@yf}}&l
    zw~0Qvh_Pg-IJt27DQ5Gg*-pnxcq7JCTZW*BfJUXG)@swJs?xB*14}p!)=vj+db<%X
    zFb%>5Uvb8K61597qg^mrgJLWzMu_%<TYh<zuDUF+$cERMqLk8EdQkfVH&PUHv9Z@@
    z?(F-qXTO}%=0|AbbYm7JO73iA-KW*G`q6hh1QVmUBJ3e|rHuK4ErYp`mn@@slxQA7
    zXg!MJbCDW68R5Jh+w|C<Si#4cKj*v$#p%0e(0B7OA*KU&e(c10w|c~I1J|?vRBQ&&
    zN;uBLygG{c-@YDKo5Mv+`h@}NxeXz5-s8h*GZl*{FzNwws2@t*2XO3y;F{s$&4PH&
    z`7sRj<yoA9KM&3mp0g8upGI~r-WjbCN3lc_5!=>+ba|xoRUSog=Rg8X&?{I*imRC8
    z$~pSpy5XRUD5lwDh_w22j{GrHSA><(2^np_jk*N}n*dRWwlb14O7X5j7(dd=@^D#_
    z9P7`#Esy(wTx%X9hY}1Lh+}1Sx0LztB9$w9V}RSN=ZY}AMKl{*Pn-m%VNsLhMp)fZ
    z)@!`I2)M{tZJbpi&7HDHdi5i^ftT9QWsZ<uhFjs6X?4r<nZ3w>u0|@=A6%xt+8fU6
    z1N@swD&^fw0SJHw3D@hhMxI1ta+5D_*~%%HdM#drQMMHibk-2>iez9exm1@`M<<YN
    z$TApXKfH?(7xwo&rcvq71~}5MkKdsveGgY|3C_$iCx#zhFFv-H1NK<mbe6^o(yu+F
    zG5Ty8d+ma<-cfyYp72l^w3)%5pTyBg=J%+4lV}Yf6z!oT_@EysPU0xa`l<UMJV8e9
    zism)HcQYWj0{KyFz+2w`Ezrh#-o1V8?Le7<7H^v6CA*S7BV}ItE7_rc*DcOS1Cf}L
    zlstLM1mM2`JTyFlwaTs_b5J3gg~brzM+-e6Ql4p+K{1>;VudFY5J5+cEOLzzmFqCs
    z5|3nZW6dw~|I==(XTJ$n*qBkk>5ZGQet(A8GWRVGkvaZYUQ$J7@Iy2dYBOi740}3u
    zvFfF?gEFyYgE55+wD##g!br=nBErN$feiUibs>uL1gU}7hjfw<;r7s1+I2&zlqI|B
    zCRc$kN=~>|h5ne=JhF8<EL+j4yj``%as(jWq+u0hxKft2Hxlv4E7KqA9c=+sw@#rp
    zKG`8kv5u1A*<)UU9`jOFiAbVvzQ-<#$J|Ffdt=Y@Fr%^%fW@zcFCoLL(uR?<djyuL
    z?iISnW!a8Zm33H57`QyN473qP$#9w9%|rd{-u32)0+(r*j!t+F?|y`BF<2BDNgz!U
    zt*+WZI5xag5o-x!Nchc_<B+fgA^!M)cjjgurue?)Gbx5T8CS-W>mtbM6Ycw#!!V>b
    z>U<y01yp`_$YD{pF~&q325Y`;^?0Da4YHe6IWBS&+>sR=oY<&FY1gS0V!3Pzj38D0
    zL>yUo(K`62BLeJV+BV70aCyBpb%$I$NOb^<H}g@cvDb@luk*qaQSR)NO#!!f^gT-j
    z$p%?EeQ}m#qU2s;S+iRRezN263M6?hgb&+r3NxejE$D<0+uzlom|tnOmLBw8gjjq`
    z6$YT0GhNy?NzcAd-a{xF?*l8nQ=DR*q-nW>^~19ZBq-(!k|4bfd7wY5r;|QoIY?cI
    z@5iYj#+igqD}izs(}YDM&8-$b=0BV(Zp_uaxB6MPwia0F7$LPhP>$$Gpc%w=34O+Y
    z<B)9=aj0w{wfg-n{uW_(!4%xTkWhXy1?m?>e0|Sqff3}3%Mr(f`g7#r$4wy9R!@hQ
    zP@|s+_@-gc2e}28DMX9#N!%XixFY~YLzqL#yLs*1kA4|0g=nmT6<97z)gK}w^{Ux?
    z2_e?H%l@&Pwwb@mYV)kNIwyVQo#5qPB0o!<m7(2vZuGAyO9WKJU5n1^&flT-&!WAK
    ze+ra8z9S&OEAOvt>f5Tdsxx1ES6FVz$hO|J`9gtzm&{X|nvl5cWE?*w``;Lx$$lcW
    z^`ZNUCJgThIZvgk5}uUr;s1-n+8LXCeI_o*Qp{^P4l-IRLEj*)I(}i>;JLc%5)x0b
    zUy!BnvhBSTYu$p2ytrD(0wZCl(<KYnNJin-!&H~z@`^cFRiVGsQwfRR6-Id}*@pbk
    zTr*i<D_R=PoAosw#b#IL*9}+w)faF}n?xGQ-iUOu18UiSd=|y<q+1S}2S_q8y!v#-
    z-K89I$I7*&+-03``H}d(BDt+dT9YdznX697Jd|oMi-Pv{Dx4m?a-TC_Rq5pwcp!Eb
    z);NR}uvA#}xO`s-P|=NhDN%X_-F@IjfS<qGDH*N57qNR_T5Yr1c*S2x*h!wj?j`<j
    zluD8EKwl<uSz5PpM9_fs_$*<=om}#_oY4i~`lGi5utSg@XFj<%@MlYWd4-%4x0FLd
    zVx_Q?tOdo8jKYdf1hg}3pWQ*Aq{rnIgDrgSNa8lyBsU2?=J-j*B2)7^-2&gg{-BIr
    zKTJL>0vq4Ky0!xob8x8{j7qkl)ka}p4f=Z+ntfJW*l-gsHOD1+2RKYnP3n~7rq#v&
    z!K1SG0!*^HHf4ZI{TKY=IQ86<OJjv6M*1Hq@i70$a*%mA4{KD5h(U5I42Xf|4(@7e
    z3oYSr)cxY5?5Hx&?@siS*Y)y(s-vfU9ZpMNnRBwjU~&oE4E<S4o*u+|-GA{>MkU^I
    zBUem8`uA-hAm_b-PoRISJDAjUQu$vlFenSoKHDXGmSX%nAIq6l^xfS#&9k8MzkHPL
    za7wXU92ES1ltlzxB+W`BH-(aBNm$4dOb-T&<qi>pyW;eqK?jEpjV-?Vl@WI^N6rf{
    zd*b&#-Moc5%TEvD0iZXcRQ(c~Y~XGB(_BWAt%=vFSyda;f=$w=Q>mVMYxt<DWV5~v
    zl3g#6nwWJ4YW6QbyGDJqsd?EI40}$-4(wW>@Aj<{vcdSoUcnb*e<u5j{$k1Nv}`U0
    z7&ZP7FQ01>KL5NEn)|oE=iVulSb<4GqWSMe=M<M7fd=n#{c7M-j^#aevl6P<Tq5>%
    zth_?CkJCNFW#om)6CvDw`yk#Yb4w0pEo7fv1LzGYuSmb>10&rkBxUkdl0$})O{Ag3
    z<U;~k{yVw9DC|#^jFtic9Tl5vV3%CPgwHf^+75>h&-wm}V$E<rh4N)YH9L07c`Ojd
    zhHw~BiCyN44LBI7<fE-i>lBK$`)fvU<rmDLB5^`vPp_|sW6LwN@=oLwWR7gJ%Dd{X
    z96E)X^ZlS4lG3!a`c8bS3xU`Q+D2rbeZVc-YG{=g=<kbr$ig$n%=-2fp-BP&8D;y5
    zf+ES{v*33%$u3iK6Ibr|tYChkfSQgTyn7tpgf#9bI<d4q1Q}AnwvrcnIR!taXO$et
    z%EF%+Z@Tsu$swp0BMT$UDaU2BeyZjcBY3Y@Ff~`K;I^z^T#98mYS+_uN)+oGQFb*k
    zn?Pg_UKqEvVc#qJi<3H??yK9qER>g0?s;cmy<#C%??^Z&woT4svG7w&oakRUU@SL7
    z8EDhihPUbB4RAY_<w|6o7(_Azi$xCO;`W{`TD7>HlKz-ZQ2Nu80#wQCEpi?Sju;(D
    zWIAdmH=WiQkArF5L@Z|NLUwW1w%C*?dtLRbr>9dTe;unux`9T-->lk!g_UY!Q}Xw4
    zCYrT;u&nWR0xp=k9B<ZV`WeqM(lDE~uP6~Ia7-&hewTR}d6tBHO5zYzVW+!mD2A@3
    zBr^1~2*sBU+~r3CO072V%&q%V*(DjnDq+gG=D5XBifpW)F3~{*l@^TZ4+ThRm-`&d
    zr{ooBxWEiEf3zh#bo{<6E{-H~rzB=QV;UuTBLMdFHoH-3#y+htPDzsJJu251<d9`$
    zitpc0FA-s(Q9SK;eF(m5H%Eq)G!hbv{nc<mzmjsXSzip6?ATPK$|HnPQiCqX+j0gb
    zdX;t>JN}@Qwp1EmqHdJ$+w}*<V%|$hk!s*a|1;i52=~5P#Q|xQUl_5x&mi03cdO0%
    zVjIwS^EL#L7oMOIR{gE4SPsqgJrGjKgV@-?h|4_%qRACe6kl9uZlFId9;9Zx-3nW~
    zk5gK(G35Q#LrBCZyH*=mW37_mPDE%%$UIB%<!p5JsIDrfD8JKU;bX8HN8fnDN=_kx
    zIwKsLDfCg`f-C5Iz>x>$guYeY-~IyErclbKNvp8g;dHAz<VKual+oS`m)r&2YVT*V
    zn`U)EL@xUe!A2jozYBo)jfk6)<%DBl2x3~k){=KzQA5e7p)fgr=;<Tq=@)Q-<w$_A
    z=zXv}Y!mXbop1;STRBAMT+2Q?TNu+ae>J6aNT7KNHG|ym&OFfWryk`x6*<A~UFLNU
    zxHfLt==-b6@1am`bq3ZW@T#KZ3RP;#Cj+0FK=4J$5(va)g44LYNt^Ajjv5omY1Gk^
    ztB3I0SG3^w4EhC`oW=gCq{dSB!pnbiid!oZlRvo%`qu(OkeKC%2KngONeLa#T+j_|
    z$$Tr>uw9E&;b90|RRq=zv{n_Ms30l&>aNybULWRBtUD9o*=^revx_pjuaj|3B=;4r
    z!F`Zj07N%EvA6#a9d}QK4Lb?nC3?{}KE?V02O-xVA)(rM>1HvCYNX3)c=aMzCa4O-
    zmdz1r_iOF`YI7D)+BHvu%@2Yf<f2|m>b-%rUO{p`5-|tTvu1J{WS-h))v1_~Jv<5{
    zUUJEh<etbD0#@cQFLIS)SFeDB^yjs|t*zSMeHk{5X?;b*|Ds{C3yYHaKsWpr4S$oD
    zOxeQ`{~iyJB>ZT+103sb@|D7Zra|($JS29uwYA~N$npgg>-ae8-sf1b`d_eMm;EQ#
    zBpyPzHQstR)C&fW*}MJ&N@k`7k6n1PKONOy!9E(E<|yTOQ0ei)H%Jt->N1x=eeMyN
    z4Gd9i0@s^2oF241#v$JqkAjgks_}<@Fk*y#Byq<0YhO{je`W;$+VO#>I>{<ekwd4y
    z60<g2U#E(T&yZGn=9IMzyBK0W-JHZA+327R+}S<p@2{HNqz9_#&joY8Kv?x}erh-p
    zy(DY{5$)SRP-8jGBA6dt#O*12IEbZ$xQ2dHidnYLs|#!j)U!=aK%9Kf)O>8u*Pv07
    z*t6MJB)Fg5K67uCM*GjDl2_LWVz07La?`GBs8f9nM7>H3&AsZsAD6`jz9sD8QnU*y
    zK3kZ;P)f6S8g@U-p<~r?uboK6ZKs8X14Cs`E)YIuz()-$qTy!WiMhy=l5j`KnK+P|
    zHerf!-3-?70jGT2a(FV~!DY<|b#54H@KCan>7QI-8=WJ=HfqtuIouiKaAz0P8r=C4
    zo7a>4%pMy?Q-}h#VF-<tG<Q})^zhbZ*KU3`H;rKP_QycLY|@9xf<~YrxHALb8{A3%
    z8kCJ~ILXAUf~(|Xu7>yo`R~yYlfydD6T|`W(PQ|v(}oX=aPenaaOFgCR2!*8yaku2
    zLqNv|5f0Wz&PReeoS1X~L7jUkKNE8#u;o+9R_keS*h-GadesEWtBg3;>-`qFkpV*q
    zJjk(K?=0?PzDn@l$vtp)wv~{3ZUx<=C+Nl%w!&;}B(@;#*xg-7YpZvix@%x{nu~js
    z{!B=mI9_P-g_jzB02|q62f1UZ5hEEMPB%SBnx1ekv}$X+ypSUgO96mjvt>X}h~WlI
    z0oe_}T03a-V`D4!dX~Q(?G=Pb(BBpebb)a9JnT9$9s)KF2Pt&UU@DD`llNo3$5x*{
    zouJDu&o~a`x-lNP7<+-8Jd_c6T!-1(CZrQRAb_N+NJ65Z1BZ;~Re^2;s;?yMkjsiB
    zXlXUK{AF7it?W{m$Ta{I)(<!<9cpRi6(Rl>B(8Q>5m7~9OWWjDQGj0+{(E-(_i(Ry
    z??bab{?i=N{Zc(-lb@}cMCe47IoBEZNUg-3vFabNN!c|$SVF2{-%C_^WMH)sYbW&Q
    zxTKPZy!GLw3Lu(fla;(DHnoOCfk)o}300n2aD=i0D!4{cK^humPuP+PwvcrfRsmX8
    zZG`k0y#P>O!@Y~N!w`-bt2j)N{r-?e`Xa-UEm}3b_YkBOsRj6}bE(d`K{I^XOze7o
    zik4sFl?ifFB5Ot(x8=g1ghWGc&M0#b<A@8Z@?ul^ql=_4jfRY1_Y^0^2LMo35S}A)
    zARjZiI?yds1}L-{INdG_wwqjC&-CauT}H76av>Pya&$@D_JepN5`f_@vYz4Jk)}LK
    z8~DJqU~DY7;{vj?^nt+5*v0G9iHFI3;~?j;YBL(7ZGhG%PaZ1n1i*L7eoiq@?=@eX
    zWOZ;(qrn5=_yXGdD<?M{(b4#UT_(<>)hTALFbCvgnrEtDMXKkk55mZousn2l(^B*|
    zW^nCb<Kp7dRTk`$RN0N}FE)Rk#!CXs?!Kn=XnBNgc}sHBBy-Rj{yL<*&L{o%d}x?+
    z=EFSeB%*cX2%?AwC<$9<L&UXEy$j+>e_oimBRaXiUOfaQM@)cI$g2p9KDzjBIS=G&
    zNBODnB*ZOYZ5$t#e^~j8Q~$*v9?Ctc9atp^(?SQ7xvN^lp`Zm;q5uH&M`FX8(jFXF
    z_}S#U5@?K2VL>;GEozi(=Rp_4`Rt;sXqA}76a9w@XQSQFM6^4dhiX}s{;37>$x3n%
    zWcWstB&~9f3y}PAcBSyAw9+ghN|R2UizpAJc9RH?a;3rKEa9gvWe8UIP9in1k^{V2
    z?3BMeS_8(X&J$S8OT9BpPX9H!6y7*E`^&>|pWW&dt7+rbg2+<$MeIJ5q@n}eZna|n
    zP6aWa2XSNKnE@LT4Z5-2qy}mXK0TTY)3Aqw1E07YgN0+*rRV_C+K^HAguQIxgAB!W
    zKJ2|ZXCvERur%(aC`dKvot}a_WDxS>E*ol`>`tM4ZAp%1A83BUKn95ZjvfTx@1BB~
    z??tkoX+rE^{VoD6btvlSw-R@*ivTA1k2rrbf=B@A>gfkfhLJ5PEG32dd%nB-rLc8|
    zaTf8KRKsoH`HVJ$Tj-zM158aONOZXmKSWktY0oj}BbJ28$8tq<bP|iUse7QkLZt0z
    zdUUF2+uvdvM8`}a5W}SluNB3-R4ph&XxXzjA^m4o^b|_TB_XlhfA~NbGBG7azETCT
    zh%U&-xCQ=6VHu|oZlY>snHdCftDX(~81wTJKI{?G5{aySN*6``jqJ)wRW`vf7i%1F
    zBj+)w=n4ZQ+$O$jg7F_t{w5-mCL)0dDw2o8^mBAxr44e?Fn?BDU1Ufj)F2s&j*?wk
    zHA_jG#2ipI<py0sF5S-tKyApUpfkC9R<kLX0S(jFsUi8>s)(&}BRg}ErZl!q_HI4|
    zZ9rB{L(+#Wt`&9jd*edKpG&YSQZtH=ro}wF)oQd3t75(H3^eDhqNqCOfh&;I@T^k9
    zn{1hl8{MB}7P(rLU5l}V*q@G<n@g~q13ZLN4a|oIR-NYOwR}3k?(npDfA=Q~AV>5k
    zNHz%|?e^Zljl2t0<}58sjsX%hWRu@(2lHL&^sC;c?ZE|(9;xNp5lo?eM&=+Mk08oS
    zm7UJZ!rRkK4`MD<o}OXP62<>dHeT%&z?62Bd&_zJpYk8Lk%f(xPQe?lFm^-}zmS(T
    z8^cw+w$F|isN%D!d1a)C3dZ|TOR}N#Xbnees#X&sJYA{{^5<gUicZpCjrH-RN)Q3{
    z0RKI0ZACQ~*dt_GDH91WkHQ*U{YzQ|C4tadE}aJZX(1=&IxO1SV(I=zF!=eTO%m)e
    zyPae}&g8=GSsVysUw1UEQ8$fbMCS@uB6_R$B*}{Umq-K`M+^l|!QBYm+pMhq<hZ4b
    zLc-u$tEa&dFR_3)v@LnvbI9vK0`7ZrnjjRJ4l*`>a;C$YU7F;^=+Ya4fwb#lLdWm=
    zuHS`3roAQ1z(o#&>&i&eo8)oOon=Q8vCeA~tVsNCi9SQDm*cFV<ilk^m_20mo*F($
    zXEY=?0n#4e8VqY%44!9}z*?9Sf6ubB(klqT%I)x9BoRbD_qg(k{!$lsnvO~`pDy4y
    zJ^v3epJ{7mP^@EIYtB4HAdO;xxbFnuN!2++_|DXsq<8mpGiTrG7Z-4=(6FCR?u*wP
    z)9H1IF#kd}9NZol4;3;T#{Lv(4CffU@o8m_NAaS~)uxRelMpxu;@VhdX~Er+4c0fI
    zR<Evbi5-^EMQ?&#B-;V^kwKfv>a>3#-8Nh^$^1+t!_iS_!qE@rvx;1wPT3nH8NDMv
    zbou{RknmAydH^f~TvJtC`Mx>$`+kHg3xy?Q{=~`O@frhbpAl#@`NHQD>AcXRCpTg_
    z4^38I(*YOa2oCiTMgulZs5#OMw@5z52BNVuUWJmT$^H_m<G<578v660xJn${#A+h;
    zLo~1s*?GuqssQ0-RW|5ZN7V2+SBFB55NEPOqYffLKUT?Dwy&tz-~As2h|%wH7ZIDN
    zwEP*8i3l1P=0qt{4Xs(&N4B0TJ4y=(1NoX)NX{o^!ss%<CzCxR*8jn@T;OtAmzKhM
    zdBofB42&>SJ7X4xU_=M0*Og!%2H=KQ$kSt`UcDkRTdx5Dui&LvDU0<*aZHVNVdhI=
    z{EZM(h5g6Y9flFjm=7dzQ^ij+=7pqWlr%PoDwD(k`50^2Wr$0JqSD8yC^w`QM1?DZ
    zp`6oxkH?)JPrCsrg-Ga+MX)u{Q@sMA52T#WNg2gykQ98Zcf=8hCRHQIf)S~Tl){Qc
    zs-9T@;6_4Z`5wO?bTMki-$Z7gpY5yJfXpe`B*@G=Ayc=tAg=%=mo{Q1$v1-*?M*qr
    zR}ZlI>y0S>9NJTj+|phrgLyhLoE4fo7kW-UKN3ta-Vyk)k{8F8t^!%JG}D7&D3ftn
    z-!Ms3n4f1`i~3pg*rSdGAX!R|BT-_Te_i|$(nQK3#S_LU#{en;8MTB*#wbKT-tm*e
    zBN#>X-zbb>LrMnz7Yb!kBb(DHF&#M%VPT;Uq}Xqse+LjCE^tPzgWL#iCg+y@5R0Ur
    z`!w#rJ4#?G>G{3`m=yXq%1P608p&lnyWC)nQRJTIicv;a2)IdIa=;1(uCAy2uJ5z^
    z6LysWcPrHpgPC!UCDAJ96ukSY7*H2Oyy6}aly<uZWfDxF{Z=TZP|k`N%IP#uVI0YP
    z&J&qHLTP$JdK{9Xf-6rCN=uIN1RVlLdJLWo^7kPTfkhtj^~@%+qT8GwI<9*J!+d^i
    zK4?!XH4GKl3Qd`&wY9)jSrDF&d}Z{Exhfzj!P-Haty%kuDusLfR3JL%mAT9yK>Guc
    z{re<mlZb6EcS#18^^fHV$jvJ5Ay<~FgRZ)QG!6|e1Y}8u+Fqg|%LQbgwicXP2n{pj
    zigeFbn#|S*uyK$;cEK$!>3cWv!8Q)t<u>ld+>melCFyxNKwcQ~4~*kPnU$6kKVXTV
    zler3xTN6un0`ut7j9T!V7KBfmPh<Gk2+X^5A29FT3|Ku^F=09GsQN2{+y;*6vgybO
    z%{9fOY$1su=JOLWTDk?HN5O<O+|tT}MaK&xp79`5_UQ8hP})K(%_dt~X&_Mlr|2P~
    z2LmapVOwA(mJk5Tc&(6*WVzr#<Kk!WDWksZXqeH!!DE46khj0P8I;m*9b5p$(<^wm
    z5K5%?8{!#Z5<GOg$N^#{+o*0Zlip0I<T|mTFXRUL7v_>WCv8C|cCSA2K~kmtsac<a
    zHyA-4Nu&6ZiE%OChlc$|d#_$(vaNXBbHd`o?pMW-ouFs7J{<v~)58^5@cV(RgDHz<
    zF4c&*mLxS8vwg6-x(5zUl$IL#BpFx*JCRoqJ@UOm^x?$j0y)Tb1$w#FHhBf|`a7#~
    zbv*8_Lc1Lq5?AeHwEkR3*I<Zg5--6RpEQA{2cg2tYjF_#YuEy5DhkZ@Dd;6a50j}g
    z>EcRW35fzRn6MD1Q=o^v6OVP={-lP@afs(eHD!+TAqC+>;*m8d%G@o33@h2R$=rED
    z#zwC|VjqSg1c0O_0)fZJ>H+Xq*bV%?;2DxeZBr?RJuPp#=A@_zS9)i_L+H1)(YeQa
    z*h`vjfGsvsFF;S=cDP{IXLx*q@^rT6Koo{3($te3vXVZ#!LoanNG~8;#3C;kQjDY&
    zq~twe*o$l$7l-k(HB&9nL|6UoZb<qHWG2)@5ulI_e3WQx>CL{)r1Va$TBk$Y_J7eq
    zg#($HV2vOM+I_m|G`2GH!GS;V$!#>?*#5CckPnATpMXqnAjN2R8?BQEHz`qdMI&Cy
    zaXPWT!E8dRlFKWe5*3kcUn-eWflC>x=%&j78SjoK&qpB26yOS84xI!2MSJMI=CDbF
    zXxR-$3z3`dDq^%g3I0Hhf5!aX+n2KK6|<9Gd>BHI6`q9b*CJA9njUs`Gdffhw<%zw
    z3+o(&HnH>$$IU#vo}ImxXn{xAN<NCQlAfSHlAGE~jlWZ%{+Mv@QY3#z=^3T!PC*ox
    zBAcN<25@YKz-AZl`5QDpTSZZSGQ}A7^v4Rx+O%M;<!o)JAAy`n9!y_g#7{A@A-}n>
    zQ9ws=4ckHxQ@m_xer<#Ga2C(vA))JWSSw=>gw;<hb$F;85lbVodzy+n`Y5XzR13yR
    zbPt;Vq_cfAl}|@bp9ouzeuIMEet@YU$0aGFH%Glk3=*NQEF`Bk!<WFK|EkK#X}^DU
    z+>VuVo#`s6y<poMo}1JEG2tE1VTzq=o-Qw`Exp5k`Yd4!ogNY4>vK2dwY$G9QCAi%
    z@zcy6(<s}Qzsa(*^rHEh6TfiTb!p7vuzn@j-0IFx>ZbrNb80OuxqAV~{%9&=yM$lA
    zboV+;_QK)Va<>$=D`NgKv)wN<@|D<%gSQ5qGR+WaRNo({ori*-R-|_>8__BSR+g=m
    z-HX5OWY<b{?LS_a7>k)nT_Q22)*%NQ<B%S+7u~$ieKnrwj4OTSlm%Pf`0^9Sy~roO
    zH=(nJbkdNt8vsIuhV&}xk)I;g0jJ+o+vdE-R(&_8^|c>aBN|_NEk`ISpf5Y<MeG|0
    zJ1xvr`@F?Y2H!dkjJB>%x+s?8tQq=o@2|G1&nB}J;L^SkV=yFnac1(T!f%pA`&Yq`
    z>AHoCTifnm!N%=XZvA&g)_!riV~-~o*53|7I)!CM6E*u*iCrlMw%t1PizVU>@@3p0
    zz-p^!UEw$T)}{F445C?8XT8Nz;?s{}J5uT;AG!3~a%@qkQi;u|(D?Ew(Gqo>-@*62
    zT%LEv0i~wLX2?~drp2yPAxWcZHOtupu5yjdXboHIyGt6Akk`>jlm4=5=Q@fKXn0{m
    zQJ*TFv^H2KIGAjq$zjQ&Gm<#6NDI>69wrVJ7n`2#UJ21&ZQyWB-}*S_W8LY<ru#uJ
    zLeJAxn8s^_u1A+$XvS1jns|#T3}9n-aK~|g&Wr1B`!2u^%unx61{a%FKZ4uC$249Y
    z<Yq}yx)!;#t*{_hJy7xn5`K}=a>*FXtGM2)s<A4+>VS&yCFPk`9|&%j=10ogBCR#E
    zq38psWke87PF3swyWg`Em0G~nx7XRBYf_?VwNr4hM>wcGqTbo)m^Xk;5EgMCJk2*^
    z9(UPRn>aVWN7IYy2VJk+3wm+oG2IjM^iJFT##@^H<e`=n`DqIJVTg<bx3w72>{7e8
    zDY$qu^^Yi%ur>n+PY^@CPn+1{hdr<|fDAX125KjO_85;09L)6v#|7}?lp5LfZH<nx
    z?6{zQb;*{-kH-s1n5X3Vx$v6~{FVIYt3M&xY7(>2!wR<$$oJKC>^av+Gp(K+u)0Vf
    z<K&A%>3EzGVbJezr5^Vdiz}R}7#4*N7adyI?Y_%a8K)n}rx8wgmMG0{3OK8EYrrW}
    z7!qMfR^zG3tUfO}6jOP9DmKG~6Jie~muDC_uNMl0J9w50mMxtL`T*Og2=gd&?Av9$
    z&`?abB6`Q}p~la&+I7}<lHtYyOV_o%O(95<GB2*oJM$H7Xh|$I3fmO*hL>W_>_4#Z
    z-*zxSjV7&Lq2$H4V;}#?)CPE;qc!BDHa39xkUgKQr1FgDrZ*QcT`KQfUp8ezNBih%
    zObLjMQQdm6=?L7ldhZ6k_!f`bW2oZv7*B-y@tT5_`rEPI!s5I6>U(YI7qd4QD!zR4
    zgic3IF9I)^Wxbl<`XtGJ<8CT%vA1#ajz>U<?h@GvWsl2?Ej!XCf5E048~;-Ht*y)#
    zVpU9%B$VcnX$v92KXc37_S#l|l%%`pS!dv|Outt8^E^ytbnoh-&(XiY?HgnlJ2f8U
    zF>SQc#0MoK8(Uq4AC|k_SEj4gyTmQ+F|GCpuG8!{2mZG)g9#$wKAHskly8^4HTEYl
    zjZZ5Doe?_$j^G=%f#?iaZ4UlUUlcc4-L5GZ7CjE+)kBAkJ<D3w{iujXB9?jOab%NK
    zLg}w+wxGfss~b6Q6gr2=34=tA{D<5cgFGRKVU{Gmd-!WS9<10&SixC!EV)n@)=y#9
    z#zQN-=EA!S2Y&GU)sNLU>f@G+c_Z2We$Y_+3qtx=HGsbGF^{ZFzb)f&7o*MpFs3P}
    zhxnGMSUu8Ug1)}B*c`W9g(nuNj8~h2!REWbLHHQ!;~Lk+X3zl5>%#u-`#e;AI{}K!
    zXYUFRoK5SQEcS&Ssk{o24vSU6lUZ~no|aAB#nNS1?qI2^L0(rO{vIaR+n{n%OT}?m
    zQNA2~jAnZ}duK>>V!7MeAUCo53vfADPkzvg2o@<zcl1!{;nuNOT~Jo47@HAbS{-$i
    zO<K<NFWZB2Bl)oyUBCYp&X!X7)~$H~<X_VShivV>-AIetM+oU-?o#IB*Z3kG#5<x=
    zVzkU<kcs$KsVOK3JIYd}m8tGdxm$SC8SH#by?8Q2Y{)5dw*p<sKF%ZU&}h;x?Tbk6
    z_(3)Wr-4y*NA=Kt&tQu{)3d*UR9B^uIqlTRqU)r3v|LzAFJBGw)Ly|no`E;O0uM`d
    zWxACI5^k*do*Oq7{AhHHIZRiu@Quyb6KsynG4=ep9ke%~@?Tti2R`H^6(Fjc?-|wf
    zxIE(_r#P_>#Pf~cfj1x_W?lS1?N&n9-EtLgwTXZZaQWa<{i|bYmMa&~U3@Z3a5%NF
    zVY~AkAa$R2b$LP%#qOt4n3v&`$NIC^f?bJUrMsaq3uyz#9Nb9+lb}(idJl;ksqyd+
    zo+3-Zhj`QK_X7ceeE_OF*2~tnVj%W(FYX%jKvsfq!5Z1mL*h_SAF_>>8r~F}@kCm&
    zX*ynq^4j*8*j-K)i`a}j>5uB6-?7Q1{_1#n;kV7<;O!x|CUmLQv9?GLt~!<C*H<uf
    zD15`F%@3|3S~Er!_>r~vtQ}~iy2$1(bOT+DOKfxoGF<8wlDi`P_DVM3?6OJdTwYY6
    zK^_u2^X=2vF^bAmj~!Cjj(?|spXSE!MBz_AN?r9RK|}a555;DLNIxr@2L}AyCE+K4
    z6e5e>dr6(SSDq2pbT(fbB@JO%oFx3@uF!Uk^)<Ziu94p1sLNP>SO1w2^x_eAb=G%v
    zyoST=dgXP*O9nm8Z_$V6jr=9T9*+7BTlHI-p7d}wW)9Y3%DTuwPAYQ?9CzG2+X!$#
    ziPjqKLH@c^;%{(>Mz8=3-KZ83G!NF~3{V^{1Hr#Eb(76oF{GQs3UEyIDP^I<&t@&6
    zsG%lr2|uZCWIWZ^V5Dl2M?~hDAH<5t-8cbeCA1m-7+<}dk={XgOoDMU^`6$M!bnY!
    z^+amuPSA_3!A~EPD&RBV36|dIFIrXTfKAzpDu8&K?GQji5sXF;$~hnZK6jmY#K+>1
    z93ako`-N%yfiQa!CX#RRnQ66taGef_+DLHMw%2IE*X=Nrcj(aM%YslWoLXca(@!yQ
    z@H51QNb;?bxUeGKiXirSo|>~|a63a}>6faB(G(QvzvzVVKVGKqqnPe7ovy(8w{%OT
    zd4CUZR?X9oa80H#<YRlzc1z-4&$U+i`fI%F^W-2KuiK@UL6mf8bHfTQnNoSI_8*9)
    zb}by^Y{Z#0&lWEr+_>qx^!*WZG#vk3U*UVed77@&!MGS0tbXZ-B#F_ZeKOAm9r%%;
    zl@iyM@C%SWbp&$gs}^3UuEEYHF%nC+d<yGN1!)@B32Dd)GX2N~AxiwMt@T4l%B086
    zo;?YjMqng9`xp<_sIzz)Db|-CbYTciu7_#RZB<KpG;k=?uO+GN$znh0LWMjwS*r{j
    zzUxQHK{WYQ7BA2k;3KWyAd=?JfPIxNYr>Dej+|8^3c8ftkIJ3|2d$!ky+h~7V&_x>
    z4CZKn$fU&{82^R+rO&Rz0*(9T=+|EVq9M+<&r+dZu7+5WTtNM`Tq4(05LpbTG*UGM
    zRr^V<xF<m*HY0IFaw&T-e|dzDmTK$<Q-nG{jls^rlng1rU%5}E2|FwVcC`iZ%RnI}
    zJN($g5o}r7*7~Gl3T$(azfV`AV;p|(E~f5`jf#3tZu%}DzOmf(T2HChUACY8v^}9y
    zt%wFk;-BfQDLt8B*)%k;t%YCgR1><f8CXgbx?OQXhVI54ARZP<QCCw0J~zmIgJdSe
    zQx|RbxVsU$g5rZ-yi9XWhKLRS+iLo)Lc<FK#1|Atyb5hQ?GBQ>I3-R$gzoN@C@nFF
    z0ygj)#tEHX`G>(md_oV(Gj8gs3rYjoE_7Fy5QhB}-`kqkj=zZ`pjuv}4#i}dk0{v$
    zX3d6T;Tv)gzpiQ6X9<N%x?C+i2B{?>SkNgw!sX#nHKR%kYq%CF|BY)=k8{2~yQ?A4
    zrsge6+xK-($m#;s9y3r|fq(57`ES=)&G7vfV;i<TwUND{s$P@$+;Le%nV(9kH3bWS
    z5}1RufPUIWlXe@Vsg8sba2N_|@D1<m?+xvjF2g=|*3F38ZDJc7K}h=%JqbV>%~3T=
    zS&szR#bG=jiBL^_9^@6D)<Ml|w&Pis&L)gp5<(?Kw}#Es!f`7q|1*@Ucx1LDUEC|g
    zW67vhuvHP9_a*DMdH~|gb-T`XZ=nB$WmUM;PAV05dL3xl>_yiZ4>hg!32s$xzVK`~
    z5p1&1lwIEeH-^z$XsMH$gC7gOtt@)@06%uGvD)ml%T|33sK#ewYOB88nM@~h-BUJw
    ziC`RN*X}`i%K@Sc;X?h5p>pdnR<sRTAwJZA%Uuk*#Rr(^fi$|YQO`!(=|K017{~C*
    zkF#oz07Cpl>QGJ5F^m25Q;79Q<<TStjyXsN37@LG=GFM&|KT7*#?5SV!WEa(-K6e7
    zNV)h`w|>;HD&~QY+?7FnvT4mrB>!3_bgn7dwGr-8D96~jrtq8Tb-JJ8oh0V!A~%mL
    zY9f$`g8AjEBBvnj|Ed@lxP+#HJ{$L?l)K65ks8b+%hMMx%Ob;O@p+J}9i;-}o(L<g
    z!W#E)x{?Bwf9n;l+lSeO55&h9yZ+^8u+f&cWhC*$7jboB@lT{3fJ5vrEhZ!#1roZ}
    zl$=d!ib-e5r{DHxR|LuvWLpu&l-ndSWtNht7mS~|+U9(Orhi=pTxCtd5J5UM{`2VG
    zo&Z{gjQ^`kA{8R0f1`LQIbcbt7|~)1%*eW(V@#X4eWVJrlti9uykB|V(ImA7P9CUx
    z5B09nP~Si*e<=L6rig6FW8JPc?t|V~+g8s}BsEzr%hPX5bGWgem^)_a?z7#<a5HBr
    z|C;?Rwon#M?3CtPp@Rxr;hiv>`7Nq*VS^L?K#`x1gI-)FaienQkD2JXEH^HX<gaTY
    z5w>6$oGMYon5U5Cj?`~)jgqy?$o$IXotXedmu~uA?hzqB<&7%M{0@IQn~q{wjdJOo
    zrO&E{H={lKbI&}G^a29b^F<?Bun9psY7=1+yDB!36u{+h2tG^<VzT9I>zGmSkT`ut
    ze`syaLQr@i^vloh{3~+KPKBdXo%uZ((;I*(#GD-n{Sr52*)xAEhpr;=-`zDR-{1KI
    z&8t+83tUj}g`argzG3EfM1OsJq>j62Y{m=IYT6EGymkmagri3+H=tx>;aKyRr&~#T
    z#2KQP5<6?+PeZtR9~hvSgbNpGTW^6GqBrL<42ghQF8f>oD5DWx?UCEKxruZ`orx!5
    zt47hTM*vVqYJWPZnE{*H2Q9WD{e?gD8k+^37XP&N7BPpbgIZ}e^jsiuBU||{PO8oN
    zm-M6%JCtIIe<f)g>xuwNsH<@xGY)|;lA-wWt%#q@dJYeoQB{{G2U+N(9e&0RL?jzr
    z?(D~a<|>BVg76D#ks7Q@z*8e!T>N<+#CU((5edIJ*o?{gNh7TN_vw)2D}E6(5`MVZ
    z01cx~7$ze4)-sQuFQ38EM0RcomeSM4M5&X6E_2m7n}0`)pTRubx85!yxiOa}ZFqM=
    zr@MG()kKpYxMwwq9GO8pe!5LZne*k+jVtq_+eE>MibCl`M6R}^D{8oL<BM92s$RS|
    zO3Aaz5SPz|lvdL#?)HyH?iQyPBWy^WZ!NnXMlFV>kC6aj?LY4K6w)sLoP?S;0Z=;0
    zDhriSGhW|(B?{89%FBqTA5J9TW9YXuN_}J$D!)XMW!6*upNoeH@1DjS0=rMb-?tP4
    z(y$smgGr2K?{kl?l{(lGBSi;U7U8rUSzJOI3Fyf_Yea-MKA@IA8y%<jI{DmlAwCBE
    zEGq4u_m&nQZN)LQTg%0f3n2UX@ZfGjr&3WjZmeLY_pd2Rkb~r-N0k-ni_2mb=itB+
    z<AA30`aaU}4I0PDZ%c64*ELB})v0cpbf%PG7yMt5fx}ooqi`2au%+(sCFvD-91B5`
    zN=sFuq09i9v1>gNyvrOhK1OQ1R$}gY<Hw2Gz{G9eH3g5o0em?^%YXn3lc96xH83+N
    zIfw+a3VQ$vFv#=7fAve7%tLf|J`e2gfFM)yWmn&Vy?a}Vzvjb)G6x5xi*ih>UuxuH
    zlprAEe}e7!^y9Uwv3~fiA@DEhavD2F;0bc=d^I`{)!l{l0^e>EGkj}72O88G&x61(
    z$1mwLAL~4HKR}g#5@Tn5@r-Oj&My4{sl+TqUc<OA0IscGh;Z8<Ug`!dI`S4oQP$Qz
    zYOjNICgoL2$3wJs!v#TmFOmG1i{55btJ55CQX^R{d2)6D*x$5zWf7f&hOhDt-Xq~>
    z7fXw`(B1M3)tLgzJeE2_XrH!Hg?GEV;ahLNT!tnEDhm%}|JCo-x*jz0dE9JzQ112s
    za*H1Ffl}kjq={u^E!$3<Efs=HN)w5Vk3=Xo8U@)$-G`K@yzwJyVQvc{hRysiexqK#
    z$mKaSbD8y!lZ7|AREH%=6p)%kC}-4{gZ3Fxc}C7iQ|Wq>O01xj@SE#R9?Kbl#)3j=
    zzx)^sZIa#<(u05=ktTV}M&-kR((wxTXLhZj<>{Se7Z#gLgRVypJ_QZYV@olS8YH2@
    z{AFsJGeDskl`qvEtQSX!2;hEr;sA~KwcN-;Mf9MHgx{002^eDwdUpxS7dd{Jte>;!
    zY7W7>f-aI;%x6F~M$S=9^@@`)k@8=O>KcL()bMq}{rWk87ls$lM319z)!J^7&9=0|
    zA5g%g|3J`3X~n7Fj_-*LcODURyc<LQ^<|{V1Wmt$7DO~Pe{jLit9sTJ{Q`lZKqUZ5
    zhQHzXux%l6ILxvYc|&F67_LROY4yOi?+kk0ZVZPXUMIxf@-48NV3r$A5t9h46DPhD
    zK7S7VsDDC?85O-wt19A^x|`Mz{*QU3-%Y&7@ei~H-MUxq7Ti?62tN+XN{p(BA#p<u
    z2j5m4$G;Yth`2r~4$x_^sx=>FO4~=S0StiE%?1v782j<UQ-r?yNaX0|!(8{68+1=7
    zPQnkQBAJiW#toA0wZA*0za5-eAwueAAnBr5l+Zl}LUSfaW&^f>WkajBSLn#-+jD7<
    z6S=%w;yuVX?W7@veLfL$*L#P|Z=(|{Yxpc-*p8lc^zdx3kb{UK20~f2Pa@=2=6u>5
    zL?&|l+&akQnXz|;-*%9mD(Qr!SNe!#nH;XNW|?_LABJr0E2Rgv0NL`7N~eNtc0*3I
    znpBGJcH=B4^VB1$RT!t;pi_8CU+#Q(1^e{Y+26^eRe)1~??{#2Y9gzqRLviL3Sjdo
    zv$Nf%7=8X1uh{Qviq4f|RPElkBxJ1Ehm%P1NvmjY@G*j>)qAnPV{jehJ!O;k#I*XG
    zM(rcHjhKeNp6YM6B)JUOE@;wi%_seN_<apBc~`M~LU7?Qy@bl_HnokM|I$VuG0OZ#
    zx9nPE>~}X4@_N)TVft@FG_dC#6{|hc8V&BDw;?*w=k*j)CHf<4D$L|gj^W0%!tw+n
    zpT9OKvMJ&<X6x-lOwfxg3y|AQ=a+|1vSYyZ#oGW3=YMwy4uQZt01J>mKxlAVGr;h%
    z+)-pnTpo_8B^5v{#_9bqEFn0Nw~dR%r-T1}HQUWKVGG+ZeXt{D1Z}wvj$J;E9<9B$
    zIYUBpb3tklP3m~6X?5D#NrPaBn1uwbaHGpeMM^8KJVQ&!O=F%6!HV<<3rIDZpEZ{;
    z!s9=()?$S3Ys;pHS8}o?`3U3{i}ZtSkU^)0x+Gw9aoUxtp*MW7Zih?EGOkP)k_PDk
    zLw3PW5U6u2>H<ED8m%gtbB^Fl&##3CWH8kF6q2K*x`3)3#k;G><}vwNEQBb~YiO+R
    zrFBnCV7j!%!oZ{)1l8BJVER~AY$_8lIPFP;2l!2gH{qr^fG`UBu1xPVe(_Y_+8>fF
    zUg8k^0*saf#a-n7H_Qz2IA6+S5O9q9RrWLe61NhT$nQ(&JPe3qb#^{PfaOE-7p{cH
    z&TZ&4lmDYsjL`XMFt{()cAeSy%an*1C68<XP*!M@D#@ny)LWAngX%JD%@ctBX1V~R
    zN{5Lr0$sihhls-|HX%z6z(BD?-{gywD+oFpCi*sjfq2uJT@y)Gxm0IEt27%YH0qru
    zzT=*H46Sqz@#euzB1B7LvW%U7c%A@>nzZBS!t7)(9N7E@?TF;ko};DT7Zk&~>m@jZ
    z9v;p2GIs!#_sQ6hiu_#>plD^$IV?~x6*F%as=w7_U-`kvgLi9rE?9>HfdEfrMGLyZ
    z@+NDZR1HvpPq19rUm)vY&+4KF@an0gud2EILk$Fs!L_pXxsyB`!YbAlS|T<4>5(Bb
    zMV1jfSdIG_qz+luvkq=OKcr}YWrcL7$ivUDbZ3C3{m8;5V0>)GuAor-|EU3>EB-xn
    zC2(maY=TuYn%_6#DdA^`5|j|zA>J`?_$ac}gq+9qy3o4t!(Iu$U3ZCm^i*-R8$=}C
    zj)pcRfJyG#Xotv8bGWks-mYgcLV94Br5dC+@qGynzTzE@N#NV3k0dNa@J)%6t1_wj
    z=b^wi;|d=5Q9aLu_-s=qsZ{fHMEj-dqp_@1sFH)R-x5JYnfKvL+>g_}=^;a|-xrA;
    zXH1Env*JCO^Cd~OGgxO(i}+PNPl=$mYH2+zLF|UuXz&pb$cjP665$QHujilGV5M<-
    zJ#mH198)ZD#yrxGnht({s?{1*yG0^*clz)vQ%~7uS+<e$9SpUe|10cC{COgX^`10>
    ziSP=Vi2%Oww1i(MqG;wh!`J_E_W~4>y-<|<ZpgAn?jiFzpkVQ^n$_mh#&ox*R{NgW
    zI1{Es40b+{ZDsGnD!3c5hiGmadE>1OZstWUy8Am%5ZOly=B|&;m}qsmCtapRmdKcc
    zu8~ctfPOysxsb;C76R~@&hG^vvD6v+g*_G?Nko=eM7?F!>-PmP2tuNL;%WSP11(=k
    zS4^w-1W&nwf<ssVUSGi^29}D=_=rWAGrb2;@aSlI(2E4v9p-5|^<=TAe`}0gPz-+I
    zIl#7Bn~Abn+%T=SU3kX0PiGM3^AX9~ngSlBZl~R-T`bl~BKo!?NMmixzWqvlhCAs<
    z{>Avl0Xl-Ka+e4Z8;yb$uu!ELkq#q|xjstzQQ6qG0f<}SII1u^m4)1H$$C7nhVJ}H
    z<9!G|<11|%KVdCu^kvp}Bugl9*4la}WD+)4k)9$Satz36n1WBkelcJ<E1R~ANwGwm
    zilzCnaf}jwJ=V%=2i-V_Nu=zfJW?CWuR#K<HV`*c{wE}i-1G(T4R{H$$ib#CO8g)C
    zQhVmiH4>M?`P8jRZXx3>SvR-E9DE`VX5dyRlA+CgkI1NJx;60<{}EnWXd!kf8jrpJ
    z4NCRKO4#UI*i#E~`y(_P!k{2E@$U)<-Zjx4G7bwVKKzBTda@Qu^OcN&HZS&n!3Vu8
    z-bK!r1sz}5qehm9h`=%n$x6OdqJGqU{9ncw5>(;>F3O&l9))hWqO6sN7pT;DTrK^v
    zF;#gA?J9)|8K6%74OUg<Lcxhha>FBD6v0w}zCuWcEe7a*n2)XL%;y-M#Vv@kmk^wU
    zJ$;CRr5hn}B<}+f7OArAxvsfjTHQOI6+oB1O8e07pkJ0Y;r6#czgqjn7Erv-Sv}~?
    zt(8Q2>&L*fV58_q8uO$;&RY}2W98`0p5FDt(p{NuY}dyB1q6O7DQp!ngbvd?MC#k=
    z;OXU9#a%Fgv5PkNDi99EqSL`vGcjd$uW3<dnJZO+Wzrtih2JbN1*|w)B<zz&R8+SP
    z6Q8u2%@N=K2uGC0{vlgFu4sc!V;ZPb9mfh>ANCqmC#pQQ=Xo)v#&duAk|{1ysj|Eu
    zLz&IfFI{ES2nR0X4Vc>YLD*9Gx&MqM=g&`nYgOU$W9K0jV_>I5*^?VLG<5UMo;@|O
    z>GXh^*ORRj-gcQvb9X9{gJ;=t@2^&z!D2QgI*S&j9@CF*HeO?gkz`^~(`j7_ktQS2
    zXb7`37peQT4u43Ueg-^@`R8UvV)C=6#$dz}x>2V7tPcDks%L*nqGAwPp=Vh9Mf%yf
    z&Day0sD+&vF{sXDw;RK5w{ghQJl^CN&?%?zdla56{3~N8e#2z9yOVC$r+%g6(X5n{
    z(Y`?KEJrpG!8hH+h3o8LYDJgR%EI`E9-2rdh8B7Nlpm5Lell>o?U#qby=NjZ{d^s9
    zUhkX#yB!B&nVNG5&DP(@@c8&p@CuPgC4+<$VS<-XQR>}Srw0LZeCE+=GOCjbp>U6_
    zbGGtcy%rP(vIl5D28f4u9v{H(rn0HF-e#<>_*}5^AlypWhO*P^R9E4TNpywxs6d~q
    zPd$R)NwX{Dv4{C#k4}kY9pvkk5wZB9>CWyQk*n~Nl#4`<MN@Wmh9xLw?5D@6`Xj|I
    zDwAwO4!lhhem3Dmj^dMvukcIEYa6=rH5yYFp?K<wgcCwi4f2vL=ZTeBG`^~`;sb>;
    zkLJJzQ?g6fb>eckGzT<Xz@|oZuYj9t(3FoLq_)1&(%fby<T#v{7L(a;c%GzunXG+9
    zIvLw2nV;=~8K8Ph6HWw49aJC!WB=MCB{Ay&RASdsG66=qwqHVKcRP}Ozv1VL{f8y%
    z@moqGcB*>5PC@)KYn1HSXP%X^-3Ue?d^X*Wsp&@?=>KI8lEeQ=^dG+2ZhN2=wY0~F
    z;`oozBf0c-Yk^Zr;{FSm*f<@+u<%>uX<vELe7``@l~${MUF<rIh&&_v%@sj(#eWKA
    z7%#Gq7s^*wykTGj3BoiBR;=s%?`sT1;&Pi{iFc=Xmn)j2KK?@_%!ODNMu29{W&BEM
    z&wqr6hhyV9A9Qu+p*d9H6%Ux*llfB?e`oftcz#t;*y(T{O3j~;tE`CNL7`nTG#|`t
    zzr67Ok$=mr-U?-nYCMKy#A(SD&39frkfdQLfNnE7iCV;gS4I)^w4O*fflZLDEEqnP
    zgn}XK&<Qa@i98sdQ`aulP(Ek^0`*cP58h~R`^3ViR<I{lab2f|WWKRC=%?(mr?}a;
    zSgpcE9k{4@)w)i3$!xo*=p=Zbs=GP<YDK3{JN!Tg<$n+bAOEhj|IGIU-*A*>+0?l5
    z1o>NJ(g!C83~j%B^v4NXAv27t<2kfp)lArTZNmO~lY|qBk_|D0Q(o~o`#=2~;GTI1
    z&WGwSp@)8c@z*PVTqOXmDx@qcW&S0g*&YePQflk^rcV`hb>vMsR>)h7a<CkhAAoyh
    z<(jfLjVyPJYa>ymr{uT4W|Mid2)X%FP0~y-2jVpT?#LhRmZC%!?e(&JMr0&47p$hJ
    zcT>W$QjTJCEP{QyAEA43xZc3mcL?-S;x4=LwOy~ZxBa|^qk=d!dj00lwUUs#3!hPA
    zqtiTL<w``ERQ@tDe?9)?Y5o4gKPSL%%Kbkp9eK$HyOhNCLK_T-(vVr#c|hmZ4egfq
    za}?27m0!;6P7CsyJ!^<4J{9%P&7XEU;}g9&<Vf`d_A4}8Yq!Pmb^M7rTz0ys(f`Lu
    zdB^#}{Fm_efp>M5V`#<wCXoS_vgt=_or1!68<4?L#y(~A`|_hA{*QUWz*t@G`Bjrz
    z)Y1;}cFO}#>pkePmeI!7N@jB6<3s$lp1&)bsdw4EM)Mc4;FRdo@-(ZY#*%g0AU@Pv
    z7pu}$kOodwEf5RV3On_T%b^$dbN#b>EEbTd+_f`heJ#Jb<r!FqOZ96iD@uql^`Q+`
    z{WQ~$Q91=5mTmxHS8#*y)|AAH*U+_+S;C29GF81r!I(xKTy?(}dTWUB4X-BJ&J-~)
    zu3mh9>?jZzwdnN6X&MFvjb9K_Q=%7~9eU*@YxgflBT8pvzC3!YhVo&w-nw5bPqUG1
    zkT?qCojUKkO#P#^q=8Ga>pGouYWUR!<zcr(@Bb3+#Bbdf(><A^r>}pEhF~ubp8wjT
    z<8{S9z|#EbE9jecbZp%1P>Vvn08q@=<pSDe@Kf$pdJ5!X<2DBRcXgF@mlA`J*d_U|
    zy6Et_%8GQH>!IF>G~fJ&`!p{5OW}YIrCV>4mGV{|$gF;lo_wFp>;0cPPsiLajzNbT
    z|3ij?stPMlTPEye_U~eTBB6l=-LQeH0PpL+(=KlOp7Zikt=dp8*7mPD1^?=3oV<en
    z`G4(wc|eWX8}Mrw%UCZn3N2J>Y;`f(RY-}fGYFMS)X$nqx-IH8woDWiWn^DRixMg=
    zUZg8~gSwPlZQ9gLR7k$(Ip=*Z^Y8cP_c?#mec$t(?K#hS-gBM<QP5^uM1(dpT}Ni$
    z2iQEg#uG+pJ)1CLZ&2jhKYW=m1t7Cc8+EiYk`ClS!`vAdL3n6t|N4H-KvQ|uhC1O>
    zkuXc`NVz?CUR=&Os0)ClaO*@-|E3M+0DY{<h^CH)!3z5*m~Xp;uub>8T@puw8dj_$
    z12Y~v;f;=t)xqId?y#SzZ?|4B6zQHPmt?~W3nqs5f|g@hWcGm|+?AUMVGaS^JxHW|
    z4~BY7EeVLy))|!BWk46B1w4Hz*WAkLts69+@(~ccuo%RUyce0i-VUg4U9!rvVLuJ?
    zF3&}+u^LCX04{rCY*s%n?_XD~Wgn#t7KnJl>x`tTD==BfX0+8m`h4(R+QkBHY-ivm
    zXOP=2w{?r2CccMe9Z|0JuWS1sJaD!yRagIBWCg$6i8x&A1PTnI5u#{(_uSuhGzh&!
    z5LA+^>CzBaE&By9GDj!1jH5kDfE3mqA@nlv)R{MZIyR4Af{kVF3cWDA?A2Z!sB>C$
    zo$pyuQ^732Q<<U8EN>T=At-07Xj=}epQnblo&5mg>6PbC5R*I(>Uaes*ATs!aMkd+
    zmt;HiB&7O;W~%eTQRVPk-iKgk%=DR=p`o+gftba=nurQMTcvF%0x8G_&p@=D1r96)
    z=aR{3HY<8smI+Z(8HpR2#w(*Iycwrs6+0d}GSuY&yYuF5fSU;OG*Hys|BWeH60H5_
    zzw2u2+^iu-;zNrilvJ*%>9Z8xY~7?Lg3E+pzV3{Kk!=F)<JH3#B0cUynQU2SS@g6$
    zLk)f=4<fT+F{ezksG$YAApXh3h11m;2nJpvEc8e+LG{l_E<cHUm34b%Qv5+&2CUyf
    z&>BwU_i5aI0*9bnf6!7Z1gVv5R{8w-q8^*lb3ha*y%&nc4mbu7a?10XC|yRkFC7oB
    z)DLGGD(32Fjl%r|(rhHtCj~!RgzpAgS3JGCW`XPks-sMzv6J2YSp^4d@1yj$t2=LN
    zX$X_G1aZ`S=Y6W7ys7D#8qAY2&hYuz0SB?ciDVuoPMi5@f=<W!7O3fDYhVxQ=mgN-
    zifcqVLN_(kfnvBrpCjvPZ>S@(2<J*>qY3`}<BAR_7WL@Gs|1T*Gj97{zT^!^`D@-|
    zE&JRo%kV59JjS>xbuU;pTnCX8^*}RdSR}kJ1!`yXE6><k=2U^T7yt$D-I<UA8r#PO
    zh(a=|V}D)kJrt}h_Q>>-h+LEa`i&!Xu4W!}2}QHt4JO_7PfhJHAnhe<P%rF(X_H(d
    z6W#)J;;_q4Lk`&EPJJ#Vl6q6^O(?g+V8WYKyL{uW;+!V?qCK}8<b>o4DHvdbM`YM;
    zpxVpJGLHiMyJ;B@CK#oJ>!SLW?}DiJyRHMsyRA6SHnWj^ehW?o@xc_9_@V_;adq)v
    z7{sG)VEN2Qa5F4~a>+g~-k*$eURY!YfRFkT%9^NyM~=Ah>kD<X;?KgaEhgE2c%j$g
    z<(iFq(Ah8o1MuEuU_~~VsFCV}PcDUpwyiLNrYxuALLcN;pIq9xCMCSDK1vV2YapDG
    zp&9{x7&*b<`s#d7>BeCZ(0Etqan`NH2`2-Cescu4(zZA-SCNiB>muzu`W;Mj3;k<p
    zuzbO|PQoUn6H=gVw)7KN<7#Vwh^h?;=^Po^O)sVli?-{DU`z^!<@m7G>qy<|^)6T=
    zq0C1>nP6}KBI?!xa+w=KW-bKuf?6HGsPDe(yl{LS)@nj)1^(|ZnnC()Y>Vyd>w&q_
    z!#C6yz<bT`o9ThZV<|j*oJk0S0b0D({v~x3yfSvg5_Z!P;IBlvUZ>0!_l!u?$;5Wm
    zA!g<?WbGw7WiZ;#`ZzP<!G5B#cYQBkoCm{P)~^Aw)%QNR1ZRR~TVUzCS3_k}cS%iu
    z2KJpeoRlyptk+o&Q6?4x$}+V>E}B5WO%*`V1N-cPg_aIbVur`V{cW?-KwYqNKOm-0
    z1I$h0?1^m%?&|Y5=eivP?gAKz39#KpKj(o2GZS!AJ-db2kLt%@nqS16(zpjWlteUu
    z(P35LwFZbb*$kA|cJo=fWw()8?B1X{Pe9^{rGuVMsQJi;&sG(~aLm?7{5^cZYjT6S
    zVz)IrFZ78Al2JD#`0q5TDSS;gIK|FXAB+!miVl@su7qhTzjOJ>r#Z5F6M!z*{0|e0
    zp8f-e6CuzV5p^646++N%jf2s>dooi^`Ku`6^l&(C<qLCPv|LmBj1>?F+oNuBHRyq~
    zQfQdDsZWsi1HnSC+!vd3Pkx$MIOz}YkYJwHjw$q7(F9;o2DqLj*13VSrMr)K()FN?
    z*-js_xBY5_QVyI9w|#%NB-@%dY}G77+?CW#er=Gn2Y&6|NjexB>IV;E35f5Lww4D5
    z!Va-VAf6ZX^bJb3fgG)ZsTSb2FL;Ry0_<^$b6_^K*;-)QIo5aQf|xbKB9`3k0@uR8
    zG$q|K4<8Kzj`axLgzZF=cDkQF<6@g@kO^`{qL&0*-6s{k%$uMXICV12H|P?IMAuhn
    zu))_2W_JWBHEkE^-8{eHWhtYfjW9T(c4*$?(w*j4U+dn4xltI<Mq=q;z^7}N++G?E
    zHK?b=_kRm^#V9DFNCe3nGtFKNjDus)PF8_uMpBMCh!0LmH1=+=4sLpPTTYnkj3TLB
    zt7N<7fsCZ2b+DU8dqmOi?v<!uf|U_anwxR>_0_)*foSE@Y3Vp}>VCkc`N0MaI$CO_
    zfT|MU){6sc+azKrv33i7rQ>Xgq<6G23wpkJZVi_My^KwU=()cRi`Z`he6bM_4}9^-
    zY3CY!EcF=mW)C1HM<P!-TQXPR%)PL;oPN9fIY|0E-3f1AEk1WLFe}X!ifpPl|H<Vy
    zu!nG+k}tK5mWo=hwarrF3<P<MeR8SpczE9y?2;BipW|MFzT8u14#UlVfsny^xV+eD
    z2{zKvz+rHteeR!?bt!#bc|#K|HPqh0a}(SpI-<Q~{8`Uesx|d{3!?WZs^mvrBcH$s
    zZ60nc2nSbT|1Bu&NT=17Oe;4#Gc!UOy?5u7bPzkq18dVmG!BAdW+v(p%Jw3ZJ>bCK
    zn?$0cWaorp<~Gon#x`)*6!8B?Sg1N(2~9Z0(C*V(^LqHh46}1!6pXGCjHDYn0CR?j
    zM21YTJn8*j*&UZwSUc!n3s903wx~hd2$mU;z{M{<w`Q+`SKKV;Qkf+*%BH}Q&&7c?
    zrXo_nHu%2p`=^tk-tH(Hm<C|;(M#3)H^OiBMcrhr_{*`fL}1J*QGaim_;0~PZ6_c$
    zMt37>fE4&uLfm`BY{KJ@hAiwmS*r-V@pldxXOgvQ+9Z<z#*sy;VO|mir!dOJJ|2r%
    zUkJ53FPs7TW)rM=c=gy=A~Sckhdjw@G7KqUIOZkTn)7nHZ&bd(-2-e+dRAZmjbOvC
    zUk9ORqk#nWg&$l490Y3^^ONGE{vl8@LeI)y37XX74s`>{gwMc6AVj2NU>H{FAW|Tr
    z;Q3G4i)_%GJWB{bsYeTB-GyO~1b1rx4-7bqYmSE>M4`hd^$HM6!P8JJu^#)SvTH{J
    z!F+<-flOLO5r);^MX&N@#Oo`4I-)Mmkp<%UD^`v8e2S?=TDKi1j=TFjEH!;$-{o4P
    z)^uf;!K}0o{kQ2lnyZSlCHw!k^C5gZXWE95X>qkBXL{kf%`sIe-r_;bM~^Z8rfAig
    zCXa+_q~l4iT&I#=sSO~L=P;ld7AZtEkk1~b9e7GQAl*+D-|sL4Cf5?S*4cuG47c$T
    zq_>SA#G18u^>bK=8)pVN3Q_CWh`RpGPQhRLGebL?{R7o1O$U;SUE78iJ>5PZfRu|#
    zx%Qt40u{d`6)xAh+y7nq1RLfIX!p&r<yKFct^=kaa(X!mN7VJo@f0Pi2=#D7O7_Rf
    z-dfcH5?3B$dbywn_1dYgZ&sQU09TJ8qbwzhYpjU~N68r1*MgSRet+B7cg=0)-Q3mB
    z-<!%D{570Fs6m(tLU*1-4RMD+rsmi-U)Mt_8j~?<Y{aKy_G-;egN>O?uren;7&|J&
    z>LOOE{u^n@crwAK2?#)^2KG}ad;o_~@>fR;i&*KOGw>aw7^Bt2yx~iIswb8?idr@h
    zwZZ^0D0z2+iDULTJp*iWftC`7ck1^8syMOl3H-N~lJ^i@G!Wrhau?945p|zlg9$gV
    zo7k#yeBGyC?OS8_zt*h->Spu%zX32wIjx)$w&WND(AqSn-s=#M-9hGa%->hSd^D1_
    zn}vhR!hHmIb^>i{I|>$NhyiJ9_w5$}_f7^?6-=GD;6Sfri+@%XZPjSq7e3|a6r>3w
    zBDJ_e!V$^8RQB09!|ylL=XP*bJ!$Gh#&}8`!pS4iu)B#vUP5~{m<(BRqhb1^@{iZu
    zz`QRU(mD40lS{2jBQqkr<D#8p`%C~H0!}P^@w%T?43<4a%Z?;vS$p4|w><B@*7y1X
    zw$ulCSf?E)g7ky5E2M4pKFgt`B*qrShr9>jiz~ATUnrg$-nC8+Qf7JI){vilaw+xg
    z1+^-GVm@MAf24o3_#_6oSd=k7Z?Umd)AX8QM8m`Q29T?F&TTmgg27ZLT)T(&Mk{sX
    zDRDo7xOzHC7Ic!5e~+nL+9GZ!SY&po&*OPkM<<S67GC~V+j`VP1FJL~nB8RBAd!la
    zvv*!8Lk=N#*%*~XpR<ovtWMZ&HCfU5qvx30UQRz~%stZhr6C(W-$NMAVW=xOSBiBX
    z>g!b?X>=`53X?{ENe$@{Xq&6OQvoZdi35z?#^e<o-2eK$SmtG`F$fJ)?&#HNO}hxm
    ze;SIG7v~y^RtK~DdFAtvlDE68FKC?b7zqw-VaM-9CpG$h2~xnNGr)$cU8K?jz;qko
    zp`I#_KssWZ0?mY_)_+{nYD?d&OszxrLS|*zeS=1fEc<<T`_}f-NNnNCEHdnDI_wJ+
    z&(f3e{ae%hT(s&A^zCR(+}i#)5=^*l6ABY|8lPzY@M?{f<7PChn2Gv0bQ>c&biXp>
    z4(6SW-|a6cojc;YE!!KIHan}MZ$^?<-ef7P-|rOd@s0R#Lc{%>PlrOwLrp(6c;YbB
    z2N1Rmm_pdrwI2}>l0OYY%B(*;liWU_86#WcTd=3I=LW3bnD`B>D<O?zCbY|#!APmt
    z$Zmcx9iFPgoEL&awssiF!#|coX?KZ=c{GZ4m*ny}o;1heo1C8sHN7JXs7&@BWt!KX
    zp&}uPTd@n#@F;M^>$NlB$2(Y>H&is`@1WW6SAQx&?<C^59Bciiullb;Y>}wd|Ma^8
    zENb(z^6KCAxfxRtA0#>6@E};(L50~QiWQO-yUp-<O7d#>&1YW!CR3gGCQMi2nX{9q
    zw8df*x=zev7<xwlqduHe-qnGi{Q6fYh)qLtW{{jo#GoLp!i8frhuAUf^>1^i-0eyh
    zAlOMnkMU)w-nE-V+xa%<XHuITo%Ffij-U(8p<1!vo1AJoHaj}Dx!?4<nvTbgj;G+;
    z96BDmQI&D))Ig-ng=HL<>dz}OX$RqNpqHBHtgyW4L`Xoq`Wq4m<Q)*Q{27~_>H=l*
    z;M<R-PRGi8RV@~}L=3Dr6_>gWM3)%9qp>oRL!bg^l8+?A(yu)1i}^poVy39+*+tca
    zU$G;!l21k6xNm5M&v78Gk7V9AImVQI^J$Lvw>h*n2g=xy-{h21(V9<lE`E~}{5O$7
    zQEE4kksS{co0@c<izk$BL%zgu6}yOZA~{*Hq)Y<oH8pO@dp0KhuTaX@aK)03F*41s
    z;G5amsx_I4!AYcvwe}^p`4U~g1OGvW?M7C(<`E4+z!ZH67b>^;Mc@Zy#&Ka%{CvNC
    zW;zX7Xv2}j?izr4mh~XQh|~RMT(-z)3j1y3UyrXd%WWg0;(F2|<G&VRdl01!Ulhzd
    zz)J)VjC@pvIOfuh{j@#!yLA&9)7#;fa$MuR9`HXH$YP{U_}#;LDxkb+IIWB;p-jg0
    z*P^HEZ0~*3l8Cl+ln8$2!cd~<N$K5t32NK*h{lu-Z&C>!i7g#cZ#pCcsx3$%U1dBe
    zl|?>7Gwr7?OJx~@P*0K68P{wV;x`jE&B4q=7eo(hLf3n%z-OeXmyOyRCns1$WwKsa
    zj7N~PyS@`5LVd{24FVHD2#+x)_B4p(uX9zMVnOI!o&~eM0D$GNK0>~){6uR9Iccl*
    zCbshG;ziiv+5^PGSvzSptceHVLN`s4hh&VBu+l+>2<Dm;4|c8bVpV<w&A&@<AeoVi
    zvr7^?@hZjXn;B*vZoq#mtY`-g7P;h>b8!N@v6|@-n@YfhgsO@2#?-^Yzpy?}D_TO-
    z8)NbA0qpyN(@XHp;%e9{k(Wma%?Cw&fOxN5`02RRgMd_yE-bIK)rds{oTTJQ_ywUW
    zjz07KgDkAc4{FjWOD}n*nit6cI-1#ZG%|0O7k0UhU$H7@C{lF^Eyz26LkpdQDdB%6
    zLV%sPD9kUeSQsY66Fcfdw;C{V;KM7}qCAx@RraMFgl_i)4|)3}D8zMSry{w^uQ@Ml
    z4mC|v&6#45pQtH}kk&i<J7!DJDt%{5zcOqV>S6j)Pn&KDVOq#1AtnI6q`@cTXFUb5
    zIRt4ov$IoSEsUv#ofBbgAuSCJ>3c@K_@UZr8fz{J9n^2Y7B5}#YrUc39|}aVe{p|w
    z={)?=RCk+|Hts{GKC<oddZ1<c{FeRiA8Iq%g}Os#2bS-ue!kTE%s`=)q4_S685C<X
    z;mFQlcrTx{QeDj<DN>^byHAq-DhRAwomd)=i>jMQ6j?^TY^C~Z2UVmlz)A%kyaTU{
    z>|$g#m2Ao?ADKVHMZhwrmsOW&I3HzECOLM@)NdKL+bFU`&#VA+4ow=r;oedR-sgS?
    zCCZDUCE2qtPV+vC)J>A9lP5WOzy*`7M@(RuQMqOj96Y0m-Re`gBzw*%c&d+q6E3j8
    z$kZPkw>w_%!aJ3c>9!1pGjBL%Y2!vJCi(0gv8%p+qBZ;`Nxq~`FRZjS@h2oiYq9}}
    zow#6!*TD*Fb6|Cn*ldi(0fCM<$6fF*`C34Hyq?F%ui4%)E7lW;7Ccud0+<%(L3vXl
    zo{9Zc71ZG?5SQxRg2t!#=9A}{DezAolKu41{fG|^g%FI3Cibu|o;`)uV7qNRN}WEo
    zgYx_%=SL2JNLDm)v;2#exSYo#eeOCQg?}4N1LD&Tg=si6;NCZyEXwzg`8Fk678wNx
    zji&($ucCpEiS_V96k=l<7;9z>{y0ZbsG`o<>kn6CrCsem5i<=55;rI)5<TD*Nz!o;
    zg?p;!`vn#7xIymz5n5nx7A~1M+xv_=55q|NYvX|uSXCo?0NEbZiAh(=HP>v$_A$ZM
    z-x=e`nP}$m+<?Yf6ji%^y=gkzJE~&ZYYGFp<yfhK*_*`DuwUTKnVUpfI^Nrq<+i`V
    zwp9f*wDkRgm=k~?w&q|BE|Hu$ofdFt#lDJJ?^Q65ODP%GkiBHgfG10`UxxcR*CFYX
    z6f9rl`JNn%6}te-1jEbNWP%?495cL797>ED9T>k*2S&lJBAfh}wRsi~qS}X{1|+HN
    zJly1PA}wIlNO+VOf53TT-z|V6Zw|tYGC9?T`4|=o1{eYduTc_kNAHLqL;=%8s#H<?
    zefLXl1xvEkaC(#>WX~oOlB(I5KK<>yaqx~L<ypV%r+63%ObE}G{H6HAp)Rph|DdPQ
    zHVOi@Kgq^OX0WLwoCs0Hfb6HA^uqLtj#^^>FtIhJb&0OkL*Qpy9Gw5Tr;9I7^#W!e
    zH5UOeiHFtcoy~qa<TOs>(s7?|;DRBHF2*4kzi!hs0AsQdY%@7{r!?R#J|I5E;lULn
    zWKNQ}<5y>Rmn_MCiVL*LF@S_Q@PjiM0TggCL(f}pEQJG_zvmmd((}D5uG{g4C77U?
    zH&WTi{9P3SkZHfhfcP0J5y3CX@hS+?en*@$&07d72fggPp>T=Ii2eZ5Cc>SZVAufb
    zH{ZB1s)sN!$vX=j4rD(ah0B_Z^=f^xkYo?U<xtwaAH2fEPE1t|FL(iLl1B;9He#i^
    zNoTDu`*a8l{0UU7w|MS#VKn?yc-+^+No`LktsR+v?Mlov0Z6jY1>;%4I{!SV2-#oS
    z55=#su9iW6fpH}=6tJ+S2TmM`+X?XoM&4}G$yWv01>t>rk*Duz?4sg05o?Ur)IoXo
    z!}?r+%f)Hp#xFKl)Ux10G(KAHIQR#Qk(E7K;-c@b>&(M2NAhKQB-9PVxk0QX+<67(
    z_j{GQbLHdm_eCRGFiCa%iVMO6ahaQmSf%d*{}f~2FIadeW@uyr+!R0)H$aLp)d74Y
    zL@`*4Kn44kS<dnX=6%k?FqV-f*-v}E!qLqpyWSb)3Y@u%)8EG90yarfiAVO+{SZO~
    zmORN$Zbs_8Qr##j>wqN>!St0JUID!Fi$1(iK5_4l%yne3=ldX^SGGz4sQpx?9*G&l
    za6VMeSb{njng3<2(GdZLYrQ(_Vs&EhUKAusXQ0eB_`#(T${f^WS|AV$^RjxK=X+;d
    z<>P#)EU?T(&F4J)!&GD=l7eo*%)GCRzz56TM51yJe!ZFQf4pqJ9R&gM=|=R@o3jM$
    zh|IA8a=4`GL_-s`xqK)&c=5$YP(AVql!6ccyToPqhof({BkhosPC6eOgmlh57?JIl
    zh_5Zq_A0l`ch4;+mKFhwdVeJ?fQUKCLP|2577WTm3!(jlz^1IjA_KF=#H1(4#P#F&
    z-jBK|Jy>!145<bF=%d;NE8;wkS?)_amOY1PRXz?GL~Z>ap_mCs4xc1vumOqoy9Em!
    zIxc6Q6EMoX@}~qNHvtL!8^U--^8~X7o=ECeo>p3W+8k+N^Z3UoI+JGy#A_SJ%)g?B
    zCO1iP&pN#?cvk~-J06ss7W_z#0Y#?w!6lG_0E^Zb=3h(;h_`|llBE;}EsF=`J=OzN
    z{<k2`<U<<awDN*R5_YP7JjFrjDAZK@D^42=B)X}zxU@FoZ>Wl$A||1?l0hV;IaC$T
    zKp8+%{TbiL@h8zT;fBG?Y{zkTJK3vzWn|G{f!pOHK)c>*u|c-wu9E`+j7HqJ-FNlA
    z6bKb@v(k&hH<iRAGEIM@2;ch04zD8>`uY2C-z`Z;?q`<P&TEI?-0{Cxp=oGpoBgy{
    zPgWd;x}PM=Y`#Co;UxWVtgl-lk@&b}mO||Ejl9*OL_33<bm$+n=u9^j-yP%e7iesf
    zq#OMl!ilnnoo#T47T@b1M|ztXsk=v2Pr6@m=TTT7YV7am$BKU`o?$2}zN<0;E#qDi
    z6Oj2Gf(QJC{HqUC3)<(tP)B<-_T?DqOU1oEkSHAsT5jAu_*NKmu-qlmjbb<&&g>fj
    z1S4KVEZRto4=VFGDAlj{<_OG;GCmZ5|G7)+jB+$QjW~S3r1bT$LnXm<Kv)a1GL`(n
    zK3|*^nH4Ea6=w|+b#33%2<2Fs=SXa^FPF2s_~51olGxcL!_6oiD*aBkcI0bgPtPRq
    z*jXwN8JqPc@d$2vgPR{xXLlfBh`oyMiXnW>?1_Q|m;77k@PMKy2;zK&v<w3<?#cdT
    zS&nZ5YE?d0RP)&Unihui=IGc@udNY%$tl_DK3B4b3aAwSSmaPe2bh!euJjgmMEMIM
    zYJtP7oOTCz#KdN|oJkA7Xufc4iJaqS6hrne3rf*!Y@6>+K%fg-77@)tB8(~DP&*~)
    z?6}>B;>TUPD`*4Letr(K0^_xDw*sTwOrhG@al6Cx4)q*w4`H-uYLRE^z0Q6bh#Lo)
    zAZx;JjP<!*<xSvt*zVw=I4$$K#3T~!Pg%~_bqZQkb8^i`g^Wo)0M3TCEbxTW;n1Rw
    zJ87cLEc<C?)ekcxFaOFD4XfE|#am<CO^CiQ7aO*Ojy3Boba1^REZ4{<c?QI*{e^|3
    zriAAhtvM(#7dQm(Cxi_-$-0F&NE3807^xEvHfc~^vtGz;f&8TIC=2`k1t5%6%ELJD
    zF2p$OET$vZQJ^TWBCUsxSMXKD$+Uo|3e)^Rk$|k(|2tf9j~J2=>LS~3EWWqAIBs{0
    zgX>-NkuXVD_@Pm=WD?2DIk=lt`LgBD``6Oc)=?N}<7OtW`I*@eN9`6)o6`1<Sj!+|
    zy0?xG52omJ7}Wd^$N|#DwC6`)boax?UBDPXB(<M{cx-|3Y2<8{G+;cg4KSA3rM2EZ
    zHTwCBQ6ORB`d*#II{?Zc(6Z$HL$Eh3^TD!HF;Js&iRb%y5-jnMT6Wy{QE2^CP5pb}
    zReX&p2TmqFF0FkNL(Uj-zf-xHtb0dnnATa#9<>EY9oLC5+40yOA1z5#LeP#vtF9CZ
    z4tKOArUi^Zdy0KQqNXqsS@g1?eJh$z+#mIVhvF(W!wJPD*@pv&ZJ2qRxF=lr$eZaU
    zeWV&Sf+4S8V~%>}LNKY0+Aorw`<KNTEE;ZBAkdfN9nb8iGw@swQ%^4bgMKCTDhKXR
    z^Kz{r+zeTL@N6ke=6nK2t``SIcA{6gw}ry%6k6k$Os5s$ln1^?Qm*Gm87Pdhl)!+f
    zIo1vy;U6dm1-CodgV<jFb6@Xo;Graqbd>XlBU}eHo6xhSnB^rHo4xVyif2o*7otDK
    z1yd(0S%yAMLS$UEz>+O_=K20$siOD7ekNz+7zGoJ5^Qk{-(YfcLnJs^Y3H%?@{sYG
    zWDwU%YyBfbJdNJ+P)ufxOXPOq^0GJ4fy9oOg7q8`<qTLQ!X4h!@4i1Q9NdTL*n4It
    zwJ^C(BX3IgRro<v5t6vn%o#9|pNVE+Z}M`^X8$s0y=Ts~X8(?*V2ov0TJ}?)0z^IU
    z95dZOl!t*cVidshEo+cE3yFf<Tg)w^cA>ZvxCcdn9gk4)VY0m1iUu_9&tx?CSsXAI
    zH8?D-9LBeh;7l!2;bQp7*2LBfhX0bmXj2%MYc>+?hfsZM-6BIU=nnX+N5IrUrN!k&
    zFLTy^mNk0gDZ$!l8*!-fV3ez4anO!<tu$1-3lI?pZSHD>Cz68F2!~AHh)<8nX(~oi
    zMwS33zDJW7lfnYj+MC4Se%L4O5;dJ9<4aSfUCdxM!o?6YwVeRlKFnw{KCv~FC(+NP
    z*1atcr2sJv^KEj}61h}zkxFx=$x8KyQELr5YdQ!Lv14Pl=9_div<#RK+B0@`G-aa?
    z6~p-I9A%Wmh{)>LMaIck#S<%w-0wr+y44%zukw7q6?W5u`K>{<Owe3j2rvC8j8tPU
    zx+la^Q&O87F1AA>KOwSx<QTrmK607f-O}1Uw6cLzF1EST0sN%tz~h7M?1KYXNX)pG
    zc*h;2m#2A&SHV|i%GAA)$o7vT9dqUD8V24@WV_)+9;QY9>COLS-H3`*>hcJ?2`mZS
    z%8J(Ep#rOB!ivT!d}{ASN7x<>eTQ|JYtzv`fW%JR5QBU>pC~75Dq)$vAW&*Haplua
    zP$;JUT$+PnKz!>@NIZ&RWK9Q-41;lA8t&JwGoJ_BblV)UYDc(_cUBq8^l`giJ9O+7
    ztXB&K6^FgB5IuYh|G`})%U-zQ3X`%I7(0RSqh8^&(up7AIYNkIRuT}<k&iwh;=3Iu
    zK;)iR0Io(vtTj~6jyC4uBI?m+*o!EY{xp6BftClvn>bWCl)?ohB(e71F%?Vgh|MRR
    z4i4)Ee0{``_Xi+UF-eLoSv85S-BD_@XQ=>V4HoWbx&_wB!WyCT1K`*-EL;7Aa*usY
    zS58@v-*+@w=2w*!;58N`waxN0xn|b7pb^8Vs(ex|6}fW7{tC63Je;yO1Ze<EW*aJA
    z!P(?y{d!Y+q@wRS0qDmfkSU)?JYeWJUFcyp+3|=?6u{I7ea*o~`EW{Kax+3-NrK4`
    z>FjB5(Xbuy#U)XR&&?W%OEc5GPYk0Ku?~wpyICYXLAB2%QGw6R0^bk>>liEv$?*=M
    z)60mK<hyhZlbd-ueZpgbo3z9rqdL*`Jhskm7C$DWnVAH(&Wa-yi5IaVNPP-F-S@mn
    z=SOY;{-GG(w!rYF!g6U0+-X3PY4<ukwXS3q<@Vzfu_NdonjGpm!=ZE}Z&pYevtPD%
    zT}u`x*v%OE2TMzgP~tBd?*GpuS{IvrahCToJhTY?GI=}{-+nru7Lb~e6<v|opC4pP
    z9&{|5cFeR3bc`(Tw7Bved(LY}xr3@>rh4PoAtP<*jvWhggpTq4yX1A&%l0!Qlq>j=
    z5Wa6Z&bZ<jh;!1hMc4)CjmKqG$EHkpOgL*N80x7RPoQJoe8-O5hmNK39a{k%lVI6C
    z;N??{@p4t#U)8bLKMx+j!lo;5rTWLSdY-@Z#xlrMrJlhjClHUC`y;wE^CH5<ZbS1u
    zUe9O(k67igLI=ZMo3Mm<!g%8RiGRVmRzh9-1t1C36~@=~Gq`EE{TEIi@^xM24N2t`
    zx)|4lx#Icbi5n=MinZN>+Jf*krkrA5-sfW+U23vtPb8F}54Mv#2kXQuYI&qFLAT8F
    z|CMx`y2PqUwHE-&x8s$dkmS@T@W<bf+E4nS0BZe$(b>Ugqt+eME(od&d<&_)#tqje
    z?TE%uk~88kW7;4ZXM69fsD6Bwg27#&o0^M3IJ#Ei3*`tZkd=ebVgY6H_93q9V={Fj
    z4V#R_`C%VY3xZiXcSlo@&!mz01u@n=2pn7}RtoFNa195fr6evQAOoy%>XPu^UN+zg
    zdShbgNL(pla>!i{pz->wRG*EOu{X~)eR9q7VNHMDafDKCc7KcX$$G+fn(5wg6^U|u
    z4KF$?1y_m2LB_QVhB|RT1(m#vtUu@*S=j>T4IwGFQnu%2Q}mi)#gGEaTq2uGYqM|Q
    zgW@&SC~P-aHab!<F5l=a&o!H#P}TY;0b3@3{ehBnYNT!kUz<h6{VMfIfLx+^l;kRU
    z5KEmw9A){x8k2wFBJvTWBhNmece!LLK5#dA<VJvLyb7d<?jRl=v)3N3fHnLPQUsG)
    zjwc^0xpI(F!_8*BU66~fq5J@q3&TWQ0H=wlv<NT>!96*hK41}FTSSFhWb>PS1RshX
    z{1^;i49lBOIKv=#u)fvnB4If)8`n7*MU4QrU`LZFxI{)5dF%%N>w*NgU@vw-`Hn~L
    z_z^dyS2dNU|B_Z9<1la{th$rCr`XryqloQb8Btn0KeAlUQ_$E!JL~urQAXJgUKn9_
    z<vpT7UC&z-@Mu#GqBh!>b|fQ3$g|AiLv|N^d*5t)-b4ONrxnZ~o349Cc8a^cse64d
    z(?RJ2oc`=JwDWC7$7xd+-#=0p9xXq3q~X=$Co*4$;is-&E8V$t;^|`UIN5Iko7hh|
    z!`WL+QO`^q5~RS6$037kij0@o<7n7dWD61OId;g<Xf-OCnrl)_z#wSOi`J$uN$a$#
    zf{C-Gu0vT_{ap0jslBBd&v+Ni-DBZa%^{Bw&)kO3cZpdbc62F*Q+lgx+hw-2Hu0#J
    zx@As8DKI;Xd|f>B@x6L_^bBofI^4Rwgrb&PG0`sf>Y76q14w<QWCI0Ut9{CO!30GL
    zIWP{z9P<oylCECKFeVha`|h=Rg39uO%lGwl!gb3+?(yO`YQqrGS+d0g?qL3>&ipa9
    z!gW9G{6P0ah<{@)dX138<_|?Fwa=>_5W`&TO17!ME!87p;PR-cxi=2*VA4#hM=vkm
    z-~SIjOWMgNb-ZiZ@NP$CPH6fi0}9uxaGh;J<`w^O#51FN)uGeV?o?)VwVYMYyPI2^
    zG(_=9>l)xD9Y~MK`4HIj7wx^sK6k$D=z4x-YN>nC&eqH;8RH0o9HXdZ>-fi=mCvqq
    zQ5VG+)1k6kGxvo078%c;MI`)VatsHmi}5zQ&?#cT63PbL*}(A7`9;Qlvj{CdCI^S%
    zcG!J<qicCBqP@PT+k0r#8~r0DwlAIe*nQD=FNQ1<>lnTf;Hr#u3SEjV&B#RD3!|O8
    zH-{f7uWUS9=t$#;u&<&URv7oul^4T9;kZc~F(`l()r#LAZ%<m66h~OSif(IX+zl%)
    z)-N5oJM?bGOI{+mDgqI~&&-LHLpQiE?ZYa)7kAe3Fyw)({S&T-XC4hEBfm#CgD^^i
    z5i#?7OGi8N1hO1ymuiuY+NIW?iC~u$*7n>f6Ez(b8f2e+I@<B&Fxk|@FxMilCVjef
    z0Wrg7%*c4xDWYR|ZmJ4)Q3hNv4in){L`pE(QU*%Fend<&gembJgXLiPwcZRdSE4=$
    zpQLp2D%`L+&v4=Au)jnp8+dP4e}$T;$fekM&@Tk8H=PN^e5AS4w?fl5n&Eq>4^ZOl
    zyRLbKBR(lEQ`%%r95Uisjl_1j2YXVqh$pvBkb8Mp5~xHT%FiJqVKrBNdpKo6^)0Ul
    z*UQxj0ZNVd7GFS%p-x2}uTEf5*h>8*M5hcmHE|0*u@U?%1jR<*_4;zc%{It~7lU0Z
    zu0%ZYgPsvHOrcBV5~FQc>FwHC%OHu;Ij0r?(`BKHl`%)ju0BB8Z~SZ#B!Pwu0D?(c
    zXB<w*FG!#7+V7{G4}4CGeQM89DrX;FieL7jE@|BrLqg_3#ysHAd4{sjX@5`6Jsn0N
    zl|6D=zgVANbI3qOBuF2!H4w}Mka7OKrEwVqPYk22$mwd)ph1?COn>8Rn?Zz<*9wX>
    zh((dn)xtQO%zDr-Jj~rw&Id#(Ne}U)7p5!@Bo{IkF)J1EJTjIhb+t^=EyL(BnA-DN
    zt$qSQ(^5p1v>8(kTAf4;0}!R`3LPI$0h3=_=`2A0BQiy-M+FzBIOY6c4a}!Gg-UHv
    z7XdaJctOq|5`*jOre`GRl$q-cTtI09c9w^x*FJZ5BQ~bwHcuUsW@L>1<T*D!f+b^v
    zHHkN?<)3lti3h+QCma4?r!z2MNl5%+Tj#}uf#Hs^oYt{^*U4l_9QoSj0!0>jF0x3a
    zs{ou{Nufj*Wrj#(Q|M+t#%=_q4H|k7E;IXt{i=EpgyZ4pPD(hsdcb?pd!vnZx%+s!
    zwR?p#P(=olHw!n0q7@AqrqRhh_Xbb5TQ9|54`0)ad3*p65Y2WdP3s3iaF>xJ1ESPi
    z54S4xdU5%FA(<&Inrb2@D$3g|34&DN=|xCE|1^I7l2-G)DxVCQ`<b86sQun%i7!hx
    zxvwN(aOvxw(905nKd~=AOBJAoV3u;96A<QTtrbyfKJNG|>BHme*|dy=k7`rls9!CG
    z)2=nsS@0(@4!IJ(SE*6ni;7s;jgJ(h@n3KruU>g(O4vzk&o?+4_ymYiHIH@mgo8)<
    z5lmH)7zu!}%Y&8GOMm^`T0-_vgSGQRNEeIMm)z<kSUXq353$`u;pN;}E2e?czcMYy
    zK6f$k=NQEo9;W`EP7yP0<1%<2*ZwGxp=g8%vXGP>v|mh!Zl!nWHFhLfkB57(<(q92
    zx=^JM%qszf3CJgNoms)3iKc;F7&Tip7lQmeNaUh|#;}0hkV7jk)-Ij1CsenUPLTd|
    zzDxTlKH+>TFC}7+5h+I`zQUK!Egf3<ugszl<gYb$k&&F@J5tJPEyW&?gK$%_l4LV^
    zB<v0d+^zgfWJU2@BJQ6Vn%-~}gpeIUuhg3IFxz)tXRU>zCQowg0rv6>HAL|>1SNw6
    z?Jae_N;QRYJKqB<5^n`2z(B+|o)bzbirXR-9Y^A|KzG=0CPU1Rt&c4~@;2Me$>k{Y
    z?1>f>qzl`5Mn)V^(ZOQUVWyG9L4tYO&R38V%8yOihteO@nV0&?TO>3Ou<$|>DhMn)
    z61E9mY!OfuJcZ7LgypO2YRC6Su8VPbzzmb{1krgoPYS8}e9jL-j)9P)!{^XLqHq9h
    z7@rd*l$p$z(bW}lgfh#89HE_)LYYoNj?m6Yq0BHoXMoVoR-w!!A?NqbT6Ljq?n?-1
    zw0ZwYc$67H4jaMf=8lLd@0h9pJCUw=Ydis6@aZhbQDQvvXZ>J;b9)fi2tHAFCz6=C
    zx0@PPoFk1;1=nAT>PaiHBY3Jh$P)$IS3sr@->vccy%&K^ZPhb`if`rehnw{>*Bsgt
    zMUZ}voaTjA?+LAj^`NaP4fq<`1(pe}8LN}@BjwDtQM6?yI1<G0OLcXTz4d3R<*Lea
    zzO=ptg+t9rjvn&^s*K^OBz6Q<3XCf`x&>4c@<(T_&puU)$)FtNt-w0ZtFGTBk6GL3
    z=ozB}-e!&0md&AL!|tLYz>>s$Vb~(-$UvBc)tuWeqL?HyTyEMMRB^`qWMu8<>+*!U
    z8m?^->Johr)kBl+YfMR#rR4Ac^vf^4Q-rT=g3fZ@?CJH$NBbnexl!$9^%q~AwtnTs
    zgiaBcc?Rj+1X0EKCWE^2h_ae`XXVonpJlch8Di4PQbo=ezgobP27cIq<p|yf;Le^0
    zo6^i@6@lu5mL1qn3ORWcj2Whn4oJ<A)Z=`UM<r?^lh4<t0AvM6AT@-}bpvIDItwm`
    zhom?RQrP#)#&xN_js&g`FJoDwxk$ipBkT?8qGa9h(cT4vE&m^Z3mVQ3BnO<23^k?c
    zMQTJ}^U_8WwWR$cQ8%!IlBb(qc6Uxk_&M`*rBr*VyZrIx`!8l+BZS8qk(2a5dAzxD
    zkD4o~m+Ra#MW}kC$k%l^j6yeq6N5zq1k~yMq(AQE{zmeY36vbC@La|zp0cu$Iv~N5
    z(VJ#Cy@`cRvb-!(VmCeX2BrfzJa)NL(Yf1KNwV}`T>%S^?6rrhOL=)Jo<1VRN|6HY
    zDYc$=KQPo;|8b5FsIV#`BWchys6hR4^xah;v=<W&kSLGnE+2qMS$m(@m7JVch~gd~
    z1VWvjhRSZ7C+%*1>*S_6B$fOY59bl*IP1>ozEbR*FF{q#lh#oA#&td(6yawCeB@83
    z0((D!>f>G{Gbb9|z=O=R<PI-sW3#AAvCX|vMp`;rmeH}KekLpe7?3IjYlDg16Mc6a
    z1XhAE>)s_p3<~{ZB?rg)un$qFViUfP_vYPMIbT=HgY2gO#k&s3Z-Tt3g4k%xJ%P_s
    zfzQA(wRL{*nK)~Vkx~N!?xoZ`cc=CQbB~0FgKmLAkpet4ANZpO_L4hV(t15SY2Erb
    zf<va`D9>!|z)17K)8plh#A=hMV5d14JpLCcF|_lh3=<3{>0nV^XnJVqt(PH$swLh>
    zJ~`QIzo`ahr=O(TCh&CK)@?-0O523hx#iWZM+sik6N`x?da#Y4O*xJqyz-|JF=61%
    z`Iz8)$q$=EDgRs#H`q#0#MSZS!wos*9KHsHQBRXD2xwQ8l4owbgW#1-<IQH)Z(7D^
    z-LeyQma|F-^{A&e0wN{9VhKht8<@7C;6NgCo<2lc>HHQBN9!O%6;f%U^x|h*v6b3+
    zq6pnqg1MaA>-PAT5O#oo!6Y~W)EsmI)^YZLk24<I*}!C46^f8#EzPJ53?i{1Aj^~`
    z)Pq8>3PHJUnT=aDfwnd1jP~JOT&53r^dPy$rxEHaT?P~(@_Gt<JcZ)r70(2m8u$Qq
    zx#l{CI?I<)nY3L?x9n=fCKO7)VH-@FxqxbLiNWBihFzO2B&Q=Usjn}X=ddyr+%bW?
    zQvSjZU1BrO@azOd!A{G8SCA*zXMy!@nwu}3TyyA6Nd(~%W(tXU0-2p*sijbAuia#t
    zLKbT7-BDHSNLMay@~bFJXIMr_>=a>Dk&;a8MaM!n?Yiodh=lvZ@MmuFODPbpLRIS!
    z?409`ueDOKTF#4kMmJhj>o5e}{ore@1T9QCFCrOT@OAjU4oA>l&%f46xuaa@z<_<K
    zT1OGkyv??2KmN}in4O9lZlge-T~0eM5EWQ^U`QN@?VJ*y5)OXi5vmrL$3o)+fQQ48
    zhi!BB5tmQ#7!Hwu^cZrMa0y!@kn+K48Sk3HA#7PHS(XSo_d2wCism7xGmg?q6|Yzs
    zcR0DOA%ZX{nj(7)*8r!5KDoMS`pxQ&eP)`4w#P%;u%6P}e{?&shdJwj-J!tHC_kJD
    zsMwRI6dMRaNpa*u=Cduz1qKfGRkyQr=7V_)f$7l0#_I;ZHT5PontT0~JoEMKq!fJq
    z7U;R{G+F6%?x-a!A|4yDIpJhiiz|5)<HFJoS=(9JTbiI-mU|1k6dU`(HKF`^I_Vxa
    zgQt4tLL^bca5}vr0JC<>30u-ur9F8eq_{uNP;G+3tL85PlM5tq?s|A)0jZ2_6^2kc
    zh8P^awsGl1P;_qA0Qp<kB%y|h;v_%EjP^(zYy3xz3`4A9X?37>ef9IIJc?(|L#WVd
    zCRwxtmVEUu0%~wTHmj4}>J<0{H-(Z@K=2Ffj<>psru(-Lscn*nA}<#=&Dr79#Z%cF
    z8|DyMTI*9reA27}LmlJKAgs3P5?R13<(GJvwsD{lvqNS3hGR2r-8Ltbp9z7r-4CD1
    z`ZNeELF|jWkBE633a<QA+tC=Lk>QRMXG>&-%dj8>a1ln*)u7TFESVS#+QY;q%0lJu
    zBAh5ciT~hfg_D4c1VLf_ax_k+*#BW*O1Oa!k<82#ft7Yo-Xl$@^;wQmhRv^b(<B&P
    z08b$F`2`JzEr6AC>=exZ?LRT=WGXNc5dHdlwAI~$G8C^SBY3)ZXDH@y8+Q33JnWPd
    zWRhc^YwpRAfd{Zt>f6Zh^azA%0fLE&_Ra_m)sCQ5EEB3o<y|qx@d(YCRAQfNhcS^L
    z#SY-9OR~V$5?@$7DF+hGUqu*$&EVHv821sC7fX6dgD~VaIDX5QQx}F&4IofQ3v<4Z
    zU`y~r;VIBry{HLu+N^~#Ur5kRgi#}HvV;29Aq42OANk&}YW+wdeMi2Ziaop_XIyKH
    zL=m9x(uY9-@i?JUZB?a*flUI3^~E4mjO5&U-LhFi9pyrof`-yu$ww#I%sswq`TerW
    z6rmBTeAnD^OP%l%TwgTpmqJ&y+0FtwQ1h(<gWxs^yT!Ck%gml5+jEyvum%ad2nD$<
    zZ>Cy40Op4~vOtVU!$U2Enl1<mM7bST?!4ws(IN=s8sDXaTm1`GP}M6F65A8dWFvH|
    zE7$@L*4!>X<N~#`q0;&(U=JG*at2&j@+3_47b}a{E4wiZ0L4SnHlNegSr2B=IBEuQ
    z8wAm_+vd(n>oTtuD92)>U9@ZDVZLkcQ<fF?5h~P$wJp$c9cC%$kL>=pIl>9FhKWA0
    zT^Mx|0StR2nvsEKIGn0XMW*fb+zrf&jq92vBjE}1n|O7=#D>BLgRYi_wW-M{yn`}|
    z2iK+7!D1N|QmT(0#5ev7GT<;^P%-q#r)l<}UO`CZ6Z#Y)+`vS41vCQN$}Dr9VI5Xa
    z+_Y=YrG$4oiwpx}<G)le>_LZ&(XhC70^D9?0p&<ojRCIAL{&tUyX1&~Z}`ICeHBg*
    zAN({CKox37S|@9ognXfbnW>_O4Pjhg06*cO&4Zh&LkyjPf!RTsZ>DH&P6q43AcV?O
    zxG<SFQkiSf-p?YWaqYD}P^nn-(0a1w=ZCNyw1ak4;U_dNh0iKYK!}IpVYFgVYvA$l
    zZYL>?DF+L4ljU%y(jG*^ENAEzyHDDns|gY-@fFk!Nh&zw4Cn=KSe3J0uGMoPG$gTU
    zfWh?T_pN``3d&dW3_pn?2H^Fu3XTjooT7#E5U5{)>*|4`h>q7cP}a9eGJ#^%>ZINh
    z(k9bK5aH}r@IxAa2b_U!Sd)N~p1vh!I?S>m>1P>+j|+fBR5G76+V7olZWvM;8W7i%
    zCHCem%QcIyVYF>bD&AtYf;CebCVe+4g2ab$U$bzEW=O6%5cylE9256Q;CHbTh*wZ0
    z2T#Lm{l*Ua1eh5MUZ{&V3aH#|M^O32e>oT_Y(ZeV2uUc>0mcYPT@aPH3XMKJ+&->5
    z1E!-_X|wCOaytyr1c?t%4ZkG)fhGfoMfeN@1hSLlpF=mkv&OG~l)aeW1#^$nd%9P4
    z%k{R~GH~qK*{!-yykIbWXHlucMGMR-?n#ERb1#q>C(HPymbCX}<?HZ>!7GczeQvJe
    z=4`34v3NB2*XY5^yU8aduuh#k<o;&b2JsC6A#<ZPxQuUP*PgI=c=M$-gy9$H%xO63
    zq5QGVla%pxSSiFV6g(wn8|nos9pP9|qo7S$lkWbIGfH2`3E@{lVfX%@*u@Q}T_Mhy
    z8tEmB>!HB>EK72aSIv<nZ8HxDqf&&86Zj*}ricG%H?6d)pBN@?OHBWo>g{v^fKj{?
    zx~%B=<VEtBP7!8RULFqs8z#~tx|+kEq?nKowLp`Cm%u1{*RGdGvoeilsn`!_y33L9
    z$(r4!P+nsj1^vocpK92#^0wR6QVbEP+){LMnyle-1m!m7r9jcl1KSt9Tf;(S8`r-9
    z3SIE#w5|Ea{<YObR{aobpezJ8nAvbf)o}7CxWi)gY@bsnx0&}TB%hub<~6^%!Z3!@
    zUi7}ZSGF<xGOR79PcsUeW^aAv{)54k?i6nYGUk4a&s-Mx^IK{1Y-ni4Z2RNk*%K%b
    zSE<78sNel=me0LcUI-E46ic!-rkZcUI1-qOR5O(1{G#`vskv@BrE*XSak+Kl{vGQg
    zyJDtJ*Or+C8rlWQB+P*U4_AzpSvFuiGUdV}YWu>2*B&aBlPVcWwlF8`(%SV>%fI|f
    z{szxyRIB&THS)yGLn##ZMd%+>`iI|5cTrR9R;}e=GC0S_m^~URGtawXCO4+AN)c}b
    zFp3Kh<*9t`qw>5iotSj-g}XMgjla}TD5k%_w%oOOemAdlvCIWRHMN(K-eu3Ecwx>8
    z)(;aG7YqHjwmn7p6fSd8Rgh--m;b%jh3`5s-Lvm`g_}JYd*%LhF|C1Z6g&>td~<b(
    z@o+_xQ_}Ax<qv>SOy4^Hpc%N2@+qT;6DErBINPwptO9VRwYCQ%nQ&y_zVH!`Qc{U^
    z4>ag3a5STK901G4y1Y)7?RnFQaZZTo|5|?kczDXXfI7+-jNvYUF*c+CMU9@U<?{qu
    z@5DTK@cXWf@0te{S4n2_SU#=7a?&iEwz3o#+llMf4Q3Q~v!iWfNnOla+=}1j@f~(n
    zDF?|fNUO0jjd!t)o)|FTXv^Xo8k>9gzH=+C-_7egry;_;NS*@tfxR-fj9IUjz43v|
    zv85xu!fWcMpDLHw@Y5q8m+|cX4j84{^ihg-v3uiGK3ggn@9^28JK$xZ%`tvn6t)6E
    zF|!nhkI6RApKnst6ZSh5oj?E4yQO))3h<H&Fb9bAP=96Y19wqN`UF4Z^7!-Sf6Tu;
    zYD@UieSpnAJ9we1e6K1L3~UD|8oTstvqYQW_7#oDOX=?8xG(&s-1xKSQ6Bw@C927a
    zJBagNHTG~#M~ZVJY}ZJ7?$g6(w65l7xpB8OKwOwiXRAi81|ntM{Q1Qv&&l33Cr<o<
    zn;KiD@q4J-!lY|Dnt<3uo-My}IODwQ>X52f*|^%VE{*l-OwN8&zFKa&intPNUi2<L
    zfBs6?Ia$!=<PfIqQc?f%wx!W0<A5!<dhsGFL0HaVxI0f@B>U@Ddo7);ownv^Unc&2
    z7L2p##c!c0>o&QPB{k@{yQ<$o=b+!ar1v}qwWfcl&SW;^xt>4&{F-mxm1h`UlcW&A
    zUxy|7(?oLm{QMz(f(sKID(1V)EagA7g77z*?{`z9$tiDQ!`+ub;?2zD*_CTDz2Cqj
    zITqpUfT+jB`3c&EQOKUYP&#$=^^v;``jnnJjD33Wq=wIKx1|r3f$*uL@C=vnwSZ1g
    zzt&hwxehl~I%aJ6^k|-**flB<z&$;exhy<j?R3S-#oMgT_;?gEORN5AFEh&>`|SQh
    z7~T-H^Dq?&wjIMh^*2zajPZD@NMzb7FP}f3Q_|C$0x_IQQZZ8d7rh&|Ppnef4}aUq
    z`B>|6jmN1sH;xA}zMPjtiiax7Q`mx}bZ$S>+OXY<{e8&}(>{$aBGx@Vgqjvp9KR_A
    zezxzuI;0`~{PXB*Ib+U_eAuA&CBCL3?}+4=1ETQ!^<FPy#IhBjEJ{c5tuWRkj1sAa
    z=oQX>{t2x^w;o1>eX99z`16ej>EiZ+n{yG73EE#p2eZLn)ji2@lm?Gv^=+?fe{G+;
    zf7<Otzis>d4O8|!^OCw<T+$(iVWH(iQk_bLGC|Xkqdum*D@<KyCOh-6w7uo$aYpm!
    zzj@i_9`f_cb9Y{cTW3O}iH-c+Fzx#U;l^wjSlZ*yds-oZZzE>z+7h(lr_hpMWn)}k
    z^N^I?ZkaESw3pBMbBL#iS33;zKyb5wY$gLo^#9nFX7$&epq&vq>PHJA)-|717YLCX
    zsp4V2(-8kkVZ8%w%>SgLf`k9f+fIVi`}(fCiWgPyYy|&P^@d@DZ<F7=>Zc-C)k~ID
    zp+NPni)t=ZuZF6qSoMne-nFl|fM4IS_8)Y7r?vl}<2#4`2OZyq$A8iBU3mNlAK!(?
    zf6(z=c>D()--XA2(eYh){0AT3g~xx;@&B^$;6jQs+`tu7-!bX^g@C~ahHU%K(6`Xd
    z*5AJS!Ao$<RByYK@heiQH%#|j{tM&RSN%fi*Q>8@n4$e(N%z0WW@y8IU%={vO^M(g
    ztFpd#OofW?7*nBw`A%bBaq*oizvAM%xKQEZySPxH;=8!`iVEicPFy%vpMD8vU922z
    z@v^V)3jG^|em8->BICQ!sKUi}YgUDd@8aSsD*pfVn3fjz@%p&;ao+uLQHTzQsk3a8
    ICQJVOKg~MF2><{9
    
    diff --git a/site/dist/btec-unit4/index.html b/site/dist/btec-unit4/index.html
    deleted file mode 120000
    index a333e16ff..000000000
    --- a/site/dist/btec-unit4/index.html
    +++ /dev/null
    @@ -1 +0,0 @@
    -../btec-unit4.html
    \ No newline at end of file
    diff --git a/site/dist/codelabs/sound-of-the-bees/codelab.json b/site/dist/codelabs/sound-of-the-bees/codelab.json
    deleted file mode 100644
    index 79169d472..000000000
    --- a/site/dist/codelabs/sound-of-the-bees/codelab.json
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -{
    -  "environment": "web",
    -  "format": "html",
    -  "prefix": "https://storage.googleapis.com",
    -  "mainga": "UA-49880327-14",
    -  "updated": "2020-04-14T11:15:24Z",
    -  "id": "sound-of-the-bees",
    -  "duration": 44,
    -  "title": "Sound of the Bees",
    -  "authors": "Scott Morgan",
    -  "summary": "During this project, you will create a bee-hive monitoring system using a Raspberry Pi, a camera and a microphone.",
    -  "source": "1W-Ayc-XEngJ8ikZyij8Zub84viV0A1FWNa8NPFJ7UC4",
    -  "theme": "python",
    -  "status": [
    -    "published"
    -  ],
    -  "category": [
    -    "Python"
    -  ],
    -  "tags": [
    -    "web"
    -  ],
    -  "feedback": "https://github.com/Scott3142/sound-of-the-bees",
    -  "ga": "UA-214872164-1",
    -  "url": "sound-of-the-bees"
    -}
    diff --git a/site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png b/site/dist/codelabs/sound-of-the-bees/img/7619cabb0e41fd1b.png
    deleted file mode 100644
    index 642f38244b70e566c5c1033154bbcc941e0927b5..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 44515
    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
    Z4Pn&cI<qe>zy|~@83_gPpQ47r{|nYI(B=RD
    
    diff --git a/site/dist/codelabs/sound-of-the-bees/index.html b/site/dist/codelabs/sound-of-the-bees/index.html
    deleted file mode 100644
    index 708c5df1c..000000000
    --- a/site/dist/codelabs/sound-of-the-bees/index.html
    +++ /dev/null
    @@ -1,318 +0,0 @@
    -
    -<!doctype html>
    -
    -<html>
    -<head>
    -  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
    -  <meta name="theme-color" content="#4F7DC9">
    -  <meta charset="UTF-8">
    -  <title>Sound of the Bees</title>
    -  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Code+Pro:400|Roboto:400,300,400italic,500,700|Roboto+Mono">
    -  <link rel="stylesheet" href="//fonts.googleapis.com/icon?family=Material+Icons">
    -  <link rel="stylesheet" href="https://storage.googleapis.com/codelab-elements/codelab-elements.css">
    -  <style>
    -    .success {
    -      color: #1e8e3e;
    -    }
    -    .error {
    -      color: red;
    -    }
    -  </style>
    -</head>
    -<body>
    -  <google-codelab-analytics gaid="UA-49880327-14"></google-codelab-analytics>
    -  <google-codelab codelab-gaid="UA-214872164-1"
    -                  id="sound-of-the-bees"
    -                  title="Sound of the Bees"
    -                  environment="web"
    -                  feedback-link="https://github.com/Scott3142/sound-of-the-bees">
    -    
    -      <google-codelab-step label="Introduction" duration="2">
    -        <p class="image-container"><img style="width: 624.00px" src="img/7619cabb0e41fd1b.png"></p>
    -<p><strong>Last Updated:</strong> 2019-11-10</p>
    -<h2 is-upgraded><strong>Sound of the Bees</strong></h2>
    -<aside class="special"><p>This tutorial will give an overview of a project designed to introduce students to the fundamental concepts of programming while developing a complete project from start to finish for monitoring a bee hive. </p>
    -</aside>
    -<iframe class="youtube-video" src="https://www.youtube.com/embed/p1JRZLRscZ0?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    -<p>This work is a collaborative project between <a href="https://cardiff.ac.uk" target="_blank">Cardiff University</a> and <a href="https://bridgend.ac.uk" target="_blank">Bridgend College</a>. We are grateful to the <a href="https://wellcome.ac.uk" target="_blank">Wellcome Trust</a> for their financial contributions to the project and to <a href="https://www.llanishenfach.co.uk/" target="_blank">Llanishen Fach Primary School</a> for allowing us to trial and test the system.</p>
    -
    -
    -      </google-codelab-step>
    -    
    -      <google-codelab-step label="Coding Circle" duration="5">
    -        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    -<aside class="special"><p>This activity is designed to introduce the fundamental concepts of programming within a fun, active setting. Students are on their feet and engaging with this activity throughout. </p>
    -</aside>
    -<iframe class="youtube-video" src="https://www.youtube.com/embed/JVq4q5gw4BA?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    -<p>Students form a circle or a line and each one is given a piece of A4 paper with a line of Python code on it. </p>
    -<p>Within the code, there will be a <strong>spelling error</strong>, a <strong>variable</strong> definition, an <strong>if statement</strong> and a <strong>loop</strong>. The tutor should discuss these various programming constructs as the students move around the circle. </p>
    -<pre><code>print(&#39;Boom!&#39;)
    -jump()
    -prin(&#39;Test&#39;) #Note deliberate spelling error!
    -if &lt;next person is wearing glasses&gt;:
    -for n in range(1,3):</code></pre>
    -<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    -<ul>
    -<li>Spelling is critical in programming.</li>
    -<li>Variables are used to store information to be used later in the code. </li>
    -<li>Conditional if statements ask a question of the computer, and run some code when the condition is met. </li>
    -<li>For and while loops can be used to repeat processes iteratively.</li>
    -</ul>
    -<p><strong>Downloads:</strong></p>
    -<p><a href="https://docs.google.com/presentation/d/1xzuF6SNvN6rzKSAberh9Q1W5yxHKO_afsCZ0y9YVcCI/edit?usp=sharing" target="_blank"><paper-button class="colored" raised><iron-icon icon="file-download"></iron-icon>Download Coding Circle pack</paper-button></a></p>
    -
    -
    -      </google-codelab-step>
    -    
    -      <google-codelab-step label="Building the Hardware" duration="10">
    -        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    -<aside class="special"><p>This activity is designed to introduce the students to the process of building simple circuits using the Raspberry Pi, a breadboard, an LED, a button, a resistor and some jumper wires. </p>
    -</aside>
    -<iframe class="youtube-video" src="https://www.youtube.com/embed/OeuhwVSXAW8?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    -<p>During this section of the class, students will assemble their Raspberry Pis and login. There are some excellent ‘Getting Started&#39; resources provided by the Raspberry Pi foundation which can be found below:</p>
    -<p><a href="https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started" target="_blank"><paper-button class="colored" raised>Getting Started with Raspberry Pi</paper-button></a></p>
    -<p>You might want to try out some physical computing activities first, to get your students familiar with the concepts of wiring a breadboard, a button, an LED and so on. You can find some very thorough tutorials below, for both Scratch (beginner) and Python (more advanced).</p>
    -<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing-with-scratch" target="_blank"><paper-button class="colored" raised>Physical Computing with Scratch</paper-button></a></p>
    -<p><a href="https://projects.raspberrypi.org/en/projects/physical-computing" target="_blank"><paper-button class="colored" raised>Physical Computing with Python</paper-button></a></p>
    -<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    -<ul>
    -<li>Fundamentals of microcontrollers &amp; the Raspberry Pi</li>
    -<li>How power and data is provided/transferred to devices</li>
    -<li>Building basic circuits</li>
    -</ul>
    -<p><strong>Hardware resources:</strong></p>
    -<ul>
    -<li><a href="https://www.raspberrypi.org/products/raspberry-pi-3-model-b/" target="_blank">Raspberry Pi 3 (Model B)</a></li>
    -<li><a href="https://thepihut.com/products/noobs-preinstalled-sd-card?q=%27NOOBS%27%20Preinstalled%20Micro%20SD%20Card%20(Latest%20v3.2.1)" target="_blank">16GB Micro SD card (with NOOBS installed)</a></li>
    -<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Micro-Cable-Black/dp/B0711PVX6Z/ref=sr_1_3?crid=NPEXNVWO9B3N&keywords=micro+usb+cable+amazonbasics&qid=1573399458&sprefix=micro+usb+cable+amazonba%2Caps%2C145&sr=8-3" target="_blank">Micro USB Lead</a></li>
    -<li><a href="https://www.amazon.co.uk/AmazonBasics-High-Speed-Ultra-HDMI-Cable/dp/B014I8SIJY?ref_=fsclp_pl_dp_1" target="_blank">HDMI lead</a></li>
    -<li><a href="https://www.amazon.co.uk/TechRise-High-Speed-adapter-Converter-Charging-Black/dp/B01E8DD6J6/ref=pd_sbs_147_t_1/261-8683823-0205156?_encoding=UTF8&pd_rd_i=B01E8DD6J6&pd_rd_r=33df8c34-5867-4a61-8f3b-42973792e10d&pd_rd_w=ayEkl&pd_rd_wg=MjDOA&pf_rd_p=e44592b5-e56d-44c2-a4f9-dbdc09b29395&pf_rd_r=QGFAFZ8KJX3GVDA1QX46&psc=1&refRID=QGFAFZ8KJX3GVDA1QX46" target="_blank">HDMI to VGA converter</a> (if you don&#39;t have monitors with HDMI ports)</li>
    -<li><a href="https://camjam.me/?page_id=236" target="_blank">CamJam EduKit 1</a></li>
    -</ul>
    -
    -
    -      </google-codelab-step>
    -    
    -      <google-codelab-step label="Testing the Camera" duration="10">
    -        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    -<aside class="special"><p>This activity is designed to introduce the students to the Raspberry Pi camera and the use of command line programming to take photos and videos. We will also introduce the microphone at this step and use it to record audio.</p>
    -</aside>
    -<iframe class="youtube-video" src="https://www.youtube.com/embed/lpmaHNLuDsw?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    -<h2 is-upgraded><strong>Step 1:</strong></h2>
    -<p>Before getting started with the camera module, we will have to make sure it is enabled via the config page. To do this, you&#39;ll need to open a Raspberry Pi terminal. You can do that by following the instructions <a href="https://www.raspberrypi.org/documentation/usage/terminal/" target="_blank">here</a>.</p>
    -<ul>
    -<li>Open a terminal and run:</li>
    -</ul>
    -<pre><code>sudo raspi-config</code></pre>
    -<ul>
    -<li>Navigate to <strong><code>Interfacing Options</code></strong><strong> </strong>and select <strong><code>Camera.</code></strong> Select the option to enable the camera and reboot the Pi.</li>
    -</ul>
    -<h2 is-upgraded><strong>Step 2:</strong></h2>
    -<p>Once the camera module is connected, you may want to follow some of the recommended instructions from the Raspberry Pi foundation, available below:</p>
    -<p><a href="https://projects.raspberrypi.org/en/projects/getting-started-with-picamera/2" target="_blank"><paper-button class="colored" raised>Getting Started with the Camera Module</paper-button></a></p>
    -<h2 is-upgraded>Notes:</h2>
    -<p>The code generally reduces to the following two commands:</p>
    -<pre><code>raspistill -o picture.jpg</code></pre>
    -<p>and</p>
    -<pre><code>raspivid -o video.h264 -t 10000</code></pre>
    -<p>The first command takes a picture and the second takes a 10 second (10000 milisecond) video and stores them on the Pi.</p>
    -<aside class="special"><p><strong>Note: </strong>You can discuss with the students how to stop the command overwriting the previous picture each time here. Labelling the picture with the date and time is a good way to stop this.</p>
    -</aside>
    -<h2 is-upgraded><strong>Step 3:</strong></h2>
    -<p>To record audio with the Pi, you can use the following command. </p>
    -<pre><code>arecord -D plughw:1,0 -d 3 audio.wav</code></pre>
    -<p>This records 3 seconds of audio and stores it to the Pi. It is recommended to follow the instructions below to check each part of this command is correct for your system.</p>
    -<p><a href="http://wiki.sunfounder.cc/index.php?title=To_use_USB_mini_microphone_on_Raspbian" target="_blank"><paper-button class="colored" raised>Getting Started with a USB microphone</paper-button></a></p>
    -<h2 is-upgraded><strong>Common Camera Error:</strong></h2>
    -<aside class="warning"><p><strong>Note: </strong>When using the camera module for the first time, it is quite common to see the following error.</p>
    -</aside>
    -<pre><code>mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
    -mmal: camera component could not be enabled
    -mmal: main: Failed to create camera component
    -mmal: Failed to run camera app. Please check for firmware updates</code></pre>
    -<p>If this happens, first check that the camera module is enabled with step 1 and reboot the Pi.</p>
    -<p>It is possible that the camera connection wire is faulty if this error persists. Unplug the camera module, ensure it is in the correct way around and try with a different camera module or Raspberry Pi. </p>
    -<p>There is further information below about troubleshooting this error:</p>
    -<p><a href="https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module" target="_blank">https://raspberrypi.stackexchange.com/questions/13764/what-causes-enospc-error-when-using-the-raspberry-pi-camera-module</a></p>
    -<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    -<ul>
    -<li>Some experience with command line</li>
    -<li>Revisiting concepts from Coding Circle activity</li>
    -</ul>
    -<p><strong>Hardware resources:</strong></p>
    -<ul>
    -<li><a href="https://thepihut.com/products/raspberry-pi-camera-module?variant=758603005" target="_blank">Raspberry Pi Camera Module</a></li>
    -<li><a href="https://www.amazon.co.uk/Richera-Microphone-Notebook-Recognition-Software/dp/B01FJWO5K4/ref=sr_1_5?keywords=small+usb+microphone&qid=1573400655&sr=8-5" target="_blank">USB microphone</a></li>
    -<li><a href="https://www.amazon.co.uk/AmazonBasics-Male-Female-Extension-Cable/dp/B00NH11PEY/ref=sr_1_3?keywords=usb+extender+lead&qid=1573400700&sr=8-3" target="_blank">USB extender</a></li>
    -</ul>
    -
    -
    -      </google-codelab-step>
    -    
    -      <google-codelab-step label="The Algorithm" duration="15">
    -        <h2 is-upgraded><strong>Activity Overview</strong></h2>
    -<aside class="special"><p>This activity is designed to bring together the concepts from the previous sections and develop the final system, before testing in class.</p>
    -</aside>
    -<iframe class="youtube-video" src="https://www.youtube.com/embed/vP9QjA5Ct8k?rel=0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
    -<p>So far, we have assembled the hardware and tested the action of the button using Scatch (or Python) to light an LED and tested our camera module with audio. This section looks to bring all of this together into one command that can be run outside at the hive.</p>
    -<p>We need to do a few things to make this possible. </p>
    -<ol type="1" start="1">
    -<li>Write some code that says ‘<code>if the button is pressed, start the recording</code>&#39; . This will embed many of the concepts from the Coding Circle activity. </li>
    -<li>Activate the code to <strong>run when the Pi starts </strong>so that we don&#39;t have to do anything with it outside at the hive. <em>This will let us just plug it into a battery pack, press the button and start the recording.  </em></li>
    -<li>Combine the video and audio streams<em> (Optional - not tested)</em>.</li>
    -</ol>
    -<h2 is-upgraded><strong>Step 1 (Starting the recording when the button is pressed):</strong></h2>
    -<h3 is-upgraded>Taking a picture with Python:</h3>
    -<p>Following on from the Building the Hardware section, we can use Python to trigger the camera to take a photo when a button is pressed. This is covered by the following code:</p>
    -<pre><code>from gpiozero import Button
    -from picamera import PiCamera
    -from datetime import datetime
    -from signal import pause
    -import os #required for audio stream
    -
    -button = Button(2)
    -camera = PiCamera()
    -
    -def capture():
    -    timestamp = datetime.now().isoformat()
    -    camera.capture(&#39;/home/pi/%s.jpg&#39; % timestamp)
    -
    -button.when_pressed = capture
    -
    -pause()</code></pre>
    -<p>This code will store the output file as a jpg in the <code>/home/pi/</code> directory on the Pi. Note that we are labelling the image as the date and time to avoid overwriting, as discussed in Building the Hardware.</p>
    -<h3 is-upgraded><strong>Taking a video with Python:</strong></h3>
    -<p>Capturing a video to a file is similar and can be done in Python as follows:</p>
    -<pre><code>from gpiozero import Button
    -from picamera import PiCamera
    -from datetime import datetime
    -from signal import pause
    -import os #required for audio stream
    -
    -button = Button(2)
    -camera = PiCamera()
    -seconds = 60 #you can change this number
    -
    -def capture():
    -    timestamp = datetime.now().isoformat()
    -    camera.resolution = (640, 480)
    -    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    -    camera.wait_recording(seconds)
    -    camera.stop_recording()
    -
    -button.when_pressed = capture
    -
    -pause()</code></pre>
    -<p>This captures 60 seconds of footage and stores it in the <code>/home/pi/</code> directory on the Pi.</p>
    -<h3 is-upgraded><strong>Taking a video and recording audio with Python:</strong></h3>
    -<p>You can add the audio stream by adding a line as follows:</p>
    -<pre><code>from gpiozero import Button
    -from picamera import PiCamera
    -from datetime import datetime
    -from signal import pause
    -import os #required for audio stream
    -
    -button = Button(2)
    -camera = PiCamera()
    -seconds = 60 #if you change this, change the 60 in the audio command
    -
    -def capture():
    -    timestamp = datetime.now().isoformat()
    -    camera.resolution = (640, 480)
    -    camera.start_recording(&#39;/home/pi/%s.h264&#39; % timestamp)
    -    camera.wait_recording(seconds)
    -    os.system(&#39;arecord -D plughw:1,0 -d 60 audio.wav&#39;) #for audio
    -    camera.stop_recording()
    -
    -button.when_pressed = capture
    -
    -pause()</code></pre>
    -<h2 is-upgraded><strong>Step 2 (Set the code to run when the Pi starts up):</strong></h2>
    -<p>There are multiple ways to set your Python file to run when the Raspberry Pi loads up. Firstly, make sure you have the code from <strong>Step 1 </strong>saved on your Pi somewhere that you can find it. It is probably sensible to name it something like <code>startVideo.py</code> and store it in your <code>/home/pi/</code> directory. </p>
    -<p>The following tutorial explains 5 different ways to get your program to run at boot (start up):</p>
    -<p><a href="https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/" target="_blank"><paper-button class="colored" raised>Five ways to run a program on a Raspberry Pi at start-up</paper-button></a></p>
    -<p>From experience, sometimes some of them don&#39;t work, so make sure to test it and use a different method if necessary. </p>
    -<aside class="warning"><p><strong>Note: </strong>Always remember to test your device before taking it outside. It will save a lot of headaches if you check first!</p>
    -</aside>
    -<h2 is-upgraded><strong>[Optional - Not tested] Step 3 (Combining the audio and video streams):</strong></h2>
    -<aside class="special"><p><strong>Note: </strong>This step is difficult, so is therefore optional. The alternative is to record the video and audio streams separately and combine them later with basic video editing software. </p>
    -</aside>
    -<p>This may be one of the trickiest parts of this whole process, and Raspberry Pi don&#39;t really provide an easy way to do this (at least at the time of writing this tutorial). It requires quite a lengthy command that needs to be typed into a terminal. </p>
    -<p>It is up to you whether you want the students to type this, or simply copy and paste. At a basic level, it <em>pipes </em>the output of the command <code>raspivid</code> to <code>arecord</code> and combines them together. Here&#39;s the code:</p>
    -<pre><code>/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4</code></pre>
    -<aside class="warning"><p><strong>Note: </strong>You will need the program <code>ffmpeg</code> installed on the Raspberry Pi before doing this step. If you&#39;ve purchased a pre-loaded NOOBS SD card, it should have come pre-installed. If you get an error at this step saying that the <code>ffmpeg</code> command is not found, you must install it. You can find instructions for this below.</p>
    -</aside>
    -<h3 is-upgraded>Installing <code>ffmpeg </code><strong>(only if not installed):</strong></h3>
    -<ol type="1" start="1">
    -<li>Open a terminal.</li>
    -<li>Change to home directory: </li>
    -</ol>
    -<pre><code>cd ~</code></pre>
    -<ol type="1" start="3">
    -<li>Download ffmpeg: </li>
    -</ol>
    -<pre><code>git clone git://source.ffmpeg.org/ffmpeg --depth=1</code></pre>
    -<ol type="1" start="4">
    -<li>Change to ffmpeg directory: </li>
    -</ol>
    -<pre><code>cd ffmpeg</code></pre>
    -<ol type="1" start="5">
    -<li>Configure installation: </li>
    -</ol>
    -<pre><code>./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree</code></pre>
    -<ol type="1" start="6">
    -<li>Make the installation: <strong><em>Note this step will take a long time!</em></strong></li>
    -</ol>
    -<pre><code>make -j4</code></pre>
    -<ol type="1" start="7">
    -<li>Now finally run the installation: </li>
    -</ol>
    -<pre><code>sudo make install</code></pre>
    -<h2 is-upgraded><strong>The Python file for combined streams: </strong></h2>
    -<p>The following code should be saved and stored in the <code>/home/pi/</code> directory.</p>
    -<pre><code>from gpiozero import Button
    -from signal import pause
    -import os #required for audio stream
    -
    -button = Button(2)
    -
    -def capture():
    -    os.system(&#39;/usr/bin/raspivid -o - -t 0 -w 1280 -h 720 -vf -fps 40 -b 8000000 -g 40 -n | /usr/bin/ffmpeg -ac 1 -f alsa -ac 1 -i hw:1,0 -f h264 -i pipe:0 -c:v copy -c:a aac -ab 128k -g 40 -f mp4 -r 30 video.mp4&#39;) #for audio
    -
    -button.when_pressed = capture
    -
    -pause()</code></pre>
    -<p>Use <strong>Step 2</strong> to enable this script to run at boot.</p>
    -<h2 is-upgraded><strong>Key Concepts:</strong></h2>
    -<ul>
    -<li>Critical thinking required to form the algorithm</li>
    -<li>The order of processes by a computer in a program</li>
    -<li>Revisiting concepts from Coding Circle activity</li>
    -</ul>
    -
    -
    -      </google-codelab-step>
    -    
    -      <google-codelab-step label="Conclusion" duration="2">
    -        <p>Congratulations, you have reached the end of the tutorial. Good luck!</p>
    -<p>If you have any questions, please contact Scott Morgan | <a href="mailto:smorgan@bridgend.ac.uk" target="_blank">smorgan@bridgend.ac.uk</a>.</p>
    -<p><strong>Resources &amp; Further Reading:</strong></p>
    -<ul>
    -<li><a href="https://projects.raspberrypi.org/en/" target="_blank">Raspberry Pi Projects</a></li>
    -<li><a href="https://learn.edublocks.org/tutorial/traffic-lights" target="_blank">EduBlocks Traffic Lights</a></li>
    -<li><a href="https://gpiozero.readthedocs.io/en/stable/installing.html" target="_blank">GPIO Zero documentation</a></li>
    -</ul>
    -
    -
    -      </google-codelab-step>
    -    
    -  </google-codelab>
    -
    -  <script src="https://storage.googleapis.com/codelab-elements/native-shim.js"></script>
    -  <script src="https://storage.googleapis.com/codelab-elements/custom-elements.min.js"></script>
    -  <script src="https://storage.googleapis.com/codelab-elements/prettify.js"></script>
    -  <script src="https://storage.googleapis.com/codelab-elements/codelab-elements.js"></script>
    -  <script src="//support.google.com/inapp/api.js"></script>
    -
    -</body>
    -</html>
    diff --git a/site/dist/elements/codelab-elements/codelab-elements.css b/site/dist/elements/codelab-elements/codelab-elements.css
    deleted file mode 100755
    index 936dc694e..000000000
    --- a/site/dist/elements/codelab-elements/codelab-elements.css
    +++ /dev/null
    @@ -1,9 +0,0 @@
    -google-codelab-about .codelab-title{width:100%;text-align:center;font-size:32px;margin:20px auto 30px auto;line-height:45px;max-width:700px}google-codelab-about .codelab-title .token{display:inline-block;margin:0 5px}google-codelab-about .about-card{display:flex;flex-direction:column;border:1px #dadce0 solid;border-radius:5px;background:#fff;max-width:800px;margin:0 auto 30px auto;padding:20px}google-codelab-about .about-card h2{font-weight:500;font-weight:400 !important;line-height:1em !important;margin:0 !important;font-size:28px}google-codelab-about .about-card>*:not(:first-child){padding-top:30px}google-codelab-about .about-card .material-icons{margin-right:10px}
    -
    -/*# sourceMappingURL=google_codelab_about_scss_bin.css.map */google-codelab-step{line-height:24px;display:block}google-codelab-step pre,google-codelab-step code{font-family:'Source Code Pro', Helvetica, Arial;font-size:inherit;border-radius:4px;overflow-x:auto;overflow-y:visible}google-codelab-step code{background-color:#E8EAEd;padding:0.1em 0.3em}google-codelab-step pre{display:block;color:white;background-color:#28323f;padding:14px;-webkit-text-size-adjust:none;line-height:1.4}google-codelab-step pre>code{padding:0;background-color:transparent}google-codelab-step code em{color:#97C8F2}google-codelab-step pre .str,google-codelab-step code .str{color:#34A853}google-codelab-step pre .kwd,google-codelab-step code .kwd{color:#F538A0}google-codelab-step pre .com,google-codelab-step code .com{color:#BDC1C6;font-style:italic}google-codelab-step pre .typ,google-codelab-step code .typ{color:#24C1E0}google-codelab-step pre .lit,google-codelab-step code .lit{color:#4285F4}google-codelab-step pre .pun,google-codelab-step code .pun{color:#F8F9FA}google-codelab-step pre .pln,google-codelab-step code .pln{color:#F8F9FA}google-codelab-step pre .tag,google-codelab-step code .tag{color:#24C1E0}google-codelab-step pre .atn,google-codelab-step code .atn{color:#EDA912}google-codelab-step pre .atv,google-codelab-step code .atv{color:#34A853}google-codelab-step pre .dec,google-codelab-step code .dec{color:#5195EA}google-codelab-step paper-button{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;min-width:5.14em;margin:0 0.29em;background:transparent;-webkit-tap-highlight-color:transparent;font:inherit;text-transform:uppercase;outline-width:0;border-radius:3px;user-select:none;cursor:pointer;z-index:0;padding:0.7em 0.57em;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2)}google-codelab-step h2.step-title{font-family:'Google Sans', Arial, sans-serif !important;font-size:28px !important;font-weight:400 !important;line-height:1em !important;margin:0 0 30px !important}google-codelab:not([theme="minimal"]) google-codelab-step .instructions{box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 2px 6px 2px rgba(60,64,67,0.15);background:#fff;max-width:800px;font-size:14px;margin:0 auto;margin-bottom:90px;border-radius:4px}google-codelab-step .instructions .inner{padding:24px}google-codelab[theme="minimal"] google-codelab-step .instructions .inner{padding:0 24px}@media (max-width: 800px){google-codelab .instructions{margin:0 0 16px 0}}google-codelab:not([theme="minimal"]) google-codelab-step .instructions a,google-codelab:not([theme="minimal"]) google-codelab-step .instructions a:visited{color:#1A73E8}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2,google-codelab:not([theme="minimal"]) google-codelab-step .instructions h3,google-codelab:not([theme="minimal"]) google-codelab-step .instructions h4{font-weight:400;margin:0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2{font-weight:300;line-height:1em;font-size:22px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions{line-height:24px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions li{margin:0.5em 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h2{font-weight:500;margin:20px 0 0 0;font-size:20px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions h3{font-weight:500;margin:20px 0 0 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside{padding:0.5em 1em;margin:2em 0;border-left:4px solid;border-radius:4px}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside p{margin:0.5em 0}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.note,google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.notice{border-color:#EA8600;background:#FEF7E0;color:#212124}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.tip,google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.special{border-color:#137333;background:#E6F4EA;color:#212124}google-codelab:not([theme="minimal"]) google-codelab-step .instructions aside.warning{border-color:#EA8600;background:#FEF7E0;color:#212124}google-codelab-step .instructions aside.callout{background-color:#E8F0FE;margin:20px 0;padding:15px;border-left:3px solid #185ABC;border-radius:4px;color:#212124;font-size:14px;line-height:1.5}google-codelab-step aside.callout b{color:#185ABC}google-codelab-step .instructions ul.checklist{list-style:none;padding:0 0 0 1em}google-codelab-step .instructions ul.checklist li,google-codelab-step .instructions ::content ul.checklist li{padding-left:24px;background-size:20px;background-repeat:no-repeat;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAAxokwwoks1pFAxokwxokwxokwxokwxokwnnkQnnkQnnkRou3y84cTS69cxokwonkQxokwnnkRqvH1VsmtluXlVsmsnnkRdtnLw+PIxokwqn0YinEAfmj3goh/UAAAAGnRSTlMA2CcEo+6AQT7+2IOBJxPl27alhoBnX15SCCe258UAAAB+SURBVEjH7dA5EoAgEERR3BcQ923Q+1/T0SqKlNbMouP3gxkRFvZpyQb64VSQT4mOcYc8mU5DnqIG8zXoozj4d34tML+YrET8XBFx4e2F4oAL4N7J3EUB/EfSUwD/zG3hvFdROu9XtL31vgXguQA9F6DnAvM8WbOHpkXYD3cBBCcPjtASYjwAAAAASUVORK5CYII=")}google-codelab-step .instructions table code,google-codelab-step .instructions h2 code{background:white}google-codelab-step .instructions .indented{margin-left:40px}google-codelab-step .instructions strong{font-weight:600}google-codelab-step .instructions :link paper-button{text-decoration:none !important}google-codelab-step .instructions paper-button{display:inline-block;border-radius:4px;color:#FFFFFF;font-family:'Google Sans', Arial, sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding-bottom:6px;padding-left:12px;padding-right:16px;padding-top:6px;text-transform:none}google-codelab-step .instructions paper-button a{text-decoration:none;color:inherit !important}google-codelab-step a paper-button{display:inline-block}google-codelab-step .instructions paper-button.colored{background-color:#1E8E3E}google-codelab-step .instructions paper-button.red{background-color:#D93025}google-codelab-step .instructions iron-icon{vertical-align:sub;margin-right:7px;margin-left:3px;font-size:16px}google-codelab-step .instructions img{max-width:100%;vertical-align:bottom}google-codelab-step .instructions .image-container{text-align:center}google-codelab-step .instructions table{border-spacing:0}google-codelab-step .instructions td{vertical-align:top;border-bottom:1px solid #CCC;padding:8px}google-codelab-step .instructions table p{margin:0}google-codelab:not([theme="minimal"]) .instructions h3.faq{border-bottom:1px solid #ddd}google-codelab:not([theme="minimal"]) .instructions ul.faq{list-style:none;padding-left:1em}google-codelab:not([theme="minimal"]) .instructions .faq li{font-size:1.1em;margin-bottom:0.8em}google-codelab:not([theme="minimal"]) .instructions .faq a{color:inherit;text-decoration:none}google-codelab:not([theme="minimal"]) .instructions .faq a:hover{text-decoration:underline}google-codelab-step .instructions .faq a[href*="cloud.google.com"]{padding-left:22px;background-size:20px;background-repeat:no-repeat;background-image:url("data:image/png;base64,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")}google-codelab-step .instructions .faq a[href*="stackoverflow.com"]{padding-left:22px;background-size:24px;background-repeat:no-repeat;background-image:url("data:image/png;base64,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")}google-codelab-step .instructions .faq a[href*="support.google.com/webmasters/"]{padding-left:24px;background-size:24px;background-repeat:no-repeat;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAolBMVEUAAADW1tbW1tZ6enrQ0dJ6enrMzMzq6+zq6+x6enru7+/m5+ju7+/m5+j////S09REi/XW1tbm5+ju7+9PT0/Q0dK8vLxGjfVZWVlNTU16enrMzMzIyMj09PS/0uuSkpJpaWmbm5tim/e0tLSEhIStx+3e3+GsrKxwcHBZk/dPk/R1p/KPtu/U3eqmpqZlZWVfmO5woeqHreWvwN6nu9qLi4vZSE73AAAADnRSTlMAEcxmzO7MzDMz7u6IiHn/rpYAAALMSURBVHja7dXpjtowFIZhUkqZlSV1ncQdEsK+zD7T+7+1xjTiwxVOAmeORyP5+2UspPchEtDy8/Pz8/Pz8/M7cZeduHKdyxbL0FfVAMUraHdUHUB12i22tZWqBRSDgKFfC4CApV8PgIClXw/gE6hyTd/lAR7gAV8fEHwbWtc/ul/WfQ8IfQKAIECfCoCA3sdq+nQB+nQABIQ+CQABtY9Z+lQB+gwACBj6AFAE6DM9AL0fAalPB/yGgNAfntwHAAJKnwCAwNLneQAAVAvM/ttzVLlB4z2/A6AFVoDRf43IfewVgGKNAG/Uvrl39BsCXqh9cy8nA/51tmk63+jDZp6m9wTA4DzANiyW6lOqTxAMHAD22XASReuwpKDvELCNookBGJwx9E8B3OvsQp8e9GmOviNANA/Dh4k+TApBukHfFSBa7/I7whqf3xWA/gOAoU8DDJwBCHk+wIAw9CsAPw/W++CFB/MAD/hCgL59PXPS8toRYKHEndkTauEQIIUQ0hToG2eAXOicKdBXmSPAo9CTpkDo5U4Ad6IEGILy0gFgFJctCACIh/yATABwIChvVyE3IBR7AAQAiOmIGZADAMEBQMkRL+AJAAgOALGUI07AQgBgCPb3uRbwAaYAGAIAZlIL2AA5AIYAgJXUAjaAAsAQADCWO4EjAAQGQAvYAUsDsDQAeuwAMZvu89PZ/jZhBmQCi2dl60+MPiMAf8UgZEUpK/LoJ4oX0C9LIIyF0U8yXkBPVCzRWzIDZjX9sWQG9Kv7ScYN6KnKfizZAf2qfpLzA3p5RV9JboDeytp/kk4Ao5WtP+UFQKCO9sdTSQQ03+OR/kxKdgAWZv/11VI6AWBmP5HSNQD5zwQknwxIqIBu468hBgDqNYCuFXBDASSNAbdWQHB1PiBpDLgOWtZdXPEDri/QswjYAOjbF9x0OQHd26Dl5+fn5+fn5+dn7i/3LEaKJNV/0wAAAABJRU5ErkJggg==")}google-codelab-step .instructions .faq a[href*="developer.android.com"],google-codelab-step .instructions .faq a[href*="android-developer"]{padding-left:20px;background-repeat:no-repeat;background-size:20px;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAq1BMVEX///+lyjmfxyGhyCqkyjakyTP+/vuiyS7z+OWlyjKgxyTX57ChyCfa6bTx9uLy9+Sz0l6szk/D24Tt9NrN4ZnK4JSiyCyexh34+/D6/PTp8dPh7cjf7L7k78vc6rnW5qzU5ajS5KPP4p+21GWnzD3F3Yi813Kx0ViqzUWexhr8/vjv9d7Z6LKy0lyZxADh7cLA2n2rzkr1+erJ35C61m6uz1KcxRHn8M6/2XgEePWtAAACr0lEQVRo3u3Z2XKiQBiG4Y9ebNO2aCCyzOC+7zH7/V/ZRJZQZaJpWnKS4TlJUItXbX4pFJXK71DTusvccI6z5oMSAutdhDP2uzpK4CxwxsRBGYJdA19qLAOU4s4LkyUN7G4Ude2glmzuRihHKDqAPZhNuJRKSckms37rvctrKMnG728l5cxKMU7JuCF7KEvf87h1gnu0iXK4B2p9Sc3dUgZNMusMLvu42r20LiBXT8JMWRepN1xlGu+fK8/6xFPxwsvH697/eP/j7uDTOvB+dxwX/AaM2SQ+6icrYHDyGmgfWE3irNeCqTaPAwcArydroboAbuMAb8NQRNJn20SYtHK8HaKZzoffhZl5tlNxsD5PsnUQ2b9jwwnO35WvRo3lN/o2TDwKS5M3gokF0w2wZxgIlpY2FpgsgdQPkLXJQar0A/LVIDB6Idp2GxQQrJI/rbq2Voijlc5S9LZs8uYCqBVyXLTZhLW/fSn3hDMmZAQ05I020gT2PmeM+w4uGpLksFs+oEEtbaqJVnpUkz4uyebf6xQK0CY6XjoSC1xQ9/PPr4KB52zuvTrOa5EssC0auM0C0tYKtI0DqgpUgSpQBapAFfifAj90Tn5YZoGnooH8eutB56KDDosGhlTrYiTyk0epVdFAKJLn9rLHRSNfcE4tF0UDcAXlXPhDfGPtjGejEMUDCEdPY8eFHoOADvPAxiDQLBBQkUHAJfoB34UBS/9CfAETe6lZYKZft/QIFe94vicRy7tcvKOkB0PhYOo4zlNWYNvjpjOdZwU+O24OQlynK62EGCF2J9IbpIsy/P0I3CHW+Qj8qQJVoAr8VOCx3EB+YvDSwIDmXzaW4oZZseU6Lfr5aaAUPT8uyPuT33VeIpRkI5RHyRQfHEKFUj2UJuh1GjaQsxudKECl8jv8A6GtQkKSkMLrAAAAAElFTkSuQmCC")}google-codelab-step .instructions h3>a[href*="github"],google-codelab-step .instructions h3>a[href*="github"]:visited{color:black;text-decoration:none;padding-left:24px;background-repeat:no-repeat;background-size:18px;background-image:url("data:image/png;base64,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")}google-codelab-step .youtube-video{display:flex;margin:auto;width:560px;height:315px;border:none;max-width:100%;max-height:51vw}
    -
    -/*# sourceMappingURL=google_codelab_step_scss_bin.css.map */google-codelab-survey{visibility:hidden}google-codelab-survey[upgraded]{visibility:visible}google-codelab-survey{display:block;margin:2em 0;padding:0;background:#e8f0fe;border-left:4px solid #185abc;border-radius:4px;color:#3c4043}google-codelab-survey h4{font-size:16px;font-weight:400;padding:.8em 0 0;margin:0}google-codelab-survey .survey-question-wrapper{padding:0.4em 0 1.1em 30px}google-codelab-survey .survey-question-options{padding:.8em 0 0}.survey-option-wrapper{cursor:pointer;display:block;padding:0 0 4px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle}google-codelab-survey .option-text{color:#212121;font-size:16px;padding-left:24px}.survey-option-wrapper input{position:absolute;opacity:0}.custom-radio-button{position:absolute;top:5px;left:0;height:13px;width:13px;background-color:#fff;border:2px solid #3f51b5;border-radius:50%}.custom-radio-button:after{content:"";position:absolute;display:none}.survey-option-wrapper input:checked ~ .custom-radio-button:after{display:block}.survey-option-wrapper .custom-radio-button:after{top:1px;left:1px;width:7px;height:7px;border-radius:50%;background:#3f51b5}
    -
    -/*# sourceMappingURL=google_codelab_survey_scss_bin.css.map */html,body{height:100%;width:100%;margin:0;padding:0}body{font-family:"Roboto",sans-serif;transition:opacity ease-in 0.2s}*{box-sizing:border-box}[hidden]{display:none !important}google-codelab{display:flex;width:100%;height:100%;padding-top:64px}google-codelab #main{display:flex;flex-direction:column;flex-grow:1;position:relative;background:#F8F9FA}google-codelab #codelab-title{position:fixed;top:0;left:0;width:100%;background:#FFFFFF;box-shadow:0px 1px 2px 0px rgba(60,64,67,0.3),0px 2px 6px 2px rgba(60,64,67,0.15);color:#3C4043;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 36px 0 16px;-webkit-font-smoothing:antialiased;z-index:1000}google-codelab #codelab-title h1{font-size:20px;font-weight:400;margin:0 8px;font-family:'Roboto', 'Noto', sans-serif;flex-grow:1;flex-shrink:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;width:0}google-codelab #codelab-title #time-remaining{flex-shrink:0;flex-grow:0;display:flex;align-items:center;font-size:16px;font-weight:400;white-space:nowrap}google-codelab #codelab-title #time-remaining i{margin-right:3px}google-codelab #codelab-nav-buttons{display:flex;align-items:center;flex-grow:0;flex-shrink:0}google-codelab #codelab-nav-buttons #arrow-back,google-codelab #codelab-nav-buttons #menu{display:flex;text-decoration:none;color:#3C4043;width:40px;height:40px;justify-content:center;align-items:center}google-codelab #controls{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:center;padding:0 32px;flex-direction:column;z-index:1001}google-codelab #fabs{display:flex;flex-grow:1;max-width:1025px;width:100%;margin:0 auto}google-codelab #fabs .spacer{flex-grow:1}#previous-step,#next-step,#done{border-radius:4px;font-family:'Google Sans', Arial, sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;line-height:24px;padding-bottom:6px;padding-left:24px;padding-right:24px;padding-top:6px;pointer-events:initial;text-transform:none;background:#FFFFFF;color:#1A73E8;transform:scale(1, 1);transition:transform 300ms ease-in-out;box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 1px 5px 0 rgba(0,0,0,0.12),0 3px 1px -2px rgba(0,0,0,0.2);text-decoration:none;-webkit-font-smoothing:antialiased}#next-step{color:#fff;background:#1A73E8}#done{background:#1E8E3E;color:#fff}google-codelab #fabs a[disappear]{transform:scale(0, 0)}#done{background:#0f9d58}google-codelab #drawer{background:#fff;width:256px;flex-shrink:0;position:relative;z-index:100;display:flex;flex-direction:column;background:#F8F9FA}google-codelab #drawer .steps{flex-shrink:1;flex-grow:1;overflow-x:visible;display:flex;max-height:calc(100% - 54px)}google-codelab #drawer .steps:only-child{max-height:100%}google-codelab #drawer ol{margin:0;padding:16px 12px;counter-reset:li-count;list-style:none;overflow-x:visible;overflow-y:auto;flex-grow:1}google-codelab #drawer ol li{display:block;counter-increment:li-count}google-codelab #drawer ol li a{text-decoration:none;display:flex;align-items:center;font-size:14px;color:#80868B;padding:3px 10px;min-height:48px;font-weight:400;line-height:20px;box-sizing:content-box;position:relative;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;transition:all 300ms ease-in-out;border:1px #dadce0 solid;border-radius:5px;margin:6px 0;background:white}google-codelab #drawer ol li a:active,google-codelab #drawer ol li a:focus{background:#c6c6c6;-webkit-tap-highlight-color:transparent;outline:0;border-color:#c6c6c6 !important}google-codelab #drawer ol li a .step{display:flex;align-items:center}google-codelab #drawer ol li .step:before{content:counter(li-count);display:inline-block;font-style:normal;width:26px;min-width:26px;color:#fff;background:#80868B;border-radius:50%;text-align:center;height:26px;vertical-align:middle;line-height:26px;margin-right:8px;font-weight:400;position:relative;z-index:2;transition:all 300ms ease-in-out}google-codelab #drawer ol li[selected] a,google-codelab #drawer ol li a:focus{color:#212121;font-weight:600;box-shadow:0 1px 2px 0 rgba(60,64,67,0.3),0 2px 6px 2px rgba(60,64,67,0.15)}google-codelab #drawer ol li[selected] a{border-color:#fff}google-codelab #drawer ol li[selected] .step:before{font-weight:600}google-codelab #drawer ol li[completed] a{color:#212121}google-codelab #drawer ol li[completed] .step:before{background-color:#1A73E8;color:#fff}google-codelab #drawer .metadata{color:#777;font-size:14px;padding:16px;flex-shrink:0}google-codelab #drawer .metadata a{color:currentcolor;margin-left:4px}google-codelab #codelab-nav-buttons #menu{display:none}google-codelab #drawer ol ::-webkit-scrollbar{-webkit-appearance:none;width:7px}google-codelab #drawer ol ::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgba(0,0,0,0.5);-webkit-box-shadow:0 0 1px rgba(255,255,255,0.5)}@media (max-width: 768px){google-codelab{display:block;position:relative}google-codelab #main{height:100%}google-codelab #codelab-nav-buttons #arrow-back{display:none}google-codelab #codelab-nav-buttons #menu{display:flex}google-codelab #drawer{width:256px;position:absolute;left:0;top:0;bottom:0;z-index:1001;will-change:transform;box-shadow:2px 2px 4px transparent;pointer-events:none;transform:translate3d(-100%, 0, 0);transition:transform ease-in-out 0.3s,box-shadow 0.3s}google-codelab[drawer--open] #drawer{box-shadow:2px 2px 4px rgba(0,0,0,0.15);transform:translate3d(0, 0, 0);pointer-events:all}google-codelab #main::before{content:'';top:0;left:0;right:0;bottom:0;position:absolute;transition:opacity ease-in-out 0.38s;background-color:rgba(0,0,0,0.3);z-index:10;pointer-events:none;opacity:0}google-codelab[drawer--open] #main::before{opacity:1;pointer-events:all}}google-codelab #steps{overflow:hidden;flex-direction:column;position:relative;flex-grow:1}google-codelab google-codelab-step{display:none;width:100%;transform:translate3d(0, 0, 0);position:absolute;top:0;left:0;right:0;bottom:0;padding-top:32px;overflow-y:auto;overflow-x:hidden}google-codelab google-codelab-step[animating],google-codelab google-codelab-step[selected]{display:block;transform-origin:0 50% 0;animation-fill-mode:both}google-codelab google-codelab-step[animating]{pointer-events:none;position:absolute;overflow:hidden}
    -
    -/*# sourceMappingURL=google_codelab_scss_bin.css.map */
    \ No newline at end of file
    diff --git a/site/dist/elements/codelab-elements/codelab-elements.js b/site/dist/elements/codelab-elements/codelab-elements.js
    deleted file mode 100755
    index be4adad06..000000000
    --- a/site/dist/elements/codelab-elements/codelab-elements.js
    +++ /dev/null
    @@ -1,230 +0,0 @@
    -(function(){'use strict';var g="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,h="function"==typeof Object.create?Object.create:function(a){function c(){}c.prototype=a;return new c},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var l;a:{var m={V:!0},n={};try{n.__proto__=m;l=n.V;break a}catch(a){}l=!1}k=l?function(a,c){a.__proto__=c;if(a.__proto__!==c)throw new TypeError(a+" is not extensible");return a}:null}var p=k;
    -function q(a,c){function b(){}b.prototype=c.prototype;a.$=c.prototype;a.prototype=new b;a.prototype.constructor=a;a.ga=function(a,b,d){for(var e=Array(arguments.length-2),f=2;f<arguments.length;f++)e[f-2]=arguments[f];return c.prototype[b].apply(a,e)}};var r={F:["BC","AD"],D:["Before Christ","Anno Domini"],H:"JFMAMJJASOND".split(""),N:"JFMAMJJASOND".split(""),G:"January February March April May June July August September October November December".split(" "),M:"January February March April May June July August September October November December".split(" "),J:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),P:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),T:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
    -S:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),L:"Sun Mon Tue Wed Thu Fri Sat".split(" "),R:"Sun Mon Tue Wed Thu Fri Sat".split(" "),ca:"SMTWTFS".split(""),O:"SMTWTFS".split(""),K:["Q1","Q2","Q3","Q4"],I:["1st quarter","2nd quarter","3rd quarter","4th quarter"],B:["AM","PM"],aa:["EEEE, MMMM d, y","MMMM d, y","MMM d, y","M/d/yy"],ea:["h:mm:ss a zzzz","h:mm:ss a z","h:mm:ss a","h:mm a"],ba:["{1} 'at' {0}","{1} 'at' {0}","{1}, {0}","{1}, {0}"],j:6,fa:[5,6],l:5},t=r;t=r;function u(a){if(!v.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(x,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(y,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(z,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(A,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(B,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(C,"&#0;"));return a}var x=/&/g,y=/</g,z=/>/g,A=/"/g,B=/'/g,C=/\x00/g,v=/[\x00&<>"']/,aa=String.prototype.repeat?function(a,c){return a.repeat(c)}:function(a,c){return Array(c+1).join(a)};
    -function D(a,c){a=String(a);var b=a.indexOf(".");-1==b&&(b=a.length);return aa("0",Math.max(0,c-b))+a};function E(a,c,b,f,e){a=new Date(a,c,b);e=e||0;return a.valueOf()+864E5*(((void 0!==f?f:3)-e+7)%7-((a.getDay()+6)%7-e+7)%7)};function F(){}function G(a){if("number"==typeof a){var c=new F;c.f=a;var b=a;if(0==b)b="Etc/GMT";else{var f=["Etc/GMT",0>b?"-":"+"];b=Math.abs(b);f.push(Math.floor(b/60)%100);b%=60;0!=b&&f.push(":",D(b,2));b=f.join("")}c.g=b;b=a;0==b?b="UTC":(f=["UTC",0>b?"+":"-"],b=Math.abs(b),f.push(Math.floor(b/60)%100),b%=60,0!=b&&f.push(":",b),b=f.join(""));a=H(a);c.i=[b,b];c.a={da:a,m:a};c.b=[];return c}c=new F;c.g=a.id;c.f=-a.std_offset;c.i=a.names;c.a=a.names_ext;c.b=a.transitions;return c}
    -function H(a){var c=["GMT"];c.push(0>=a?"+":"-");a=Math.abs(a);c.push(D(Math.floor(a/60)%100,2),":",D(a%60,2));return c.join("")}function I(a,c){c=Date.UTC(c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate(),c.getUTCHours(),c.getUTCMinutes())/36E5;for(var b=0;b<a.b.length&&c>=a.b[b];)b+=2;return 0==b?0:a.b[b-1]};function ba(){this.b=[];this.a=t;var a="MMM d, yyyy";for(ca&&(a=a.replace(/\u200f/g,""));a;){for(var c=a,b=0;b<J.length;++b){var f=a.match(J[b]);if(f){var e=f[0];a=a.substring(e.length);0==b&&("''"==e?e="'":(e=e.substring(1,"'"==f[1]?e.length-1:e.length),e=e.replace(/''/g,"'")));this.b.push({text:e,type:b});break}}if(c===a)throw Error("Malformed pattern part: "+a);}}var J=[/^'(?:[^']|'')*('|$)/,/^(?:G+|y+|Y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|m+|s+|v+|V+|w+|z+|Z+)/,/^[^'GyYMkSEahKHcLQdmsvVwzZ]+/];
    -function K(a){return a.getHours?a.getHours():0}function L(a,c){c=String(c);a=a.a||t;if(void 0!==a.U){for(var b=[],f=0;f<c.length;f++){var e=c.charCodeAt(f);b.push(48<=e&&57>=e?String.fromCharCode(a.U+e-48):c.charAt(f))}c=b.join("")}return c}var ca=!1;function M(a){if(!(a.getHours&&a.getSeconds&&a.getMinutes))throw Error("The date to format has no time (probably a goog.date.Date). Use Date or goog.date.DateTime, or use a pattern without time fields.");}
    -function da(a,c,b,f,e){var d=c.length;switch(c.charAt(0)){case "G":return b=0<f.getFullYear()?1:0,4<=d?a.a.D[b]:a.a.F[b];case "y":return b=f.getFullYear(),0>b&&(b=-b),2==d&&(b%=100),L(a,D(b,d));case "Y":return b=(new Date(E(f.getFullYear(),f.getMonth(),f.getDate(),a.a.l,a.a.j))).getFullYear(),0>b&&(b=-b),2==d&&(b%=100),L(a,D(b,d));case "M":a:switch(b=f.getMonth(),d){case 5:d=a.a.H[b];break a;case 4:d=a.a.G[b];break a;case 3:d=a.a.J[b];break a;default:d=L(a,D(b+1,d))}return d;case "k":return M(e),
    -L(a,D(K(e)||24,d));case "S":return L(a,(e.getMilliseconds()/1E3).toFixed(Math.min(3,d)).substr(2)+(3<d?D(0,d-3):""));case "E":return b=f.getDay(),4<=d?a.a.T[b]:a.a.L[b];case "a":return M(e),d=K(e),a.a.B[12<=d&&24>d?1:0];case "h":return M(e),L(a,D(K(e)%12||12,d));case "K":return M(e),L(a,D(K(e)%12,d));case "H":return M(e),L(a,D(K(e),d));case "c":a:switch(b=f.getDay(),d){case 5:d=a.a.O[b];break a;case 4:d=a.a.S[b];break a;case 3:d=a.a.R[b];break a;default:d=L(a,D(b,1))}return d;case "L":a:switch(b=
    -f.getMonth(),d){case 5:d=a.a.N[b];break a;case 4:d=a.a.M[b];break a;case 3:d=a.a.P[b];break a;default:d=L(a,D(b+1,d))}return d;case "Q":return b=Math.floor(f.getMonth()/3),4>d?a.a.K[b]:a.a.I[b];case "d":return L(a,D(f.getDate(),d));case "m":return M(e),L(a,D(e.getMinutes(),d));case "s":return M(e),L(a,D(e.getSeconds(),d));case "v":return d=G(b.getTimezoneOffset()),d.g;case "V":return a=G(b.getTimezoneOffset()),2>=d?a.g:0<I(a,b)?void 0!==a.a.C?a.a.C:a.a.DST_GENERIC_LOCATION:void 0!==a.a.m?a.a.m:a.a.STD_GENERIC_LOCATION;
    -case "w":return b=E(e.getFullYear(),e.getMonth(),e.getDate(),a.a.l,a.a.j),L(a,D(Math.floor(Math.round((b-(new Date((new Date(b)).getFullYear(),0,1)).valueOf())/864E5)/7)+1,d));case "z":return a=G(b.getTimezoneOffset()),4>d?a.i[0<I(a,b)?2:0]:a.i[0<I(a,b)?3:1];case "Z":return c=G(b.getTimezoneOffset()),4>d?(d=-(c.f-I(c,b)),a=[0>d?"-":"+"],d=Math.abs(d),a.push(D(Math.floor(d/60)%100,2),D(d%60,2)),d=a.join("")):d=L(a,H(c.f-I(c,b))),d;default:return""}};function N(){this.a=O}var O={};var P={},ea={};function Q(){throw Error("Do not instantiate directly");}Q.prototype.v=null;Q.prototype.toString=function(){return this.h};function R(){Q.call(this)}q(R,Q);R.prototype.c=P;function fa(a){if(null!=a)switch(a.v){case 1:return 1;case -1:return-1;case 0:return 0}return null}function T(a){return null!=a&&a.c===P?a:a instanceof N?U(a instanceof N&&a.constructor===N&&a.a===O?"":"type_error:SafeHtml",null):U(u(String(String(a))),fa(a))}var U=function(a){function c(a){this.h=a}c.prototype=a.prototype;return function(a,f){a=new c(String(a));void 0!==f&&(a.v=f);return a}}(R);var ha=function(a){var c=!1,b;return function(){c||(b=a(),c=!0);return b}}(function(){var a=document.createElement("div");a.innerHTML="<div><div></div></div>";var c=a.firstChild.firstChild;a.innerHTML="";return!c.parentElement});/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -function V(){var a=HTMLElement.call(this)||this;a.o=null;a.u=null;a.w=!1;a.A=null;a.s=null;return a}var W=HTMLElement;V.prototype=h(W.prototype);V.prototype.constructor=V;if(p)p(V,W);else for(var X in W)if("prototype"!=X)if(Object.defineProperties){var Y=Object.getOwnPropertyDescriptor(W,X);Y&&Object.defineProperty(V,X,Y)}else V[X]=W[X];V.$=W.prototype;V.prototype.connectedCallback=function(){this.w||Z(this)};V.prototype.connectedCallback=V.prototype.connectedCallback;
    -V.prototype.attributeChangedCallback=function(a){switch(a){case "last-updated":this.hasAttribute("last-updated")&&(this.A=this.getAttribute("last-updated"));break;case "authors":this.hasAttribute("authors")&&(this.o=this.getAttribute("authors"));break;case "codelab-title":this.hasAttribute("codelab-title")&&(this.u=this.getAttribute("codelab-title"));break;case "badge-id":this.hasAttribute("badge-id")&&(this.s=this.getAttribute("badge-id"))}Z(this)};V.prototype.attributeChangedCallback=V.prototype.attributeChangedCallback;
    -function Z(a){var c=a.A;if(c){c=new Date(c);var b=new ba;if(!c)throw Error("The date to format must be non-null.");for(var f=[],e=0;e<b.b.length;++e){var d=b.b[e].text;1==b.b[e].type?f.push(da(b,d,c,c,c)):f.push(d)}c=f.join("")}else c=null;e=e={Z:c,W:a.o,Y:a.u.split(":").join(":||").split("||"),X:a.s};c=e.Y;b=e.Z;f=e.W;e=e.X;d="";if(c){d+='<div class="codelab-title">';for(var S=c.length,w=0;w<S;w++)d+='<div class="token">'+T(c[w])+"</div>";d+="</div>"}d+='<div class="about-card"><h2 class="title">About this codelab</h2>'+
    -(b?'<div class="last-updated"><i class="material-icons">subject</i>Last updated '+T(b)+"</div>":"")+'<div class="authors"><i class="material-icons">account_circle</i>'+(f?"Written by "+T(f):"Written by a Googler")+"</div>"+(e?'<devsite-badge-to-earn badge-id="$badgeId"></devsite-badge-to-earn>':"")+"</div>";c=U(d);a:{if(c instanceof Q){if(c.c===P){c=c.h;break a}if(c.c===ea){c=u(c.h);break a}}c="zSoyz"}if(ha())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=c;a.w=!0}
    -g.Object.defineProperties(V,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["authors","last-updated","codelab-title"]}}});try{window.customElements.define("google-codelab-about",V)}catch(a){console.warn("googlecodelabs.CodelabAbout",a)};}).call(this);
    -(function(){'use strict';var aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},h="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function ba(){ba=function(){};h.Symbol||(h.Symbol=ca)}var ca=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();
    -function k(){ba();var a=h.Symbol.iterator;a||(a=h.Symbol.iterator=h.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&aa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return da(this)}});k=function(){}}function da(a){var b=0;return ea(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ea(a){k();a={next:a};a[h.Symbol.iterator]=function(){return this};return a}function fa(a){k();var b=a[Symbol.iterator];return b?b.call(a):da(a)}
    -function ha(a,b){if(b){var c=h;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&aa(c,a,{configurable:!0,writable:!0,value:b})}}
    -ha("Promise",function(a){function b(a){this.b=0;this.g=void 0;this.a=[];var b=this.c();try{a(b.resolve,b.reject)}catch(G){b.reject(G)}}function c(){this.a=null}function d(a){return a instanceof b?a:new b(function(b){b(a)})}if(a)return a;c.prototype.b=function(a){null==this.a&&(this.a=[],this.f());this.a.push(a)};c.prototype.f=function(){var a=this;this.c(function(){a.h()})};var e=h.setTimeout;c.prototype.c=function(a){e(a,0)};c.prototype.h=function(){for(;this.a&&this.a.length;){var a=this.a;this.a=
    -[];for(var b=0;b<a.length;++b){var c=a[b];a[b]=null;try{c()}catch(H){this.g(H)}}}this.a=null};c.prototype.g=function(a){this.c(function(){throw a;})};b.prototype.c=function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.J),reject:a(this.f)}};b.prototype.J=function(a){if(a===this)this.f(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof b)this.K(a);else{a:switch(typeof a){case "object":var c=null!=a;break a;case "function":c=!0;
    -break a;default:c=!1}c?this.H(a):this.h(a)}};b.prototype.H=function(a){var b=void 0;try{b=a.then}catch(G){this.f(G);return}"function"==typeof b?this.L(b,a):this.h(a)};b.prototype.f=function(a){this.i(2,a)};b.prototype.h=function(a){this.i(1,a)};b.prototype.i=function(a,b){if(0!=this.b)throw Error("Cannot settle("+a+", "+b+"): Promise already settled in state"+this.b);this.b=a;this.g=b;this.u()};b.prototype.u=function(){if(null!=this.a){for(var a=0;a<this.a.length;++a)f.b(this.a[a]);this.a=null}};
    -var f=new c;b.prototype.K=function(a){var b=this.c();a.m(b.resolve,b.reject)};b.prototype.L=function(a,b){var c=this.c();try{a.call(b,c.resolve,c.reject)}catch(H){c.reject(H)}};b.prototype.then=function(a,c){function d(a,b){return"function"==typeof a?function(b){try{e(a(b))}catch($a){f($a)}}:b}var e,f,g=new b(function(a,b){e=a;f=b});this.m(d(a,e),d(c,f));return g};b.prototype.catch=function(a){return this.then(void 0,a)};b.prototype.m=function(a,b){function c(){switch(d.b){case 1:a(d.g);break;case 2:b(d.g);
    -break;default:throw Error("Unexpected state: "+d.b);}}var d=this;null==this.a?f.b(c):this.a.push(c)};b.resolve=d;b.reject=function(a){return new b(function(b,c){c(a)})};b.race=function(a){return new b(function(b,c){for(var e=fa(a),f=e.next();!f.done;f=e.next())d(f.value).m(b,c)})};b.all=function(a){var c=fa(a),e=c.next();return e.done?d([]):new b(function(a,b){function f(b){return function(c){g[b]=c;l--;0==l&&a(g)}}var g=[],l=0;do g.push(void 0),l++,d(e.value).m(f(g.length-1),b),e=c.next();while(!e.done)})};
    -return b});ha("Promise.prototype.finally",function(a){return a?a:function(a){return this.then(function(b){return Promise.resolve(a()).then(function(){return b})},function(b){return Promise.resolve(a()).then(function(){throw b;})})}});var m;if("function"==typeof Object.setPrototypeOf)m=Object.setPrototypeOf;else{var n;a:{var ia={D:!0},ja={};try{ja.__proto__=ia;n=ja.D;break a}catch(a){}n=!1}m=n?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}
    -var ka=m;function p(){this.f=!1;this.a=null;this.i=void 0;this.c=1;this.u=this.h=0;this.b=null}function q(a){if(a.f)throw new TypeError("Generator is already running");a.f=!0}p.prototype.g=function(a){this.i=a};function r(a,b){a.b={F:b,G:!0};a.c=a.h||a.u}p.prototype.return=function(a){this.b={return:a};this.c=this.u};function la(a){var b=ma();a.c=4;return{value:b}}function na(a){a.h=0;a.b=null}function oa(a){this.a=new p;this.b=a}
    -function pa(a,b){q(a.a);var c=a.a.a;if(c)return t(a,"return"in c?c["return"]:function(a){return{value:a,done:!0}},b,a.a.return);a.a.return(b);return u(a)}function t(a,b,c,d){try{var e=b.call(a.a.a,c);if(!(e instanceof Object))throw new TypeError("Iterator result "+e+" is not an object");if(!e.done)return a.a.f=!1,e;var f=e.value}catch(g){return a.a.a=null,r(a.a,g),u(a)}a.a.a=null;d.call(a.a,f);return u(a)}
    -function u(a){for(;a.a.c;)try{var b=a.b(a.a);if(b)return a.a.f=!1,{value:b.value,done:!1}}catch(c){a.a.i=void 0,r(a.a,c)}a.a.f=!1;if(a.a.b){b=a.a.b;a.a.b=null;if(b.G)throw b.F;return{value:b.return,done:!0}}return{value:void 0,done:!0}}
    -function qa(a){this.next=function(b){q(a.a);a.a.a?b=t(a,a.a.a.next,b,a.a.g):(a.a.g(b),b=u(a));return b};this.throw=function(b){q(a.a);a.a.a?b=t(a,a.a.a["throw"],b,a.a.g):(r(a.a,b),b=u(a));return b};this.return=function(b){return pa(a,b)};k();this[Symbol.iterator]=function(){return this}}function ra(a){function b(b){return a.next(b)}function c(b){return a.throw(b)}return new Promise(function(d,e){function f(a){a.done?d(a.value):Promise.resolve(a.value).then(b,c).then(f,e)}f(a.next())})}
    -var sa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},v=this;function w(){}
    -function x(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
    -else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function y(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var ta="closure_uid_"+(1E9*Math.random()>>>0),ua=0;function va(a,b){function c(){}c.prototype=b.prototype;a.C=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.M=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function wa(){0!=xa&&(this[ta]||(this[ta]=++ua))}var xa=0;var ya=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"==typeof a)return"string"==typeof b&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};var za=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function z(a,b){return a<b?-1:a>b?1:0};var A;a:{var Aa=v.navigator;if(Aa){var Ba=Aa.userAgent;if(Ba){A=Ba;break a}}A=""};function Ca(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function B(a){B[" "](a);return a}B[" "]=w;var Da=-1!=A.indexOf("Opera"),C=-1!=A.indexOf("Trident")||-1!=A.indexOf("MSIE"),Ea=-1!=A.indexOf("Edge"),Fa=-1!=A.indexOf("Gecko")&&!(-1!=A.toLowerCase().indexOf("webkit")&&-1==A.indexOf("Edge"))&&!(-1!=A.indexOf("Trident")||-1!=A.indexOf("MSIE"))&&-1==A.indexOf("Edge"),Ga=-1!=A.toLowerCase().indexOf("webkit")&&-1==A.indexOf("Edge");function Ha(){var a=v.document;return a?a.documentMode:void 0}var D;
    -a:{var E="",F=function(){var a=A;if(Fa)return/rv:([^\);]+)(\)|;)/.exec(a);if(Ea)return/Edge\/([\d\.]+)/.exec(a);if(C)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Ga)return/WebKit\/(\S+)/.exec(a);if(Da)return/(?:Version)[ \/]?(\S+)/.exec(a)}();F&&(E=F?F[1]:"");if(C){var I=Ha();if(null!=I&&I>parseFloat(E)){D=String(I);break a}}D=E}var J={},Ia;var Ja=v.document;Ia=Ja&&C?Ha()||("CSS1Compat"==Ja.compatMode?parseInt(D,10):5):void 0;var K;(K=!C)||(K=9<=Number(Ia));var Ka=K,L;
    -if(L=C){var M;if(Object.prototype.hasOwnProperty.call(J,"9"))M=J["9"];else{for(var N=0,La=za(String(D)).split("."),Ma=za("9").split("."),Na=Math.max(La.length,Ma.length),O=0;0==N&&O<Na;O++){var Oa=La[O]||"",Pa=Ma[O]||"";do{var P=/(\d*)(\D*)(.*)/.exec(Oa)||["","","",""],Q=/(\d*)(\D*)(.*)/.exec(Pa)||["","","",""];if(0==P[0].length&&0==Q[0].length)break;N=z(0==P[1].length?0:parseInt(P[1],10),0==Q[1].length?0:parseInt(Q[1],10))||z(0==P[2].length,0==Q[2].length)||z(P[2],Q[2]);Oa=P[3];Pa=Q[3]}while(0==
    -N)}M=J["9"]=0<=N}L=!M}var Qa=L,Ra=function(){if(!v.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});v.addEventListener("test",w,b);v.removeEventListener("test",w,b);return a}();function R(a,b){this.type=a;this.a=this.target=b}R.prototype.b=function(){};function S(a,b){R.call(this,a?a.type:"");this.relatedTarget=this.a=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.pointerId=0;this.pointerType="";this.o=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.a=b;if(b=a.relatedTarget){if(Fa){a:{try{B(b.nodeName);var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:
    -"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;
    -this.pointerId=a.pointerId||0;this.pointerType="string"==typeof a.pointerType?a.pointerType:Sa[a.pointerType]||"";this.o=a;a.defaultPrevented&&this.b()}}va(S,R);var Sa={2:"touch",3:"pen",4:"mouse"};S.prototype.b=function(){S.C.b.call(this);var a=this.o;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Qa)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Ta="closure_listenable_"+(1E6*Math.random()|0),Ua=0;function Va(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Ua;this.j=this.v=!1}function Wa(a){a.j=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function Xa(a){this.src=a;this.a={};this.b=0}Xa.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;g<a.length;++g){var l=a[g];if(!l.j&&l.listener==b&&l.capture==!!d&&l.a==e)break a}g=-1}-1<g?(b=a[g],c||(b.v=!1)):(b=new Va(b,this.src,f,!!d,e),b.v=c,a.push(b));return b};var Ya="closure_lm_"+(1E6*Math.random()|0),Za={},ab=0;function bb(a,b,c,d,e){if(d&&d.once)return cb(a,b,c,d,e);if("array"==x(b)){for(var f=0;f<b.length;f++)bb(a,b[f],c,d,e);return null}c=db(c);return a&&a[Ta]?a.b(b,c,y(d)?!!d.capture:!!d,e):eb(a,b,c,!1,d,e)}
    -function eb(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=y(e)?!!e.capture:!!e,l=fb(a);l||(a[Ya]=l=new Xa(a));c=l.add(b,c,d,g,f);if(c.proxy)return c;d=gb();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)Ra||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(hb(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");ab++;return c}
    -function gb(){var a=ib,b=Ka?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function cb(a,b,c,d,e){if("array"==x(b)){for(var f=0;f<b.length;f++)cb(a,b[f],c,d,e);return null}c=db(c);return a&&a[Ta]?a.c(b,c,y(d)?!!d.capture:!!d,e):eb(a,b,c,!0,d,e)}
    -function jb(a){if("number"!=typeof a&&a&&!a.j){var b=a.src;if(b&&b[Ta])b.a(a);else{var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(hb(c),d):b.addListener&&b.removeListener&&b.removeListener(d);ab--;if(c=fb(b)){d=a.type;if(d in c.a){var e=c.a[d],f=ya(e,a),g;(g=0<=f)&&Array.prototype.splice.call(e,f,1);g&&(Wa(a),0==c.a[d].length&&(delete c.a[d],c.b--))}0==c.b&&(c.src=null,b[Ya]=null)}else Wa(a)}}}
    -function hb(a){return a in Za?Za[a]:Za[a]="on"+a}function kb(a,b,c,d){var e=!0;if(a=fb(a))if(b=a.a[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.j&&(f=lb(f,d),e=e&&!1!==f)}return e}function lb(a,b){var c=a.listener,d=a.a||a.src;a.v&&jb(a);return c.call(d,b)}
    -function ib(a,b){if(a.j)return!0;if(!Ka){if(!b)a:{b=["window","event"];for(var c=v,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new S(d,this);c=!0;if(!(0>d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=kb(d[e],a,!0,b);c=c&&f}for(e=0;e<d.length;e++)b.a=d[e],f=kb(d[e],a,!1,b),c=c&&f}return c}return lb(a,
    -new S(b,this))}function fb(a){a=a[Ya];return a instanceof Xa?a:null}var mb="__closure_events_fn_"+(1E9*Math.random()>>>0);function db(a){if("function"==x(a))return a;a[mb]||(a[mb]=function(b){return a.handleEvent(b)});return a[mb]};function T(a){wa.call(this);this.b=a;this.a={}}va(T,wa);var nb=[];function ob(a,b,c){var d=document.body;"array"!=x(b)&&(b&&(nb[0]=b.toString()),b=nb);for(var e=0;e<b.length;e++){var f=bb(d,b[e],c||a.handleEvent,!1,a.b||a);if(!f)break;a.a[f.key]=f}}function pb(a){Ca(a.a,function(a,c){this.a.hasOwnProperty(c)&&jb(a)},a);a.a={}}T.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -var qb=["google-codelab"];function U(){var a=HTMLElement.call(this)||this;a.s=!1;a.B=new T;a.I=new T;a.w=a.getAttribute("category")||"";a.A=a.getAttribute("environment")||"";return a}var V=HTMLElement;U.prototype=sa(V.prototype);U.prototype.constructor=U;if(ka)ka(U,V);else for(var W in V)if("prototype"!=W)if(Object.defineProperties){var rb=Object.getOwnPropertyDescriptor(V,W);rb&&Object.defineProperty(U,W,rb)}else U[W]=V[W];U.C=V.prototype;
    -U.prototype.connectedCallback=function(){var a=this;this.a=this.getAttribute("gaid")||"";!this.s&&this.a&&(void 0!==window.ga?(sb(this),tb(this),ub(),this.s=!0):vb().then(function(b){b&&(sb(a),tb(a),ub(),a.s=!0)}))};U.prototype.connectedCallback=U.prototype.connectedCallback;
    -function tb(a){ob(a.B,"google-codelab-action",function(b){b=b.o.detail;wb({hitType:"event",dimension1:a.A,dimension2:a.w,eventCategory:b.category,eventAction:b.action||"",eventLabel:b.label||"",eventValue:b.value||""})});ob(a.I,"google-codelab-pageview",function(b){b=b.o.detail;wb({hitType:"pageview",dimension1:a.A,dimension2:a.w,page:b.page||"",title:b.title||""})})}
    -U.prototype.attributeChangedCallback=function(a,b,c){switch(a){case "gaid":this.a=c;break;case "codelab-gaid":c&&this.s&&xb(this);break;case "environment":this.A=c;break;case "category":this.w=c}};U.prototype.attributeChangedCallback=U.prototype.attributeChangedCallback;function ub(){qb.forEach(function(a){document.querySelectorAll(a).forEach(function(a){a.setAttribute("anayltics-ready","anayltics-ready")})})}
    -function wb(a){window.ga(function(){window.ga.getAll().forEach(function(b){b.send(a)})})}U.prototype.disconnectedCallback=function(){pb(this.B)};U.prototype.disconnectedCallback=U.prototype.disconnectedCallback;
    -function ma(){var a=document.createElement("script");a.src="https://www.google-analytics.com/analytics.js";a.async=!1;return new Promise(function(b,c){a.onload=function(){return b(a)};a.onerror=function(){a.parentNode&&a.parentNode.removeChild(a);c()};document.head&&document.head.appendChild(a)})}var yb=ma,X=["module$exports$googlecodelabs$CodelabAnalytics","injectGAScript"],Y=v;X[0]in Y||"undefined"==typeof Y.execScript||Y.execScript("var "+X[0]);
    -for(var Z;X.length&&(Z=X.shift());)X.length||void 0===yb?Y[Z]&&Y[Z]!==Object.prototype[Z]?Y=Y[Z]:Y=Y[Z]={}:Y[Z]=yb;function vb(){return ra(new qa(new oa(function(a){if(1==a.c)return window.GoogleAnalyticsObject="ga",window.ga=window.ga||function(){(window.ga.q=window.ga.q||[]).push(arguments)},window.ga.l=(new Date).valueOf(),a.h=2,la(a);if(2!=a.c)return a.return(a.i);na(a);return a.return()})))}
    -function sb(a){a.a&&!zb(a.a)&&window.ga("create",a.a,"auto");a:{var b=location.search.substring(1).split("&");for(var c=0;c<b.length;c++){var d=b[c].split("=");if("viewga"===d[0]){b=d[1];break a}}b=""}b&&!zb(b)&&(window.ga("create",b,"auto","view"),window.ga("view.send","pageview"));xb(a)}function xb(a){(a=a.getAttribute("codelab-gaid"))&&!zb(a)&&window.ga("create",a,"auto","codelabAccount")}function zb(a){var b=!1;window.ga.getAll().forEach(function(c){c.get("trackingId")==a&&(b=!0)});return b}
    -h.Object.defineProperties(U,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["codelab-gaid","environment","category"]}}});try{window.customElements.define("google-codelab-analytics",U)}catch(a){console.warn("googlecodelabs.CodelabAnalytics",a)};}).call(this);
    -(function(){'use strict';var aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var l;a:{var ca={B:!0},da={};try{da.__proto__=ca;l=da.B;break a}catch(a){}l=!1}k=l?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ea=k,m=this;
    -function n(){}
    -function p(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var d=Object.prototype.toString.call(a);if("[object Window]"==d)return"object";if("[object Array]"==d||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==d||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==
    -b&&"undefined"==typeof a.call)return"object";return b}function q(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var fa="closure_uid_"+(1E9*Math.random()>>>0),ha=0;function r(a,b){function d(){}d.prototype=b.prototype;a.A=b.prototype;a.prototype=new d;a.prototype.constructor=a;a.D=function(a,d,f){for(var c=Array(arguments.length-2),e=2;e<arguments.length;e++)c[e-2]=arguments[e];return b.prototype[d].apply(a,c)}};function ia(){0!=ja&&(this[fa]||(this[fa]=++ha))}var ja=0;var ka;var la=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if("string"==typeof a)return"string"==typeof b&&1==b.length?a.indexOf(b,0):-1;for(var d=0;d<a.length;d++)if(d in a&&a[d]===b)return d;return-1};var ma=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function na(a){if(!oa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(pa,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(qa,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(ra,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(sa,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(ta,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(ua,"&#0;"));return a}
    -var pa=/&/g,qa=/</g,ra=/>/g,sa=/"/g,ta=/'/g,ua=/\x00/g,oa=/[\x00&<>"']/;function t(a,b){return a<b?-1:a>b?1:0};var u;a:{var va=m.navigator;if(va){var wa=va.userAgent;if(wa){u=wa;break a}}u=""};function v(a){v[" "](a);return a}v[" "]=n;var xa=-1!=u.indexOf("Opera"),w=-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"),ya=-1!=u.indexOf("Edge"),za=-1!=u.indexOf("Gecko")&&!(-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge"))&&!(-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"))&&-1==u.indexOf("Edge"),Aa=-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge");function Ba(){var a=m.document;return a?a.documentMode:void 0}var x;
    -a:{var y="",z=function(){var a=u;if(za)return/rv:([^\);]+)(\)|;)/.exec(a);if(ya)return/Edge\/([\d\.]+)/.exec(a);if(w)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Aa)return/WebKit\/(\S+)/.exec(a);if(xa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();z&&(y=z?z[1]:"");if(w){var A=Ba();if(null!=A&&A>parseFloat(y)){x=String(A);break a}}x=y}var B={},Ea;var Fa=m.document;Ea=Fa&&w?Ba()||("CSS1Compat"==Fa.compatMode?parseInt(x,10):5):void 0;var C;(C=!w)||(C=9<=Number(Ea));var Ga=C,D;
    -if(D=w){var E;if(Object.prototype.hasOwnProperty.call(B,"9"))E=B["9"];else{for(var F=0,Ha=ma(String(x)).split("."),Ia=ma("9").split("."),Ja=Math.max(Ha.length,Ia.length),G=0;0==F&&G<Ja;G++){var Ka=Ha[G]||"",La=Ia[G]||"";do{var H=/(\d*)(\D*)(.*)/.exec(Ka)||["","","",""],I=/(\d*)(\D*)(.*)/.exec(La)||["","","",""];if(0==H[0].length&&0==I[0].length)break;F=t(0==H[1].length?0:parseInt(H[1],10),0==I[1].length?0:parseInt(I[1],10))||t(0==H[2].length,0==I[2].length)||t(H[2],I[2]);Ka=H[3];La=I[3]}while(0==
    -F)}E=B["9"]=0<=F}D=!E}var Ma=D,Na=function(){if(!m.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});m.addEventListener("test",n,b);m.removeEventListener("test",n,b);return a}();function J(a,b){this.type=a;this.a=this.target=b}J.prototype.b=function(){};function K(a,b){J.call(this,a?a.type:"");this.relatedTarget=this.a=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.pointerId=0;this.pointerType="";this.m=null;if(a){var d=this.type=a.type,c=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.a=b;if(b=a.relatedTarget){if(za){a:{try{v(b.nodeName);var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==d?b=a.fromElement:
    -"mouseout"==d&&(b=a.toElement);this.relatedTarget=b;null===c?(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==c.clientX?c.clientX:c.pageX,this.clientY=void 0!==c.clientY?c.clientY:c.pageY,this.screenX=c.screenX||0,this.screenY=c.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;
    -this.pointerId=a.pointerId||0;this.pointerType="string"==typeof a.pointerType?a.pointerType:Oa[a.pointerType]||"";this.m=a;a.defaultPrevented&&this.b()}}r(K,J);var Oa={2:"touch",3:"pen",4:"mouse"};K.prototype.b=function(){K.A.b.call(this);var a=this.m;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Ma)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var L="closure_listenable_"+(1E6*Math.random()|0),Pa=0;function Qa(a,b,d,c,e){this.listener=a;this.proxy=null;this.src=b;this.type=d;this.capture=!!c;this.a=e;this.key=++Pa;this.g=this.j=!1}function Ra(a){a.g=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function M(a){this.src=a;this.a={};this.b=0}M.prototype.add=function(a,b,d,c,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;g<a.length;++g){var h=a[g];if(!h.g&&h.listener==b&&h.capture==!!c&&h.a==e)break a}g=-1}-1<g?(b=a[g],d||(b.j=!1)):(b=new Qa(b,this.src,f,!!c,e),b.j=d,a.push(b));return b};var N="closure_lm_"+(1E6*Math.random()|0),O={},Sa=0;function Ta(a,b,d,c,e){if(c&&c.once)return Ua(a,b,d,c,e);if("array"==p(b)){for(var f=0;f<b.length;f++)Ta(a,b[f],d,c,e);return null}d=Va(d);return a&&a[L]?a.a(b,d,q(c)?!!c.capture:!!c,e):Wa(a,b,d,!1,c,e)}
    -function Wa(a,b,d,c,e,f){if(!b)throw Error("Invalid event type");var g=q(e)?!!e.capture:!!e,h=P(a);h||(a[N]=h=new M(a));d=h.add(b,d,c,g,f);if(d.proxy)return d;c=Xa();d.proxy=c;c.src=a;c.listener=d;if(a.addEventListener)Na||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),c,e);else if(a.attachEvent)a.attachEvent(Ya(b.toString()),c);else if(a.addListener&&a.removeListener)a.addListener(c);else throw Error("addEventListener and attachEvent are unavailable.");Sa++;return d}
    -function Xa(){var a=Za,b=Ga?function(d){return a.call(b.src,b.listener,d)}:function(d){d=a.call(b.src,b.listener,d);if(!d)return d};return b}function Ua(a,b,d,c,e){if("array"==p(b)){for(var f=0;f<b.length;f++)Ua(a,b[f],d,c,e);return null}d=Va(d);return a&&a[L]?a.b(b,d,q(c)?!!c.capture:!!c,e):Wa(a,b,d,!0,c,e)}function Ya(a){return a in O?O[a]:O[a]="on"+a}
    -function $a(a,b,d,c){var e=!0;if(a=P(a))if(b=a.a[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==d&&!f.g&&(f=ab(f,c),e=e&&!1!==f)}return e}
    -function ab(a,b){var d=a.listener,c=a.a||a.src;if(a.j&&"number"!=typeof a&&a&&!a.g){var e=a.src;if(e&&e[L])e.m(a);else{var f=a.type,g=a.proxy;e.removeEventListener?e.removeEventListener(f,g,a.capture):e.detachEvent?e.detachEvent(Ya(f),g):e.addListener&&e.removeListener&&e.removeListener(g);Sa--;if(f=P(e)){g=a.type;var h;if(h=g in f.a){h=f.a[g];var Ca=la(h,a),Da;(Da=0<=Ca)&&Array.prototype.splice.call(h,Ca,1);h=Da}h&&(Ra(a),0==f.a[g].length&&(delete f.a[g],f.b--));0==f.b&&(f.src=null,e[N]=null)}else Ra(a)}}return d.call(c,
    -b)}
    -function Za(a,b){if(a.g)return!0;if(!Ga){if(!b)a:{b=["window","event"];for(var d=m,c=0;c<b.length;c++)if(d=d[b[c]],null==d){b=null;break a}b=d}c=b;b=new K(c,this);d=!0;if(!(0>c.keyCode||void 0!=c.returnValue)){a:{var e=!1;if(0==c.keyCode)try{c.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==c.returnValue)c.returnValue=!0}c=[];for(e=b.a;e;e=e.parentNode)c.push(e);a=a.type;for(e=c.length-1;0<=e;e--){b.a=c[e];var f=$a(c[e],a,!0,b);d=d&&f}for(e=0;e<c.length;e++)b.a=c[e],f=$a(c[e],a,!1,b),d=d&&f}return d}return ab(a,new K(b,
    -this))}function P(a){a=a[N];return a instanceof M?a:null}var Q="__closure_events_fn_"+(1E9*Math.random()>>>0);function Va(a){if("function"==p(a))return a;a[Q]||(a[Q]=function(b){return a.handleEvent(b)});return a[Q]};function R(a){ia.call(this);this.a=a;this.b={}}r(R,ia);var bb=[];function cb(a,b,d){var c="copy";"array"!=p(c)&&(c&&(bb[0]=c.toString()),c=bb);for(var e=0;e<c.length;e++){var f=Ta(b,c[e],d||a.handleEvent,!1,a.a||a);if(!f)break;a.b[f.key]=f}}R.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function S(){this.a=db}var db={};var T={},eb={};function U(){throw Error("Do not instantiate directly");}U.prototype.v=null;U.prototype.toString=function(){return this.o};function V(){U.call(this)}r(V,U);V.prototype.l=T;function fb(a){if(null!=a)switch(a.v){case 1:return 1;case -1:return-1;case 0:return 0}return null}function gb(a){return null!=a&&a.l===T?a:a instanceof S?W(a instanceof S&&a.constructor===S&&a.a===db?"":"type_error:SafeHtml",null):W(na(String(String(a))),fb(a))}var W=function(a){function b(a){this.o=a}b.prototype=a.prototype;return function(a,c){a=new b(String(a));void 0!==c&&(a.v=c);return a}}(V);var hb=function(a){var b=!1,d;return function(){b||(d=a(),b=!0);return d}}(function(){var a=document.createElement("div");a.innerHTML="<div><div></div></div>";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function ib(a){for(var b;b=a.firstChild;)a.removeChild(b)}function jb(a,b){a.insertBefore(b,a.childNodes[0]||null)}function kb(){this.a=m.document||document};function lb(a){a=a||mb;var b=a.label;b=W('<h2 is-upgraded class="step-title">'+gb(a.step)+". "+gb(b)+"</h2>");a=(ka||(ka=new kb)).a.createElement("DIV");b:{if(b instanceof U){if(b.l===T){b=b.o;break b}if(b.l===eb){b=na(b.o);break b}}b="zSoyz"}if(hb())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b;1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}var mb={};/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -function X(){var a=HTMLElement.call(this)||this;a.h=null;a.c=null;a.w=!1;a.u="0";a.s="";a.i=null;a.f=null;a.C=new R;return a}var Y=HTMLElement;X.prototype=ba(Y.prototype);X.prototype.constructor=X;if(ea)ea(X,Y);else for(var Z in Y)if("prototype"!=Z)if(Object.defineProperties){var nb=Object.getOwnPropertyDescriptor(Y,Z);nb&&Object.defineProperty(X,Z,nb)}else X[Z]=Y[Z];X.A=Y.prototype;X.prototype.connectedCallback=function(){ob(this)};X.prototype.connectedCallback=X.prototype.connectedCallback;
    -X.prototype.attributeChangedCallback=function(a){if("label"===a||"step"===a)if(this.hasAttribute("label")&&(this.s=this.getAttribute("label")),this.hasAttribute("step")&&(this.u=this.getAttribute("step")),this.i){a=lb({step:this.u,label:this.s});var b=this.i,d=b.parentNode;d&&d.replaceChild(a,b);this.i=a}};X.prototype.attributeChangedCallback=X.prototype.attributeChangedCallback;
    -function ob(a){if(!a.w){var b=a.getElementsByTagName("google-codelab-about");0<b.length&&(a.f=b[0],a.f.parentNode.removeChild(a.f));a.h=document.createElement("div");a.h.classList.add("instructions");a.c=document.createElement("div");a.c.classList.add("inner");a.c.innerHTML=a.innerHTML;a.h.appendChild(a.c);ib(a);b=lb({step:a.u,label:a.s});a.i=b;jb(a.c,b);a.c.querySelectorAll("pre code").forEach(function(b){var c=window.prettyPrintOne(b.innerHTML);b.innerHTML=c;cb(a.C,b,function(){var a=new CustomEvent("google-codelab-action",
    -{detail:{category:"snippet",action:"copy",label:b.textContent.substring(0,500)}});document.body.dispatchEvent(a)})});a.f&&a.appendChild(a.f);a.appendChild(a.h);a.w=!0}}aa.Object.defineProperties(X,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["label","step"]}}});try{window.customElements.define("google-codelab-step",X)}catch(a){console.warn("googlecodelabs.CodelabStep",a)};}).call(this);
    -(function(){'use strict';var aa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},h;if("function"==typeof Object.setPrototypeOf)h=Object.setPrototypeOf;else{var k;a:{var ba={B:!0},ca={};try{ca.__proto__=ba;k=ca.B;break a}catch(a){}k=!1}h=k?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var da=h,m=this;function n(a){return"string"==typeof a}function p(){}
    -function q(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
    -else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function r(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var ea="closure_uid_"+(1E9*Math.random()>>>0),fa=0;function t(a,b){function c(){}c.prototype=b.prototype;a.A=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.G=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function ha(){0!=ia&&(this[ea]||(this[ea]=++fa))}var ia=0;var ja;var ka=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(n(a))return n(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};var la=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function u(a){if(!ma.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(na,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(oa,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(pa,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(qa,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(ra,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(sa,"&#0;"));return a}
    -var na=/&/g,oa=/</g,pa=/>/g,qa=/"/g,ra=/'/g,sa=/\x00/g,ma=/[\x00&<>"']/;function v(a,b){return a<b?-1:a>b?1:0};var w;a:{var ta=m.navigator;if(ta){var ua=ta.userAgent;if(ua){w=ua;break a}}w=""};function va(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function x(a){x[" "](a);return a}x[" "]=p;var wa=-1!=w.indexOf("Opera"),y=-1!=w.indexOf("Trident")||-1!=w.indexOf("MSIE"),xa=-1!=w.indexOf("Edge"),ya=-1!=w.indexOf("Gecko")&&!(-1!=w.toLowerCase().indexOf("webkit")&&-1==w.indexOf("Edge"))&&!(-1!=w.indexOf("Trident")||-1!=w.indexOf("MSIE"))&&-1==w.indexOf("Edge"),za=-1!=w.toLowerCase().indexOf("webkit")&&-1==w.indexOf("Edge");function Aa(){var a=m.document;return a?a.documentMode:void 0}var z;
    -a:{var A="",B=function(){var a=w;if(ya)return/rv:([^\);]+)(\)|;)/.exec(a);if(xa)return/Edge\/([\d\.]+)/.exec(a);if(y)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(za)return/WebKit\/(\S+)/.exec(a);if(wa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();B&&(A=B?B[1]:"");if(y){var C=Aa();if(null!=C&&C>parseFloat(A)){z=String(C);break a}}z=A}var D={},Ba;var Ca=m.document;Ba=Ca&&y?Aa()||("CSS1Compat"==Ca.compatMode?parseInt(z,10):5):void 0;var E;(E=!y)||(E=9<=Number(Ba));var Da=E,G;
    -if(G=y){var H;if(Object.prototype.hasOwnProperty.call(D,"9"))H=D["9"];else{for(var I=0,Ea=la(String(z)).split("."),Fa=la("9").split("."),Ga=Math.max(Ea.length,Fa.length),J=0;0==I&&J<Ga;J++){var Ha=Ea[J]||"",Ia=Fa[J]||"";do{var K=/(\d*)(\D*)(.*)/.exec(Ha)||["","","",""],L=/(\d*)(\D*)(.*)/.exec(Ia)||["","","",""];if(0==K[0].length&&0==L[0].length)break;I=v(0==K[1].length?0:parseInt(K[1],10),0==L[1].length?0:parseInt(L[1],10))||v(0==K[2].length,0==L[2].length)||v(K[2],L[2]);Ha=K[3];Ia=L[3]}while(0==
    -I)}H=D["9"]=0<=I}G=!H}var Ja=G,Ka=function(){if(!m.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});m.addEventListener("test",p,b);m.removeEventListener("test",p,b);return a}();function M(a,b){this.type=a;this.a=this.target=b}M.prototype.b=function(){};function N(a,b){M.call(this,a?a.type:"");this.relatedTarget=this.a=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.pointerId=0;this.pointerType="";this.m=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.a=b;if(b=a.relatedTarget){if(ya){a:{try{x(b.nodeName);var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:
    -"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;
    -this.pointerId=a.pointerId||0;this.pointerType=n(a.pointerType)?a.pointerType:La[a.pointerType]||"";this.m=a;a.defaultPrevented&&this.b()}}t(N,M);var La={2:"touch",3:"pen",4:"mouse"};N.prototype.b=function(){N.A.b.call(this);var a=this.m;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Ja)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var O="closure_listenable_"+(1E6*Math.random()|0),Ma=0;function Na(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Ma;this.i=this.l=!1}function Oa(a){a.i=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function P(a){this.src=a;this.a={};this.b=0}P.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;g<a.length;++g){var l=a[g];if(!l.i&&l.listener==b&&l.capture==!!d&&l.a==e)break a}g=-1}-1<g?(b=a[g],c||(b.l=!1)):(b=new Na(b,this.src,f,!!d,e),b.l=c,a.push(b));return b};var Q="closure_lm_"+(1E6*Math.random()|0),R={},Pa=0;function Qa(a,b,c,d,e){if(d&&d.once)return Ra(a,b,c,d,e);if("array"==q(b)){for(var f=0;f<b.length;f++)Qa(a,b[f],c,d,e);return null}c=Sa(c);return a&&a[O]?a.a(b,c,r(d)?!!d.capture:!!d,e):Ta(a,b,c,!1,d,e)}
    -function Ta(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=r(e)?!!e.capture:!!e,l=S(a);l||(a[Q]=l=new P(a));c=l.add(b,c,d,g,f);if(c.proxy)return c;d=Ua();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)Ka||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(Va(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");Pa++;return c}
    -function Ua(){var a=Wa,b=Da?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function Ra(a,b,c,d,e){if("array"==q(b)){for(var f=0;f<b.length;f++)Ra(a,b[f],c,d,e);return null}c=Sa(c);return a&&a[O]?a.b(b,c,r(d)?!!d.capture:!!d,e):Ta(a,b,c,!0,d,e)}
    -function Xa(a){if("number"!=typeof a&&a&&!a.i){var b=a.src;if(b&&b[O])b.m(a);else{var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(Va(c),d):b.addListener&&b.removeListener&&b.removeListener(d);Pa--;if(c=S(b)){d=a.type;if(d in c.a){var e=c.a[d],f=ka(e,a),g;(g=0<=f)&&Array.prototype.splice.call(e,f,1);g&&(Oa(a),0==c.a[d].length&&(delete c.a[d],c.b--))}0==c.b&&(c.src=null,b[Q]=null)}else Oa(a)}}}
    -function Va(a){return a in R?R[a]:R[a]="on"+a}function Ya(a,b,c,d){var e=!0;if(a=S(a))if(b=a.a[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.i&&(f=Za(f,d),e=e&&!1!==f)}return e}function Za(a,b){var c=a.listener,d=a.a||a.src;a.l&&Xa(a);return c.call(d,b)}
    -function Wa(a,b){if(a.i)return!0;if(!Da){if(!b)a:{b=["window","event"];for(var c=m,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new N(d,this);c=!0;if(!(0>d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=Ya(d[e],a,!0,b);c=c&&f}for(e=0;e<d.length;e++)b.a=d[e],f=Ya(d[e],a,!1,b),c=c&&f}return c}return Za(a,
    -new N(b,this))}function S(a){a=a[Q];return a instanceof P?a:null}var $a="__closure_events_fn_"+(1E9*Math.random()>>>0);function Sa(a){if("function"==q(a))return a;a[$a]||(a[$a]=function(b){return a.handleEvent(b)});return a[$a]};function ab(a){ha.call(this);this.b=a;this.a={}}t(ab,ha);var bb=[];function cb(a,b){var c=document.body,d="click";"array"!=q(d)&&(d&&(bb[0]=d.toString()),d=bb);for(var e=0;e<d.length;e++){var f=Qa(c,d[e],b||a.handleEvent,!1,a.b||a);if(!f)break;a.a[f.key]=f}}function db(a){va(a.a,function(a,c){this.a.hasOwnProperty(c)&&Xa(a)},a);a.a={}}ab.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function eb(){};function fb(){}t(fb,eb);function T(a){this.c=a}t(T,fb);T.prototype.set=function(a,b){try{this.c.setItem(a,b)}catch(c){if(0==this.c.length)throw"Storage mechanism: Storage disabled";throw"Storage mechanism: Quota exceeded";}};T.prototype.get=function(a){a=this.c.getItem(a);if(!n(a)&&null!==a)throw"Storage mechanism: Invalid value was encountered";return a};T.prototype.key=function(a){return this.c.key(a)};function gb(){var a=null;try{a=window.localStorage||null}catch(b){}this.c=a}t(gb,T);function hb(){this.a=ib}var ib={};var U={},jb={};function V(){throw Error("Do not instantiate directly");}V.prototype.s=null;V.prototype.toString=function(){return this.h};function kb(){V.call(this)}t(kb,V);kb.prototype.g=U;function lb(a){if(null!=a)switch(a.s){case 1:return 1;case -1:return-1;case 0:return 0}return null}function mb(a){return null!=a&&a.g===U?a:a instanceof hb?nb(a instanceof hb&&a.constructor===hb&&a.a===ib?"":"type_error:SafeHtml",null):nb(u(String(String(a))),lb(a))}var nb=function(a){function b(a){this.h=a}b.prototype=a.prototype;return function(a,d){a=new b(String(a));void 0!==d&&(a.s=d);return a}}(kb);
    -function W(a){return null!=a&&a.g===U?String(String(a.h).replace(ob,"").replace(pb,"&lt;")).replace(qb,rb):u(String(a))}var sb={"\x00":"&#0;","\t":"&#9;","\n":"&#10;","\x0B":"&#11;","\f":"&#12;","\r":"&#13;"," ":"&#32;",'"':"&quot;","&":"&amp;","'":"&#39;","-":"&#45;","/":"&#47;","<":"&lt;","=":"&#61;",">":"&gt;","`":"&#96;","\u0085":"&#133;","\u00a0":"&#160;","\u2028":"&#8232;","\u2029":"&#8233;"};function rb(a){return sb[a]}
    -var qb=/[\x00\x22\x27\x3c\x3e]/g,tb=/[\x00\x09-\x0d \x22\x26\x27\x2d\/\x3c-\x3e`\x85\xa0\u2028\u2029]/g,ub=/[\x00\x09-\x0d \x22\x27\x2d\/\x3c-\x3e`\x85\xa0\u2028\u2029]/g,ob=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,pb=/</g;var vb=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}(function(){var a=document.createElement("div");a.innerHTML="<div><div></div></div>";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function wb(a){a&&a.parentNode&&a.parentNode.removeChild(a)}function xb(){this.a=m.document||document};function yb(a){var b=a||zb;a=b.F;b=b.D;b='<div class="survey-questions" survey-name='+(null!=b&&b.g===U?String(String(b.h).replace(ob,"").replace(pb,"&lt;")).replace(ub,rb):String(b).replace(tb,rb))+">";for(var c=a.length,d=0;d<c;d++){var e=a[d];b+='<div class="survey-question-wrapper"><h4>'+mb(e.v)+"</h4>";if(e.options.length){b+='<div class="survey-question-options">';for(var f=e.options,g=f.length,l=0;l<g;l++){var F=f[l];b+='<label class="survey-option-wrapper" id="'+W(F.o)+'-label" for="'+W(F.o)+
    -'"><span class="option-text">'+mb(F.C)+'</span><input type="radio" id="'+W(F.o)+'" name="'+W(e.v)+'"><span class="custom-radio-button"></span></label>'}b+="</div>"}b+="</div>"}b=nb(b+"</div>");a=(ja||(ja=new xb)).a.createElement("DIV");b:{if(b instanceof V){if(b.g===U){b=b.h;break b}if(b.g===jb){b=u(b.h);break b}}b="zSoyz"}if(vb())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b;1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}var zb={};/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -function X(){var a=HTMLElement.call(this)||this;a.f=a.getAttribute("survey-id")||"default-codelabs-survey";a.c=new gb;a.w="codelab-survey-"+a.f;a.j={};a.u=new ab;return a}var Y=HTMLElement;X.prototype=aa(Y.prototype);X.prototype.constructor=X;if(da)da(X,Y);else for(var Z in Y)if("prototype"!=Z)if(Object.defineProperties){var Ab=Object.getOwnPropertyDescriptor(Y,Z);Ab&&Object.defineProperty(X,Z,Ab)}else X[Z]=Y[Z];X.A=Y.prototype;
    -X.prototype.connectedCallback=function(){var a=this.c.get(this.w);this.j[this.f]=a?JSON.parse(a):{};Bb(this);Cb(this)};X.prototype.connectedCallback=X.prototype.connectedCallback;
    -function Cb(a){cb(a.u,function(b){var c=b.target,d=c.classList.contains("survey-option-wrapper");b=c.parentElement;var e=!1;b&&(e=b.classList.contains("survey-option-wrapper"));if(d||e)if(e&&(c=b),c&&(e=c.querySelector(".option-text"),b="",e&&(b=e.textContent),e=c.querySelector("input")))e.checked=!0,e=e.name,a.j[a.f][e]=b,a.c.set(a.w,JSON.stringify(a.j[a.f])),b=new CustomEvent("google-codelab-action",{detail:{category:"survey",action:e.substring(0,500),label:b.substring(0,500)}}),document.body.dispatchEvent(b)})}
    -function Bb(a){var b=a.querySelectorAll("paper-radio-group"),c=a.querySelectorAll("h4"),d=[];b.length&&c.length==b.length&&(b.forEach(function(a,b){var e=[],f=a.querySelectorAll("paper-radio-button");wb(a);f.forEach(function(a){a=a.textContent;e.push({o:Db(c[b].textContent,a),C:a})});d.push({v:c[b].textContent,options:e});wb(c[b])}),b=yb({D:a.f,F:d}),a.appendChild(b));Eb(a);a.setAttribute("upgraded","")}
    -function Eb(a){var b=a.j[a.f];b&&Object.keys(b).forEach(function(c){if(c=a.querySelector("#"+Db(c,b[c])))c.checked=!0})}function Db(a,b){return(a+"--"+b).replace(/\s+/g,"-").replace(/[^a-zA-Z0-9 \-]/g,"").toLowerCase()}X.prototype.disconnectedCallback=function(){db(this.u)};X.prototype.disconnectedCallback=X.prototype.disconnectedCallback;try{window.customElements.define("google-codelab-survey",X)}catch(a){console.warn("googlecodelabs.CodelabSurvey",a)};}).call(this);
    -(function(){'use strict';var aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ca;if("function"==typeof Object.setPrototypeOf)ca=Object.setPrototypeOf;else{var da;a:{var ea={da:!0},fa={};try{fa.__proto__=ea;da=fa.da;break a}catch(a){}da=!1}ca=da?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}
    -var ha=ca,h=this;function l(a){return"string"==typeof a}function ia(){}
    -function ja(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
    -else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function m(a){return"array"==ja(a)}function n(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var ka="closure_uid_"+(1E9*Math.random()>>>0),la=0;function ma(a,b,c){return a.call.apply(a.bind,arguments)}
    -function na(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function p(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?p=ma:p=na;return p.apply(null,arguments)}var oa=Date.now||function(){return+new Date};
    -function q(a,b){function c(){}c.prototype=b.prototype;a.V=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.ma=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};function r(){0!=pa&&(this[ka]||(this[ka]=++la))}var pa=0;var qa;var ra=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(l(a))return l(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},sa=Array.prototype.forEach?function(a,b){Array.prototype.forEach.call(a,b,void 0)}:function(a,b){for(var c=a.length,d=l(a)?a.split(""):a,e=0;e<c;e++)e in d&&b.call(void 0,d[e],e,a)},ta=Array.prototype.map?function(a,b){return Array.prototype.map.call(a,b,void 0)}:function(a,b){for(var c=
    -a.length,d=Array(c),e=l(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d};var ua=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function t(a){if(!va.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(wa,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(xa,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(ya,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(za,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(Aa,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(Ba,"&#0;"));return a}
    -var wa=/&/g,xa=/</g,ya=/>/g,za=/"/g,Aa=/'/g,Ba=/\x00/g,va=/[\x00&<>"']/;function Ca(a,b){return a<b?-1:a>b?1:0}function Da(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})}function Ea(a){var b=l(void 0)?"undefined".replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"):"\\s";return a.replace(new RegExp("(^"+(b?"|["+b+"]+":"")+")([a-z])","g"),function(a,b,e){return b+e.toUpperCase()})};var u;a:{var Fa=h.navigator;if(Fa){var Ga=Fa.userAgent;if(Ga){u=Ga;break a}}u=""};function Ha(a,b,c){for(var d in a)b.call(c,a[d],d,a)}var Ia="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Ja(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ia.length;f++)c=Ia[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};function Ka(a){Ka[" "](a);return a}Ka[" "]=ia;function La(a,b){var c=Ma;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var Na=-1!=u.indexOf("Opera"),v=-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"),Oa=-1!=u.indexOf("Edge"),w=-1!=u.indexOf("Gecko")&&!(-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge"))&&!(-1!=u.indexOf("Trident")||-1!=u.indexOf("MSIE"))&&-1==u.indexOf("Edge"),z=-1!=u.toLowerCase().indexOf("webkit")&&-1==u.indexOf("Edge");function Pa(){var a=h.document;return a?a.documentMode:void 0}var A;
    -a:{var Qa="",Ra=function(){var a=u;if(w)return/rv:([^\);]+)(\)|;)/.exec(a);if(Oa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(z)return/WebKit\/(\S+)/.exec(a);if(Na)return/(?:Version)[ \/]?(\S+)/.exec(a)}();Ra&&(Qa=Ra?Ra[1]:"");if(v){var Sa=Pa();if(null!=Sa&&Sa>parseFloat(Qa)){A=String(Sa);break a}}A=Qa}var Ma={};
    -function Ta(a){return La(a,function(){for(var b=0,c=ua(String(A)).split("."),d=ua(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",k=d[f]||"";do{g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];k=/(\d*)(\D*)(.*)/.exec(k)||["","","",""];if(0==g[0].length&&0==k[0].length)break;b=Ca(0==g[1].length?0:parseInt(g[1],10),0==k[1].length?0:parseInt(k[1],10))||Ca(0==g[2].length,0==k[2].length)||Ca(g[2],k[2]);g=g[3];k=k[3]}while(0==b)}return 0<=b})}var Ua;var Va=h.document;
    -Ua=Va&&v?Pa()||("CSS1Compat"==Va.compatMode?parseInt(A,10):5):void 0;var Wa;(Wa=!v)||(Wa=9<=Number(Ua));var Xa=Wa,Ya=v&&!Ta("9"),Za=function(){if(!h.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});h.addEventListener("test",ia,b);h.removeEventListener("test",ia,b);return a}();function B(a,b){this.type=a;this.a=this.target=b;this.f=!1;this.aa=!0}B.prototype.stopPropagation=function(){this.f=!0};B.prototype.preventDefault=function(){this.aa=!1};function C(a,b){B.call(this,a?a.type:"");this.relatedTarget=this.a=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.C=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.pointerId=0;this.pointerType="";this.b=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.a=b;if(b=a.relatedTarget){if(w){a:{try{Ka(b.nodeName);var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==
    -c?b=a.fromElement:"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.C=a.keyCode||0;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=
    -a.shiftKey;this.metaKey=a.metaKey;this.pointerId=a.pointerId||0;this.pointerType=l(a.pointerType)?a.pointerType:$a[a.pointerType]||"";this.b=a;a.defaultPrevented&&this.preventDefault()}}q(C,B);var $a={2:"touch",3:"pen",4:"mouse"};C.prototype.stopPropagation=function(){C.V.stopPropagation.call(this);this.b.stopPropagation?this.b.stopPropagation():this.b.cancelBubble=!0};
    -C.prototype.preventDefault=function(){C.V.preventDefault.call(this);var a=this.b;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Ya)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var D="closure_listenable_"+(1E6*Math.random()|0),ab=0;function bb(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.L=e;this.key=++ab;this.B=this.G=!1}function cb(a){a.B=!0;a.listener=null;a.proxy=null;a.src=null;a.L=null};function E(a){this.src=a;this.a={};this.b=0}E.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g=db(a,b,d,e);-1<g?(b=a[g],c||(b.G=!1)):(b=new bb(b,this.src,f,!!d,e),b.G=c,a.push(b));return b};function eb(a,b){var c=b.type;if(c in a.a){var d=a.a[c],e=ra(d,b),f;(f=0<=e)&&Array.prototype.splice.call(d,e,1);f&&(cb(b),0==a.a[c].length&&(delete a.a[c],a.b--))}}
    -function db(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.B&&f.listener==b&&f.capture==!!c&&f.L==d)return e}return-1};var fb="closure_lm_"+(1E6*Math.random()|0),gb={},hb=0;function ib(a,b,c,d,e){if(d&&d.once)return jb(a,b,c,d,e);if(m(b)){for(var f=0;f<b.length;f++)ib(a,b[f],c,d,e);return null}c=kb(c);return a&&a[D]?a.b.add(String(b),c,!1,n(d)?!!d.capture:!!d,e):lb(a,b,c,!1,d,e)}
    -function lb(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=n(e)?!!e.capture:!!e,k=F(a);k||(a[fb]=k=new E(a));c=k.add(b,c,d,g,f);if(c.proxy)return c;d=mb();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)Za||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(nb(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");hb++;return c}
    -function mb(){var a=ob,b=Xa?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function jb(a,b,c,d,e){if(m(b)){for(var f=0;f<b.length;f++)jb(a,b[f],c,d,e);return null}c=kb(c);return a&&a[D]?a.b.add(String(b),c,!0,n(d)?!!d.capture:!!d,e):lb(a,b,c,!0,d,e)}
    -function pb(a,b,c,d,e){if(m(b))for(var f=0;f<b.length;f++)pb(a,b[f],c,d,e);else(d=n(d)?!!d.capture:!!d,c=kb(c),a&&a[D])?(a=a.b,b=String(b).toString(),b in a.a&&(f=a.a[b],c=db(f,c,d,e),-1<c&&(cb(f[c]),Array.prototype.splice.call(f,c,1),0==f.length&&(delete a.a[b],a.b--)))):a&&(a=F(a))&&(b=a.a[b.toString()],a=-1,b&&(a=db(b,c,d,e)),(c=-1<a?b[a]:null)&&qb(c))}
    -function qb(a){if("number"!=typeof a&&a&&!a.B){var b=a.src;if(b&&b[D])eb(b.b,a);else{var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(nb(c),d):b.addListener&&b.removeListener&&b.removeListener(d);hb--;(c=F(b))?(eb(c,a),0==c.b&&(c.src=null,b[fb]=null)):cb(a)}}}function nb(a){return a in gb?gb[a]:gb[a]="on"+a}
    -function rb(a,b,c,d){var e=!0;if(a=F(a))if(b=a.a[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.B&&(f=sb(f,d),e=e&&!1!==f)}return e}function sb(a,b){var c=a.listener,d=a.L||a.src;a.G&&qb(a);return c.call(d,b)}
    -function ob(a,b){if(a.B)return!0;if(!Xa){if(!b)a:{b=["window","event"];for(var c=h,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new C(d,this);c=!0;if(!(0>d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;!b.f&&0<=e;e--){b.a=d[e];var f=rb(d[e],a,!0,b);c=c&&f}for(e=0;!b.f&&e<d.length;e++)b.a=d[e],f=rb(d[e],a,!1,b),c=
    -c&&f}return c}return sb(a,new C(b,this))}function F(a){a=a[fb];return a instanceof E?a:null}var tb="__closure_events_fn_"+(1E9*Math.random()>>>0);function kb(a){if("function"==ja(a))return a;a[tb]||(a[tb]=function(b){return a.handleEvent(b)});return a[tb]};function G(a){r.call(this);this.b=a;this.a={}}q(G,r);var ub=[];function H(a,b,c,d){m(c)||(c&&(ub[0]=c.toString()),c=ub);for(var e=0;e<c.length;e++){var f=ib(b,c[e],d||a.handleEvent,!1,a.b||a);if(!f)break;a.a[f.key]=f}}function vb(a,b,c){wb(a,b,["finish","stop"],c,void 0)}function wb(a,b,c,d,e,f){if(m(c))for(var g=0;g<c.length;g++)wb(a,b,c[g],d,e,f);else(b=jb(b,c,d||a.handleEvent,e,f||a.b||a))&&(a.a[b.key]=b)}function xb(a){Ha(a.a,function(a,c){this.a.hasOwnProperty(c)&&qb(a)},a);a.a={}}
    -G.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function yb(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}};function zb(){};function Ab(){}q(Ab,zb);function I(a){this.m=a}q(I,Ab);I.prototype.set=function(a,b){try{this.m.setItem(a,b)}catch(c){if(0==this.m.length)throw"Storage mechanism: Storage disabled";throw"Storage mechanism: Quota exceeded";}};I.prototype.get=function(a){a=this.m.getItem(a);if(!l(a)&&null!==a)throw"Storage mechanism: Invalid value was encountered";return a};I.prototype.key=function(a){return this.m.key(a)};function Bb(){var a=null;try{a=window.localStorage||null}catch(b){}this.m=a}q(Bb,I);var Cb={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};function J(){this.a=Db}J.prototype.o=!0;J.prototype.j=function(){return""};J.prototype.toString=function(){return"Const{}"};function Eb(a){return a instanceof J&&a.constructor===J&&a.a===Db?"":"type_error:Const"}var Db={};function K(){this.a=Fb}K.prototype.o=!0;K.prototype.j=function(){return""};K.prototype.R=!0;K.prototype.v=function(){return 1};function Gb(a){return a instanceof K&&a.constructor===K&&a.a===Fb?"":"type_error:TrustedResourceUrl"}var Fb={};function L(){this.a="";this.b=Hb}L.prototype.o=!0;L.prototype.j=function(){return this.a};L.prototype.R=!0;L.prototype.v=function(){return 1};function Ib(a){return a instanceof L&&a.constructor===L&&a.b===Hb?a.a:"type_error:SafeUrl"}var Jb=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;function Kb(a){if(a instanceof L)return a;a="object"==typeof a&&a.o?a.j():String(a);Jb.test(a)||(a="about:invalid#zClosurez");return Lb(a)}var Hb={};function Lb(a){var b=new L;b.a=a;return b}Lb("about:blank");function M(){this.a="";this.b=Mb}M.prototype.o=!0;var Mb={};M.prototype.j=function(){return this.a};function Nb(a){var b=new M;b.a=a;return b}var Ob=Nb("");
    -function Pb(a){if(a instanceof L)a='url("'+Ib(a).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';else if(a instanceof J)a=Eb(a);else{a=String(a);var b=a.replace(Qb,"$1").replace(Qb,"$1").replace(Rb,"url");if(Sb.test(b)){if(b=!Tb.test(a)){for(var c=b=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}b=b&&c&&Ub(a)}a=b?Vb(a):"zClosurez"}else a="zClosurez"}return a}
    -function Ub(a){for(var b=!0,c=/^[-_a-zA-Z0-9]$/,d=0;d<a.length;d++){var e=a.charAt(d);if("]"==e){if(b)return!1;b=!0}else if("["==e){if(!b)return!1;b=!1}else if(!b&&!c.test(e))return!1}return b}var Sb=/^[-,."'%_!# a-zA-Z0-9\[\]]+$/,Rb=/\b(url\([ \t\n]*)('[ -&(-\[\]-~]*'|"[ !#-\[\]-~]*"|[!#-&*-\[\]-~]*)([ \t\n]*\))/g,Qb=/\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\([-+*/0-9a-z.%\[\], ]+\)/g,Tb=/\/\*/;
    -function Vb(a){return a.replace(Rb,function(a,c,d,e){var b="";d=d.replace(/^(['"])(.*)\1$/,function(a,c,d){b=c;return d});a=Kb(d).j();return c+b+a+b+e})};function N(){this.a="";this.f=Wb;this.b=null}N.prototype.R=!0;N.prototype.v=function(){return this.b};N.prototype.o=!0;N.prototype.j=function(){return this.a};function O(a){return a instanceof N&&a.constructor===N&&a.f===Wb?a.a:"type_error:SafeHtml"}var Xb=/^[a-zA-Z0-9-]+$/,Yb={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0},Zb={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};
    -function $b(a){function b(a){if(m(a))sa(a,b);else{if(a instanceof N)var e=a;else{var g="object"==typeof a;e=null;g&&a.R&&(e=a.v());a=t(g&&a.o?a.j():String(a));e=P(a,e)}d+=O(e);e=e.v();0==c?c=e:0!=e&&c!=e&&(c=null)}}var c=0,d="";sa(arguments,b);return P(d,c)}var Wb={};function P(a,b){var c=new N;c.a=a;c.b=b;return c}P("<!DOCTYPE html>",0);P("",0);P("<br>",0);var ac={},bc={},cc={},dc={};function Q(){throw Error("Do not instantiate directly");}Q.prototype.W=null;Q.prototype.toString=function(){return this.K};function ec(){Q.call(this)}q(ec,Q);ec.prototype.u=ac;function fc(a){if(null!=a)switch(a.W){case 1:return 1;case -1:return-1;case 0:return 0}return null}function gc(a){return null!=a&&a.u===ac?a:a instanceof N?R(O(a),a.v()):R(t(String(String(a))),fc(a))}var R=function(a){function b(a){this.K=a}b.prototype=a.prototype;return function(a,d){a=new b(String(a));void 0!==d&&(a.W=d);return a}}(ec);function hc(a){return null!=a&&a.u===ac?String(String(a.K).replace(ic,"").replace(jc,"&lt;")).replace(kc,lc):t(String(a))}
    -function mc(a){null!=a&&a.u===bc||null!=a&&a.u===cc?a=String(a).replace(nc,oc):a instanceof L?a=String(Ib(a)).replace(nc,oc):a instanceof K?a=String(Gb(a)).replace(nc,oc):(a=String(a),a=pc.test(a)?a.replace(nc,oc):"about:invalid#zSoyz");return a}
    -var qc={"\x00":"&#0;","\t":"&#9;","\n":"&#10;","\x0B":"&#11;","\f":"&#12;","\r":"&#13;"," ":"&#32;",'"':"&quot;","&":"&amp;","'":"&#39;","-":"&#45;","/":"&#47;","<":"&lt;","=":"&#61;",">":"&gt;","`":"&#96;","\u0085":"&#133;","\u00a0":"&#160;","\u2028":"&#8232;","\u2029":"&#8233;"};function lc(a){return qc[a]}
    -var rc={"\x00":"%00","\u0001":"%01","\u0002":"%02","\u0003":"%03","\u0004":"%04","\u0005":"%05","\u0006":"%06","\u0007":"%07","\b":"%08","\t":"%09","\n":"%0A","\x0B":"%0B","\f":"%0C","\r":"%0D","\u000e":"%0E","\u000f":"%0F","\u0010":"%10","\u0011":"%11","\u0012":"%12","\u0013":"%13","\u0014":"%14","\u0015":"%15","\u0016":"%16","\u0017":"%17","\u0018":"%18","\u0019":"%19","\u001a":"%1A","\u001b":"%1B","\u001c":"%1C","\u001d":"%1D","\u001e":"%1E","\u001f":"%1F"," ":"%20",'"':"%22","'":"%27","(":"%28",
    -")":"%29","<":"%3C",">":"%3E","\\":"%5C","{":"%7B","}":"%7D","\u007f":"%7F","\u0085":"%C2%85","\u00a0":"%C2%A0","\u2028":"%E2%80%A8","\u2029":"%E2%80%A9","\uff01":"%EF%BC%81","\uff03":"%EF%BC%83","\uff04":"%EF%BC%84","\uff06":"%EF%BC%86","\uff07":"%EF%BC%87","\uff08":"%EF%BC%88","\uff09":"%EF%BC%89","\uff0a":"%EF%BC%8A","\uff0b":"%EF%BC%8B","\uff0c":"%EF%BC%8C","\uff0f":"%EF%BC%8F","\uff1a":"%EF%BC%9A","\uff1b":"%EF%BC%9B","\uff1d":"%EF%BC%9D","\uff1f":"%EF%BC%9F","\uff20":"%EF%BC%A0","\uff3b":"%EF%BC%BB",
    -"\uff3d":"%EF%BC%BD"};function oc(a){return rc[a]}var kc=/[\x00\x22\x27\x3c\x3e]/g,nc=/[\x00- \x22\x27-\x29\x3c\x3e\\\x7b\x7d\x7f\x85\xa0\u2028\u2029\uff01\uff03\uff04\uff06-\uff0c\uff0f\uff1a\uff1b\uff1d\uff1f\uff20\uff3b\uff3d]/g,pc=/^(?![^#?]*\/(?:\.|%2E){2}(?:[\/?#]|$))(?:(?:https?|mailto):|[^&:\/?#]*(?:[\/?#]|$))/i,ic=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,jc=/</g;function sc(a){a=a.ga;return R('<div id="drawer">Drawer</div><div id="codelab-title"><div id="codelab-nav-buttons"><a href="'+hc(mc(a))+'" id="arrow-back"><i class="material-icons">close</i></a><a href="#" id="menu"><i class="material-icons">menu</i></a></div><div id="codelab-time-container"></div><devsite-user></devsite-user></div><div id="main"><div id="steps"></div><div id="controls"><div id="fabs"><a href="#" id="previous-step" title="Previous step">Back</a><div class="spacer"></div><a href="#" id="next-step" title="Next step">Next</a><a href="'+
    -hc(mc(a))+'" id="done" hidden title="Codelab complete">Done</a></div></div></div>')}function tc(a){return R('<h1 class="title">'+gc(a.title)+"</h1>")}function uc(a){a=a.time;return R('<div id="time-remaining" title="Time remaining"><i class="material-icons">access_time</i>'+(1==a?gc(a)+" min remaining":gc(a)+" mins remaining")+"</div>")}
    -function vc(a){var b=a.steps;a=a.fa;for(var c='<div class="steps"><ol>',d=b.length,e=0;e<d;e++){var f=b[e];c+='<li><a href="#'+hc(e)+'"><span class="step"><span>'+gc(f)+"</span></span></a></li>"}c+="</ol></div>"+(a?'<div class="metadata"><a target="_blank" href="'+hc(mc(a))+'"><i class="material-icons">bug_report</i> Report a mistake</a></div>':"");return R(c)};function S(){r.call(this);this.b=new E(this);this.f=this}q(S,r);S.prototype[D]=!0;S.prototype.removeEventListener=function(a,b,c,d){pb(this,a,b,c,d)};function wc(a,b,c,d){b=a.b.a[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.B&&g.capture==c){var k=g.listener,x=g.L||g.src;g.G&&eb(a.b,g);e=!1!==k.call(x,d)&&e}}return e&&0!=d.aa}
    -function T(a,b){var c=b.type||b;if(l(b))b=new B(b,a);else if(b instanceof B)b.target=b.target||a;else{var d=b;b=new B(c,a);Ja(b,d)}b.f||(a=b.a=a,wc(a,c,!0,b),b.f||wc(a,c,!1,b))};function xc(a,b,c){if("function"==ja(a))c&&(a=p(a,c));else if(a&&"function"==typeof a.handleEvent)a=p(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(b)?-1:h.setTimeout(a,b||0)};function yc(){S.call(this);this.J=zc}q(yc,S);var zc=0;var Ac=yb(function(){var a=document.createElement("div");a.innerHTML="<div><div></div></div>";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function Bc(a,b){if(Ac())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b};function Cc(a,b){for(;a&&1!=a.nodeType;)a=b?a.nextSibling:a.previousSibling;return a}function Dc(){this.a=h.document||document};function U(a,b,c){if(l(b))(b=Ec(a,b))&&(a.style[b]=c);else for(var d in b){c=a;var e=b[d],f=Ec(c,d);f&&(c.style[f]=e)}}var Fc={};function Ec(a,b){var c=Fc[b];if(!c){var d=Da(b);c=d;void 0===a.style[d]&&(d=(z?"Webkit":w?"Moz":v?"ms":Na?"O":null)+Ea(d),void 0!==a.style[d]&&(c=d));Fc[b]=c}return c}
    -function Gc(a){var b=a.offsetWidth,c=a.offsetHeight;c=z&&!b&&!c;if((void 0===b||c)&&a.getBoundingClientRect)a:{try{var d=a.getBoundingClientRect()}catch(e){break a}v&&a.ownerDocument.body&&(a=a.ownerDocument,d.left-=a.documentElement.clientLeft+a.body.clientLeft,d.top-=a.documentElement.clientTop+a.body.clientTop)}};function Hc(a,b){m(b)||(b=[b]);b=ta(b,function(a){return l(a)?a:a.ka+" "+a.duration+"s "+a.timing+" "+a.ea+"s"});U(a,"transition",b.join(","))}
    -var Ic=yb(function(){if(v)return Ta("10.0");var a=document.createElement("DIV");var b=z?"-webkit":w?"-moz":v?"-ms":Na?"-o":null,c={transition:"opacity 1s linear"};b&&(c[b+"-transition"]="opacity 1s linear");b={style:c};if(!Xb.test("div"))throw Error("Invalid tag name <div>.");if("DIV"in Zb)throw Error("Tag name <div> is not allowed for SafeHtml.");c=null;var d="";if(b)for(y in b){if(!Xb.test(y))throw Error('Invalid attribute name "'+y+'".');var e=b[y];if(null!=e){var f=y;var g=e;if(g instanceof J)g=
    -Eb(g);else if("style"==f.toLowerCase()){e=void 0;if(!n(g))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof g+" given: "+g);if(!(g instanceof M)){var k="";for(e in g){if(!/^[-_a-zA-Z0-9]+$/.test(e))throw Error("Name allows only [-_a-zA-Z0-9], got: "+e);var x=g[e];null!=x&&(x=m(x)?ta(x,Pb).join(" "):Pb(x),k+=e+":"+x+";")}g=k?Nb(k):Ob}g=g instanceof M&&g.constructor===M&&g.b===Mb?g.a:"type_error:SafeStyle"}else{if(/^on/i.test(f))throw Error('Attribute "'+
    -f+'" requires goog.string.Const value, "'+g+'" given.');if(f.toLowerCase()in Yb)if(g instanceof K)g=Gb(g);else if(g instanceof L)g=Ib(g);else if(l(g))g=Kb(g).j();else throw Error('Attribute "'+f+'" on tag "div" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+g+'" given.');}g.o&&(g=g.j());f=f+'="'+t(String(g))+'"';d+=" "+f}}var y="<div"+d;d=void 0;null!=d?m(d)||(d=[d]):d=[];!0===Cb.div?y+=">":(c=$b(d),y+=">"+O(c)+"</div>",c=c.v());(b=b&&b.dir)&&(/^(ltr|rtl|auto)$/i.test(b)?c=0:c=
    -null);b=P(y,c);Bc(a,O(b));a=a.firstChild;b=a.style[Da("transition")];return""!=("undefined"!==typeof b?b:a.style[Ec(a,"transition")]||"")});function V(a,b,c,d,e){yc.call(this);this.a=a;this.ha=b;this.ia=c;this.Y=d;this.la=m(e)?e:[e]}q(V,yc);function Jc(a){1!=a.J&&(T(a.f,"begin"),T(a.f,"play"),oa(),a.J=1,Ic()?(U(a.a,a.ia),a.Z=xc(a.ja,void 0,a)):a.P(!1))}
    -V.prototype.ja=function(){var a=this.a;b:{var b=9==a.nodeType?a:a.ownerDocument||a.document;if(b.defaultView&&b.defaultView.getComputedStyle&&(b=b.defaultView.getComputedStyle(a,null))){b=b.display||b.getPropertyValue("display")||"";break b}b=""}if("none"!=(b||(a.currentStyle?a.currentStyle.display:null)||a.style&&a.style.display))Gc(a);else{b=a.style;var c=b.display,d=b.visibility,e=b.position;b.visibility="hidden";b.position="absolute";b.display="inline";Gc(a);b.display=c;b.position=e;b.visibility=
    -d}Hc(this.a,this.la);U(this.a,this.Y);this.Z=xc(p(this.P,this,!1),1E3*this.ha)};function Kc(a){1==a.J&&a.P(!0)}V.prototype.P=function(a){U(this.a,"transition","");h.clearTimeout(this.Z);U(this.a,this.Y);oa();this.J=zc;a?T(this.f,"stop"):T(this.f,"finish");T(this.f,"end")};function Lc(a,b,c){Bc(a,Mc(b(c||Nc,void 0,void 0)))}function Oc(a,b){b=a(b||Nc,void 0,void 0);a=(qa||(qa=new Dc)).a.createElement("DIV");b=Mc(b);Bc(a,b);1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}function Mc(a){if(a instanceof Q){if(a.u===ac)return a.K;if(a.u===dc)return t(a.K)}return"zSoyz"}var Nc={};/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -function W(){var a=HTMLElement.call(this)||this;a.g=null;a.ba=null;a.N=null;a.l=null;a.w=null;a.A=null;a.H=null;a.I=null;a.M="";a.s="";a.c=[];a.h=-1;a.i=new G;a.O=new G;a.X=!1;a.S=!1;a.D=null;a.F=null;a.$=!1;a.m=new Bb;return a}var X=HTMLElement;W.prototype=ba(X.prototype);W.prototype.constructor=W;if(ha)ha(W,X);else for(var Y in X)if("prototype"!=Y)if(Object.defineProperties){var Pc=Object.getOwnPropertyDescriptor(X,Y);Pc&&Object.defineProperty(W,Y,Pc)}else W[Y]=X[Y];W.V=X.prototype;
    -W.prototype.connectedCallback=function(){this.X||Qc(this);Rc(this);var a=document.querySelector("google-codelab-analytics");if(a){var b=this.getAttribute("codelab-gaid");b&&a.setAttribute("codelab-gaid",b);a.setAttribute("environment",this.getAttribute("environment"));a.setAttribute("category",this.getAttribute("category"))}Sc(this);Tc(this);Uc(this);Vc(this);this.$&&console.log("resumed");this.S||(this.S=!0,Z(this,"google-codelab-ready"),this.setAttribute("google-codelab-ready",""))};
    -W.prototype.connectedCallback=W.prototype.connectedCallback;W.prototype.disconnectedCallback=function(){xb(this.i);xb(this.O)};W.prototype.disconnectedCallback=W.prototype.disconnectedCallback;
    -W.prototype.attributeChangedCallback=function(a){var b=this;switch(a){case "title":this.hasAttribute("title")&&(this.s=this.getAttribute("title"),this.removeAttribute("title"),this.setAttribute("codelab-title",this.s));break;case "codelab-title":this.s=this.getAttribute("codelab-title");Tc(this);break;case "selected":Sc(this);break;case "no-toolbar":Vc(this);break;case "no-arrows":Uc(this);break;case "anayltics-ready":this.hasAttribute("anayltics-ready")&&(this.S?Wc(this):this.addEventListener("google-codelab-ready",
    -function(){return Wc(b)}))}};W.prototype.attributeChangedCallback=W.prototype.attributeChangedCallback;W.prototype.T=function(){this.setAttribute("selected",this.h+1)};W.prototype.selectNext=W.prototype.T;W.prototype.U=function(){this.setAttribute("selected",this.h-1)};W.prototype.selectPrevious=W.prototype.U;W.prototype.select=function(a){this.setAttribute("selected",a)};W.prototype.select=W.prototype.select;
    -function Rc(a){a.A&&H(a.i,a.A,"click",function(b){b.preventDefault();b.stopPropagation();a.U()});a.w&&H(a.i,a.w,"click",function(b){b.preventDefault();b.stopPropagation();a.T()});a.g&&(H(a.i,a.g,"click",function(b){for(var c=b.target;c!==a.g&&"A"!==c.tagName.toUpperCase();)b.preventDefault(),b.stopPropagation(),c=c.parentNode;c!==a.g&&(b=(new URL(c.getAttribute("href"),document.location.origin)).hash.substring(1),a.setAttribute("selected",b))}),H(a.i,a.g,"keydown",function(b){if(a.g){var c=a.g.querySelector(":focus"),
    -e;c?e=c.parentNode:e=a.g.querySelector("[selected]");if(e){var f;38==b.C?f=void 0!==e.previousElementSibling?e.previousElementSibling:Cc(e.previousSibling,!1):40==b.C&&(f=void 0!==e.nextElementSibling?e.nextElementSibling:Cc(e.nextSibling,!0));f&&(b=f.querySelector("a"))&&b.focus()}}}));if(a.l){var b=a.l.querySelector("#menu");b&&(H(a.i,b,"click",function(b){b.preventDefault();b.stopPropagation();a.hasAttribute("drawer--open")?a.removeAttribute("drawer--open"):a.setAttribute("drawer--open","")}),
    -H(a.i,document.body,"click",function(){a.hasAttribute("drawer--open")&&a.removeAttribute("drawer--open")}))}H(a.i,window,"popstate",function(){document.location.hash&&(a.setAttribute("dsh",""),a.setAttribute("selected",document.location.hash.substring(1)),a.removeAttribute("dsh"))});H(a.i,document.body,"keydown",function(b){37==b.C?(document.activeElement&&document.activeElement.blur(),a.U()):39==b.C&&(document.activeElement&&document.activeElement.blur(),a.T())})}
    -function Vc(a){a.l&&(a.hasAttribute("no-toolbar")?a.l.setAttribute("hidden",""):a.l.removeAttribute("hidden"))}function Uc(a){a.H&&(a.hasAttribute("no-arrows")?a.H.setAttribute("hidden",""):a.H.removeAttribute("hidden"))}W.prototype.ca=function(a,b){(void 0===b?0:b)?window.history.replaceState({path:a},document.title,a):window.history.pushState({path:a},document.title,a)};W.prototype.updateHistoryState=W.prototype.ca;
    -function Tc(a){if(a.s&&a.l){var b=Oc(tc,{title:a.s});document.title=a.s;var c=a.l.querySelector("h1");a=a.l.querySelector("#codelab-nav-buttons");c?(a=c.parentNode)&&a.replaceChild(b,c):a.parentNode&&a.parentNode.insertBefore(b,a.nextSibling)}}function Xc(a){if(a.N){for(var b=0,c=a.h;c<a.c.length;c++){var d=parseInt(a.c[c].getAttribute("duration"),10);d&&(b+=d)}b=Oc(uc,{time:b});(c=a.N.querySelector("#time-remaining"))?(a=c.parentNode)&&a.replaceChild(b,c):a.N.appendChild(b)}}
    -function Yc(a){a.c.forEach(function(a,c){a.setAttribute("step",c+1)})}
    -function Sc(a){var b=0;if(a.hasAttribute("selected")){if(b=parseInt(a.getAttribute("selected"),0),b=Math.min(Math.max(0,parseInt(b,10)),a.c.length-1),a.h!==b&&!isNaN(b)){var c=a.c[b].querySelector(".step-title");Z(a,"google-codelab-pageview",{page:location.pathname+"#"+b,title:(c?c.textContent:"").replace(new RegExp(b+1+".","g"),"").trim()});if(-1===a.h)a.c[b].setAttribute("selected","");else{a.D&&Kc(a.D);a.F&&Kc(a.F);xb(a.O);c={};var d={},e=a.c[b],f=a.c[a.h];e.setAttribute("animating","");a.h<b?
    -(c.transform="translate3d(110%, 0, 0)",d.transform="translate3d(-110%, 0, 0)"):(c.transform="translate3d(-110%, 0, 0)",d.transform="translate3d(110%, 0, 0)");var g=[{ka:"transform",duration:.5,ea:0,timing:"cubic-bezier(0.4, 0, 0.2, 1)"}];a.D=new V(e,.5,c,{transform:"translate3d(0, 0, 0)"},g);a.F=new V(f,.5,{transform:"translate3d(0, 0, 0)"},d,g);Jc(a.D);Jc(a.F);vb(a.O,a.D,function(){e.setAttribute("selected","");e.removeAttribute("animating")});vb(a.O,a.F,function(){f.removeAttribute("selected")})}a.h=
    -b;a.w&&a.A&&a.I&&(0===b?a.A.setAttribute("disappear",""):a.A.removeAttribute("disappear"),b===a.c.length-1?(a.w.setAttribute("hidden",""),a.I.removeAttribute("hidden"),Z(a,"google-codelab-action",{category:"codelab",action:"complete",label:a.s})):(a.w.removeAttribute("hidden"),a.I.setAttribute("hidden","")));a.g&&a.g.querySelectorAll("li").forEach(function(a,c){c<=b?a.setAttribute("completed",""):a.removeAttribute("completed");c===b?a.setAttribute("selected",""):a.removeAttribute("selected")});Xc(a);
    -a.hasAttribute("dsh")||a.ca("#"+b,!0);a.M&&a.m.set("progress_"+a.M,String(a.h))}}else a.setAttribute("selected",b)}function Zc(a){var b=a.getAttribute("feedback-link"),c=a.c.map(function(a){return a.getAttribute("label")});Lc(a.g,vc,{steps:c,fa:b})}function $c(){var a=(new URL(document.location.toString())).searchParams.get("index");if(!a)return"/";a=a.replace(/[^a-z0-9\-]+/ig,"");if(!a||""===a.trim())return"/";"index"===a&&(a="");return(new URL(a,document.location.origin)).pathname}
    -function Z(a,b,c){c=void 0===c?{}:c;b=new CustomEvent(b,{detail:c,bubbles:!0});a.dispatchEvent(b)}function Wc(a){Z(a,"google-codelab-pageview",{page:location.pathname+"#"+a.h,title:a.c[a.h].getAttribute("label")});window.requestAnimationFrame(function(){document.body.removeAttribute("unresolved");Z(a,"google-codelab-action",{category:"codelab",action:"ready"})})}
    -function Qc(a){a.c=Array.from(a.querySelectorAll("google-codelab-step"));Lc(a,sc,{ga:$c()});a.g=a.querySelector("#drawer");a.l=a.querySelector("#codelab-title");a.N=a.querySelector("#codelab-time-container");a.ba=a.querySelector("#steps");a.H=a.querySelector("#controls");a.A=a.querySelector("#controls #previous-step");a.w=a.querySelector("#controls #next-step");a.I=a.querySelector("#controls #done");a.c.forEach(function(b){a.ba.appendChild(b)});Yc(a);Zc(a);if(document.location.hash){var b=parseInt(document.location.hash.substring(1),
    -10);!isNaN(b)&&b&&a.setAttribute("selected",document.location.hash.substring(1))}a.M=a.getAttribute("id");(b=a.m.get("progress_"+a.M))&&"0"!==b&&(a.$=!0,a.setAttribute("selected",b));a.X=!0}aa.Object.defineProperties(W.prototype,{eventHandler:{configurable:!0,enumerable:!0,get:function(){return this.i}},steps:{configurable:!0,enumerable:!0,get:function(){return this.c}}});aa.Object.defineProperties(W,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return"title codelab-title environment category feedback-link selected last-updated no-toolbar no-arrows anayltics-ready".split(" ")}}});try{window.customElements.define("google-codelab",W)}catch(a){console.warn("googlecodelabs.Codelab",a)};}).call(this);
    diff --git a/site/dist/elements/codelab-elements/codelab-index.css b/site/dist/elements/codelab-elements/codelab-index.css
    deleted file mode 100755
    index c4e507fcb..000000000
    --- a/site/dist/elements/codelab-elements/codelab-index.css
    +++ /dev/null
    @@ -1,3 +0,0 @@
    -html,body{height:100%;width:100%;margin:0;padding:0}body{transition:opacity ease-in 0.2s;padding-top:64px;background:#ECEFF1;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;font-size:16px;font-weight:400;line-height:24px;color:#5c5c5c}*{box-sizing:border-box;margin:0}a{text-decoration:none}[hidden]{display:none !important}#toolbar{display:flex;align-items:center;height:64px;background-color:#455a64;color:#fff;padding:16px;position:fixed;left:0;right:0;top:0;z-index:10000}#toolbar .site-width{display:flex;align-items:center}#toolbar .logo{display:flex;align-items:center}#toolbar .logo-icon{margin-right:16px;width:30px;height:24px}#toolbar .logo-devs{width:216px;height:36px;margin-top:5px}#searchbar{background-color:#546E7A;transition:background-color 400ms cubic-bezier(0, 0, 0.2, 1);flex-grow:1;display:flex;align-items:center}#searchbar:hover{background-color:#78909C}#searchbar input{border:0;background:none;outline:0;width:100%;font-size:16px;font-weight:400;color:#fff;line-height:40px;height:40px;flex-grow:1;z-index:1}#searchbar input::-webkit-input-placeholder{color:rgba(255,255,255,0.5)}#searchbar input:-ms-input-placeholder{color:rgba(255,255,255,0.5)}#search-icon,#clear-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}#clear-icon[hide]{visibility:hidden;pointer-events:none}.site-width{margin:0 auto;width:90vw;max-width:1024px}#banner{background-color:#fff;padding:0 40px 0 40px;padding:40px 0 48px 0;box-shadow:0px 3px 6px -3px #BDBDBD}#banner p{line-height:32px}h2{margin:0;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;font-size:45px;font-weight:400;letter-spacing:-.018em;line-height:48px}#banner h2,#banner h3{font-weight:300}#sort-by{padding:24px 0;display:flex;justify-content:space-between;align-items:center}#sort-by .sort-by-inner{display:flex;align-items:center;flex-shrink:0}#sort-by-tabs a{color:#98999a;text-transform:uppercase;line-height:48px;font-weight:500;font-size:14px;padding:0 12px;display:flex;border-bottom:2px solid transparent}#sort-by-tabs a:hover{background-color:#e0e0e0}#sort-by-tabs a[selected]{color:#616161;border-bottom:2px solid #616161}#codelab-categories{border:none;background:#fff;padding:8px;appearance:none;-webkit-appearance:none;font-size:16px;line-height:24px;color:#212121;border-radius:0;position:relative}#codelab-categories:focus{outline:0}footer{background-color:#424242;font-size:13px}footer .footer-wrapper{display:flex;padding:40px 0}footer .link-list{border-top:1px solid #616161;flex:1;margin-right:32px}footer .link-list label{display:block;color:#fff;margin:8px 0 16px}footer ul,footer li{list-style:none;margin:0;padding:0}footer a{color:#9e9e9e}footer .footerbar{background-color:#616161;color:#fff;font-size:13px;padding:10px 0}footer .footerbar a{color:currentcolor}google-codelab-index-cards{display:flex;flex-wrap:wrap;justify-content:space-between;margin:0 0 24px 0}google-codelab-index-cards[num="1"],google-codelab-index-cards[num="2"]{justify-content:flex-start}google-codelab-index-cards .card{position:relative;display:flex;flex-direction:column;flex:1 0 330px;margin:0 0 16px 0;background-color:#fff;max-width:330px;flex-basis:330px;flex-grow:0;flex-shrink:0}google-codelab-index-cards[num="1"] .card,google-codelab-index-cards[num="2"] .card{margin-right:8px}google-codelab-index-cards .card .card-header{display:flex;justify-content:space-between;align-items:center;padding:16px}google-codelab-index-cards .card-header .category-icon{width:40px;height:40px;border-radius:50%;background-color:white;background-size:70%;background-position:50% 50%;background-repeat:no-repeat}google-codelab-index-cards .card-header .card-duration{display:flex;align-items:center;color:#FFFFFF}google-codelab-index-cards .card-header .card-duration img{margin-right:4px}google-codelab-index-cards .card .card-description{padding:16px 32px;flex:1 0 auto;color:#3C4043}google-codelab-index-cards .card .card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #DADCE0;padding:8px 16px}google-codelab-index-cards .card .card-start{color:#5c5c5c;line-height:1;letter-spacing:0.01em;min-width:5.14em;margin:0 0.29em;font:inherit;text-transform:uppercase;outline-width:0;border-radius:3px;user-select:none;cursor:pointer;z-index:0;padding:0.7em 0.57em;font-family:'Roboto', 'Noto', sans-serif;-webkit-font-smoothing:antialiased;font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center}google-codelab-index-cards .card .card-updated{font-size:12px;color:#9AA0A6;line-height:16px;text-align:right}.default-bg{background-color:#5F6368}.default-icon{opacity:0}google-codelab-index-cards .card .default-start{color:#5F6368}google-codelab-index-cards .card .default-start:hover,google-codelab-index-cards .card .default-start:active{background:rgba(95,99,104,0.1)}.about-bg{background-color:#9AA0A6}.about-icon{background-image:url(//codelabs.developers.google.com/images/icons/google_g.svg)}google-codelab-index-cards .card .about-start{color:#9AA0A6}google-codelab-index-cards .card .about-start:hover,google-codelab-index-cards .card .about-start:active{background:rgba(154,160,166,0.1)}.ads-bg{background-color:#188038}.ads-icon{background-image:url(//codelabs.developers.google.com/images/icons/ads.png)}google-codelab-index-cards .card .ads-start{color:#188038}google-codelab-index-cards .card .ads-start:hover,google-codelab-index-cards .card .ads-start:active{background:rgba(24,128,56,0.1)}.analytics-bg{background-color:#E37400}.analytics-icon{background-image:url(//codelabs.developers.google.com/images/icons/analytics.png)}google-codelab-index-cards .card .analytics-start{color:#E37400}google-codelab-index-cards .card .analytics-start:hover,google-codelab-index-cards .card .analytics-start:active{background:rgba(227,116,0,0.1)}.android-bg{background-color:#71B958}.android-icon{background-image:url(//codelabs.developers.google.com/images/icons/android.svg)}google-codelab-index-cards .card .android-start{color:#71B958}google-codelab-index-cards .card .android-start:hover,google-codelab-index-cards .card .android-start:active{background:rgba(113,185,88,0.1)}.android-auto-bg{background-color:#71B958}.android-auto-icon{background-image:url(//codelabs.developers.google.com/images/icons/android.svg)}google-codelab-index-cards .card .android-auto-start{color:#71B958}google-codelab-index-cards .card .android-auto-start:hover,google-codelab-index-cards .card .android-auto-start:active{background:rgba(113,185,88,0.1)}.android-tv-bg{background-color:#71B958}.android-tv-icon{background-image:url(//codelabs.developers.google.com/images/icons/android.svg)}google-codelab-index-cards .card .android-tv-start{color:#71B958}google-codelab-index-cards .card .android-tv-start:hover,google-codelab-index-cards .card .android-tv-start:active{background:rgba(113,185,88,0.1)}.android-wear-bg{background-color:#71B958}.android-wear-icon{background-image:url(//codelabs.developers.google.com/images/icons/android.svg)}google-codelab-index-cards .card .android-wear-start{color:#71B958}google-codelab-index-cards .card .android-wear-start:hover,google-codelab-index-cards .card .android-wear-start:active{background:rgba(113,185,88,0.1)}.android-things-bg{background-color:#4B830D}.android-things-icon{background-image:url(//codelabs.developers.google.com/images/icons/android-things.svg)}google-codelab-index-cards .card .android-things-start{color:#4B830D}google-codelab-index-cards .card .android-things-start:hover,google-codelab-index-cards .card .android-things-start:active{background:rgba(75,131,13,0.1)}.apps-bg{background-color:#D93025}.apps-icon{background-image:url(//codelabs.developers.google.com/images/icons/apps.png)}google-codelab-index-cards .card .apps-start{color:#D93025}google-codelab-index-cards .card .apps-start:hover,google-codelab-index-cards .card .apps-start:active{background:rgba(217,48,37,0.1)}.assistant-bg{background-color:#1A73E8}.assistant-icon{background-image:url(//codelabs.developers.google.com/images/icons/assistant.png)}google-codelab-index-cards .card .assistant-start{color:#1A73E8}google-codelab-index-cards .card .assistant-start:hover,google-codelab-index-cards .card .assistant-start:active{background:rgba(26,115,232,0.1)}.blockly-bg{background-color:#A142FA}.blockly-icon{background-image:url(//codelabs.developers.google.com/images/icons/blockly.png)}google-codelab-index-cards .card .blockly-start{color:#A142FA}google-codelab-index-cards .card .blockly-start:hover,google-codelab-index-cards .card .blockly-start:active{background:rgba(161,66,250,0.1)}.brillo-bg{background-color:#1A73E8}.brillo-icon{background-image:url(//codelabs.developers.google.com/images/icons/brillo.png)}google-codelab-index-cards .card .brillo-start{color:#1A73E8}google-codelab-index-cards .card .brillo-start:hover,google-codelab-index-cards .card .brillo-start:active{background:rgba(26,115,232,0.1)}.cast-bg{background-color:#5F6368}.cast-icon{background-image:url(//codelabs.developers.google.com/images/icons/cast.png)}google-codelab-index-cards .card .cast-start{color:#5F6368}google-codelab-index-cards .card .cast-start:hover,google-codelab-index-cards .card .cast-start:active{background:rgba(95,99,104,0.1)}.chrome-bg{background-color:#1A73E8}.chrome-icon{background-image:url(//codelabs.developers.google.com/images/icons/chrome.svg)}google-codelab-index-cards .card .chrome-start{color:#1A73E8}google-codelab-index-cards .card .chrome-start:hover,google-codelab-index-cards .card .chrome-start:active{background:rgba(26,115,232,0.1)}.cloud-bg{background-color:#1A73E8}.cloud-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud.png)}google-codelab-index-cards .card .cloud-start{color:#1A73E8}google-codelab-index-cards .card .cloud-start:hover,google-codelab-index-cards .card .cloud-start:active{background:rgba(26,115,232,0.1)}.cloud-about-bg{background-color:#1A73E8}.cloud-about-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud.png)}google-codelab-index-cards .card .cloud-about-start{color:#1A73E8}google-codelab-index-cards .card .cloud-about-start:hover,google-codelab-index-cards .card .cloud-about-start:active{background:rgba(26,115,232,0.1)}.cloud-app-engine-bg{background-color:#1A73E8}.cloud-app-engine-icon{background-image:url(//codelabs.developers.google.com/images/icons/appengine.png)}google-codelab-index-cards .card .cloud-app-engine-start{color:#1A73E8}google-codelab-index-cards .card .cloud-app-engine-start:hover,google-codelab-index-cards .card .cloud-app-engine-start:active{background:rgba(26,115,232,0.1)}.cloud-appengine-bg{background-color:#1A73E8}.cloud-appengine-icon{background-image:url(//codelabs.developers.google.com/images/icons/appengine.png)}google-codelab-index-cards .card .cloud-appengine-start{color:#1A73E8}google-codelab-index-cards .card .cloud-appengine-start:hover,google-codelab-index-cards .card .cloud-appengine-start:active{background:rgba(26,115,232,0.1)}.cloud-cloud-tools-bg{background-color:#1A73E8}.cloud-cloud-tools-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud.png)}google-codelab-index-cards .card .cloud-cloud-tools-start{color:#1A73E8}google-codelab-index-cards .card .cloud-cloud-tools-start:hover,google-codelab-index-cards .card .cloud-cloud-tools-start:active{background:rgba(26,115,232,0.1)}.cloud-compute-bg{background-color:#1A73E8}.cloud-compute-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-compute.png)}google-codelab-index-cards .card .cloud-compute-start{color:#1A73E8}google-codelab-index-cards .card .cloud-compute-start:hover,google-codelab-index-cards .card .cloud-compute-start:active{background:rgba(26,115,232,0.1)}.cloud-data-bg{background-color:#1A73E8}.cloud-data-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-data.png)}google-codelab-index-cards .card .cloud-data-start{color:#1A73E8}google-codelab-index-cards .card .cloud-data-start:hover,google-codelab-index-cards .card .cloud-data-start:active{background:rgba(26,115,232,0.1)}.cloud-general-bg{background-color:#1A73E8}.cloud-general-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud.png)}google-codelab-index-cards .card .cloud-general-start{color:#1A73E8}google-codelab-index-cards .card .cloud-general-start:hover,google-codelab-index-cards .card .cloud-general-start:active{background:rgba(26,115,232,0.1)}.cloud-machine-learning-bg{background-color:#1A73E8}.cloud-machine-learning-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-ml.png)}google-codelab-index-cards .card .cloud-machine-learning-start{color:#1A73E8}google-codelab-index-cards .card .cloud-machine-learning-start:hover,google-codelab-index-cards .card .cloud-machine-learning-start:active{background:rgba(26,115,232,0.1)}.cloud-mobile-bg{background-color:#1A73E8}.cloud-mobile-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-mobile.png)}google-codelab-index-cards .card .cloud-mobile-start{color:#1A73E8}google-codelab-index-cards .card .cloud-mobile-start:hover,google-codelab-index-cards .card .cloud-mobile-start:active{background:rgba(26,115,232,0.1)}.cloud-monitoring-bg{background-color:#1A73E8}.cloud-monitoring-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-monitoring.png)}google-codelab-index-cards .card .cloud-monitoring-start{color:#1A73E8}google-codelab-index-cards .card .cloud-monitoring-start:hover,google-codelab-index-cards .card .cloud-monitoring-start:active{background:rgba(26,115,232,0.1)}.cloud-networking-bg{background-color:#1A73E8}.cloud-networking-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-networking.png)}google-codelab-index-cards .card .cloud-networking-start{color:#1A73E8}google-codelab-index-cards .card .cloud-networking-start:hover,google-codelab-index-cards .card .cloud-networking-start:active{background:rgba(26,115,232,0.1)}.cloud-others-bg{background-color:#1A73E8}.cloud-others-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud.png)}google-codelab-index-cards .card .cloud-others-start{color:#1A73E8}google-codelab-index-cards .card .cloud-others-start:hover,google-codelab-index-cards .card .cloud-others-start:active{background:rgba(26,115,232,0.1)}.cloud-security-bg{background-color:#1A73E8}.cloud-security-icon{background-image:url(//codelabs.developers.google.com/images/icons/cloud-security.png)}google-codelab-index-cards .card .cloud-security-start{color:#1A73E8}google-codelab-index-cards .card .cloud-security-start:hover,google-codelab-index-cards .card .cloud-security-start:active{background:rgba(26,115,232,0.1)}.cloud-web-bg{background-color:#1A73E8}.cloud-web-icon{background-image:url(//codelabs.developers.google.com/images/icons/web.svg)}google-codelab-index-cards .card .cloud-web-start{color:#1A73E8}google-codelab-index-cards .card .cloud-web-start:hover,google-codelab-index-cards .card .cloud-web-start:active{background:rgba(26,115,232,0.1)}.design-bg{background-color:#212121}.design-icon{background-image:url(//codelabs.developers.google.com/images/icons/design.svg)}google-codelab-index-cards .card .design-start{color:#212121}google-codelab-index-cards .card .design-start:hover,google-codelab-index-cards .card .design-start:active{background:rgba(33,33,33,0.1)}.firebase-bg{background-color:#E37400}.firebase-icon{background-image:url(//codelabs.developers.google.com/images/icons/firebase.png)}google-codelab-index-cards .card .firebase-start{color:#E37400}google-codelab-index-cards .card .firebase-start:hover,google-codelab-index-cards .card .firebase-start:active{background:rgba(227,116,0,0.1)}.firebase-web-bg{background-color:#1A73E8}.firebase-web-icon{background-image:url(//codelabs.developers.google.com/images/icons/web.svg)}google-codelab-index-cards .card .firebase-web-start{color:#1A73E8}google-codelab-index-cards .card .firebase-web-start:hover,google-codelab-index-cards .card .firebase-web-start:active{background:rgba(26,115,232,0.1)}.flutter-bg{background-color:#02569B}.flutter-icon{background-image:url(//codelabs.developers.google.com/images/icons/flutter.png)}google-codelab-index-cards .card .flutter-start{color:#02569B}google-codelab-index-cards .card .flutter-start:hover,google-codelab-index-cards .card .flutter-start:active{background:rgba(2,86,155,0.1)}.games-bg{background-color:#A142FA}.games-icon{background-image:url(//codelabs.developers.google.com/images/icons/cardboard.png)}google-codelab-index-cards .card .games-start{color:#A142FA}google-codelab-index-cards .card .games-start:hover,google-codelab-index-cards .card .games-start:active{background:rgba(161,66,250,0.1)}.iot-bg{background-color:#5F6368}.iot-icon{background-image:url(//codelabs.developers.google.com/images/icons/iot.svg)}google-codelab-index-cards .card .iot-start{color:#5F6368}google-codelab-index-cards .card .iot-start:hover,google-codelab-index-cards .card .iot-start:active{background:rgba(95,99,104,0.1)}.nest-bg{background-color:#5F6368}.nest-icon{background-image:url(//codelabs.developers.google.com/images/icons/nest.png)}google-codelab-index-cards .card .nest-start{color:#5F6368}google-codelab-index-cards .card .nest-start:hover,google-codelab-index-cards .card .nest-start:active{background:rgba(95,99,104,0.1)}.openthread-bg{background-color:#174EA6}.openthread-icon{background-image:url(//codelabs.developers.google.com/images/icons/openthread.png)}google-codelab-index-cards .card .openthread-start{color:#174EA6}google-codelab-index-cards .card .openthread-start:hover,google-codelab-index-cards .card .openthread-start:active{background:rgba(23,78,166,0.1)}.play-games-bg{background-color:#A142FA}.play-games-icon{background-image:url(//codelabs.developers.google.com/images/icons/cardboard.png)}google-codelab-index-cards .card .play-games-start{color:#A142FA}google-codelab-index-cards .card .play-games-start:hover,google-codelab-index-cards .card .play-games-start:active{background:rgba(161,66,250,0.1)}.geo-bg{background-color:#1A73E8}.geo-icon{background-image:url(//codelabs.developers.google.com/images/icons/geo.png)}google-codelab-index-cards .card .geo-start{color:#1A73E8}google-codelab-index-cards .card .geo-start:hover,google-codelab-index-cards .card .geo-start:active{background:rgba(26,115,232,0.1)}.search-bg{background-color:#1A73E8}.search-icon{background-image:url(//codelabs.developers.google.com/images/icons/google_g.svg)}google-codelab-index-cards .card .search-start{color:#1A73E8}google-codelab-index-cards .card .search-start:hover,google-codelab-index-cards .card .search-start:active{background:rgba(26,115,232,0.1)}.sheets-bg{background-color:#D93025}.sheets-icon{background-image:url(//codelabs.developers.google.com/images/icons/sheets.png)}google-codelab-index-cards .card .sheets-start{color:#D93025}google-codelab-index-cards .card .sheets-start:hover,google-codelab-index-cards .card .sheets-start:active{background:rgba(217,48,37,0.1)}.tensorflow-bg{background-color:#E37400}.tensorflow-icon{background-image:url(//codelabs.developers.google.com/images/icons/tensorflow.png)}google-codelab-index-cards .card .tensorflow-start{color:#E37400}google-codelab-index-cards .card .tensorflow-start:hover,google-codelab-index-cards .card .tensorflow-start:active{background:rgba(227,116,0,0.1)}.unity-bg{background-color:#5F6368}.unity-icon{background-image:url(//codelabs.developers.google.com/images/icons/unity.png)}google-codelab-index-cards .card .unity-start{color:#5F6368}google-codelab-index-cards .card .unity-start:hover,google-codelab-index-cards .card .unity-start:active{background:rgba(95,99,104,0.1)}.vr-bg{background-color:#A142FA}.vr-icon{background-image:url(//codelabs.developers.google.com/images/icons/cardboard.png)}google-codelab-index-cards .card .vr-start{color:#A142FA}google-codelab-index-cards .card .vr-start:hover,google-codelab-index-cards .card .vr-start:active{background:rgba(161,66,250,0.1)}.virtual-reality-bg{background-color:#A142FA}.virtual-reality-icon{background-image:url(//codelabs.developers.google.com/images/icons/vr.svg)}google-codelab-index-cards .card .virtual-reality-start{color:#A142FA}google-codelab-index-cards .card .virtual-reality-start:hover,google-codelab-index-cards .card .virtual-reality-start:active{background:rgba(161,66,250,0.1)}.weave-bg{background-color:#188038}.weave-icon{background-image:url(//codelabs.developers.google.com/images/icons/weave.svg)}google-codelab-index-cards .card .weave-start{color:#188038}google-codelab-index-cards .card .weave-start:hover,google-codelab-index-cards .card .weave-start:active{background:rgba(24,128,56,0.1)}.web-bg{background-color:#1A73E8}.web-icon{background-image:url(//codelabs.developers.google.com/images/icons/web.svg)}google-codelab-index-cards .card .web-start{color:#1A73E8}google-codelab-index-cards .card .web-start:hover,google-codelab-index-cards .card .web-start:active{background:rgba(26,115,232,0.1)}@media (min-width: 768px){google-codelab-index-cards .card{min-height:250px}}@media (max-width: 1136px) and (min-width: 767px){google-codelab-index-cards .card{flex:0 0 33%;margin:0 0% 2% 0;min-height:200px}}@media (max-width: 767px){google-codelab-index-cards{flex-direction:column;align-items:center;margin:0}google-codelab-index-cards .card{margin:0 0 16px;min-width:330px;max-width:100%;width:100%;flex:1 0 200px}google-codelab-index-cards[num="1"] .card,google-codelab-index-cards[num="2"] .card{margin-right:0}}@media (min-width: 768px){#toolbar .logo-devs{margin:5px 32px 0 0}}
    -
    -/*# sourceMappingURL=google_codelab_index_scss_bin.css.map */
    \ No newline at end of file
    diff --git a/site/dist/elements/codelab-elements/codelab-index.js b/site/dist/elements/codelab-elements/codelab-index.js
    deleted file mode 100755
    index 669bd68de..000000000
    --- a/site/dist/elements/codelab-elements/codelab-index.js
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -(function(){'use strict';var h="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,aa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},k;if("function"==typeof Object.setPrototypeOf)k=Object.setPrototypeOf;else{var m;a:{var ba={F:!0},ca={};try{ca.__proto__=ba;m=ca.F;break a}catch(a){}m=!1}k=m?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var da=k;
    -function ea(a,b){a.prototype=aa(b.prototype);a.prototype.constructor=a;if(da)da(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.D=b.prototype}var fa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function ha(){ha=function(){};h.Symbol||(h.Symbol=ia)}
    -var ia=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}();function n(){ha();var a=h.Symbol.iterator;a||(a=h.Symbol.iterator=h.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&fa(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ja(this)}});n=function(){}}function ja(a){var b=0;return ka(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ka(a){n();a={next:a};a[h.Symbol.iterator]=function(){return this};return a}
    -function p(a){if(!(a instanceof Array)){n();var b=a[Symbol.iterator];a=b?b.call(a):ja(a);for(var c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var q=this;function r(a){return"string"==typeof a}function t(){}
    -function u(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
    -else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function v(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var la="closure_uid_"+(1E9*Math.random()>>>0),ma=0;function na(a,b,c){return a.call.apply(a.bind,arguments)}
    -function oa(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function w(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?w=na:w=oa;return w.apply(null,arguments)}var pa=Date.now||function(){return+new Date};
    -function x(a,b){function c(){}c.prototype=b.prototype;a.D=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.M=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};var qa;var ra=Array.prototype.indexOf?function(a,b){return Array.prototype.indexOf.call(a,b,void 0)}:function(a,b){if(r(a))return r(b)&&1==b.length?a.indexOf(b,0):-1;for(var c=0;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};function sa(){};function ta(){}x(ta,sa);function y(a){this.j=a}x(y,ta);y.prototype.set=function(a,b){try{this.j.setItem(a,b)}catch(c){if(0==this.j.length)throw"Storage mechanism: Storage disabled";throw"Storage mechanism: Quota exceeded";}};y.prototype.get=function(a){a=this.j.getItem(a);if(!r(a)&&null!==a)throw"Storage mechanism: Invalid value was encountered";return a};y.prototype.key=function(a){return this.j.key(a)};function ua(){var a=null;try{a=window.localStorage||null}catch(b){}this.j=a}x(ua,y);var va=String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function z(a){if(!wa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(xa,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(ya,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(za,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(Aa,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(Ba,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(Ca,"&#0;"));return a}
    -var xa=/&/g,ya=/</g,za=/>/g,Aa=/"/g,Ba=/'/g,Ca=/\x00/g,wa=/[\x00&<>"']/;function A(a,b){return a<b?-1:a>b?1:0};function Da(a,b,c){for(var d in a)b.call(c,a[d],d,a)};function B(){this.a="";this.v=Ea}B.prototype.i=!0;B.prototype.c=function(){return this.a};B.prototype.b=function(){return 1};var Fa=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,Ea={};function Ga(a){var b=new B;b.a=a;return b}Ga("about:blank");var C;a:{var Ha=q.navigator;if(Ha){var Ia=Ha.userAgent;if(Ia){C=Ia;break a}}C=""};function D(){this.a=Ja}D.prototype.b=function(){return null};D.prototype.i=!0;D.prototype.c=function(){return""};var Ja={};var E={},Ka={};function F(){throw Error("Do not instantiate directly");}F.prototype.B=null;F.prototype.toString=function(){return this.u};function G(){F.call(this)}x(G,F);G.prototype.s=E;function H(a){H[" "](a);return a}H[" "]=t;var La=-1!=C.indexOf("Opera"),I=-1!=C.indexOf("Trident")||-1!=C.indexOf("MSIE"),Ma=-1!=C.indexOf("Edge"),Na=-1!=C.indexOf("Gecko")&&!(-1!=C.toLowerCase().indexOf("webkit")&&-1==C.indexOf("Edge"))&&!(-1!=C.indexOf("Trident")||-1!=C.indexOf("MSIE"))&&-1==C.indexOf("Edge"),Oa=-1!=C.toLowerCase().indexOf("webkit")&&-1==C.indexOf("Edge");function Sa(){var a=q.document;return a?a.documentMode:void 0}var J;
    -a:{var K="",L=function(){var a=C;if(Na)return/rv:([^\);]+)(\)|;)/.exec(a);if(Ma)return/Edge\/([\d\.]+)/.exec(a);if(I)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(Oa)return/WebKit\/(\S+)/.exec(a);if(La)return/(?:Version)[ \/]?(\S+)/.exec(a)}();L&&(K=L?L[1]:"");if(I){var Ta=Sa();if(null!=Ta&&Ta>parseFloat(K)){J=String(Ta);break a}}J=K}var Ua={},Va;var Wa=q.document;Va=Wa&&I?Sa()||("CSS1Compat"==Wa.compatMode?parseInt(J,10):5):void 0;function Xa(a){if(null!=a)switch(a.B){case 1:return 1;case -1:return-1;case 0:return 0}return null}function M(a){return null!=a&&a.s===E?a:a instanceof D?N(a instanceof D&&a.constructor===D&&a.a===Ja?"":"type_error:SafeHtml",a.b()):N(z(String(String(a))),Xa(a))}var N=function(a){function b(a){this.u=a}b.prototype=a.prototype;return function(a,d){a=new b(String(a));void 0!==d&&(a.B=d);return a}}(G);
    -function O(a){return null!=a&&a.s===E?String(String(a.u).replace(Ya,"").replace(Za,"&lt;")).replace($a,ab):z(String(a))}var bb={"\x00":"&#0;","\t":"&#9;","\n":"&#10;","\x0B":"&#11;","\f":"&#12;","\r":"&#13;"," ":"&#32;",'"':"&quot;","&":"&amp;","'":"&#39;","-":"&#45;","/":"&#47;","<":"&lt;","=":"&#61;",">":"&gt;","`":"&#96;","\u0085":"&#133;","\u00a0":"&#160;","\u2028":"&#8232;","\u2029":"&#8233;"};function ab(a){return bb[a]}
    -var $a=/[\x00\x22\x27\x3c\x3e]/g,Ya=/<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g,Za=/</g;function cb(a){var b=a.sort;a=a.H;b='<div id="sort-by-tabs" class="sort-by-inner"><a href="#" sort="alpha"'+("alpha"==b?" selected":"")+'>A-Z</a><a href="#" sort="recent"'+("recent"==b?" selected":"")+'>Recent</a><a href="#" sort="duration"'+("duration"==b?" selected":"")+'>Duration</a></div><div class="sort-by-inner"><select id="codelab-categories"><option value="">Category</option>';for(var c=Math.max(0,Math.ceil(a.length)),d=0;d<c;d++){var e=d;b+='<option value="'+O(a[e])+'">'+M(a[e])+"</option>"}return N(b+
    -"</select></div>")};var db=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}(function(){var a=document.createElement("div");a.innerHTML="<div><div></div></div>";var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});function eb(a,b){if(db())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b};function fb(){this.a=q.document||document};function gb(a,b){b=a(b||hb,void 0,void 0);a=(qa||(qa=new fb)).a.createElement("DIV");b=ib(b);eb(a,b);1==a.childNodes.length&&(b=a.firstChild,1==b.nodeType&&(a=b));return a}function ib(a){if(a instanceof F){if(a.s===E)return a.u;if(a.s===Ka)return z(a.u)}return"zSoyz"}var hb={};/*
    -
    - Copyright 2018 Google Inc.
    -
    - Licensed under the Apache License, Version 2.0 (the "License");
    - you may not use this file except in compliance with the License.
    - You may obtain a copy of the License at
    -
    -      http://www.apache.org/licenses/LICENSE-2.0
    -
    - Unless required by applicable law or agreed to in writing, software
    - distributed under the License is distributed on an "AS IS" BASIS,
    - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    - See the License for the specific language governing permissions and
    - limitations under the License.
    -*/
    -function P(){var a=HTMLElement.call(this)||this;a.j=new ua;return a}ea(P,HTMLElement);P.prototype.connectedCallback=function(){this.hasAttribute("sort")?jb(this):this.setAttribute("sort","alpha");(this.hasAttribute("filter")||this.hasAttribute("category")||this.hasAttribute("tags"))&&kb(this)};P.prototype.connectedCallback=P.prototype.connectedCallback;P.prototype.attributeChangedCallback=function(a){switch(a){case "sort":jb(this);break;case "filter":case "category":case "tags":kb(this)}};
    -P.prototype.attributeChangedCallback=P.prototype.attributeChangedCallback;
    -function jb(a){var b=a.getAttribute("sort")||"alpha",c=[].concat(p(a.querySelectorAll(".card")));if(!(2>c.length)){switch(b){case "duration":c.sort(a.i.bind(a));break;case "recent":c.sort(a.c.bind(a));break;default:b="alpha",c.sort(a.b.bind(a))}c.forEach(function(b){return a.appendChild(b)});c=new URL(document.location.toString());b&&"alpha"!==b?c.searchParams.set("sort",b):c.searchParams.delete("sort");lb(a);b=c.pathname+c.search;window.history.replaceState({path:b},document.title,b)}}
    -function lb(a){a.setAttribute("num",a.querySelectorAll(".card:not([hidden])").length)}P.prototype.i=function(a,b){if(!a||!b)return 0;var c=parseFloat(a.getAttribute("duration"))||0,d=parseFloat(b.getAttribute("duration"))||0;c-=d;return 0===c?this.c(a,b):c};P.prototype.c=function(a,b){if(!a||!b)return 0;var c=new Date(a.getAttribute("updated")||0);c=(new Date(b.getAttribute("updated")||0)).getTime()-c.getTime();return 0===c?this.b(a,b):c};
    -P.prototype.b=function(a,b){if(!a||!b)return 0;a=a.getAttribute("title");b=b.getAttribute("title");return a<b?-1:a>b?1:0};
    -function kb(a){var b=mb(a.getAttribute("filter")),c=Q((a.getAttribute("tags")||"").split(",")),d=Q((a.getAttribute("category")||"").split(","));[].concat(p(a.querySelectorAll(".card"))).forEach(function(a){var e=mb(a.getAttribute("title")),f=Q((a.getAttribute("category")||"").split(",")),Sb=Q((a.getAttribute("tags")||"").split(",")),Pa=!0,Qa=!0,Ra=!0;b&&(Pa=-1!==e.indexOf(b));c.length&&(Qa=nb(Sb,c));d.length&&(Ra=nb(f,d));Pa&&Qa&&Ra?a.removeAttribute("hidden"):a.setAttribute("hidden","")});var e=
    -new URL(document.location.toString());c.length?e.searchParams.set("tags",c.join(",")):e.searchParams.delete("tags");d.length?e.searchParams.set("cat",d.join(",")):e.searchParams.delete("cat");b?e.searchParams.set("filter",b):e.searchParams.delete("filter");lb(a);a=e.pathname+e.search;window.history.replaceState({path:a},document.title,a)}function nb(a,b){for(var c=0;c<a.length;c++)if(b.includes(a[c]))return!0;return!1}
    -function mb(a){return(a||"").trim().toLowerCase().replace("\n","").replace(/\s+/g," ")}function Q(a){a=a||[];var b=[];a.forEach(function(a){(a=mb(a))&&b.push(a)});return b.sort()}
    -P.prototype.G=function(a){var b=(a.getAttribute("category")||"").toLowerCase().replace(/\s+/g,"-").replace(/--+/g,"-").trim().split(",").shift();var c=a.getAttribute("title")||"",d=parseInt(a.getAttribute("duration"),10)||0,e;(e=a.getAttribute("updated"))?(e=new Date(e),e="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")[e.getMonth()]+" "+e.getUTCDate()+", "+e.getFullYear()):e="";e=e||"";a.getAttribute("tags");var f=a.getAttribute("authors")||"";b=N('<div class="card-header '+O(b)+'-bg"><span class="category-icon '+
    -O(b)+'-icon"></span><span class="card-duration">'+(d?'<img src="//codelabs.developers.google.com/images/schedule.svg">'+M(d)+" min":"")+'</span></div><div class="card-description">'+M(c)+'</div><div class="card-footer '+O(b)+'-footer"><span class="card-start '+O(b)+'-start">Start</span><span class="card-updated">'+(f?"<div>"+M(f)+"</div>":"")+(e?"<div>Updated "+M(e)+"</div>":"")+"</span></div>");eb(a,ib(b));a.classList.add("card");b=new URL(a.href,document.location.origin);b.searchParams.has("index")||
    -b.searchParams.set("index",document.location.pathname);b=b.href;b instanceof B||b instanceof B||(b="object"==typeof b&&b.i?b.c():String(b),Fa.test(b)||(b="about:invalid#zClosurez"),b=Ga(b));a.href=b instanceof B&&b.constructor===B&&b.v===Ea?b.a:"type_error:SafeUrl";if(b=a.getAttribute("id"))b=this.j.get("progress_"+b),c=a.getAttribute("steps"),b&&c&&a.setAttribute("progress",(parseFloat(b)/parseFloat(c)-1).toFixed(2));this.appendChild(a)};P.prototype.addCard=P.prototype.G;
    -h.Object.defineProperties(P,{observedAttributes:{configurable:!0,enumerable:!0,get:function(){return["sort","filter","category","tags"]}}});try{window.customElements.define("google-codelab-index-cards",P)}catch(a){console.warn("googlecodelabs.CodelabIndex.Cards",a)};function R(){0!=ob&&(this[la]||(this[la]=++ma))}var ob=0;var pb;(pb=!I)||(pb=9<=Number(Va));var qb=pb,rb;
    -if(rb=I){var sb;if(Object.prototype.hasOwnProperty.call(Ua,"9"))sb=Ua["9"];else{for(var S=0,tb=va(String(J)).split("."),ub=va("9").split("."),vb=Math.max(tb.length,ub.length),T=0;0==S&&T<vb;T++){var wb=tb[T]||"",xb=ub[T]||"";do{var U=/(\d*)(\D*)(.*)/.exec(wb)||["","","",""],V=/(\d*)(\D*)(.*)/.exec(xb)||["","","",""];if(0==U[0].length&&0==V[0].length)break;S=A(0==U[1].length?0:parseInt(U[1],10),0==V[1].length?0:parseInt(V[1],10))||A(0==U[2].length,0==V[2].length)||A(U[2],V[2]);wb=U[3];xb=V[3]}while(0==
    -S)}sb=Ua["9"]=0<=S}rb=!sb}var yb=rb,zb=function(){if(!q.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});q.addEventListener("test",t,b);q.removeEventListener("test",t,b);return a}();function Ab(a,b){this.type=a;this.a=this.target=b}Ab.prototype.preventDefault=function(){};function W(a,b){Ab.call(this,a?a.type:"");this.relatedTarget=this.a=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=0;this.key="";this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.pointerId=0;this.pointerType="";this.b=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.a=b;if(b=a.relatedTarget){if(Na){a:{try{H(b.nodeName);var e=!0;break a}catch(f){}e=!1}e||(b=null)}}else"mouseover"==c?b=a.fromElement:
    -"mouseout"==c&&(b=a.toElement);this.relatedTarget=b;null===d?(this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.key=a.key||"";this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;
    -this.pointerId=a.pointerId||0;this.pointerType=r(a.pointerType)?a.pointerType:Bb[a.pointerType]||"";this.b=a;a.defaultPrevented&&this.preventDefault()}}x(W,Ab);var Bb={2:"touch",3:"pen",4:"mouse"};W.prototype.preventDefault=function(){W.D.preventDefault.call(this);var a=this.b;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,yb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Cb="closure_listenable_"+(1E6*Math.random()|0),Db=0;function Eb(a,b,c,d,e){this.listener=a;this.proxy=null;this.src=b;this.type=c;this.capture=!!d;this.a=e;this.key=++Db;this.o=this.A=!1}function Fb(a){a.o=!0;a.listener=null;a.proxy=null;a.src=null;a.a=null};function Gb(a){this.src=a;this.a={};this.b=0}Gb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.a[f];a||(a=this.a[f]=[],this.b++);var g;a:{for(g=0;g<a.length;++g){var l=a[g];if(!l.o&&l.listener==b&&l.capture==!!d&&l.a==e)break a}g=-1}-1<g?(b=a[g],c||(b.A=!1)):(b=new Eb(b,this.src,f,!!d,e),b.A=c,a.push(b));return b};function Hb(a,b){var c=b.type;if(c in a.a){var d=a.a[c],e=ra(d,b),f;(f=0<=e)&&Array.prototype.splice.call(d,e,1);f&&(Fb(b),0==a.a[c].length&&(delete a.a[c],a.b--))}};var Ib="closure_lm_"+(1E6*Math.random()|0),Jb={},Kb=0;function Lb(a,b,c,d,e){if(d&&d.once)return Mb(a,b,c,d,e);if("array"==u(b)){for(var f=0;f<b.length;f++)Lb(a,b[f],c,d,e);return null}c=Nb(c);return a&&a[Cb]?a.a.add(String(b),c,!1,v(d)?!!d.capture:!!d,e):Ob(a,b,c,!1,d,e)}
    -function Ob(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=v(e)?!!e.capture:!!e,l=Pb(a);l||(a[Ib]=l=new Gb(a));c=l.add(b,c,d,g,f);if(c.proxy)return c;d=Qb();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)zb||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(Rb(b.toString()),d);else if(a.addListener&&a.removeListener)a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");Kb++;return c}
    -function Qb(){var a=Tb,b=qb?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b}function Mb(a,b,c,d,e){if("array"==u(b)){for(var f=0;f<b.length;f++)Mb(a,b[f],c,d,e);return null}c=Nb(c);return a&&a[Cb]?a.a.add(String(b),c,!0,v(d)?!!d.capture:!!d,e):Ob(a,b,c,!0,d,e)}
    -function Ub(a){if("number"!=typeof a&&a&&!a.o){var b=a.src;if(b&&b[Cb])Hb(b.a,a);else{var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(Rb(c),d):b.addListener&&b.removeListener&&b.removeListener(d);Kb--;(c=Pb(b))?(Hb(c,a),0==c.b&&(c.src=null,b[Ib]=null)):Fb(a)}}}function Rb(a){return a in Jb?Jb[a]:Jb[a]="on"+a}
    -function Vb(a,b,c,d){var e=!0;if(a=Pb(a))if(b=a.a[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.o&&(f=Wb(f,d),e=e&&!1!==f)}return e}function Wb(a,b){var c=a.listener,d=a.a||a.src;a.A&&Ub(a);return c.call(d,b)}
    -function Tb(a,b){if(a.o)return!0;if(!qb){if(!b)a:{b=["window","event"];for(var c=q,d=0;d<b.length;d++)if(c=c[b[d]],null==c){b=null;break a}b=c}d=b;b=new W(d,this);c=!0;if(!(0>d.keyCode||void 0!=d.returnValue)){a:{var e=!1;if(0==d.keyCode)try{d.keyCode=-1;break a}catch(g){e=!0}if(e||void 0==d.returnValue)d.returnValue=!0}d=[];for(e=b.a;e;e=e.parentNode)d.push(e);a=a.type;for(e=d.length-1;0<=e;e--){b.a=d[e];var f=Vb(d[e],a,!0,b);c=c&&f}for(e=0;e<d.length;e++)b.a=d[e],f=Vb(d[e],a,!1,b),c=c&&f}return c}return Wb(a,
    -new W(b,this))}function Pb(a){a=a[Ib];return a instanceof Gb?a:null}var Xb="__closure_events_fn_"+(1E9*Math.random()>>>0);function Nb(a){if("function"==u(a))return a;a[Xb]||(a[Xb]=function(b){return a.handleEvent(b)});return a[Xb]};function Yb(a,b){if("function"!=u(a))if(a&&"function"==typeof a.handleEvent)a=w(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(b)?-1:q.setTimeout(a,b||0)};function X(a,b,c){R.call(this);this.J=null!=c?w(a,c):a;this.v=b;this.i=w(this.K,this);this.a=this.b=null;this.c=[]}x(X,R);X.prototype.I=function(a){this.c=arguments;this.b?this.a=pa()+this.v:this.b=Yb(this.i,this.v)};X.prototype.K=function(){this.a?(this.b=Yb(this.i,this.a-pa()),this.a=null):(this.b=null,this.J.apply(null,this.c))};function Zb(a){R.call(this);this.b=a;this.a={}}x(Zb,R);var $b=[];function Y(a,b,c,d){"array"!=u(c)&&(c&&($b[0]=c.toString()),c=$b);for(var e=0;e<c.length;e++){var f=Lb(b,c[e],d||a.handleEvent,!1,a.b||a);if(!f)break;a.a[f.key]=f}}function ac(a){Da(a.a,function(a,c){this.a.hasOwnProperty(c)&&Ub(a)},a);a.a={}}Zb.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};function Z(){var a=HTMLElement.call(this)||this;a.m=new Zb;a.C=!1;a.g=null;a.w=null;a.f=null;a.l=null;a.h=null;a.L=new X(function(){var b=a.f.value.trim();a.l&&(""===b?a.l.setAttribute("hide",""):a.l.removeAttribute("hide"));a.g&&a.g.setAttribute("filter",b)},20);return a}ea(Z,HTMLElement);Z.prototype.connectedCallback=function(){this.C||bc(this);cc(this);window.requestAnimationFrame(function(){document.body.removeAttribute("unresolved")})};Z.prototype.connectedCallback=Z.prototype.connectedCallback;
    -Z.prototype.disconnectedCallback=function(){ac(this.m)};Z.prototype.disconnectedCallback=Z.prototype.disconnectedCallback;
    -function cc(a){if(a.w){var b=a.w.querySelector("#sort-by-tabs");b&&Y(a.m,b,"click",function(b){b.preventDefault();b=b.target;var c=b.getAttribute("sort");a.g&&a.g.setAttribute("sort",c);(c=a.querySelector("[selected]"))&&c.removeAttribute("selected");b.setAttribute("selected","")})}a.f&&Y(a.m,a.f,"keyup",function(){return dc(a)});a.l&&Y(a.m,a.l,"click",function(){a.f&&(a.f.value="");dc(a)});a.h&&Y(a.m,a.h,"change",function(){a.g&&a.h&&a.g.setAttribute("category",a.h.value)})}
    -function dc(a){window.requestAnimationFrame(function(){return a.L.I()})}
    -function bc(a){var b=a.querySelector("main .main-inner");if(b){a.f=document.querySelector("#search-field");a.l=document.querySelector("#clear-icon");var c=a.querySelector("main ul"),d=document.createElement("google-codelab-index-cards"),e=new URL(document.location.toString());e.searchParams.has("tags")&&d.setAttribute("tags",e.searchParams.getAll("tags").join(","));var f="";if(e.searchParams.has("cat")){var g=e.searchParams.getAll("cat");f=g[0].trim().toLowerCase();d.setAttribute("category",g.join(","))}g=
    -"alpha";e.searchParams.has("sort")&&(g=e.searchParams.get("sort"),d.setAttribute("sort",g));c?([].concat(p(c.querySelectorAll("a"))).forEach(function(a){d.addCard(a)}),c&&c.parentNode&&c.parentNode.removeChild(c),b.appendChild(d)):d=b.querySelector("google-codelab-index-cards");if(d){var l=new Set;[].concat(p(d.querySelectorAll(".card"))).forEach(function(a){(a=a.getAttribute("category"))&&a.split(",").forEach(function(a){l.add(a.trim())})});b=gb(cb,{H:Array.from(l).sort(),N:f,sort:g});b.setAttribute("id",
    -"sort-by");d.parentNode&&d.parentNode.insertBefore(b,d);a.w=b;a.g=d;a.h=a.w.querySelector("#codelab-categories");f&&a.h&&[].concat(p(a.h.options)).forEach(function(a){a.value.toLowerCase()===f&&(a.selected=!0)})}e.searchParams.has("filter")&&(e=e.searchParams.get("filter"),a.f&&(a.f.value=e,dc(a)));a.C=!0}};try{window.customElements.define("google-codelab-index",Z)}catch(a){console.warn("googlecodelabs.CodelabIndex",a)};}).call(this);
    diff --git a/site/dist/elements/codelab-elements/custom-elements.min.js b/site/dist/elements/codelab-elements/custom-elements.min.js
    deleted file mode 100755
    index 81bd847e5..000000000
    --- a/site/dist/elements/codelab-elements/custom-elements.min.js
    +++ /dev/null
    @@ -1,38 +0,0 @@
    -(function(){
    -'use strict';var h=new function(){};var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function n(b){var a=aa.has(b);b=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(b);return!a&&b}function p(b){var a=b.isConnected;if(void 0!==a)return a;for(;b&&!(b.__CE_isImportDocument||b instanceof Document);)b=b.parentNode||(window.ShadowRoot&&b instanceof ShadowRoot?b.host:void 0);return!(!b||!(b.__CE_isImportDocument||b instanceof Document))}
    -function q(b,a){for(;a&&a!==b&&!a.nextSibling;)a=a.parentNode;return a&&a!==b?a.nextSibling:null}
    -function t(b,a,c){c=c?c:new Set;for(var d=b;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;a(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)t(d,a,c);d=q(b,e);continue}else if("template"===f){d=q(b,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)t(e,a,c)}d=d.firstChild?d.firstChild:q(b,d)}}function u(b,a,c){b[a]=c};function v(){this.a=new Map;this.o=new Map;this.f=[];this.b=!1}function ba(b,a,c){b.a.set(a,c);b.o.set(c.constructor,c)}function w(b,a){b.b=!0;b.f.push(a)}function x(b,a){b.b&&t(a,function(a){return y(b,a)})}function y(b,a){if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var c=0;c<b.f.length;c++)b.f[c](a)}}function z(b,a){var c=[];t(a,function(b){return c.push(b)});for(a=0;a<c.length;a++){var d=c[a];1===d.__CE_state?b.connectedCallback(d):A(b,d)}}
    -function B(b,a){var c=[];t(a,function(b){return c.push(b)});for(a=0;a<c.length;a++){var d=c[a];1===d.__CE_state&&b.disconnectedCallback(d)}}
    -function C(b,a,c){c=c?c:{};var d=c.w||new Set,e=c.s||function(a){return A(b,a)},f=[];t(a,function(a){if("link"===a.localName&&"import"===a.getAttribute("rel")){var c=a.import;c instanceof Node&&(c.__CE_isImportDocument=!0,c.__CE_hasRegistry=!0);c&&"complete"===c.readyState?c.__CE_documentLoadHandled=!0:a.addEventListener("load",function(){var c=a.import;if(!c.__CE_documentLoadHandled){c.__CE_documentLoadHandled=!0;var f=new Set(d);f.delete(c);C(b,c,{w:f,s:e})}})}else f.push(a)},d);if(b.b)for(a=0;a<
    -f.length;a++)y(b,f[a]);for(a=0;a<f.length;a++)e(f[a])}
    -function A(b,a){if(void 0===a.__CE_state){var c=a.ownerDocument;if(c.defaultView||c.__CE_isImportDocument&&c.__CE_hasRegistry)if(c=b.a.get(a.localName)){c.constructionStack.push(a);var d=c.constructor;try{try{if(new d!==a)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{c.constructionStack.pop()}}catch(m){throw a.__CE_state=2,m;}a.__CE_state=1;a.__CE_definition=c;if(c.attributeChangedCallback)for(c=c.observedAttributes,d=0;d<c.length;d++){var e=c[d],
    -f=a.getAttribute(e);null!==f&&b.attributeChangedCallback(a,e,null,f,null)}p(a)&&b.connectedCallback(a)}}}v.prototype.connectedCallback=function(b){var a=b.__CE_definition;a.connectedCallback&&a.connectedCallback.call(b)};v.prototype.disconnectedCallback=function(b){var a=b.__CE_definition;a.disconnectedCallback&&a.disconnectedCallback.call(b)};
    -v.prototype.attributeChangedCallback=function(b,a,c,d,e){var f=b.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(a)&&f.attributeChangedCallback.call(b,a,c,d,e)};function D(b,a){this.c=b;this.a=a;this.b=void 0;C(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function E(b){b.b&&b.b.disconnect()}D.prototype.f=function(b){var a=this.a.readyState;"interactive"!==a&&"complete"!==a||E(this);for(a=0;a<b.length;a++)for(var c=b[a].addedNodes,d=0;d<c.length;d++)C(this.c,c[d])};function ca(){var b=this;this.b=this.a=void 0;this.f=new Promise(function(a){b.b=a;b.a&&a(b.a)})}function F(b){if(b.a)throw Error("Already resolved.");b.a=void 0;b.b&&b.b(void 0)};function G(b){this.i=!1;this.c=b;this.m=new Map;this.j=function(b){return b()};this.g=!1;this.l=[];this.u=new D(b,document)}
    -G.prototype.define=function(b,a){var c=this;if(!(a instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!n(b))throw new SyntaxError("The element name '"+b+"' is not valid.");if(this.c.a.get(b))throw Error("A custom element with name '"+b+"' has already been defined.");if(this.i)throw Error("A custom element is already being defined.");this.i=!0;var d,e,f,m,l;try{var g=function(b){var a=k[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
    -return a},k=a.prototype;if(!(k instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");d=g("connectedCallback");e=g("disconnectedCallback");f=g("adoptedCallback");m=g("attributeChangedCallback");l=a.observedAttributes||[]}catch(r){return}finally{this.i=!1}a={localName:b,constructor:a,connectedCallback:d,disconnectedCallback:e,adoptedCallback:f,attributeChangedCallback:m,observedAttributes:l,constructionStack:[]};ba(this.c,b,a);this.l.push(a);this.g||
    -(this.g=!0,this.j(function(){return da(c)}))};function da(b){if(!1!==b.g){b.g=!1;for(var a=b.l,c=[],d=new Map,e=0;e<a.length;e++)d.set(a[e].localName,[]);C(b.c,document,{s:function(a){if(void 0===a.__CE_state){var e=a.localName,f=d.get(e);f?f.push(a):b.c.a.get(e)&&c.push(a)}}});for(e=0;e<c.length;e++)A(b.c,c[e]);for(;0<a.length;){for(var f=a.shift(),e=f.localName,f=d.get(f.localName),m=0;m<f.length;m++)A(b.c,f[m]);(e=b.m.get(e))&&F(e)}}}G.prototype.get=function(b){if(b=this.c.a.get(b))return b.constructor};
    -G.prototype.whenDefined=function(b){if(!n(b))return Promise.reject(new SyntaxError("'"+b+"' is not a valid custom element name."));var a=this.m.get(b);if(a)return a.f;a=new ca;this.m.set(b,a);this.c.a.get(b)&&!this.l.some(function(a){return a.localName===b})&&F(a);return a.f};G.prototype.v=function(b){E(this.u);var a=this.j;this.j=function(c){return b(function(){return a(c)})}};window.CustomElementRegistry=G;G.prototype.define=G.prototype.define;G.prototype.get=G.prototype.get;
    -G.prototype.whenDefined=G.prototype.whenDefined;G.prototype.polyfillWrapFlushCallback=G.prototype.v;var H=window.Document.prototype.createElement,ea=window.Document.prototype.createElementNS,fa=window.Document.prototype.importNode,ga=window.Document.prototype.prepend,ha=window.Document.prototype.append,ia=window.DocumentFragment.prototype.prepend,ja=window.DocumentFragment.prototype.append,I=window.Node.prototype.cloneNode,J=window.Node.prototype.appendChild,K=window.Node.prototype.insertBefore,L=window.Node.prototype.removeChild,M=window.Node.prototype.replaceChild,N=Object.getOwnPropertyDescriptor(window.Node.prototype,
    -"textContent"),O=window.Element.prototype.attachShadow,P=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),Q=window.Element.prototype.getAttribute,R=window.Element.prototype.setAttribute,S=window.Element.prototype.removeAttribute,T=window.Element.prototype.getAttributeNS,U=window.Element.prototype.setAttributeNS,ka=window.Element.prototype.removeAttributeNS,la=window.Element.prototype.insertAdjacentElement,ma=window.Element.prototype.prepend,na=window.Element.prototype.append,
    -V=window.Element.prototype.before,oa=window.Element.prototype.after,pa=window.Element.prototype.replaceWith,qa=window.Element.prototype.remove,ra=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),sa=window.HTMLElement.prototype.insertAdjacentElement;function ta(){var b=X;window.HTMLElement=function(){function a(){var a=this.constructor,d=b.o.get(a);if(!d)throw Error("The custom element being constructed was not registered with `customElements`.");var e=d.constructionStack;if(!e.length)return e=H.call(document,d.localName),Object.setPrototypeOf(e,a.prototype),e.__CE_state=1,e.__CE_definition=d,y(b,e),e;var d=e.length-1,f=e[d];if(f===h)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
    -e[d]=h;Object.setPrototypeOf(f,a.prototype);y(b,f);return f}a.prototype=ra.prototype;return a}()};function Y(b,a,c){function d(a){return function(d){for(var c=[],e=0;e<arguments.length;++e)c[e-0]=arguments[e];for(var e=[],f=[],k=0;k<c.length;k++){var r=c[k];r instanceof Element&&p(r)&&f.push(r);if(r instanceof DocumentFragment)for(r=r.firstChild;r;r=r.nextSibling)e.push(r);else e.push(r)}a.apply(this,c);for(c=0;c<f.length;c++)B(b,f[c]);if(p(this))for(c=0;c<e.length;c++)f=e[c],f instanceof Element&&z(b,f)}}c.h&&(a.prepend=d(c.h));c.append&&(a.append=d(c.append))};function ua(){var b=X;u(Document.prototype,"createElement",function(a){if(this.__CE_hasRegistry){var c=b.a.get(a);if(c)return new c.constructor}a=H.call(this,a);y(b,a);return a});u(Document.prototype,"importNode",function(a,c){a=fa.call(this,a,c);this.__CE_hasRegistry?C(b,a):x(b,a);return a});u(Document.prototype,"createElementNS",function(a,c){if(this.__CE_hasRegistry&&(null===a||"http://www.w3.org/1999/xhtml"===a)){var d=b.a.get(c);if(d)return new d.constructor}a=ea.call(this,a,c);y(b,a);return a});
    -Y(b,Document.prototype,{h:ga,append:ha})};function va(){var b=X;function a(a,d){Object.defineProperty(a,"textContent",{enumerable:d.enumerable,configurable:!0,get:d.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)d.set.call(this,a);else{var c=void 0;if(this.firstChild){var e=this.childNodes,l=e.length;if(0<l&&p(this))for(var c=Array(l),g=0;g<l;g++)c[g]=e[g]}d.set.call(this,a);if(c)for(a=0;a<c.length;a++)B(b,c[a])}}})}u(Node.prototype,"insertBefore",function(a,d){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);
    -a=K.call(this,a,d);if(p(this))for(d=0;d<c.length;d++)z(b,c[d]);return a}c=p(a);d=K.call(this,a,d);c&&B(b,a);p(this)&&z(b,a);return d});u(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=J.call(this,a);if(p(this))for(var e=0;e<c.length;e++)z(b,c[e]);return a}c=p(a);e=J.call(this,a);c&&B(b,a);p(this)&&z(b,a);return e});u(Node.prototype,"cloneNode",function(a){a=I.call(this,a);this.ownerDocument.__CE_hasRegistry?C(b,a):x(b,a);
    -return a});u(Node.prototype,"removeChild",function(a){var c=p(a),e=L.call(this,a);c&&B(b,a);return e});u(Node.prototype,"replaceChild",function(a,d){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=M.call(this,a,d);if(p(this))for(B(b,d),d=0;d<e.length;d++)z(b,e[d]);return a}var e=p(a),c=M.call(this,a,d),m=p(this);m&&B(b,d);e&&B(b,a);m&&z(b,a);return c});N&&N.get?a(Node.prototype,N):w(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],b=
    -0;b<this.childNodes.length;b++)a.push(this.childNodes[b].textContent);return a.join("")},set:function(a){for(;this.firstChild;)L.call(this,this.firstChild);J.call(this,document.createTextNode(a))}})})};function wa(b){var a=Element.prototype;function c(a){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];for(var e=[],l=[],g=0;g<d.length;g++){var k=d[g];k instanceof Element&&p(k)&&l.push(k);if(k instanceof DocumentFragment)for(k=k.firstChild;k;k=k.nextSibling)e.push(k);else e.push(k)}a.apply(this,d);for(d=0;d<l.length;d++)B(b,l[d]);if(p(this))for(d=0;d<e.length;d++)l=e[d],l instanceof Element&&z(b,l)}}V&&(a.before=c(V));V&&(a.after=c(oa));pa&&u(a,"replaceWith",function(a){for(var d=
    -[],c=0;c<arguments.length;++c)d[c-0]=arguments[c];for(var c=[],m=[],l=0;l<d.length;l++){var g=d[l];g instanceof Element&&p(g)&&m.push(g);if(g instanceof DocumentFragment)for(g=g.firstChild;g;g=g.nextSibling)c.push(g);else c.push(g)}l=p(this);pa.apply(this,d);for(d=0;d<m.length;d++)B(b,m[d]);if(l)for(B(b,this),d=0;d<c.length;d++)m=c[d],m instanceof Element&&z(b,m)});qa&&u(a,"remove",function(){var a=p(this);qa.call(this);a&&B(b,this)})};function xa(){var b=X;function a(a,c){Object.defineProperty(a,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){var d=this,e=void 0;p(this)&&(e=[],t(this,function(a){a!==d&&e.push(a)}));c.set.call(this,a);if(e)for(var f=0;f<e.length;f++){var k=e[f];1===k.__CE_state&&b.disconnectedCallback(k)}this.ownerDocument.__CE_hasRegistry?C(b,this):x(b,this);return a}})}function c(a,c){u(a,"insertAdjacentElement",function(a,d){var e=p(d);a=c.call(this,a,d);e&&B(b,d);p(a)&&z(b,d);
    -return a})}O&&u(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=O.call(this,a)});P&&P.get?a(Element.prototype,P):W&&W.get?a(HTMLElement.prototype,W):w(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return I.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,d=b?this.content:this,c=H.call(document,this.localName);for(c.innerHTML=a;0<d.childNodes.length;)L.call(d,d.childNodes[0]);for(a=b?c.content:c;0<a.childNodes.length;)J.call(d,
    -a.childNodes[0])}})});u(Element.prototype,"setAttribute",function(a,c){if(1!==this.__CE_state)return R.call(this,a,c);var d=Q.call(this,a);R.call(this,a,c);c=Q.call(this,a);b.attributeChangedCallback(this,a,d,c,null)});u(Element.prototype,"setAttributeNS",function(a,c,f){if(1!==this.__CE_state)return U.call(this,a,c,f);var d=T.call(this,a,c);U.call(this,a,c,f);f=T.call(this,a,c);b.attributeChangedCallback(this,c,d,f,a)});u(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return S.call(this,
    -a);var c=Q.call(this,a);S.call(this,a);null!==c&&b.attributeChangedCallback(this,a,c,null,null)});u(Element.prototype,"removeAttributeNS",function(a,c){if(1!==this.__CE_state)return ka.call(this,a,c);var d=T.call(this,a,c);ka.call(this,a,c);var e=T.call(this,a,c);d!==e&&b.attributeChangedCallback(this,c,d,e,a)});sa?c(HTMLElement.prototype,sa):la?c(Element.prototype,la):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");Y(b,Element.prototype,{h:ma,append:na});wa(b)};/*
    -
    - Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
    - This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    - The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    - The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    - Code distributed by Google as part of the polymer project is also
    - subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
    -*/
    -var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new v;ta();ua();Y(X,DocumentFragment.prototype,{h:ia,append:ja});va();xa();document.__CE_hasRegistry=!0;var customElements=new G(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
    -}).call(self);
    -
    -//# sourceMappingURL=custom-elements.min.js.map
    diff --git a/site/dist/elements/codelab-elements/native-shim.js b/site/dist/elements/codelab-elements/native-shim.js
    deleted file mode 100755
    index 2011d29a6..000000000
    --- a/site/dist/elements/codelab-elements/native-shim.js
    +++ /dev/null
    @@ -1,164 +0,0 @@
    -/**
    - * @license
    - * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
    - * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
    - * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
    - * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
    - * Code distributed by Google as part of the polymer project is also
    - * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
    - */
    -
    -/**
    - * This shim allows elements written in, or compiled to, ES5 to work on native
    - * implementations of Custom Elements.
    - *
    - * ES5-style classes don't work with native Custom Elements because the
    - * HTMLElement constructor uses the value of `new.target` to look up the custom
    - * element definition for the currently called constructor. `new.target` is only
    - * set when `new` is called and is only propagated via super() calls. super()
    - * is not emulatable in ES5. The pattern of `SuperClass.call(this)`` only works
    - * when extending other ES5-style classes, and does not propagate `new.target`.
    - *
    - * This shim allows the native HTMLElement constructor to work by generating and
    - * registering a stand-in class instead of the users custom element class. This
    - * stand-in class's constructor has an actual call to super().
    - * `customElements.define()` and `customElements.get()` are both overridden to
    - * hide this stand-in class from users.
    - *
    - * In order to create instance of the user-defined class, rather than the stand
    - * in, the stand-in's constructor swizzles its instances prototype and invokes
    - * the user-defined constructor. When the user-defined constructor is called
    - * directly it creates an instance of the stand-in class to get a real extension
    - * of HTMLElement and returns that.
    - *
    - * There are two important constructors: A patched HTMLElement constructor, and
    - * the StandInElement constructor. They both will be called to create an element
    - * but which is called first depends on whether the browser creates the element
    - * or the user-defined constructor is called directly. The variables
    - * `browserConstruction` and `userConstruction` control the flow between the
    - * two constructors.
    - *
    - * This shim should be better than forcing the polyfill because:
    - *   1. It's smaller
    - *   2. All reaction timings are the same as native (mostly synchronous)
    - *   3. All reaction triggering DOM operations are automatically supported
    - *
    - * There are some restrictions and requirements on ES5 constructors:
    - *   1. All constructors in a inheritance hierarchy must be ES5-style, so that
    - *      they can be called with Function.call(). This effectively means that the
    - *      whole application must be compiled to ES5.
    - *   2. Constructors must return the value of the emulated super() call. Like
    - *      `return SuperClass.call(this)`
    - *   3. The `this` reference should not be used before the emulated super() call
    - *      just like `this` is illegal to use before super() in ES6.
    - *   4. Constructors should not create other custom elements before the emulated
    - *      super() call. This is the same restriction as with native custom
    - *      elements.
    - *
    - *  Compiling valid class-based custom elements to ES5 will satisfy these
    - *  requirements with the latest version of popular transpilers.
    - */
    -(() => {
    -  'use strict';
    -
    -  // Do nothing if `customElements` does not exist.
    -  if (!window.customElements) return;
    -
    -  const NativeHTMLElement = window.HTMLElement;
    -  const nativeDefine = window.customElements.define;
    -  const nativeGet = window.customElements.get;
    -
    -  /**
    -   * Map of user-provided constructors to tag names.
    -   *
    -   * @type {Map<Function, string>}
    -   */
    -  const tagnameByConstructor = new Map();
    -
    -  /**
    -   * Map of tag names to user-provided constructors.
    -   *
    -   * @type {Map<string, Function>}
    -   */
    -  const constructorByTagname = new Map();
    -
    -
    -  /**
    -   * Whether the constructors are being called by a browser process, ie parsing
    -   * or createElement.
    -   */
    -  let browserConstruction = false;
    -
    -  /**
    -   * Whether the constructors are being called by a user-space process, ie
    -   * calling an element constructor.
    -   */
    -  let userConstruction = false;
    -
    -  window.HTMLElement = function() {
    -    if (!browserConstruction) {
    -      const tagname = tagnameByConstructor.get(this.constructor);
    -      const fakeClass = nativeGet.call(window.customElements, tagname);
    -
    -      // Make sure that the fake constructor doesn't call back to this constructor
    -      userConstruction = true;
    -      const instance = new (fakeClass)();
    -      return instance;
    -    }
    -    // Else do nothing. This will be reached by ES5-style classes doing
    -    // HTMLElement.call() during initialization
    -    browserConstruction = false;
    -  };
    -  // By setting the patched HTMLElement's prototype property to the native
    -  // HTMLElement's prototype we make sure that:
    -  //     document.createElement('a') instanceof HTMLElement
    -  // works because instanceof uses HTMLElement.prototype, which is on the
    -  // ptototype chain of built-in elements.
    -  window.HTMLElement.prototype = NativeHTMLElement.prototype;
    -
    -  const define = (tagname, elementClass) => {
    -    const elementProto = elementClass.prototype;
    -    const StandInElement = class extends NativeHTMLElement {
    -      constructor() {
    -        // Call the native HTMLElement constructor, this gives us the
    -        // under-construction instance as `this`:
    -        super();
    -
    -        // The prototype will be wrong up because the browser used our fake
    -        // class, so fix it:
    -        Object.setPrototypeOf(this, elementProto);
    -
    -        if (!userConstruction) {
    -          // Make sure that user-defined constructor bottom's out to a do-nothing
    -          // HTMLElement() call
    -          browserConstruction = true;
    -          // Call the user-defined constructor on our instance:
    -          elementClass.call(this);
    -        }
    -        userConstruction = false;
    -      }
    -    };
    -    const standInProto = StandInElement.prototype;
    -    StandInElement.observedAttributes = elementClass.observedAttributes;
    -    standInProto.connectedCallback = elementProto.connectedCallback;
    -    standInProto.disconnectedCallback = elementProto.disconnectedCallback;
    -    standInProto.attributeChangedCallback = elementProto.attributeChangedCallback;
    -    standInProto.adoptedCallback = elementProto.adoptedCallback;
    -
    -    tagnameByConstructor.set(elementClass, tagname);
    -    constructorByTagname.set(tagname, elementClass);
    -    nativeDefine.call(window.customElements, tagname, StandInElement);
    -  };
    -
    -  const get = (tagname) => constructorByTagname.get(tagname);
    -
    -  // Workaround for Safari bug where patching customElements can be lost, likely
    -  // due to native wrapper garbage collection issue
    -  Object.defineProperty(window, 'customElements',
    -    {value: window.customElements, configurable: true, writable: true});
    -  Object.defineProperty(window.customElements, 'define',
    -    {value: define, configurable: true, writable: true});
    -  Object.defineProperty(window.customElements, 'get',
    -    {value: get, configurable: true, writable: true});
    -
    -})();
    diff --git a/site/dist/elements/codelab-elements/prettify.js b/site/dist/elements/codelab-elements/prettify.js
    deleted file mode 100755
    index 10c9fb73d..000000000
    --- a/site/dist/elements/codelab-elements/prettify.js
    +++ /dev/null
    @@ -1,1655 +0,0 @@
    -// Copyright (C) 2006 Google Inc.
    -//
    -// Licensed under the Apache License, Version 2.0 (the "License");
    -// you may not use this file except in compliance with the License.
    -// You may obtain a copy of the License at
    -//
    -//      http://www.apache.org/licenses/LICENSE-2.0
    -//
    -// Unless required by applicable law or agreed to in writing, software
    -// distributed under the License is distributed on an "AS IS" BASIS,
    -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    -// See the License for the specific language governing permissions and
    -// limitations under the License.
    -
    -
    -/**
    - * @fileoverview
    - * some functions for browser-side pretty printing of code contained in html.
    - *
    - * <p>
    - * For a fairly comprehensive set of languages see the
    - * <a href="http://google-code-prettify.googlecode.com/svn/trunk/README.html#langs">README</a>
    - * file that came with this source.  At a minimum, the lexer should work on a
    - * number of languages including C and friends, Java, Python, Bash, SQL, HTML,
    - * XML, CSS, Javascript, and Makefiles.  It works passably on Ruby, PHP and Awk
    - * and a subset of Perl, but, because of commenting conventions, doesn't work on
    - * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class.
    - * <p>
    - * Usage: <ol>
    - * <li> include this source file in an html page via
    - *   {@code <script type="text/javascript" src="/path/to/prettify.js"></script>}
    - * <li> define style rules.  See the example page for examples.
    - * <li> mark the {@code <pre>} and {@code <code>} tags in your source with
    - *    {@code class=prettyprint.}
    - *    You can also use the (html deprecated) {@code <xmp>} tag, but the pretty
    - *    printer needs to do more substantial DOM manipulations to support that, so
    - *    some css styles may not be preserved.
    - * </ol>
    - * That's it.  I wanted to keep the API as simple as possible, so there's no
    - * need to specify which language the code is in, but if you wish, you can add
    - * another class to the {@code <pre>} or {@code <code>} element to specify the
    - * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    - * starts with "lang-" followed by a file extension, specifies the file type.
    - * See the "lang-*.js" files in this directory for code that implements
    - * per-language file handlers.
    - * <p>
    - * Change log:<br>
    - * cbeust, 2006/08/22
    - * <blockquote>
    - *   Java annotations (start with "@") are now captured as literals ("lit")
    - * </blockquote>
    - * @requires console
    - */
    -
    -// JSLint declarations
    -/*global console, document, navigator, setTimeout, window, define */
    -
    -/** @define {boolean} */
    -var IN_GLOBAL_SCOPE = true;
    -
    -/**
    - * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    - * UI events.
    - * If set to {@code false}, {@code prettyPrint()} is synchronous.
    - */
    -window['PR_SHOULD_USE_CONTINUATION'] = true;
    -
    -/**
    - * Pretty print a chunk of code.
    - * @param {string} sourceCodeHtml The HTML to pretty print.
    - * @param {string} opt_langExtension The language name to use.
    - *     Typically, a filename extension like 'cpp' or 'java'.
    - * @param {number|boolean} opt_numberLines True to number lines,
    - *     or the 1-indexed number of the first line in sourceCodeHtml.
    - * @return {string} code as html, but prettier
    - */
    -var prettyPrintOne;
    -/**
    - * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    - * {@code class=prettyprint} and prettify them.
    - *
    - * @param {Function} opt_whenDone called when prettifying is done.
    - * @param {HTMLElement|HTMLDocument} opt_root an element or document
    - *   containing all the elements to pretty print.
    - *   Defaults to {@code document.body}.
    - */
    -var prettyPrint;
    -
    -
    -(function () {
    -  var win = window;
    -  // Keyword lists for various languages.
    -  // We use things that coerce to strings to make them compact when minified
    -  // and to defeat aggressive optimizers that fold large string constants.
    -  var FLOW_CONTROL_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
    -  var C_KEYWORDS = [FLOW_CONTROL_KEYWORDS,"auto,case,char,const,default," + 
    -      "double,enum,extern,float,goto,inline,int,long,register,short,signed," +
    -      "sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];
    -  var COMMON_KEYWORDS = [C_KEYWORDS,"catch,class,delete,false,import," +
    -      "new,operator,private,protected,public,this,throw,true,try,typeof"];
    -  var CPP_KEYWORDS = [COMMON_KEYWORDS,"alignof,align_union,asm,axiom,bool," +
    -      "concept,concept_map,const_cast,constexpr,decltype,delegate," +
    -      "dynamic_cast,explicit,export,friend,generic,late_check," +
    -      "mutable,namespace,nullptr,property,reinterpret_cast,static_assert," +
    -      "static_cast,template,typeid,typename,using,virtual,where"];
    -  var JAVA_KEYWORDS = [COMMON_KEYWORDS,
    -      "abstract,assert,boolean,byte,extends,final,finally,implements,import," +
    -      "instanceof,interface,null,native,package,strictfp,super,synchronized," +
    -      "throws,transient"];
    -  var CSHARP_KEYWORDS = [JAVA_KEYWORDS,
    -      "as,base,by,checked,decimal,delegate,descending,dynamic,event," +
    -      "fixed,foreach,from,group,implicit,in,internal,into,is,let," +
    -      "lock,object,out,override,orderby,params,partial,readonly,ref,sbyte," +
    -      "sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort," +
    -      "var,virtual,where"];
    -  var COFFEE_KEYWORDS = "all,and,by,catch,class,else,extends,false,finally," +
    -      "for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then," +
    -      "throw,true,try,unless,until,when,while,yes";
    -  var JSCRIPT_KEYWORDS = [COMMON_KEYWORDS,
    -      "debugger,eval,export,function,get,null,set,undefined,var,with," +
    -      "Infinity,NaN"];
    -  var PERL_KEYWORDS = "caller,delete,die,do,dump,elsif,eval,exit,foreach,for," +
    -      "goto,if,import,last,local,my,next,no,our,print,package,redo,require," +
    -      "sub,undef,unless,until,use,wantarray,while,BEGIN,END";
    -  var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "and,as,assert,class,def,del," +
    -      "elif,except,exec,finally,from,global,import,in,is,lambda," +
    -      "nonlocal,not,or,pass,print,raise,try,with,yield," +
    -      "False,True,None"];
    -  var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alias,and,begin,case,class," +
    -      "def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo," +
    -      "rescue,retry,self,super,then,true,undef,unless,until,when,yield," +
    -      "BEGIN,END"];
    -   var RUST_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "as,assert,const,copy,drop," +
    -      "enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv," +
    -      "pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"];
    -  var SH_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "case,done,elif,esac,eval,fi," +
    -      "function,in,local,set,then,until"];
    -  var ALL_KEYWORDS = [
    -      CPP_KEYWORDS, CSHARP_KEYWORDS, JSCRIPT_KEYWORDS, PERL_KEYWORDS,
    -      PYTHON_KEYWORDS, RUBY_KEYWORDS, SH_KEYWORDS];
    -  var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/;
    -
    -  // token style names.  correspond to css classes
    -  /**
    -   * token style for a string literal
    -   * @const
    -   */
    -  var PR_STRING = 'str';
    -  /**
    -   * token style for a keyword
    -   * @const
    -   */
    -  var PR_KEYWORD = 'kwd';
    -  /**
    -   * token style for a comment
    -   * @const
    -   */
    -  var PR_COMMENT = 'com';
    -  /**
    -   * token style for a type
    -   * @const
    -   */
    -  var PR_TYPE = 'typ';
    -  /**
    -   * token style for a literal value.  e.g. 1, null, true.
    -   * @const
    -   */
    -  var PR_LITERAL = 'lit';
    -  /**
    -   * token style for a punctuation string.
    -   * @const
    -   */
    -  var PR_PUNCTUATION = 'pun';
    -  /**
    -   * token style for plain text.
    -   * @const
    -   */
    -  var PR_PLAIN = 'pln';
    -
    -  /**
    -   * token style for an sgml tag.
    -   * @const
    -   */
    -  var PR_TAG = 'tag';
    -  /**
    -   * token style for a markup declaration such as a DOCTYPE.
    -   * @const
    -   */
    -  var PR_DECLARATION = 'dec';
    -  /**
    -   * token style for embedded source.
    -   * @const
    -   */
    -  var PR_SOURCE = 'src';
    -  /**
    -   * token style for an sgml attribute name.
    -   * @const
    -   */
    -  var PR_ATTRIB_NAME = 'atn';
    -  /**
    -   * token style for an sgml attribute value.
    -   * @const
    -   */
    -  var PR_ATTRIB_VALUE = 'atv';
    -
    -  /**
    -   * A class that indicates a section of markup that is not code, e.g. to allow
    -   * embedding of line numbers within code listings.
    -   * @const
    -   */
    -  var PR_NOCODE = 'nocode';
    -
    -  
    -  
    -  /**
    -   * A set of tokens that can precede a regular expression literal in
    -   * javascript
    -   * http://web.archive.org/web/20070717142515/http://www.mozilla.org/js/language/js20/rationale/syntax.html
    -   * has the full list, but I've removed ones that might be problematic when
    -   * seen in languages that don't support regular expression literals.
    -   *
    -   * <p>Specifically, I've removed any keywords that can't precede a regexp
    -   * literal in a syntactically legal javascript program, and I've removed the
    -   * "in" keyword since it's not a keyword in many languages, and might be used
    -   * as a count of inches.
    -   *
    -   * <p>The link above does not accurately describe EcmaScript rules since
    -   * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    -   * very well in practice.
    -   *
    -   * @private
    -   * @const
    -   */
    -  var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*';
    -  
    -  // CAVEAT: this does not properly handle the case where a regular
    -  // expression immediately follows another since a regular expression may
    -  // have flags for case-sensitivity and the like.  Having regexp tokens
    -  // adjacent is not valid in any language I'm aware of, so I'm punting.
    -  // TODO: maybe style special characters inside a regexp as punctuation.
    -
    -  /**
    -   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    -   * matches the union of the sets of strings matched by the input RegExp.
    -   * Since it matches globally, if the input strings have a start-of-input
    -   * anchor (/^.../), it is ignored for the purposes of unioning.
    -   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    -   * @return {RegExp} a global regex.
    -   */
    -  function combinePrefixPatterns(regexs) {
    -    var capturedGroupIndex = 0;
    -  
    -    var needToFoldCase = false;
    -    var ignoreCase = false;
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.ignoreCase) {
    -        ignoreCase = true;
    -      } else if (/[a-z]/i.test(regex.source.replace(
    -                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    -        needToFoldCase = true;
    -        ignoreCase = false;
    -        break;
    -      }
    -    }
    -  
    -    var escapeCharToCodeUnit = {
    -      'b': 8,
    -      't': 9,
    -      'n': 0xa,
    -      'v': 0xb,
    -      'f': 0xc,
    -      'r': 0xd
    -    };
    -  
    -    function decodeEscape(charsetPart) {
    -      var cc0 = charsetPart.charCodeAt(0);
    -      if (cc0 !== 92 /* \\ */) {
    -        return cc0;
    -      }
    -      var c1 = charsetPart.charAt(1);
    -      cc0 = escapeCharToCodeUnit[c1];
    -      if (cc0) {
    -        return cc0;
    -      } else if ('0' <= c1 && c1 <= '7') {
    -        return parseInt(charsetPart.substring(1), 8);
    -      } else if (c1 === 'u' || c1 === 'x') {
    -        return parseInt(charsetPart.substring(2), 16);
    -      } else {
    -        return charsetPart.charCodeAt(1);
    -      }
    -    }
    -  
    -    function encodeEscape(charCode) {
    -      if (charCode < 0x20) {
    -        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    -      }
    -      var ch = String.fromCharCode(charCode);
    -      return (ch === '\\' || ch === '-' || ch === ']' || ch === '^')
    -          ? "\\" + ch : ch;
    -    }
    -  
    -    function caseFoldCharset(charSet) {
    -      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    -          new RegExp(
    -              '\\\\u[0-9A-Fa-f]{4}'
    -              + '|\\\\x[0-9A-Fa-f]{2}'
    -              + '|\\\\[0-3][0-7]{0,2}'
    -              + '|\\\\[0-7]{1,2}'
    -              + '|\\\\[\\s\\S]'
    -              + '|-'
    -              + '|[^-\\\\]',
    -              'g'));
    -      var ranges = [];
    -      var inverse = charsetParts[0] === '^';
    -  
    -      var out = ['['];
    -      if (inverse) { out.push('^'); }
    -  
    -      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    -        var p = charsetParts[i];
    -        if (/\\[bdsw]/i.test(p)) {  // Don't muck with named groups.
    -          out.push(p);
    -        } else {
    -          var start = decodeEscape(p);
    -          var end;
    -          if (i + 2 < n && '-' === charsetParts[i + 1]) {
    -            end = decodeEscape(charsetParts[i + 2]);
    -            i += 2;
    -          } else {
    -            end = start;
    -          }
    -          ranges.push([start, end]);
    -          // If the range might intersect letters, then expand it.
    -          // This case handling is too simplistic.
    -          // It does not deal with non-latin case folding.
    -          // It works for latin source code identifiers though.
    -          if (!(end < 65 || start > 122)) {
    -            if (!(end < 65 || start > 90)) {
    -              ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    -            }
    -            if (!(end < 97 || start > 122)) {
    -              ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    -            }
    -          }
    -        }
    -      }
    -  
    -      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    -      // -> [[1, 12], [14, 14], [16, 17]]
    -      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    -      var consolidatedRanges = [];
    -      var lastRange = [];
    -      for (var i = 0; i < ranges.length; ++i) {
    -        var range = ranges[i];
    -        if (range[0] <= lastRange[1] + 1) {
    -          lastRange[1] = Math.max(lastRange[1], range[1]);
    -        } else {
    -          consolidatedRanges.push(lastRange = range);
    -        }
    -      }
    -  
    -      for (var i = 0; i < consolidatedRanges.length; ++i) {
    -        var range = consolidatedRanges[i];
    -        out.push(encodeEscape(range[0]));
    -        if (range[1] > range[0]) {
    -          if (range[1] + 1 > range[0]) { out.push('-'); }
    -          out.push(encodeEscape(range[1]));
    -        }
    -      }
    -      out.push(']');
    -      return out.join('');
    -    }
    -  
    -    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    -      // Split into character sets, escape sequences, punctuation strings
    -      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    -      // include any of the above.
    -      var parts = regex.source.match(
    -          new RegExp(
    -              '(?:'
    -              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    -              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    -              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    -              + '|\\\\[0-9]+'  // a back-reference or octal escape
    -              + '|\\\\[^ux0-9]'  // other escape sequence
    -              + '|\\(\\?[:!=]'  // start of a non-capturing group
    -              + '|[\\(\\)\\^]'  // start/end of a group, or line start
    -              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    -              + ')',
    -              'g'));
    -      var n = parts.length;
    -  
    -      // Maps captured group numbers to the number they will occupy in
    -      // the output or to -1 if that has not been determined, or to
    -      // undefined if they need not be capturing in the output.
    -      var capturedGroups = [];
    -  
    -      // Walk over and identify back references to build the capturedGroups
    -      // mapping.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          // groups are 1-indexed, so max group index is count of '('
    -          ++groupIndex;
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue) {
    -            if (decimalValue <= groupIndex) {
    -              capturedGroups[decimalValue] = -1;
    -            } else {
    -              // Replace with an unambiguous escape sequence so that
    -              // an octal escape sequence does not turn into a backreference
    -              // to a capturing group from an earlier regex.
    -              parts[i] = encodeEscape(decimalValue);
    -            }
    -          }
    -        }
    -      }
    -  
    -      // Renumber groups and reduce capturing groups to non-capturing groups
    -      // where possible.
    -      for (var i = 1; i < capturedGroups.length; ++i) {
    -        if (-1 === capturedGroups[i]) {
    -          capturedGroups[i] = ++capturedGroupIndex;
    -        }
    -      }
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          ++groupIndex;
    -          if (!capturedGroups[groupIndex]) {
    -            parts[i] = '(?:';
    -          }
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            parts[i] = '\\' + capturedGroups[decimalValue];
    -          }
    -        }
    -      }
    -  
    -      // Remove any prefix anchors so that the output will match anywhere.
    -      // ^^ really does mean an anchored match though.
    -      for (var i = 0; i < n; ++i) {
    -        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    -      }
    -  
    -      // Expand letters to groups to handle mixing of case-sensitive and
    -      // case-insensitive patterns if necessary.
    -      if (regex.ignoreCase && needToFoldCase) {
    -        for (var i = 0; i < n; ++i) {
    -          var p = parts[i];
    -          var ch0 = p.charAt(0);
    -          if (p.length >= 2 && ch0 === '[') {
    -            parts[i] = caseFoldCharset(p);
    -          } else if (ch0 !== '\\') {
    -            // TODO: handle letters in numeric escapes.
    -            parts[i] = p.replace(
    -                /[a-zA-Z]/g,
    -                function (ch) {
    -                  var cc = ch.charCodeAt(0);
    -                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    -                });
    -          }
    -        }
    -      }
    -  
    -      return parts.join('');
    -    }
    -  
    -    var rewritten = [];
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    -      rewritten.push(
    -          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    -    }
    -  
    -    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    -  }
    -
    -  /**
    -   * Split markup into a string of source code and an array mapping ranges in
    -   * that string to the text nodes in which they appear.
    -   *
    -   * <p>
    -   * The HTML DOM structure:</p>
    -   * <pre>
    -   * (Element   "p"
    -   *   (Element "b"
    -   *     (Text  "print "))       ; #1
    -   *   (Text    "'Hello '")      ; #2
    -   *   (Element "br")            ; #3
    -   *   (Text    "  + 'World';")) ; #4
    -   * </pre>
    -   * <p>
    -   * corresponds to the HTML
    -   * {@code <p><b>print </b>'Hello '<br>  + 'World';</p>}.</p>
    -   *
    -   * <p>
    -   * It will produce the output:</p>
    -   * <pre>
    -   * {
    -   *   sourceCode: "print 'Hello '\n  + 'World';",
    -   *   //                     1          2
    -   *   //           012345678901234 5678901234567
    -   *   spans: [0, #1, 6, #2, 14, #3, 15, #4]
    -   * }
    -   * </pre>
    -   * <p>
    -   * where #1 is a reference to the {@code "print "} text node above, and so
    -   * on for the other text nodes.
    -   * </p>
    -   *
    -   * <p>
    -   * The {@code} spans array is an array of pairs.  Even elements are the start
    -   * indices of substrings, and odd elements are the text nodes (or BR elements)
    -   * that contain the text for those substrings.
    -   * Substrings continue until the next index or the end of the source.
    -   * </p>
    -   *
    -   * @param {Node} node an HTML DOM subtree containing source-code.
    -   * @param {boolean} isPreformatted true if white-space in text nodes should
    -   *    be considered significant.
    -   * @return {Object} source code and the text nodes in which they occur.
    -   */
    -  function extractSourceSpans(node, isPreformatted) {
    -    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    -  
    -    var chunks = [];
    -    var length = 0;
    -    var spans = [];
    -    var k = 0;
    -  
    -    function walk(node) {
    -      var type = node.nodeType;
    -      if (type == 1) {  // Element
    -        if (nocode.test(node.className)) { return; }
    -        for (var child = node.firstChild; child; child = child.nextSibling) {
    -          walk(child);
    -        }
    -        var nodeName = node.nodeName.toLowerCase();
    -        if ('br' === nodeName || 'li' === nodeName) {
    -          chunks[k] = '\n';
    -          spans[k << 1] = length++;
    -          spans[(k++ << 1) | 1] = node;
    -        }
    -      } else if (type == 3 || type == 4) {  // Text
    -        var text = node.nodeValue;
    -        if (text.length) {
    -          if (!isPreformatted) {
    -            text = text.replace(/[ \t\r\n]+/g, ' ');
    -          } else {
    -            text = text.replace(/\r\n?/g, '\n');  // Normalize newlines.
    -          }
    -          // TODO: handle tabs here?
    -          chunks[k] = text;
    -          spans[k << 1] = length;
    -          length += text.length;
    -          spans[(k++ << 1) | 1] = node;
    -        }
    -      }
    -    }
    -  
    -    walk(node);
    -  
    -    return {
    -      sourceCode: chunks.join('').replace(/\n$/, ''),
    -      spans: spans
    -    };
    -  }
    -
    -  /**
    -   * Apply the given language handler to sourceCode and add the resulting
    -   * decorations to out.
    -   * @param {number} basePos the index of sourceCode within the chunk of source
    -   *    whose decorations are already present on out.
    -   */
    -  function appendDecorations(basePos, sourceCode, langHandler, out) {
    -    if (!sourceCode) { return; }
    -    var job = {
    -      sourceCode: sourceCode,
    -      basePos: basePos
    -    };
    -    langHandler(job);
    -    out.push.apply(out, job.decorations);
    -  }
    -
    -  var notWs = /\S/;
    -
    -  /**
    -   * Given an element, if it contains only one child element and any text nodes
    -   * it contains contain only space characters, return the sole child element.
    -   * Otherwise returns undefined.
    -   * <p>
    -   * This is meant to return the CODE element in {@code <pre><code ...>} when
    -   * there is a single child element that contains all the non-space textual
    -   * content, but not to return anything where there are multiple child elements
    -   * as in {@code <pre><code>...</code><code>...</code></pre>} or when there
    -   * is textual content.
    -   */
    -  function childContentWrapper(element) {
    -    var wrapper = undefined;
    -    for (var c = element.firstChild; c; c = c.nextSibling) {
    -      var type = c.nodeType;
    -      wrapper = (type === 1)  // Element Node
    -          ? (wrapper ? element : c)
    -          : (type === 3)  // Text Node
    -          ? (notWs.test(c.nodeValue) ? element : wrapper)
    -          : wrapper;
    -    }
    -    return wrapper === element ? undefined : wrapper;
    -  }
    -
    -  /** Given triples of [style, pattern, context] returns a lexing function,
    -    * The lexing function interprets the patterns to find token boundaries and
    -    * returns a decoration list of the form
    -    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    -    * where index_n is an index into the sourceCode, and style_n is a style
    -    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    -    * all characters in sourceCode[index_n-1:index_n].
    -    *
    -    * The stylePatterns is a list whose elements have the form
    -    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    -    *
    -    * Style is a style constant like PR_PLAIN, or can be a string of the
    -    * form 'lang-FOO', where FOO is a language extension describing the
    -    * language of the portion of the token in $1 after pattern executes.
    -    * E.g., if style is 'lang-lisp', and group 1 contains the text
    -    * '(hello (world))', then that portion of the token will be passed to the
    -    * registered lisp handler for formatting.
    -    * The text before and after group 1 will be restyled using this decorator
    -    * so decorators should take care that this doesn't result in infinite
    -    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    -    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    -    * '<script>foo()<\/script>', which would cause the current decorator to
    -    * be called with '<script>' which would not match the same rule since
    -    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    -    * the generic tag rule.  The handler registered for the 'js' extension would
    -    * then be called with 'foo()', and finally, the current decorator would
    -    * be called with '<\/script>' which would not match the original rule and
    -    * so the generic tag rule would identify it as a tag.
    -    *
    -    * Pattern must only match prefixes, and if it matches a prefix, then that
    -    * match is considered a token with the same style.
    -    *
    -    * Context is applied to the last non-whitespace, non-comment token
    -    * recognized.
    -    *
    -    * Shortcut is an optional string of characters, any of which, if the first
    -    * character, gurantee that this pattern and only this pattern matches.
    -    *
    -    * @param {Array} shortcutStylePatterns patterns that always start with
    -    *   a known character.  Must have a shortcut string.
    -    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    -    *   order if the shortcut ones fail.  May have shortcuts.
    -    *
    -    * @return {function (Object)} a
    -    *   function that takes source code and returns a list of decorations.
    -    */
    -  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    -    var shortcuts = {};
    -    var tokenizer;
    -    (function () {
    -      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    -      var allRegexs = [];
    -      var regexKeys = {};
    -      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    -        var patternParts = allPatterns[i];
    -        var shortcutChars = patternParts[3];
    -        if (shortcutChars) {
    -          for (var c = shortcutChars.length; --c >= 0;) {
    -            shortcuts[shortcutChars.charAt(c)] = patternParts;
    -          }
    -        }
    -        var regex = patternParts[1];
    -        var k = '' + regex;
    -        if (!regexKeys.hasOwnProperty(k)) {
    -          allRegexs.push(regex);
    -          regexKeys[k] = null;
    -        }
    -      }
    -      allRegexs.push(/[\0-\uffff]/);
    -      tokenizer = combinePrefixPatterns(allRegexs);
    -    })();
    -
    -    var nPatterns = fallthroughStylePatterns.length;
    -
    -    /**
    -     * Lexes job.sourceCode and produces an output array job.decorations of
    -     * style classes preceded by the position at which they start in
    -     * job.sourceCode in order.
    -     *
    -     * @param {Object} job an object like <pre>{
    -     *    sourceCode: {string} sourceText plain text,
    -     *    basePos: {int} position of job.sourceCode in the larger chunk of
    -     *        sourceCode.
    -     * }</pre>
    -     */
    -    var decorate = function (job) {
    -      var sourceCode = job.sourceCode, basePos = job.basePos;
    -      /** Even entries are positions in source in ascending order.  Odd enties
    -        * are style markers (e.g., PR_COMMENT) that run from that position until
    -        * the end.
    -        * @type {Array.<number|string>}
    -        */
    -      var decorations = [basePos, PR_PLAIN];
    -      var pos = 0;  // index into sourceCode
    -      var tokens = sourceCode.match(tokenizer) || [];
    -      var styleCache = {};
    -
    -      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    -        var token = tokens[ti];
    -        var style = styleCache[token];
    -        var match = void 0;
    -
    -        var isEmbedded;
    -        if (typeof style === 'string') {
    -          isEmbedded = false;
    -        } else {
    -          var patternParts = shortcuts[token.charAt(0)];
    -          if (patternParts) {
    -            match = token.match(patternParts[1]);
    -            style = patternParts[0];
    -          } else {
    -            for (var i = 0; i < nPatterns; ++i) {
    -              patternParts = fallthroughStylePatterns[i];
    -              match = token.match(patternParts[1]);
    -              if (match) {
    -                style = patternParts[0];
    -                break;
    -              }
    -            }
    -
    -            if (!match) {  // make sure that we make progress
    -              style = PR_PLAIN;
    -            }
    -          }
    -
    -          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    -          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    -            isEmbedded = false;
    -            style = PR_SOURCE;
    -          }
    -
    -          if (!isEmbedded) { styleCache[token] = style; }
    -        }
    -
    -        var tokenStart = pos;
    -        pos += token.length;
    -
    -        if (!isEmbedded) {
    -          decorations.push(basePos + tokenStart, style);
    -        } else {  // Treat group 1 as an embedded block of source code.
    -          var embeddedSource = match[1];
    -          var embeddedSourceStart = token.indexOf(embeddedSource);
    -          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    -          if (match[2]) {
    -            // If embeddedSource can be blank, then it would match at the
    -            // beginning which would cause us to infinitely recurse on the
    -            // entire token, so we catch the right context in match[2].
    -            embeddedSourceEnd = token.length - match[2].length;
    -            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    -          }
    -          var lang = style.substring(5);
    -          // Decorate the left of the embedded source
    -          appendDecorations(
    -              basePos + tokenStart,
    -              token.substring(0, embeddedSourceStart),
    -              decorate, decorations);
    -          // Decorate the embedded source
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceStart,
    -              embeddedSource,
    -              langHandlerForExtension(lang, embeddedSource),
    -              decorations);
    -          // Decorate the right of the embedded section
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceEnd,
    -              token.substring(embeddedSourceEnd),
    -              decorate, decorations);
    -        }
    -      }
    -      job.decorations = decorations;
    -    };
    -    return decorate;
    -  }
    -
    -  /** returns a function that produces a list of decorations from source text.
    -    *
    -    * This code treats ", ', and ` as string delimiters, and \ as a string
    -    * escape.  It does not recognize perl's qq() style strings.
    -    * It has no special handling for double delimiter escapes as in basic, or
    -    * the tripled delimiters used in python, but should work on those regardless
    -    * although in those cases a single string literal may be broken up into
    -    * multiple adjacent string literals.
    -    *
    -    * It recognizes C, C++, and shell style comments.
    -    *
    -    * @param {Object} options a set of optional parameters.
    -    * @return {function (Object)} a function that examines the source code
    -    *     in the input job and builds the decoration list.
    -    */
    -  function sourceDecorator(options) {
    -    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    -    if (options['tripleQuotedStrings']) {
    -      // '''multi-line-string''', 'single-line-string', and double-quoted
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    -           null, '\'"']);
    -    } else if (options['multiLineStrings']) {
    -      // 'multi-line-string', "multi-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    -           null, '\'"`']);
    -    } else {
    -      // 'single-line-string', "single-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,
    -           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    -           null, '"\'']);
    -    }
    -    if (options['verbatimStrings']) {
    -      // verbatim-string-literal production from the C# grammar.  See issue 93.
    -      fallthroughStylePatterns.push(
    -          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    -    }
    -    var hc = options['hashComments'];
    -    if (hc) {
    -      if (options['cStyleComments']) {
    -        if (hc > 1) {  // multiline hash comments
    -          shortcutStylePatterns.push(
    -              [PR_COMMENT, /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, '#']);
    -        } else {
    -          // Stop C preprocessor declarations at an unclosed open comment
    -          shortcutStylePatterns.push(
    -              [PR_COMMENT, /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/,
    -               null, '#']);
    -        }
    -        // #include <stdio.h>
    -        fallthroughStylePatterns.push(
    -            [PR_STRING,
    -             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,
    -             null]);
    -      } else {
    -        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    -      }
    -    }
    -    if (options['cStyleComments']) {
    -      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    -      fallthroughStylePatterns.push(
    -          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    -    }
    -    var regexLiterals = options['regexLiterals'];
    -    if (regexLiterals) {
    -      /**
    -       * @const
    -       */
    -      var regexExcls = regexLiterals > 1
    -        ? ''  // Multiline regex literals
    -        : '\n\r';
    -      /**
    -       * @const
    -       */
    -      var regexAny = regexExcls ? '.' : '[\\S\\s]';
    -      /**
    -       * @const
    -       */
    -      var REGEX_LITERAL = (
    -          // A regular expression literal starts with a slash that is
    -          // not followed by * or / so that it is not confused with
    -          // comments.
    -          '/(?=[^/*' + regexExcls + '])'
    -          // and then contains any number of raw characters,
    -          + '(?:[^/\\x5B\\x5C' + regexExcls + ']'
    -          // escape sequences (\x5C),
    -          +    '|\\x5C' + regexAny
    -          // or non-nesting character sets (\x5B\x5D);
    -          +    '|\\x5B(?:[^\\x5C\\x5D' + regexExcls + ']'
    -          +             '|\\x5C' + regexAny + ')*(?:\\x5D|$))+'
    -          // finally closed by a /.
    -          + '/');
    -      fallthroughStylePatterns.push(
    -          ['lang-regex',
    -           RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    -           ]);
    -    }
    -
    -    var types = options['types'];
    -    if (types) {
    -      fallthroughStylePatterns.push([PR_TYPE, types]);
    -    }
    -
    -    var keywords = ("" + options['keywords']).replace(/^ | $/g, '');
    -    if (keywords.length) {
    -      fallthroughStylePatterns.push(
    -          [PR_KEYWORD,
    -           new RegExp('^(?:' + keywords.replace(/[\s,]+/g, '|') + ')\\b'),
    -           null]);
    -    }
    -
    -    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    -
    -    var punctuation =
    -      // The Bash man page says
    -
    -      // A word is a sequence of characters considered as a single
    -      // unit by GRUB. Words are separated by metacharacters,
    -      // which are the following plus space, tab, and newline: { }
    -      // | & $ ; < >
    -      // ...
    -      
    -      // A word beginning with # causes that word and all remaining
    -      // characters on that line to be ignored.
    -
    -      // which means that only a '#' after /(?:^|[{}|&$;<>\s])/ starts a
    -      // comment but empirically
    -      // $ echo {#}
    -      // {#}
    -      // $ echo \$#
    -      // $#
    -      // $ echo }#
    -      // }#
    -
    -      // so /(?:^|[|&;<>\s])/ is more appropriate.
    -
    -      // http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC3
    -      // suggests that this definition is compatible with a
    -      // default mode that tries to use a single token definition
    -      // to recognize both bash/python style comments and C
    -      // preprocessor directives.
    -
    -      // This definition of punctuation does not include # in the list of
    -      // follow-on exclusions, so # will not be broken before if preceeded
    -      // by a punctuation character.  We could try to exclude # after
    -      // [|&;<>] but that doesn't seem to cause many major problems.
    -      // If that does turn out to be a problem, we should change the below
    -      // when hc is truthy to include # in the run of punctuation characters
    -      // only when not followint [|&;<>].
    -      '^.[^\\s\\w.$@\'"`/\\\\]*';
    -    if (options['regexLiterals']) {
    -      punctuation += '(?!\s*\/)';
    -    }
    -
    -    fallthroughStylePatterns.push(
    -        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    -        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_TYPE,        /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null],
    -        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_LITERAL,
    -         new RegExp(
    -             '^(?:'
    -             // A hex number
    -             + '0x[a-f0-9]+'
    -             // or an octal or decimal number,
    -             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    -             // possibly in scientific notation
    -             + '(?:e[+\\-]?\\d+)?'
    -             + ')'
    -             // with an optional modifier like UL for unsigned long
    -             + '[a-z]*', 'i'),
    -         null, '0123456789'],
    -        // Don't treat escaped quotes in bash as starting strings.
    -        // See issue 144.
    -        [PR_PLAIN,       /^\\[\s\S]?/, null],
    -        [PR_PUNCTUATION, new RegExp(punctuation), null]);
    -
    -    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    -  }
    -
    -  var decorateSource = sourceDecorator({
    -        'keywords': ALL_KEYWORDS,
    -        'hashComments': true,
    -        'cStyleComments': true,
    -        'multiLineStrings': true,
    -        'regexLiterals': true
    -      });
    -
    -  /**
    -   * Given a DOM subtree, wraps it in a list, and puts each line into its own
    -   * list item.
    -   *
    -   * @param {Node} node modified in place.  Its content is pulled into an
    -   *     HTMLOListElement, and each line is moved into a separate list item.
    -   *     This requires cloning elements, so the input might not have unique
    -   *     IDs after numbering.
    -   * @param {boolean} isPreformatted true iff white-space in text nodes should
    -   *     be treated as significant.
    -   */
    -  function numberLines(node, opt_startLineNum, isPreformatted) {
    -    var nocode = /(?:^|\s)nocode(?:\s|$)/;
    -    var lineBreak = /\r\n?|\n/;
    -  
    -    var document = node.ownerDocument;
    -  
    -    var li = document.createElement('li');
    -    while (node.firstChild) {
    -      li.appendChild(node.firstChild);
    -    }
    -    // An array of lines.  We split below, so this is initialized to one
    -    // un-split line.
    -    var listItems = [li];
    -  
    -    function walk(node) {
    -      var type = node.nodeType;
    -      if (type == 1 && !nocode.test(node.className)) {  // Element
    -        if ('br' === node.nodeName) {
    -          breakAfter(node);
    -          // Discard the <BR> since it is now flush against a </LI>.
    -          if (node.parentNode) {
    -            node.parentNode.removeChild(node);
    -          }
    -        } else {
    -          for (var child = node.firstChild; child; child = child.nextSibling) {
    -            walk(child);
    -          }
    -        }
    -      } else if ((type == 3 || type == 4) && isPreformatted) {  // Text
    -        var text = node.nodeValue;
    -        var match = text.match(lineBreak);
    -        if (match) {
    -          var firstLine = text.substring(0, match.index);
    -          node.nodeValue = firstLine;
    -          var tail = text.substring(match.index + match[0].length);
    -          if (tail) {
    -            var parent = node.parentNode;
    -            parent.insertBefore(
    -              document.createTextNode(tail), node.nextSibling);
    -          }
    -          breakAfter(node);
    -          if (!firstLine) {
    -            // Don't leave blank text nodes in the DOM.
    -            node.parentNode.removeChild(node);
    -          }
    -        }
    -      }
    -    }
    -  
    -    // Split a line after the given node.
    -    function breakAfter(lineEndNode) {
    -      // If there's nothing to the right, then we can skip ending the line
    -      // here, and move root-wards since splitting just before an end-tag
    -      // would require us to create a bunch of empty copies.
    -      while (!lineEndNode.nextSibling) {
    -        lineEndNode = lineEndNode.parentNode;
    -        if (!lineEndNode) { return; }
    -      }
    -  
    -      function breakLeftOf(limit, copy) {
    -        // Clone shallowly if this node needs to be on both sides of the break.
    -        var rightSide = copy ? limit.cloneNode(false) : limit;
    -        var parent = limit.parentNode;
    -        if (parent) {
    -          // We clone the parent chain.
    -          // This helps us resurrect important styling elements that cross lines.
    -          // E.g. in <i>Foo<br>Bar</i>
    -          // should be rewritten to <li><i>Foo</i></li><li><i>Bar</i></li>.
    -          var parentClone = breakLeftOf(parent, 1);
    -          // Move the clone and everything to the right of the original
    -          // onto the cloned parent.
    -          var next = limit.nextSibling;
    -          parentClone.appendChild(rightSide);
    -          for (var sibling = next; sibling; sibling = next) {
    -            next = sibling.nextSibling;
    -            parentClone.appendChild(sibling);
    -          }
    -        }
    -        return rightSide;
    -      }
    -  
    -      var copiedListItem = breakLeftOf(lineEndNode.nextSibling, 0);
    -  
    -      // Walk the parent chain until we reach an unattached LI.
    -      for (var parent;
    -           // Check nodeType since IE invents document fragments.
    -           (parent = copiedListItem.parentNode) && parent.nodeType === 1;) {
    -        copiedListItem = parent;
    -      }
    -      // Put it on the list of lines for later processing.
    -      listItems.push(copiedListItem);
    -    }
    -  
    -    // Split lines while there are lines left to split.
    -    for (var i = 0;  // Number of lines that have been split so far.
    -         i < listItems.length;  // length updated by breakAfter calls.
    -         ++i) {
    -      walk(listItems[i]);
    -    }
    -  
    -    // Make sure numeric indices show correctly.
    -    if (opt_startLineNum === (opt_startLineNum|0)) {
    -      listItems[0].setAttribute('value', opt_startLineNum);
    -    }
    -  
    -    var ol = document.createElement('ol');
    -    ol.className = 'linenums';
    -    var offset = Math.max(0, ((opt_startLineNum - 1 /* zero index */)) | 0) || 0;
    -    for (var i = 0, n = listItems.length; i < n; ++i) {
    -      li = listItems[i];
    -      // Stick a class on the LIs so that stylesheets can
    -      // color odd/even rows, or any other row pattern that
    -      // is co-prime with 10.
    -      li.className = 'L' + ((i + offset) % 10);
    -      if (!li.firstChild) {
    -        li.appendChild(document.createTextNode('\xA0'));
    -      }
    -      ol.appendChild(li);
    -    }
    -  
    -    node.appendChild(ol);
    -  }
    -  /**
    -   * Breaks {@code job.sourceCode} around style boundaries in
    -   * {@code job.decorations} and modifies {@code job.sourceNode} in place.
    -   * @param {Object} job like <pre>{
    -   *    sourceCode: {string} source as plain text,
    -   *    sourceNode: {HTMLElement} the element containing the source,
    -   *    spans: {Array.<number|Node>} alternating span start indices into source
    -   *       and the text node or element (e.g. {@code <BR>}) corresponding to that
    -   *       span.
    -   *    decorations: {Array.<number|string} an array of style classes preceded
    -   *       by the position at which they start in job.sourceCode in order
    -   * }</pre>
    -   * @private
    -   */
    -  function recombineTagsAndDecorations(job) {
    -    var isIE8OrEarlier = /\bMSIE\s(\d+)/.exec(navigator.userAgent);
    -    isIE8OrEarlier = isIE8OrEarlier && +isIE8OrEarlier[1] <= 8;
    -    var newlineRe = /\n/g;
    -  
    -    var source = job.sourceCode;
    -    var sourceLength = source.length;
    -    // Index into source after the last code-unit recombined.
    -    var sourceIndex = 0;
    -  
    -    var spans = job.spans;
    -    var nSpans = spans.length;
    -    // Index into spans after the last span which ends at or before sourceIndex.
    -    var spanIndex = 0;
    -  
    -    var decorations = job.decorations;
    -    var nDecorations = decorations.length;
    -    // Index into decorations after the last decoration which ends at or before
    -    // sourceIndex.
    -    var decorationIndex = 0;
    -  
    -    // Remove all zero-length decorations.
    -    decorations[nDecorations] = sourceLength;
    -    var decPos, i;
    -    for (i = decPos = 0; i < nDecorations;) {
    -      if (decorations[i] !== decorations[i + 2]) {
    -        decorations[decPos++] = decorations[i++];
    -        decorations[decPos++] = decorations[i++];
    -      } else {
    -        i += 2;
    -      }
    -    }
    -    nDecorations = decPos;
    -  
    -    // Simplify decorations.
    -    for (i = decPos = 0; i < nDecorations;) {
    -      var startPos = decorations[i];
    -      // Conflate all adjacent decorations that use the same style.
    -      var startDec = decorations[i + 1];
    -      var end = i + 2;
    -      while (end + 2 <= nDecorations && decorations[end + 1] === startDec) {
    -        end += 2;
    -      }
    -      decorations[decPos++] = startPos;
    -      decorations[decPos++] = startDec;
    -      i = end;
    -    }
    -  
    -    nDecorations = decorations.length = decPos;
    -  
    -    var sourceNode = job.sourceNode;
    -    var oldDisplay;
    -    if (sourceNode) {
    -      oldDisplay = sourceNode.style.display;
    -      sourceNode.style.display = 'none';
    -    }
    -    try {
    -      var decoration = null;
    -      while (spanIndex < nSpans) {
    -        var spanStart = spans[spanIndex];
    -        var spanEnd = spans[spanIndex + 2] || sourceLength;
    -  
    -        var decEnd = decorations[decorationIndex + 2] || sourceLength;
    -  
    -        var end = Math.min(spanEnd, decEnd);
    -  
    -        var textNode = spans[spanIndex + 1];
    -        var styledText;
    -        if (textNode.nodeType !== 1  // Don't muck with <BR>s or <LI>s
    -            // Don't introduce spans around empty text nodes.
    -            && (styledText = source.substring(sourceIndex, end))) {
    -          // This may seem bizarre, and it is.  Emitting LF on IE causes the
    -          // code to display with spaces instead of line breaks.
    -          // Emitting Windows standard issue linebreaks (CRLF) causes a blank
    -          // space to appear at the beginning of every line but the first.
    -          // Emitting an old Mac OS 9 line separator makes everything spiffy.
    -          if (isIE8OrEarlier) {
    -            styledText = styledText.replace(newlineRe, '\r');
    -          }
    -          textNode.nodeValue = styledText;
    -          var document = textNode.ownerDocument;
    -          var span = document.createElement('span');
    -          span.className = decorations[decorationIndex + 1];
    -          var parentNode = textNode.parentNode;
    -          parentNode.replaceChild(span, textNode);
    -          span.appendChild(textNode);
    -          if (sourceIndex < spanEnd) {  // Split off a text node.
    -            spans[spanIndex + 1] = textNode
    -                // TODO: Possibly optimize by using '' if there's no flicker.
    -                = document.createTextNode(source.substring(end, spanEnd));
    -            parentNode.insertBefore(textNode, span.nextSibling);
    -          }
    -        }
    -  
    -        sourceIndex = end;
    -  
    -        if (sourceIndex >= spanEnd) {
    -          spanIndex += 2;
    -        }
    -        if (sourceIndex >= decEnd) {
    -          decorationIndex += 2;
    -        }
    -      }
    -    } finally {
    -      if (sourceNode) {
    -        sourceNode.style.display = oldDisplay;
    -      }
    -    }
    -  }
    -
    -  /** Maps language-specific file extensions to handlers. */
    -  var langHandlerRegistry = {};
    -  /** Register a language handler for the given file extensions.
    -    * @param {function (Object)} handler a function from source code to a list
    -    *      of decorations.  Takes a single argument job which describes the
    -    *      state of the computation.   The single parameter has the form
    -    *      {@code {
    -    *        sourceCode: {string} as plain text.
    -    *        decorations: {Array.<number|string>} an array of style classes
    -    *                     preceded by the position at which they start in
    -    *                     job.sourceCode in order.
    -    *                     The language handler should assigned this field.
    -    *        basePos: {int} the position of source in the larger source chunk.
    -    *                 All positions in the output decorations array are relative
    -    *                 to the larger source chunk.
    -    *      } }
    -    * @param {Array.<string>} fileExtensions
    -    */
    -  function registerLangHandler(handler, fileExtensions) {
    -    for (var i = fileExtensions.length; --i >= 0;) {
    -      var ext = fileExtensions[i];
    -      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    -        langHandlerRegistry[ext] = handler;
    -      } else if (win['console']) {
    -        console['warn']('cannot override language handler %s', ext);
    -      }
    -    }
    -  }
    -  function langHandlerForExtension(extension, source) {
    -    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    -      // Treat it as markup if the first non whitespace character is a < and
    -      // the last non-whitespace character is a >.
    -      extension = /^\s*</.test(source)
    -          ? 'default-markup'
    -          : 'default-code';
    -    }
    -    return langHandlerRegistry[extension];
    -  }
    -  registerLangHandler(decorateSource, ['default-code']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [],
    -          [
    -           [PR_PLAIN,       /^[^<?]+/],
    -           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    -           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    -           // Unescaped content in an unknown language
    -           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    -           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    -           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    -           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    -           // Unescaped content in javascript.  (Or possibly vbscript).
    -           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    -           // Contains unescaped stylesheet content
    -           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    -           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    -          ]),
    -      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [
    -           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    -           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    -           ],
    -          [
    -           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    -           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    -           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    -           [PR_PUNCTUATION,  /^[=<>\/]+/],
    -           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    -           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    -           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    -           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    -           ]),
    -      ['in.tag']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CPP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'types': C_TYPES
    -        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': 'null,true,false'
    -        }), ['json']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CSHARP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'verbatimStrings': true,
    -          'types': C_TYPES
    -        }), ['cs']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JAVA_KEYWORDS,
    -          'cStyleComments': true
    -        }), ['java']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': SH_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true
    -        }), ['bash', 'bsh', 'csh', 'sh']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PYTHON_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'tripleQuotedStrings': true
    -        }), ['cv', 'py', 'python']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PERL_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': 2  // multiline regex literals
    -        }), ['perl', 'pl', 'pm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUBY_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['rb', 'ruby']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JSCRIPT_KEYWORDS,
    -          'cStyleComments': true,
    -          'regexLiterals': true
    -        }), ['javascript', 'js']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': COFFEE_KEYWORDS,
    -          'hashComments': 3,  // ### style block comments
    -          'cStyleComments': true,
    -          'multilineStrings': true,
    -          'tripleQuotedStrings': true,
    -          'regexLiterals': true
    -        }), ['coffee']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUST_KEYWORDS,
    -          'cStyleComments': true,
    -          'multilineStrings': true
    -        }), ['rc', 'rs', 'rust']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    -
    -  function applyDecorator(job) {
    -    var opt_langExtension = job.langExtension;
    -
    -    try {
    -      // Extract tags, and convert the source code to plain text.
    -      var sourceAndSpans = extractSourceSpans(job.sourceNode, job.pre);
    -      /** Plain text. @type {string} */
    -      var source = sourceAndSpans.sourceCode;
    -      job.sourceCode = source;
    -      job.spans = sourceAndSpans.spans;
    -      job.basePos = 0;
    -
    -      // Apply the appropriate language handler
    -      langHandlerForExtension(opt_langExtension, source)(job);
    -
    -      // Integrate the decorations and tags back into the source code,
    -      // modifying the sourceNode in place.
    -      recombineTagsAndDecorations(job);
    -    } catch (e) {
    -      if (win['console']) {
    -        console['log'](e && e['stack'] || e);
    -      }
    -    }
    -  }
    -
    -  /**
    -   * Pretty print a chunk of code.
    -   * @param sourceCodeHtml {string} The HTML to pretty print.
    -   * @param opt_langExtension {string} The language name to use.
    -   *     Typically, a filename extension like 'cpp' or 'java'.
    -   * @param opt_numberLines {number|boolean} True to number lines,
    -   *     or the 1-indexed number of the first line in sourceCodeHtml.
    -   */
    -  function $prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
    -    var container = document.createElement('div');
    -    // This could cause images to load and onload listeners to fire.
    -    // E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
    -    // We assume that the inner HTML is from a trusted source.
    -    // The pre-tag is required for IE8 which strips newlines from innerHTML
    -    // when it is injected into a <pre> tag.
    -    // http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie
    -    // http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript
    -    container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>';
    -    container = container.firstChild;
    -    if (opt_numberLines) {
    -      numberLines(container, opt_numberLines, true);
    -    }
    -
    -    var job = {
    -      langExtension: opt_langExtension,
    -      numberLines: opt_numberLines,
    -      sourceNode: container,
    -      pre: 1
    -    };
    -    applyDecorator(job);
    -    return container.innerHTML;
    -  }
    -
    -   /**
    -    * Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    -    * {@code class=prettyprint} and prettify them.
    -    *
    -    * @param {Function} opt_whenDone called when prettifying is done.
    -    * @param {HTMLElement|HTMLDocument} opt_root an element or document
    -    *   containing all the elements to pretty print.
    -    *   Defaults to {@code document.body}.
    -    */
    -  function $prettyPrint(opt_whenDone, opt_root) {
    -    var root = opt_root || document.body;
    -    var doc = root.ownerDocument || document;
    -    function byTagName(tn) { return root.getElementsByTagName(tn); }
    -    // fetch a list of nodes to rewrite
    -    var codeSegments = [byTagName('pre'), byTagName('code'), byTagName('xmp')];
    -    var elements = [];
    -    for (var i = 0; i < codeSegments.length; ++i) {
    -      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    -        elements.push(codeSegments[i][j]);
    -      }
    -    }
    -    codeSegments = null;
    -
    -    var clock = Date;
    -    if (!clock['now']) {
    -      clock = { 'now': function () { return +(new Date); } };
    -    }
    -
    -    // The loop is broken into a series of continuations to make sure that we
    -    // don't make the browser unresponsive when rewriting a large page.
    -    var k = 0;
    -    var prettyPrintingJob;
    -
    -    var langExtensionRe = /\blang(?:uage)?-([\w.]+)(?!\S)/;
    -    var prettyPrintRe = /\bprettyprint\b/;
    -    var prettyPrintedRe = /\bprettyprinted\b/;
    -    var preformattedTagNameRe = /pre|xmp/i;
    -    var codeRe = /^code$/i;
    -    var preCodeXmpRe = /^(?:pre|code|xmp)$/i;
    -    var EMPTY = {};
    -
    -    function doWork() {
    -      var endTime = (win['PR_SHOULD_USE_CONTINUATION'] ?
    -                     clock['now']() + 250 /* ms */ :
    -                     Infinity);
    -      for (; k < elements.length && clock['now']() < endTime; k++) {
    -        var cs = elements[k];
    -
    -        // Look for a preceding comment like
    -        // <?prettify lang="..." linenums="..."?>
    -        var attrs = EMPTY;
    -        {
    -          for (var preceder = cs; (preceder = preceder.previousSibling);) {
    -            var nt = preceder.nodeType;
    -            // <?foo?> is parsed by HTML 5 to a comment node (8)
    -            // like <!--?foo?-->, but in XML is a processing instruction
    -            var value = (nt === 7 || nt === 8) && preceder.nodeValue;
    -            if (value
    -                ? !/^\??prettify\b/.test(value)
    -                : (nt !== 3 || /\S/.test(preceder.nodeValue))) {
    -              // Skip over white-space text nodes but not others.
    -              break;
    -            }
    -            if (value) {
    -              attrs = {};
    -              value.replace(
    -                  /\b(\w+)=([\w:.%+-]+)/g,
    -                function (_, name, value) { attrs[name] = value; });
    -              break;
    -            }
    -          }
    -        }
    -
    -        var className = cs.className;
    -        if ((attrs !== EMPTY || prettyPrintRe.test(className))
    -            // Don't redo this if we've already done it.
    -            // This allows recalling pretty print to just prettyprint elements
    -            // that have been added to the page since last call.
    -            && !prettyPrintedRe.test(className)) {
    -
    -          // make sure this is not nested in an already prettified element
    -          var nested = false;
    -          for (var p = cs.parentNode; p; p = p.parentNode) {
    -            var tn = p.tagName;
    -            if (preCodeXmpRe.test(tn)
    -                && p.className && prettyPrintRe.test(p.className)) {
    -              nested = true;
    -              break;
    -            }
    -          }
    -          if (!nested) {
    -            // Mark done.  If we fail to prettyprint for whatever reason,
    -            // we shouldn't try again.
    -            cs.className += ' prettyprinted';
    -
    -            // If the classes includes a language extensions, use it.
    -            // Language extensions can be specified like
    -            //     <pre class="prettyprint lang-cpp">
    -            // the language extension "cpp" is used to find a language handler
    -            // as passed to PR.registerLangHandler.
    -            // HTML5 recommends that a language be specified using "language-"
    -            // as the prefix instead.  Google Code Prettify supports both.
    -            // http://dev.w3.org/html5/spec-author-view/the-code-element.html
    -            var langExtension = attrs['lang'];
    -            if (!langExtension) {
    -              langExtension = className.match(langExtensionRe);
    -              // Support <pre class="prettyprint"><code class="language-c">
    -              var wrapper;
    -              if (!langExtension && (wrapper = childContentWrapper(cs))
    -                  && codeRe.test(wrapper.tagName)) {
    -                langExtension = wrapper.className.match(langExtensionRe);
    -              }
    -
    -              if (langExtension) { langExtension = langExtension[1]; }
    -            }
    -
    -            var preformatted;
    -            if (preformattedTagNameRe.test(cs.tagName)) {
    -              preformatted = 1;
    -            } else {
    -              var currentStyle = cs['currentStyle'];
    -              var defaultView = doc.defaultView;
    -              var whitespace = (
    -                  currentStyle
    -                  ? currentStyle['whiteSpace']
    -                  : (defaultView
    -                     && defaultView.getComputedStyle)
    -                  ? defaultView.getComputedStyle(cs, null)
    -                  .getPropertyValue('white-space')
    -                  : 0);
    -              preformatted = whitespace
    -                  && 'pre' === whitespace.substring(0, 3);
    -            }
    -
    -            // Look for a class like linenums or linenums:<n> where <n> is the
    -            // 1-indexed number of the first line.
    -            var lineNums = attrs['linenums'];
    -            if (!(lineNums = lineNums === 'true' || +lineNums)) {
    -              lineNums = className.match(/\blinenums\b(?::(\d+))?/);
    -              lineNums =
    -                lineNums
    -                ? lineNums[1] && lineNums[1].length
    -                  ? +lineNums[1] : true
    -                : false;
    -            }
    -            if (lineNums) { numberLines(cs, lineNums, preformatted); }
    -
    -            // do the pretty printing
    -            prettyPrintingJob = {
    -              langExtension: langExtension,
    -              sourceNode: cs,
    -              numberLines: lineNums,
    -              pre: preformatted
    -            };
    -            applyDecorator(prettyPrintingJob);
    -          }
    -        }
    -      }
    -      if (k < elements.length) {
    -        // finish up in a continuation
    -        setTimeout(doWork, 250);
    -      } else if ('function' === typeof opt_whenDone) {
    -        opt_whenDone();
    -      }
    -    }
    -
    -    doWork();
    -  }
    -
    -  /**
    -   * Contains functions for creating and registering new language handlers.
    -   * @type {Object}
    -   */
    -  var PR = win['PR'] = {
    -        'createSimpleLexer': createSimpleLexer,
    -        'registerLangHandler': registerLangHandler,
    -        'sourceDecorator': sourceDecorator,
    -        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    -        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    -        'PR_COMMENT': PR_COMMENT,
    -        'PR_DECLARATION': PR_DECLARATION,
    -        'PR_KEYWORD': PR_KEYWORD,
    -        'PR_LITERAL': PR_LITERAL,
    -        'PR_NOCODE': PR_NOCODE,
    -        'PR_PLAIN': PR_PLAIN,
    -        'PR_PUNCTUATION': PR_PUNCTUATION,
    -        'PR_SOURCE': PR_SOURCE,
    -        'PR_STRING': PR_STRING,
    -        'PR_TAG': PR_TAG,
    -        'PR_TYPE': PR_TYPE,
    -        'prettyPrintOne':
    -           IN_GLOBAL_SCOPE
    -             ? (win['prettyPrintOne'] = $prettyPrintOne)
    -             : (prettyPrintOne = $prettyPrintOne),
    -        'prettyPrint': prettyPrint =
    -           IN_GLOBAL_SCOPE
    -             ? (win['prettyPrint'] = $prettyPrint)
    -             : (prettyPrint = $prettyPrint)
    -      };
    -
    -  // Make PR available via the Asynchronous Module Definition (AMD) API.
    -  // Per https://github.com/amdjs/amdjs-api/wiki/AMD:
    -  // The Asynchronous Module Definition (AMD) API specifies a
    -  // mechanism for defining modules such that the module and its
    -  // dependencies can be asynchronously loaded.
    -  // ...
    -  // To allow a clear indicator that a global define function (as
    -  // needed for script src browser loading) conforms to the AMD API,
    -  // any global define function SHOULD have a property called "amd"
    -  // whose value is an object. This helps avoid conflict with any
    -  // other existing JavaScript code that could have defined a define()
    -  // function that does not conform to the AMD API.
    -  if (typeof define === "function" && define['amd']) {
    -    define("google-code-prettify", [], function () {
    -      return PR; 
    -    });
    -  }
    -})();
    diff --git a/site/dist/elements/codelab.html b/site/dist/elements/codelab.html
    deleted file mode 100644
    index 31833b405..000000000
    --- a/site/dist/elements/codelab.html
    +++ /dev/null
    @@ -1,625 +0,0 @@
    -<html><head><meta charset="UTF-8"></head><body><div hidden="" by-vulcanize="">
    -<dom-module id="iron-localstorage" assetpath="../bower_components/iron-localstorage/"></dom-module>
    -<dom-module id="paper-ripple" assetpath="../bower_components/paper-ripple/">
    -<template>
    -<style>
    -:host{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}:host([animating]){-webkit-transform:translate(0);transform:translateZ(0)}#background,#waves,.wave,.wave-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}#background,.wave{opacity:0}#waves,.wave{overflow:hidden}.wave,.wave-container,:host(.circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflow:hidden} </style>
    -<div id="background"></div>
    -<div id="waves"></div>
    -</template>
    -</dom-module>
    -<style is="custom-style">
    -:root{--dark-disabled-opacity:0.38;--dark-divider-opacity:0.12;--dark-primary-opacity:0.87;--dark-secondary-opacity:0.54;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--light-disabled-opacity:0.3;--light-divider-opacity:0.12;--light-primary-opacity:1.0;--light-secondary-opacity:0.7;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-50:#fff8e1;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-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-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-50:#e3f2fd;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--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-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-50:#eceff1;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-50:#efebe9;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-50:#e0f7fa;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-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-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-50:#e8f5e9;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-grey-100:#f5f5f5;--paper-grey-200:#eee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-50:#fafafa;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-50:#e8eaf6;--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-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-50:#e1f5fe;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-50:#f1f8e9;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-50:#f9fbe7;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-50:#fff3e0;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-50:#fce4ec;--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:#f50057;--paper-pink-a700:#c51162;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-50:#f3e5f5;--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:#a0f;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-50:#ffebee;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-50:#e0f2f1;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-50:#fffde7;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ff0;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600}</style><style is="custom-style">
    -:root{--accent-color:var(--paper-pink-a200);--dark-accent-color:var(--paper-pink-a400);--dark-primary-color:var(--paper-indigo-700);--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#fff;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--dark-theme-secondary-color:#bcbcbc;--dark-theme-text-color:#fff;--default-primary-color:var(--primary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--light-accent-color:var(--paper-pink-a100);--light-primary-color:var(--paper-indigo-100);--light-theme-background-color:#fff;--light-theme-base-color:#000;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--light-theme-secondary-color:#737373;--light-theme-text-color:var(--paper-grey-900);--primary-background-color:var(--light-theme-background-color);--primary-color:var(--paper-indigo-500);--primary-text-color:var(--light-theme-text-color);--secondary-text-color:var(--light-theme-secondary-color);--text-primary-color:var(--dark-theme-text-color)}</style>
    -<style>
    -[hidden]{display:none!important}</style><style is="custom-style">
    -:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:flex};--layout-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row};--layout-horizontal-reverse:{@apply(--layout);-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column};--layout-vertical-reverse:{@apply(--layout);-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse};--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-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:none;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0.000000001px;-ms-flex-preferred-size:0.000000001px;-webkit-flex:1;-webkit-flex-basis:0.000000001px;flex:1;flex-basis:0.000000001px};--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};--layout-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-start};--layout-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-end};--layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline};--layout-start-justified:{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start};--layout-center-justified:{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center};--layout-end-justified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between};--layout-center-center:{@apply(--layout-center);@apply(--layout-center-justified)};--layout-self-start:{-ms-align-self:flex-start;-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start};--layout-self-center:{-ms-align-self:center;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center};--layout-self-end:{-ms-align-self:flex-end;-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end};--layout-self-stretch:{-ms-align-self:stretch;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch};--layout-self-baseline:{-ms-align-self:baseline;-ms-flex-item-align:baseline;-webkit-align-self:baseline;align-self:baseline};--layout-start-aligned:{-ms-align-content:flex-start;-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start};--layout-end-aligned:{-ms-align-content:flex-end;-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end};--layout-center-aligned:{-ms-align-content:center;-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center};--layout-between-aligned:{-ms-align-content:space-between;-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between};--layout-around-aligned:{-ms-align-content:space-around;-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around};--layout-block:{display:block};--layout-invisible:{visibility:hidden!important};--layout-relative:{position:relative};--layout-fit:{bottom:0;left:0;position:absolute;right:0;top:0};--layout-scroll:{-webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed:{height:100vh;margin:0};--layout-fixed-top:{left:0;position:fixed;right:0;top:0};--layout-fixed-right:{bottom:0;position:fixed;right:0;top:0};--layout-fixed-bottom:{bottom:0;left:0;position:fixed;right:0};--layout-fixed-left:{bottom:0;left:0;position:fixed;top:0};}</style><dom-module id="paper-radio-button" assetpath="../bower_components/paper-radio-button/">
    -<template strip-whitespace="">
    -<style>
    -:host{--calculated-paper-radio-button-ink-size:var(--paper-radio-button-ink-size,-1px);--calculated-paper-radio-button-size:var(--paper-radio-button-size,16px);cursor:pointer;display:inline-block;line-height:0;white-space:nowrap;@apply(--paper-font-common-base)}:host(:focus){outline:none}#radioContainer{@apply(--layout-inline);@apply(--layout-center-center);height:var(--calculated-paper-radio-button-size);position:relative;vertical-align:middle;width:var(--calculated-paper-radio-button-size)}#ink{-webkit-transform:translate(-50%,-50%);color:var(--paper-radio-button-unchecked-ink-color,--primary-text-color);height:var(--calculated-paper-radio-button-ink-size);left:50%;opacity:.6;pointer-events:none;position:absolute;right:auto;top:50%;transform:translate(-50%,-50%);width:var(--calculated-paper-radio-button-ink-size)}#ink[checked]{color:var(--paper-radio-button-checked-ink-color,--primary-color)}#offRadio,#onRadio{border-radius:50%;box-sizing:border-box;height:100%;left:0;position:absolute;top:0;width:100%}#offRadio{background-color:var(--paper-radio-button-unchecked-background-color,transparent);border:2px solid var(--paper-radio-button-unchecked-color,--primary-text-color);transition:border-color .28s}#onRadio{-webkit-transform:scale(0);background-color:var(--paper-radio-button-checked-color,--primary-color);transform:scale(0);transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;will-change:transform}:host([checked]) #offRadio{border-color:var(--paper-radio-button-checked-color,--primary-color)}:host([checked]) #onRadio{-webkit-transform:scale(.5);transform:scale(.5)}#radioLabel{color:var(--paper-radio-button-label-color,--primary-text-color);display:inline-block;line-height:normal;margin-left:var(--paper-radio-button-label-spacing,10px);position:relative;vertical-align:middle;white-space:normal}:host-context([dir=rtl]) #radioLabel{margin-left:0;margin-right:var(--paper-radio-button-label-spacing,10px)}#radioLabel[hidden]{display:none}:host([disabled]) #offRadio{border-color:var(--paper-radio-button-unchecked-color,--primary-text-color);opacity:.5}:host([disabled][checked]) #onRadio{background-color:var(--paper-radio-button-unchecked-color,--primary-text-color);opacity:.5}:host([disabled]) #radioLabel{opacity:.65} </style>
    -<div id="radioContainer">
    -<div id="offRadio"></div>
    -<div id="onRadio"></div>
    -</div>
    -<div id="radioLabel"><content></content></div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-radio-group" assetpath="../bower_components/paper-radio-group/">
    -<template>
    -<style>
    -:host{display:inline-block}:host ::content>*{padding:var(--paper-radio-group-item-padding,12px)} </style>
    -<content id="items" select="*"></content>
    -</template>
    -</dom-module>
    -<dom-module id="shared-style" assetpath="../bower_components/google-codelab-elements/">
    -<template>
    -<style>
    -:root{--paper-radio-button-checked-color:#185abc;--paper-radio-button-checked-ink-color:#185abc;--paper-radio-button-unchecked-color:#185abc} </style>
    -</template>
    -</dom-module>
    -<dom-module id="google-codelab-survey" assetpath="../bower_components/google-codelab-elements/">
    -<template strip-whitespace="">
    -<style include="shared-style">
    -:host{background:var(--google-codelab-survey-background,#e8f0fe);border-left:var(--google-codelab-survey-border,4px solid #185abc);border-radius:4px;color:#3c4043;display:block;margin:2em 0;padding:0}.survey>::content h4{font-size:16px;font-weight:500;margin:0;padding:.8em .6em 0 20px}.survey>::content paper-radio-group{padding:.4em 0 1.1em 30px}.survey>::content paper-radio-button{display:block;padding:4px 0} </style>
    -<iron-localstorage name="{{_storageKey(surveyId)}}" value="{{answers}}" on-iron-localstorage-load-empty="_initAnswers" on-iron-localstorage-load="_storageLoaded">
    -</iron-localstorage>
    -<div class="survey"><content></content></div>
    -</template>
    -</dom-module>
    -<dom-module id="step-style" assetpath="../bower_components/google-codelab-elements/">
    -<template>
    -<style>
    -:host{display:block;line-height:24px}#title{font-family:Google Sans,Arial,sans-serif;font-size:28px;font-weight:400;line-height:1em;margin:0 0 30px}:host-context(google-codelab:not([theme=minimal])) .instructions{background:var(--google-codelab-step-background,#fff);border-radius:4px;box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);font-size:14px;margin:0 auto 32px;max-width:800px}.instructions .inner{padding:24px}:host-context(google-codelab[theme=minimal]) .instructions .inner{padding:0 24px}@media (max-width:800px){.instructions{margin:0 0 16px}}:host-context(google-codelab:not([theme=minimal])) .instructions ::content a,:host-context(google-codelab:not([theme=minimal])) .instructions ::content a:visited{color:var(--google-codelab-step-link-color,--google-material-blue-600)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2,:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3,:host-context(google-codelab:not([theme=minimal])) .instructions ::content h4{font-weight:400;margin:0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2{font-size:22px;font-weight:300;line-height:1em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content{line-height:24px}:host-context(google-codelab:not([theme=minimal])) .instructions ::content li{margin:.5em 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h2{font-size:20px;font-weight:500;margin:1.5em 0 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3{font-weight:500;margin:20px 0 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside{border-left:4px solid;border-radius:4px;margin:2em 0;padding:.5em 1em}:host-context(google-codelab:not([theme=minimal])) :host-context(google-codelab:not([theme=minimal])) .instructions ::content aside p{margin:.5em 0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.note,:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.notice{background:#fef7e0;border-color:#ea8600;color:var(--google-material-grey-900);@apply(--google-codelab-step-note)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.special,:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.tip{background:#e6f4ea;border-color:#137333;color:var(--google-material-grey-900);@apply(--google-codelab-step-tip)}:host-context(google-codelab:not([theme=minimal])) .instructions ::content aside.warning{background:#fef7e0;border-color:#ea8600;color:var(--google-material-grey-900);@apply(--google-codelab-step-warn)}.instructions ::content aside.callout{background-color:#e8f0fe;border-left:3px solid var(--google-material-blue-800);border-radius:4px;color:var(--google-material-grey-900);font-size:14px;line-height:1.5;margin:20px 0;padding:15px;@apply(--google-codelab-step-callout)}.instructions ::content aside.callout b{color:var(--google-material-blue-800)}.instructions ::content ul.checklist{list-style:none;padding:0 0 0 1em}.instructions ::content ul.checklist li{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAWlBMVEUAAAAxokwwoks1pFAxokwxokwxokwxokwxokwnnkQnnkQnnkRou3y84cTS69cxokwonkQxokwnnkRqvH1VsmtluXlVsmsnnkRdtnLw+PIxokwqn0YinEAfmj3goh/UAAAAGnRSTlMA2CcEo+6AQT7+2IOBJxPl27alhoBnX15SCCe258UAAAB+SURBVEjH7dA5EoAgEERR3BcQ923Q+1/T0SqKlNbMouP3gxkRFvZpyQb64VSQT4mOcYc8mU5DnqIG8zXoozj4d34tML+YrET8XBFx4e2F4oAL4N7J3EUB/EfSUwD/zG3hvFdROu9XtL31vgXguQA9F6DnAvM8WbOHpkXYD3cBBCcPjtASYjwAAAAASUVORK5CYII=");background-repeat:no-repeat;background-size:20px;padding-left:24px}.instructions ::content h2 code,.instructions ::content table code{background:#fff}.instructions ::content .indented{margin-left:40px}.instructions ::content strong{font-weight:600}.instructions ::content paper-button{border-radius:4px;color:#fff;font-family:Google Sans,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding:6px 16px 6px 12px;text-transform:none}.instructions ::content paper-button a{color:inherit!important;text-decoration:none}.instructions ::content a paper-button{display:inline-block}.instructions ::content paper-button.colored{background-color:var(--google-material-green-600)}.instructions ::content paper-button.red{background-color:#d93025}.instructions ::content iron-icon{max-height:16px;max-width:16px;padding-right:8px}.instructions ::content img{max-width:100%;vertical-align:bottom;width:100%}.instructions ::content table{border-spacing:0}.instructions ::content td{border-bottom:1px solid #ccc;padding:8px;vertical-align:top}.instructions ::content table p{margin:0}:host-context(google-codelab:not([theme=minimal])) .instructions ::content h3.faq{border-bottom:1px solid #ddd}:host-context(google-codelab:not([theme=minimal])) .instructions ::content ul.faq{list-style:none;padding-left:1em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq li{font-size:1.1em;margin-bottom:.8em}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq a{color:inherit;text-decoration:none}:host-context(google-codelab:not([theme=minimal])) .instructions ::content .faq a:hover{text-decoration:underline}.instructions ::content .faq a[href*="cloud.google.com"]{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:20px;padding-left:22px}.instructions ::content .faq a[href*="stackoverflow.com"]{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:24px;padding-left:22px}.instructions ::content .faq a[href*="support.google.com/webmasters/"]{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAolBMVEUAAADW1tbW1tZ6enrQ0dJ6enrMzMzq6+zq6+x6enru7+/m5+ju7+/m5+j////S09REi/XW1tbm5+ju7+9PT0/Q0dK8vLxGjfVZWVlNTU16enrMzMzIyMj09PS/0uuSkpJpaWmbm5tim/e0tLSEhIStx+3e3+GsrKxwcHBZk/dPk/R1p/KPtu/U3eqmpqZlZWVfmO5woeqHreWvwN6nu9qLi4vZSE73AAAADnRSTlMAEcxmzO7MzDMz7u6IiHn/rpYAAALMSURBVHja7dXpjtowFIZhUkqZlSV1ncQdEsK+zD7T+7+1xjTiwxVOAmeORyP5+2UspPchEtDy8/Pz8/Pz8/M7cZeduHKdyxbL0FfVAMUraHdUHUB12i22tZWqBRSDgKFfC4CApV8PgIClXw/gE6hyTd/lAR7gAV8fEHwbWtc/ul/WfQ8IfQKAIECfCoCA3sdq+nQB+nQABIQ+CQABtY9Z+lQB+gwACBj6AFAE6DM9AL0fAalPB/yGgNAfntwHAAJKnwCAwNLneQAAVAvM/ttzVLlB4z2/A6AFVoDRf43IfewVgGKNAG/Uvrl39BsCXqh9cy8nA/51tmk63+jDZp6m9wTA4DzANiyW6lOqTxAMHAD22XASReuwpKDvELCNookBGJwx9E8B3OvsQp8e9GmOviNANA/Dh4k+TApBukHfFSBa7/I7whqf3xWA/gOAoU8DDJwBCHk+wIAw9CsAPw/W++CFB/MAD/hCgL59PXPS8toRYKHEndkTauEQIIUQ0hToG2eAXOicKdBXmSPAo9CTpkDo5U4Ad6IEGILy0gFgFJctCACIh/yATABwIChvVyE3IBR7AAQAiOmIGZADAMEBQMkRL+AJAAgOALGUI07AQgBgCPb3uRbwAaYAGAIAZlIL2AA5AIYAgJXUAjaAAsAQADCWO4EjAAQGQAvYAUsDsDQAeuwAMZvu89PZ/jZhBmQCi2dl60+MPiMAf8UgZEUpK/LoJ4oX0C9LIIyF0U8yXkBPVCzRWzIDZjX9sWQG9Kv7ScYN6KnKfizZAf2qfpLzA3p5RV9JboDeytp/kk4Ao5WtP+UFQKCO9sdTSQQ03+OR/kxKdgAWZv/11VI6AWBmP5HSNQD5zwQknwxIqIBu468hBgDqNYCuFXBDASSNAbdWQHB1PiBpDLgOWtZdXPEDri/QswjYAOjbF9x0OQHd26Dl5+fn5+fn5+dn7i/3LEaKJNV/0wAAAABJRU5ErkJggg==");background-repeat:no-repeat;background-size:24px;padding-left:24px}.instructions ::content .faq a[href*="developer.android.com"],.instructions ::content .faq a[href*=android-developer]{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAMAAADVRocKAAAAq1BMVEX///+lyjmfxyGhyCqkyjakyTP+/vuiyS7z+OWlyjKgxyTX57ChyCfa6bTx9uLy9+Sz0l6szk/D24Tt9NrN4ZnK4JSiyCyexh34+/D6/PTp8dPh7cjf7L7k78vc6rnW5qzU5ajS5KPP4p+21GWnzD3F3Yi813Kx0ViqzUWexhr8/vjv9d7Z6LKy0lyZxADh7cLA2n2rzkr1+erJ35C61m6uz1KcxRHn8M6/2XgEePWtAAACr0lEQVRo3u3Z2XKiQBiG4Y9ebNO2aCCyzOC+7zH7/V/ZRJZQZaJpWnKS4TlJUItXbX4pFJXK71DTusvccI6z5oMSAutdhDP2uzpK4CxwxsRBGYJdA19qLAOU4s4LkyUN7G4Ude2glmzuRihHKDqAPZhNuJRKSckms37rvctrKMnG728l5cxKMU7JuCF7KEvf87h1gnu0iXK4B2p9Sc3dUgZNMusMLvu42r20LiBXT8JMWRepN1xlGu+fK8/6xFPxwsvH697/eP/j7uDTOvB+dxwX/AaM2SQ+6icrYHDyGmgfWE3irNeCqTaPAwcArydroboAbuMAb8NQRNJn20SYtHK8HaKZzoffhZl5tlNxsD5PsnUQ2b9jwwnO35WvRo3lN/o2TDwKS5M3gokF0w2wZxgIlpY2FpgsgdQPkLXJQar0A/LVIDB6Idp2GxQQrJI/rbq2Voijlc5S9LZs8uYCqBVyXLTZhLW/fSn3hDMmZAQ05I020gT2PmeM+w4uGpLksFs+oEEtbaqJVnpUkz4uyebf6xQK0CY6XjoSC1xQ9/PPr4KB52zuvTrOa5EssC0auM0C0tYKtI0DqgpUgSpQBapAFfifAj90Tn5YZoGnooH8eutB56KDDosGhlTrYiTyk0epVdFAKJLn9rLHRSNfcE4tF0UDcAXlXPhDfGPtjGejEMUDCEdPY8eFHoOADvPAxiDQLBBQkUHAJfoB34UBS/9CfAETe6lZYKZft/QIFe94vicRy7tcvKOkB0PhYOo4zlNWYNvjpjOdZwU+O24OQlynK62EGCF2J9IbpIsy/P0I3CHW+Qj8qQJVoAr8VOCx3EB+YvDSwIDmXzaW4oZZseU6Lfr5aaAUPT8uyPuT33VeIpRkI5RHyRQfHEKFUj2UJuh1GjaQsxudKECl8jv8A6GtQkKSkMLrAAAAAElFTkSuQmCC");background-repeat:no-repeat;background-size:20px;padding-left:20px}.instructions ::content h3>a[href*=github],.instructions ::content h3>a[href*=github]:visited{background-image:url("data:image/png;base64,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");background-repeat:no-repeat;background-size:18px;color:#000;padding-left:24px;text-decoration:none} </style>
    -</template>
    -</dom-module>
    -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Code+Pro">
    -<dom-module id="syntax-style" assetpath="../bower_components/google-codelab-elements/">
    -<template>
    -<style>
    -::content code,::content pre{border-radius:4px;font-family:Source Code Pro,Helvetica,Arial;font-size:inherit;overflow-x:auto;@apply(--google-codelab-step-code)}::content code{background-color:#e8eaed;padding:.1em .3em}::content pre{-webkit-text-size-adjust:none;background-color:#28323f;color:#fff;display:block;line-height:1.4;padding:14px}::content pre>code{background-color:transparent;padding:0}::content code em{color:#97c8f2}::content code .str,::content pre .str{color:#34a853}::content code .kwd,::content pre .kwd{color:#f538a0}::content code .com,::content pre .com{color:#bdc1c6;font-style:italic}::content code .typ,::content pre .typ{color:#24c1e0}::content code .lit,::content pre .lit{color:#4285f4}::content code .pln,::content code .pun,::content pre .pln,::content pre .pun{color:#f8f9fa}::content code .tag,::content pre .tag{color:#24c1e0}::content code .atn,::content pre .atn{color:#eda912}::content code .atv,::content pre .atv{color:#34a853}::content code .dec,::content pre .dec{color:#5195ea} </style>
    -</template>
    -</dom-module>
    -<script src="../bower_components/google-prettify/src/prettify.js"></script><dom-module id="google-codelab-step" assetpath="../bower_components/google-codelab-elements/">
    -<template strip-whitespace="">
    -<style include="shared-style"></style>
    -<style include="step-style"></style>
    -<style include="syntax-style"></style>
    -<div class="instructions">
    -<div class="inner">
    -<h2 id="title"><span>{{step}}</span>. <span>{{label}}</span></h2>
    -<content></content>
    -</div>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="iron-icon" assetpath="../bower_components/iron-icon/">
    -<template>
    -<style>
    -:host{@apply(--layout-inline);@apply(--layout-center-center);fill:var(--iron-icon-fill-color,currentcolor);height:var(--iron-icon-height,24px);position:relative;stroke:var(--iron-icon-stroke-color,none);vertical-align:middle;width:var(--iron-icon-width,24px);@apply(--iron-icon)} </style>
    -</template>
    -</dom-module>
    -<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.05 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.15-.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-.14.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-.55.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"><circle 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-7H4zm6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></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-2v-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.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z"></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"></path></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 9h2V6h3V4h-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.13 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.52 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.43C10.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.29L1.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.86 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g>
    -<g id="alarm-on"><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.47L8.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.95-.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.57 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.5V19h1c.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.63L7.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="announcement"><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 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-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-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    -<g id="arrow-drop-down-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 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.59L12 20l8-8z"></path></g>
    -<g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.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 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g>
    -<g id="assessment"><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-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-4H7V7h10v2z"></path></g>
    -<g id="assignment-ind"><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 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="assignment-turned-in"><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-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 10H17v2H9.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.5S5.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 14 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.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="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.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.55 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 12c0 4.42-3.58 8-8 8z"></path></g>
    -<g id="book"><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="bookmark"><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="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 .34.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-2h4v2z"></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.5l9.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"></path></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-5s2.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.75L8 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-.89 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.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="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-5H4V4h16v6z"></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"></path></g>
    -<g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 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.41L10 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 12s4.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"></path></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.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.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 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.96zM17 13l-5 5-5-5h3V9h4v4h3z"></path></g>
    -<g id="cloud-off"><path d="M19.35 10.04C18.67 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 6c3.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 18H6c-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 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.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 4s1.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 18H5V4h2v3h10V4h2v16z"></path></g>
    -<g id="copyright"><path d="M10.08 10.86c.05-.33.16-.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.36S8 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 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="create"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.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.99.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-3v3h-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-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g>
    -<g id="dashboard"><path d="M3 13h8V3H3v10zm0 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-2v2H8V2H6v2H5c-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="delete-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="description"><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.2L4.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.41 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-9v7.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-2V7h2v6z"></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="euro-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.3l-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"></path></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.1s.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 12s4.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.5S21.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.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.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 10c.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"><path 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-2h2v2zm0-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-4v2zM3 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-.4l-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.02-.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.34-3 3z"></path></g>
    -<g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46L12 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="fingerprint"><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 14 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.01-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.12zM14.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-.64-.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"></path></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.21 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.28L5.15 8.95l-.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g>
    -<g id="flight-takeoff"><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 id="flip-to-back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g>
    -<g id="flip-to-front"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-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="folder"><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-2V8c0-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-2zm0 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 2v1z"></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 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g>
    -<g id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-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.68c.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.93l1.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-7zM5 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-1zm10 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g>
    -<g id="grade"><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.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 .88-.36 1.68-.93 2.25z"></path></g>
    -<g id="help-outline"><path d="M11 18h2v-2h-2v2zm1-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.03-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"><path 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.99h-.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 0H14V15h1.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-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="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-.97 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 2H19c1.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.99V5H19v10z"></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"></path></g>
    -<g id="info"><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-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-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 8zM11 9h2V7h-2v2z"></path></g>
    -<g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 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.58c2.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 2H4.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-8H5.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 14c.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-.26 2h-3.38z"></path></g>
    -<g id="last-page"><path d="M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"></path></g>
    -<g id="launch"><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="lightbulb-outline"><path 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="line-style"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 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-2H3v2zm0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g>
    -<g id="link"><path 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.9H7c-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="list"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 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 2v10c0 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 2h12c1.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 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.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-.59l7-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.5S4.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.81 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="markunread"><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-mailbox"><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-2H3v2zm0-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 2H5c-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.82zM19 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="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.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.99V5H19v10zm-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"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm5 16H7v-2h10v2zm-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="opacity"><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 8zM6 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-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.07-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.21.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-device-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.9V17c0-.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-4zm0 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 3v10l3-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.89-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-8v6h8V7zm2-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"><path 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-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g>
    -<g id="polymer"><path 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.17l-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="query-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 2v20z"></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.69c.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.63c2.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.69.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.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.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="redo"><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.99 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 11v2h10v-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-shopping-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"></path></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.73 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-2V7h2v6z"></path></g>
    -<g id="report-problem"><path d="M1 21h22L12 2 1 21zm12-3h-2v-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-2V8l-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.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="rounded-corner"><path d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13h2v-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-2zm6 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-3s1.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-13H11v6l5.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.01 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-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></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-.03-.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.46c-.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-.98l2.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"></path></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-2V5c0-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-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.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="settings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-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.59 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-brightness"><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-2v2zm4 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-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 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.62 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z"></path></g>
    -<g id="settings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 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-11S18.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.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-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.02z"></path></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 9v2h2V9h-2z"></path></g>
    -<g id="settings-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-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 1h6c.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.41C15.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 0z"></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-2v2zm4 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-2h4v2h-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"></path></g>
    -<g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></path></g>
    -<g id="speaker-notes"><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-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g>
    -<g id="speaker-notes-off"><path 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.09L9.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.73L5.82 21z"></path></g>
    -<g id="star-border"><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.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.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 2zm4.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.73 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"><path 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.25c0-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.99h3V14h2V6.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 9H11v4H9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g>
    -<g id="system-update-alt"><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"><path d="M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-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-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g>
    -<g id="thumb-down"><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.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-.79-.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.75c.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-.67-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 2z"></path></g>
    -<g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 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.26C3.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.5v3.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"><path 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 4s-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.56l-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"><path 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 18V5h10v13z"></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 id="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"></path></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 19 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.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"></path></g>
    -<g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 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="view-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 5v13h5V5h-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-8h16V9H4v2zm0-6v2h16V5H4z"></path></g>
    -<g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-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="M10 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="view-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-3h-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-3c0-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.82V7c0-1.1-.9-2-2-2z"></path></g>
    -<g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-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-searched-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-out"><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>
    -<dom-module id="neon-animated-pages" assetpath="../bower_components/neon-animation/">
    -<template>
    -<style>
    -:host{display:block;position:relative}:host>::content>*{bottom:0;left:0;position:absolute;right:0;top:0}:host>::content>:not(.iron-selected):not(.neon-animating){display:none!important}:host>::content>.neon-animating{pointer-events:none} </style>
    -<content id="content"></content>
    -</template>
    -</dom-module>
    -<dom-module id="app-header-layout" assetpath="../bower_components/app-layout/app-header-layout/">
    -<template>
    -<style>
    -:host{display:block;position:relative;z-index:0}:host>::content>app-header{@apply(--layout-fixed-top);z-index:1}:host([has-scrolling-region]){height:100%}:host([has-scrolling-region])>::content>app-header{position:absolute}:host([has-scrolling-region])>#contentContainer{@apply(--layout-fit);-webkit-overflow-scrolling:touch;overflow-y:auto}:host([fullbleed]){@apply(--layout-vertical);@apply(--layout-fit)}:host([fullbleed])>#contentContainer{@apply(--layout-vertical);@apply(--layout-flex)}#contentContainer{position:relative;z-index:0} </style>
    -<content id="header" select="app-header"></content>
    -<div id="contentContainer">
    -<content></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="app-drawer" assetpath="../bower_components/app-layout/app-drawer/">
    -<template>
    -<style>
    -:host{bottom:-120px;left:0;position:fixed;right:0;top:-120px;transition-property:visibility;visibility:hidden}:host([opened]){visibility:visible}:host([persistent]){width:var(--app-drawer-width,256px)}:host([persistent][position=left]){right:auto}:host([persistent][position=right]){left:auto}#contentContainer{-webkit-transform:translate3d(-100%,0,0);background-color:#fff;bottom:0;left:0;padding:120px 0;position:absolute;top:0;transform:translate3d(-100%,0,0);transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;width:var(--app-drawer-width,256px);@apply(--app-drawer-content-container)}:host([position=right])>#contentContainer{-webkit-transform:translate3d(100%,0,0);left:auto;right:0;transform:translate3d(100%,0,0)}:host([swipe-open])>#contentContainer:after{bottom:0;content:"";left:100%;position:fixed;top:0;visibility:visible;width:20px}:host([swipe-open][position=right])>#contentContainer:after{left:auto;right:100%}#scrim,:host([opened])>#contentContainer{-webkit-transform:translateZ(0);transform:translateZ(0)}#scrim{background:var(--app-drawer-scrim-background,rgba(0,0,0,.5));bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition-property:opacity}:host([opened])>#scrim{opacity:1}:host([opened][persistent])>#scrim{opacity:0;visibility:hidden} </style>
    -<div id="scrim" on-tap="close"></div>
    -<div id="contentContainer">
    -<content></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="app-drawer-layout" assetpath="../bower_components/app-layout/app-drawer-layout/">
    -<template>
    -<style>
    -:host{display:block}:host([fullbleed]){@apply(--layout-fit)}#contentContainer{height:100%;position:relative;transition:var(--app-drawer-layout-content-transition,none)}#contentContainer:not(.narrow)>::content [drawer-toggle]{display:none} </style>
    -<div id="contentContainer">
    -<content select=":not(app-drawer)"></content>
    -</div>
    -<content id="drawerContent" select="app-drawer"></content>
    -<iron-media-query query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]" on-query-matches-changed="_onQueryMatchesChanged"></iron-media-query>
    -</template>
    -</dom-module>
    -<style is="custom-style">
    -:root{--shadow-transition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-shadow: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 rgba(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-elevation-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 16px 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-module id="paper-material-shared-styles" assetpath="../bower_components/paper-material/">
    -<template>
    -<style>
    -:host{display:block;position:relative}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:host([elevation="2"]){@apply(--shadow-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>
    -<dom-module id="paper-button" assetpath="../bower_components/paper-button/">
    -<template strip-whitespace="">
    -<style include="paper-material-shared-styles">
    -:host{@apply(--layout-inline);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;font:inherit;margin:0 .29em;min-width:5.14em;outline-width:0;padding:.7em .57em;position:relative;text-transform:uppercase;user-select:none;z-index:0;@apply(--paper-font-common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:host([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard-focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-button-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;cursor:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@apply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="iron-overlay-backdrop" assetpath="../bower_components/iron-overlay-behavior/">
    -<template>
    -<style>
    -:host{background-color:var(--iron-overlay-backdrop-background-color,#000);height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s;width:100%;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
    -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700">
    -<style is="custom-style">
    -:root{--paper-font-common-base:{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif};--paper-font-common-code:{-webkit-font-smoothing:antialiased;font-family:Roboto Mono,Consolas,Menlo,monospace};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};--paper-font-common-nowrap:{overflow:hidden;text-overflow:ellipsis;white-space:nowrap};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-height:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line-height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:45px;font-weight: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-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--paper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size: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-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-size:14px;font-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-spacing:.011em;line-height:20px};--paper-font-menu:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:500;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:.018em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper-font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font-code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-height:20px};}</style><dom-module id="paper-dialog-shared-styles" assetpath="../bower_components/paper-dialog-behavior/">
    -<template>
    -<style>
    -:host{background:var(--paper-dialog-background-color,--primary-background-color);color:var(--paper-dialog-color,--primary-text-color);display:block;margin:24px 40px;@apply(--paper-font-body1);@apply(--shadow-elevation-16dp);@apply(--paper-dialog)}:host>::content>*{margin-top:20px;padding:0 24px}:host>::content>.no-padding{padding:0}:host>::content>:first-child{margin-top:24px}:host>::content>:last-child{margin-bottom:24px}:host>::content h2{margin:0;position:relative;@apply(--paper-font-title);@apply(--paper-dialog-title)}:host>::content .buttons{color:var(--paper-dialog-button-color,--primary-color);margin:0;padding:8px 8px 8px 24px;position:relative;@apply(--layout-horizontal);@apply(--layout-end-justified)} </style>
    -</template>
    -</dom-module>
    -<dom-module id="paper-dialog" assetpath="../bower_components/paper-dialog/">
    -<template>
    -<style include="paper-dialog-shared-styles"></style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="paper-fab" assetpath="../bower_components/paper-fab/">
    -<template strip-whitespace="">
    -<style include="paper-material-shared-styles">
    -:host{@apply(--layout-vertical);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:var(--paper-fab-background,--accent-color);border-radius:50%;box-sizing:border-box;color:var(--text-primary-color);cursor:pointer;height:56px;min-width:0;outline:none;padding:16px;position:relative;user-select:none;width:56px;z-index:0;@apply(--paper-fab)}[hidden]{display:none!important}:host([mini]){height:40px;padding:8px;width:40px;@apply(--paper-fab-mini)}:host([disabled]){background:var(--paper-fab-disabled-background,--paper-grey-300);color:var(--paper-fab-disabled-text,--paper-grey-500);@apply(--paper-fab-disabled)}iron-icon{@apply(--paper-fab-iron-icon)}span{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;@apply(--paper-fab-label)}:host(.keyboard-focus){background:var(--paper-fab-keyboard-focus-background,--paper-pink-900)} </style>
    -<iron-icon id="icon" hidden$="{{!_computeIsIconFab(icon, src)}}" src="[[src]]" icon="[[icon]]"></iron-icon>
    -<span hidden$="{{_computeIsIconFab(icon, src)}}">{{label}}</span>
    -</template>
    -</dom-module>
    -<dom-module id="paper-icon-button" assetpath="../bower_components/paper-icon-button/">
    -<template strip-whitespace="">
    -<style>
    -:host{-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;box-sizing:border-box!important;cursor:pointer;display:inline-block;height:40px;line-height:1;outline:none;padding:8px;position:relative;user-select:none;width:40px;z-index:0;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink-color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon-button-disabled-text,--disabled-text-color);cursor:auto;pointer-events:none;@apply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover)}iron-icon{--iron-icon-height:100%;--iron-icon-width:100%} </style>
    -<iron-icon id="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon>
    -</template>
    -</dom-module>
    -<dom-module id="paper-menu-shared-styles" assetpath="../bower_components/paper-menu/">
    -<template>
    -<style>
    -.selectable-content>::content>.iron-selected{font-weight:700;@apply(--paper-menu-selected-item)}.selectable-content>::content>[disabled]{color:var(--paper-menu-disabled-color,--disabled-text-color)}.selectable-content>::content>:focus{outline:0;position:relative;@apply(--paper-menu-focused-item)}.selectable-content>::content>:focus:after{@apply(--layout-fit);background:currentColor;content:"";opacity:var(--dark-divider-opacity);pointer-events:none;@apply(--paper-menu-focused-item-after)}.selectable-content>::content>[colored]:focus:after{opacity:.26} </style>
    -</template>
    -</dom-module>
    -<dom-module id="paper-menu" assetpath="../bower_components/paper-menu/">
    -<template>
    -<style include="paper-menu-shared-styles"></style>
    -<style>
    -:host{background:var(--paper-menu-background-color,--primary-background-color);color:var(--paper-menu-color,--primary-text-color);display:block;padding:8px 0;@apply(--paper-menu)} </style>
    -<div class="selectable-content">
    -<content></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-item-shared-styles" assetpath="../bower_components/paper-item/">
    -<template>
    -<style>
    -.paper-item,:host{display:block;min-height:var(--paper-item-min-height,48px);padding:0 16px;position:relative}.paper-item{@apply(--paper-font-subhead);background:#fff;border:none;outline:none;text-align:left;width:100%}.paper-item[hidden],:host([hidden]){display:none!important}.paper-item.iron-selected,:host(.iron-selected){font-weight:var(--paper-item-selected-weight,bold);@apply(--paper-item-selected)}.paper-item[disabled],:host([disabled]){color:var(--paper-item-disabled-color,--disabled-text-color);@apply(--paper-item-disabled)}.paper-item:focus,:host(:focus){outline:0;position:relative;@apply(--paper-item-focused)}.paper-item:focus:before,:host(:focus):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="../bower_components/paper-item/">
    -<template>
    -<style include="paper-item-shared-styles"></style>
    -<style>
    -:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="layout-style" assetpath="../bower_components/google-codelab-elements/">
    -<template>
    -<style>
    -.layout{@apply(--layout)}.layout.horizontal{@apply(--layout-horizontal)}.layout.vertical{@apply(--layout-vertical)}.layout.center{@apply(--layout-center)}.layout.center-center{@apply(--layout-center-center)}.flex{@apply(--layout-flex)}.two{@apply(--layout-flex-2)}.end-justified{@apply(--layout-end-justified)}.end{@apply(--layout-end)}.justified{@apply(--layout-justified)}.self-center{@apply(--layout-self-center)}.wrap{@apply(--layout-wrap)} </style>
    -</template>
    -</dom-module>
    -<link href="https://fonts.googleapis.com/css?family=Google+Sans" rel="stylesheet">
    -<dom-module id="codelab-style" assetpath="../bower_components/google-codelab-elements/">
    -<template strip-whitespace="">
    -<style>
    -:host{--google-material-blue-600:#1a73e8;--google-material-blue-800:#185abc;--google-material-green-600:#1e8e3e;--google-material-grey-100:#f1f3f4;--google-material-grey-300:#dadce0;--google-material-grey-600:#80868b;--google-material-grey-700:#5f6368;--google-material-grey-800:#3c4043;--google-material-grey-900:#212124;--nav-height:64px;display:block;line-height:24px;--paper-menu:{background:inherit;cursor:pointer;padding:0};--app-drawer-content-container:{background:var(--google-codelab-background,#fff)};}:host([theme=minimal]){position:relative}#headerpanel{left:0;margin-left:256px;position:fixed;right:0;z-index:1}#headerpanel[narrow]{margin-left:0}app-drawer-layout{overflow-x:hidden}.drawer-content-wrapper{border-right:1px solid var(--google-material-grey-300);padding:16px}#main-content{background:var(--google-codelab-background,--paper-blue-300)}#pages{top:var(--nav-height)}#controls[narrow]{width:100%}#main-toolbar{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;background:var(--google-codelab-header-background,#fff);box-shadow:0 1px 2px 0 rgba(60,64,67,.3),0 2px 6px 2px rgba(60,64,67,.15);color:var(--google-material-grey-800);display:-webkit-flex;display:-ms-flexbox;display:flex;height:var(--nav-height);justify-content:space-between;padding:0 16px}#main-toolbar .title{-ms-flex:1;-webkit-flex:1;flex:1;font-family:Google Sans,Arial,sans-serif;font-weight:400;margin:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}paper-icon-button[icon=menu]{margin-right:0!important}paper-fab{--paper-fab-background:var(--google-codelab-fab-background,--paper-blue-700);--paper-fab-keyboard-focus-background:var(--google-codelab-fab-background,--paper-blue-700);-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}:host([theme=minimal]) #resumeDialog>*{margin-top:20px;padding:0 24px}:host([theme=minimal]) #resumeDialog .buttons{margin:0;padding:8px 8px 8px 24px}.countdown iron-icon{margin-right:3px}:host(:not([theme=minimal])) #drawer .countdown{display:none}:host([theme=minimal]) #drawer .countdown{-ms-flex-negative:0;-webkit-flex-shrink:0;color:var(--paper-blue-500);flex-shrink:0;font-style:italic;padding:0 16px 16px}#controls{bottom:16px;box-sizing:border-box;padding:0 16px;pointer-events:none;position:fixed;right:0;width:calc(100% - 256px)}#controls .fabs{margin:0 auto;max-width:1050px}.navbutton{border-radius:4px;font-family:Google Sans,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:.6px;padding:6px 24px;pointer-events:auto;text-transform:none}.navbutton.nextbutton{background:var(--google-material-blue-600);color:#fff}.navbutton.prevbutton{background:#fff;color:var(--google-material-blue-600);transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.navbutton.prevbutton[disabled]{-webkit-transform:scale(0);color:#fff;transform:scale(0)}.navbutton.donebutton{background:var(--google-material-green-600);color:#fff}#toc{margin-bottom:1.5em}.toc-item{border-radius:4px;box-sizing:content-box;color:var(--google-material-grey-600);font-size:14px;font-weight:400;line-height:20px;overflow:hidden;padding:6px 16px}.toc-item i{background:var(--google-material-grey-600);border-radius:50%;color:#fff;display:inline-block;font-style:normal;height:26px;line-height:26px;margin-right:8px;min-width:26px;text-align:center;vertical-align:middle;width:26px}.toc-item i:after,.toc-item i:before{border-left:1px solid var(--google-material-grey-600);border-right:1px solid var(--google-material-grey-600);content:"";display:block;height:44px;margin-top:1px;width:0;z-index:1}.toc-item i:before{margin-left:11px;margin-top:-44px}.toc-item i:after{margin-left:11px}.toc-item.completed{color:var(--google-material-grey-900)}.toc-item.completed i,.toc-item.iron-selected i{background-color:var(--google-material-blue-600)}.toc-item.iron-selected{background-color:var(--google-material-grey-300);color:var(--google-material-grey-900);font-weight:600}.toc-item.completed i,.toc-item.completed i:after,.toc-item.completed i:before,.toc-item.iron-selected i,.toc-item.iron-selected i:before{border-color:var(--google-material-blue-600)}.toc-item:first-of-type i:before,.toc-item:last-of-type i:after{display:none}#metadata{-ms-flex:0 0 80px;-webkit-flex:0 0 80px;color:var(--google-codelab-footer-text-color,#777);flex:0 0 80px;font-size:.7em}#feedback a{color:currentcolor}@media (min-width:641px){:host(:not([theme=minimal])) #pages{margin-top:32px}#controls{bottom:32px;padding:0 32px}} </style>
    -</template>
    -</dom-module>
    -<dom-module id="google-codelab" assetpath="../bower_components/google-codelab-elements/">
    -<template strip-whitespace="">
    -<style include="layout-style"></style>
    -<style include="codelab-style"></style>
    -<iron-localstorage name="{{title}}" value="{{state}}" hidden="" on-iron-localstorage-load-empty="_stateInit" on-iron-localstorage-load="_stateLoaded">
    -</iron-localstorage>
    -<app-drawer-layout fullbleed="" narrow="{{_narrow}}">
    -<app-drawer id="drawer" swipe-open="">
    -<div class="drawer-content-wrapper layout vertical" style="height:100%">
    -<div class="flex" style="overflow:auto;">
    -<div title="Time remaining" hidden$="{{!_isPositiveNum(duration)}}" class="countdown layout horizontal">
    -<iron-icon icon="schedule"></iron-icon> <span>[[remaining]]</span>
    -</div>
    -<paper-menu id="toc" class="flex" selected="{{selected}}" on-iron-select="_allowCodelabComplete">
    -<template is="dom-repeat" items="{{steps}}" strip-whitespace="">
    -<paper-item class$="{{_tocItemClass(selected, index)}}">
    -<i>{{item.step}}</i><span>{{item.label}}</span>
    -</paper-item>
    -</template>
    -</paper-menu>
    -</div>
    -<div id="metadata">
    -<template is="dom-if" if="{{lastUpdated}}" strip-whitespace="">
    -<div id="last-updated">Last updated on {{lastUpdated}}.</div>
    -</template>
    -<div id="feedback" hidden$="[[!feedbackLink]]">
    -Did you find a mistake?
    -<a target="_blank" href$="{{feedbackLink}}">Please file a bug</a>.
    -</div>
    -</div>
    -</div>
    -</app-drawer>
    -<app-header-layout fullbleed="">
    -<div id="headerpanel" fixed="" narrow$="[[_narrow]]">
    -<div id="main-toolbar" hidden$="[[noToolbar]]">
    -<div>
    -<template is="dom-if" if="{{_narrow}}" strip-whitespace="">
    -<paper-icon-button icon="menu" drawer-toggle=""></paper-icon-button>
    -</template>
    -<template is="dom-if" if="{{!_narrow}}" strip-whitespace="">
    -<paper-icon-button icon="arrow-back" on-tap="_goToHome"></paper-icon-button>
    -</template>
    -</div>
    -<h3 class="title">[[title]]</h3>
    -<div title="Time remaining" hidden$="{{!_isPositiveNum(duration)}}" class="countdown layout horizontal">
    -<iron-icon icon="schedule"></iron-icon> <span>{{remaining}}</span>
    -</div>
    -</div>
    -</div>
    -<div id="main-content">
    -<neon-animated-pages id="pages" selected="{{selected}}" on-iron-deselect="_onStepLeave" on-iron-items-changed="_onStepsChanged">
    -<content select="google-codelab-step"></content>
    -</neon-animated-pages>
    -<footer id="controls" hidden$="[[noArrows]]" narrow$="[[_narrow]]">
    -<div class="fabs layout horizontal justified">
    -<paper-button raised="" class="navbutton prevbutton" on-tap="selectPrevious" title="Previous step" disabled$="{{_isFirstStep(selected)}}">Back</paper-button>
    -<div>
    -<template is="dom-if" if="{{_showNextFab(selected, steps)}}" strip-whitespace="">
    -<paper-button raised="" class="navbutton nextbutton" title="{{_nextFabTitle(selected)}}" on-tap="selectNext">Next</paper-button>
    -</template>
    -<template is="dom-if" if="{{_showDoneFab(selected, steps)}}" strip-whitespace="">
    -<paper-button raised="" class="navbutton donebutton" on-tap="_goToHome" title="Complete codelab">Done</paper-button>
    -</template>
    -</div>
    -</div>
    -</footer>
    -</div>
    -</app-header-layout>
    -</app-drawer-layout>
    -<paper-dialog id="resumeDialog" modal="">
    -<h2>Would you like to resume where you left off?</h2>
    -<p>Step <span>{{_storedStep.step}}</span>: <span>{{_storedStep.label}}</span></p>
    -<div class="buttons">
    -<paper-button dialog-dismiss="" on-click="_stateInit">Cancel</paper-button>
    -<paper-button dialog-confirm="" on-click="_resume" autofocus="">Resume</paper-button>
    -</div>
    -</paper-dialog>
    -</template>
    -</dom-module>
    -<dom-module id="google-youtube" assetpath="../bower_components/google-youtube/">
    -<style>
    -:host{display:block}:host([fluid]){max-width:100%;position:relative;width:100%}:host([fluid]) #thumbnail,:host([fluid]) iframe{height:100%;left:0;position:absolute;top:0;vertical-align:bottom;width:100%}iframe{@apply(--google-youtube-iframe)}#container{max-height:100%;max-width:100%;@apply(--google-youtube-container)}#thumbnail{cursor:pointer;height:100%;width:100%;@apply(--google-youtube-thumbnail)} </style>
    -<template>
    -<div id="container" style$="{{_computeContainerStyle(width, height)}}">
    -<template is="dom-if" if="{{thumbnail}}">
    -<img id="thumbnail" src$="{{thumbnail}}" title="YouTube video thumbnail." alt="YouTube video thumbnail." on-tap="_handleThumbnailTap">
    -</template>
    -<template is="dom-if" if="{{!thumbnail}}">
    -<template is="dom-if" if="{{videoId}}">
    -<google-youtube-api on-api-load="_apiLoad"></google-youtube-api>
    -</template>
    -</template>
    -<iron-localstorage name="google-youtube-playsupported" value="{{_playsupportedLocalStorage}}" on-iron-localstorage-load="_useExistingPlaySupportedValue" on-iron-localstorage-load-empty="_determinePlaySupported">
    -</iron-localstorage>
    -<div id="player"></div>
    -</div>
    -</template>
    -</dom-module>
    -<style is="custom-style">
    -:root{--google-material-blue-600:#1a73e8;--google-material-blue-800:#185abc;--google-material-green-600:#1e8e3e;--google-material-grey-100:#f1f3f4;--google-material-grey-300:#dadce0;--google-material-grey-600:#80868b;--google-material-grey-700:#5f6368;--google-material-grey-800:#3c4043;--google-material-grey-900:#212124}body{background:#f8f9fa!important}</style></div><script src="codelab.js"></script></body></html>
    \ No newline at end of file
    diff --git a/site/dist/elements/codelab.js b/site/dist/elements/codelab.js
    deleted file mode 100644
    index 367e3b048..000000000
    --- a/site/dist/elements/codelab.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -!function(){function e(){document.body.removeAttribute("unresolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"interactive"===document.readyState||"complete"===document.readyState?e():addEventListener("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){for(var e,t=window.Polymer||{},i=location.search.slice(1).split("&"),n=0;n<i.length&&(e=i[n]);n++)(e=e.split("="))[0]&&(t[e[0]]=e[1]||!0);return t.wantShadow="shadow"===t.dom,t.hasShadow=Boolean(Element.prototype.createShadowRoot),t.nativeShadow=t.hasShadow&&!window.ShadowDOMPolyfill,t.useShadow=t.wantShadow&&t.hasShadow,t.hasNativeImports=Boolean("import"in document.createElement("link")),t.useNativeImports=t.hasNativeImports,t.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative,t.useNativeShadow=t.useShadow&&t.nativeShadow,t.usePolyfillProto=!t.useNativeCustomElements&&!Object.__proto__,t}()},function(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e.prototype),e||(e={});var i=t(e),n={prototype:e=i.prototype};return e.extends&&(n.extends=e.extends),Polymer.telemetry._registrate(e),document.registerElement(e.is,n),i};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polymer.Base._getExtendedPrototype(e.extends)),(e=Polymer.Base.chainObject(e,t)).registerCallback(),e.constructor};if(e)for(var i in e)Polymer[i]=e[i];Polymer.Class=t}(),Polymer.telemetry={registrations:[],_regLog:function(e){},_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,get:function(){return(document._currentScript||document.currentScript).ownerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function(e){this._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.RenderStatus._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextRender:function(e,t,i){this._watchNextRender(),this._afterNextRenderQueue.push([e,t,i])},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenReady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushRenderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNextRender=!1})},_flushRenderCallbacks:function(e){for(var t,i=0;i<e.length;i++)(t=e[i])[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._catchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.extend(this,e)},registerCallback:function(){this._desugarBehaviors(),this._doBehavior("beforeRegister"),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()},createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFinished(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBehavior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegisterFinished!==t.is&&(t.__hasRegisterFinished=t.is,t._finishRegisterFeatures&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&&t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},detachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,i){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,i])},_attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:function(e,t){if(e&&t)for(var i,n=Object.getOwnPropertyNames(t),r=0;r<n.length&&(i=n[r]);r++)this.copyOwnProperty(i,t,e);return e||t},mixin:function(e,t){for(var i in t)e[i]=t[i];return e},copyOwnProperty:function(e,t,i){var n=Object.getOwnPropertyDescriptor(t,e);n&&Object.defineProperty(i,e,n)},_logger:function(e,t){1===t.length&&Array.isArray(t[0])&&(t=t[0])},_log:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prototype.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=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent)?["%c[%s::%s]:","font-weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"],Polymer.Base.chainObject=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(Polymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=CustomElements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Polymer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.telemetry.instanceCount=0}(),function(){var e={},t={},i=function(i){return e[i]||t[i.toLowerCase()]},n=function(){return document.createElement("dom-module")};n.prototype=Object.create(HTMLElement.prototype),Polymer.Base.extend(n.prototype,{constructor:n,createdCallback:function(){this.register()},register:function(i){(i=i||this.id||this.getAttribute("name")||this.getAttribute("is"))&&(this.id=i,e[i]=this,t[i.toLowerCase()]=this)},import:function(e,t){if(e){var n=i(e);return n||(function(){if(r)for(var e,t=document._currentScript||document.currentScript,i=(t&&t.ownerDocument||document).querySelectorAll("dom-module"),n=i.length-1;n>=0&&(e=i[n]);n--){if(e.__upgraded__)return;CustomElements.upgrade(e)}}(),n=i(e)),n&&t&&(n=n.querySelector(t)),n}}});var r=window.CustomElements&&!CustomElements.useNative;document.registerElement("dom-module",n)}(),Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.currentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase())}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.behaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_desugarSomeBehaviors:function(e){for(var t=[],i=(e=this._flattenBehaviorsList(e)).length-1;i>=0;i--){var n=e[i];-1===t.indexOf(n)&&(this._mixinBehavior(n),t.unshift(n))}return t},_flattenBehaviorsList:function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n instanceof Array?t=t.concat(this._flattenBehaviorsList(n)):n?t.push(n):this._warn(this._logf("_flattenBehaviorsList","behavior is null, check for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length&&(t=i[n]);n++)Polymer.Base._behaviorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattenedBehaviors:function(e){for(var t=0,i=e.length;t<i;t++)this._prepBehavior(e[t]);this._prepBehavior(this)},_doBehavior:function(e,t){for(var i=0;i<this.behaviors.length;i++)this._invokeBehavior(this.behaviors[i],e,t);this._invokeBehavior(this,e,t)},_invokeBehavior:function(e,t,i){var n=e[t];n&&n.apply(this,i||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshalBehavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegister:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attached:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExtendedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePrototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes[e];if(!t){var i=this.getNativePrototype(e);t=this.extend(Object.create(i),Polymer.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){return Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProperty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructor",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e){var t=document.createElement.apply(document,this._factoryArgs);return this.factoryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polymer.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPropertyInfo(e,this.properties);if(!t)for(var i=0;i<this.behaviors.length;i++)if(t=this._getPropertyInfo(e,this.behaviors[i].properties))return t;return t||Polymer.nob},_getPropertyInfo:function(e,t){var i=t&&t[e];return"function"==typeof i&&(i=t[e]={type:i}),i&&(i.defined=!0),i},_prepPropertyInfo:function(){this._propertyInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._propertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects)},_addPropertyInfo:function(e,t){var i,n;if(t)for(var r in t)i=e[r],n=t[r],("_"!==r[0]||n.readOnly)&&(e[r]?(i.type||(i.type=n.type),i.readOnly||(i.readOnly=n.readOnly)):e[r]={type:"function"==typeof n?n:n.type,readOnly:n.readOnly,attribute:Polymer.CaseMap.camelToDashCase(r)})}}),Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCamel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLowerCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggregatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedAttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,t){for(var i in t)if(!this.hasAttribute(i)&&"class"!==i){var n=t[i];this.serializeValueToAttribute(n,i,this)}},_marshalAttributes:function(){this._takeAttributesToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(var t in this._propertyInfo){var i=this._propertyInfo[t];this.hasAttribute(i.attribute)&&this._setAttributeToProperty(e,i.attribute,t,i)}},_setAttributeToProperty:function(e,t,i,n){if(!this._serializing&&(i=i||Polymer.CaseMap.dashToCamelCase(t),(n=n||this._propertyInfo&&this._propertyInfo[i])&&!n.readOnly)){var r=this.getAttribute(t);e[i]=this.deserialize(r,n.type)}},_serializing:!1,reflectPropertyToAttribute:function(e,t,i){this._serializing=!0,i=void 0===i?this[e]:i,this.serializeValueToAttribute(i,t||Polymer.CaseMap.camelToDashCase(e)),this._serializing=!1},serializeValueToAttribute:function(e,t,i){var n=this.serialize(e);i=i||this,void 0===n?i.removeAttribute(t):i.setAttribute(t,n)},deserialize: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.parse(e)}catch(t){e=null}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){return""}default:return null!=e?e:void 0}}}),Polymer.version="master",Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this._marshalHostAttributes(),this._marshalBehaviors()}}),Polymer.Base._addFeature({_prepTemplate:function(){void 0===this._template&&(this._template=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer template must not be a type-extension, found",this._template,"Move inside simple <template>.")),this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_stampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._template))},instanceTemplate:function(e){return document.importNode(e._content||e.content,!0)}}),function(){var e=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this.dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._clients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_beginHosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clients=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:function(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeClientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clientsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_readyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var t,i=0,n=e.length;i<n&&(t=e[i]);i++)t._ready();this._finishDistribute()},_readySelf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&(this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attachedPending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,i){return{index:e,removed:t,addedCount:i}}function t(){}return t.prototype={calcEditDistances:function(e,t,i,n,r,o){for(var s=o-r+1,a=i-t+1,A=new Array(s),l=0;l<s;l++)A[l]=new Array(a),A[l][0]=l;for(var h=0;h<a;h++)A[0][h]=h;for(l=1;l<s;l++)for(h=1;h<a;h++)if(this.equals(e[t+h-1],n[r+l-1]))A[l][h]=A[l-1][h-1];else{var c=A[l-1][h]+1,u=A[l][h-1]+1;A[l][h]=c<u?c:u}return A},spliceOperationsFromEditDistances:function(e){for(var t=e.length-1,i=e[0].length-1,n=e[t][i],r=[];t>0||i>0;)if(0!=t)if(0!=i){var o,s=e[t-1][i-1],a=e[t-1][i],A=e[t][i-1];(o=a<A?a<s?a:s:A<s?A:s)==s?(s==n?r.push(0):(r.push(1),n=s),t--,i--):o==a?(r.push(3),t--,n=a):(r.push(2),i--,n=A)}else r.push(3),t--;else r.push(2),i--;return r.reverse(),r},calcSplices:function(t,i,n,r,o,s){var a=0,A=0,l=Math.min(n-i,s-o);if(0==i&&0==o&&(a=this.sharedPrefix(t,r,l)),n==t.length&&s==r.length&&(A=this.sharedSuffix(t,r,l-a)),o+=a,s-=A,(n-=A)-(i+=a)==0&&s-o==0)return[];if(i==n){for(var h=e(i,[],0);o<s;)h.removed.push(r[o++]);return[h]}if(o==s)return[e(i,[],n-i)];var c=this.spliceOperationsFromEditDistances(this.calcEditDistances(t,i,n,r,o,s));h=void 0;for(var u=[],d=i,f=o,p=0;p<c.length;p++)switch(c[p]){case 0:h&&(u.push(h),h=void 0),d++,f++;break;case 1:h||(h=e(d,[],0)),h.addedCount++,d++,h.removed.push(r[f]),f++;break;case 2:h||(h=e(d,[],0)),h.addedCount++,d++;break;case 3:h||(h=e(d,[],0)),h.removed.push(r[f]),f++}return h&&u.push(h),u},sharedPrefix:function(e,t,i){for(var n=0;n<i;n++)if(!this.equals(e[n],t[n]))return n;return i},sharedSuffix:function(e,t,i){for(var n=e.length,r=t.length,o=0;o<i&&this.equals(e[--n],t[--r]);)o++;return o},calculateSplices:function(e,t){return this.calcSplices(e,0,e.length,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHTML=function(){var e=/[&\u00A0"]/g,t=/[&\u00A0<>]/g;function i(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function n(t){return t.replace(e,i)}function r(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=!0;return t}var o=r(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),s=r(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function a(e,r,a){switch(e.nodeType){case Node.ELEMENT_NODE:for(var l,h=e.localName,c="<"+h,u=e.attributes,d=0;l=u[d];d++)c+=" "+l.name+'="'+n(l.value)+'"';return c+=">",o[h]?c:c+A(e,a)+"</"+h+">";case Node.TEXT_NODE:var f=e.data;return r&&s[r.localName]?f:f.replace(t,i);case Node.COMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw new Error("not implemented")}}function A(e,t){e instanceof HTMLTemplateElement&&(e=e.content);for(var i,n="",r=Polymer.dom(e).childNodes,o=0,s=r.length;o<s&&(i=r[o]);o++)n+=a(i,e,t);return n}return{getInnerHTML:A}}(),function(){"use strict";var e=Element.prototype.insertBefore,t=Element.prototype.appendChild,i=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[],i=0,n=e.firstChild;n;n=n.nextSibling)t[i++]=n;return t},arrayCopyChildren:function(e){for(var t=[],i=0,n=e.firstElementChild;n;n=n.nextElementSibling)t[i++]=n;return t},arrayCopy:function(e){for(var t=e.length,i=new Array(t),n=0;n<t;n++)i[n]=e[n];return i}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Boolean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e.__dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChildNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!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},getParentNode: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.firstChild?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstElementChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChild(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:function(e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElementSibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChildNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.firstChild=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var 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.previousSibling=t.previousSibling}},recordInsertBefore:function(e,t,i){if(t.__dom.childNodes=null,e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var n=e.firstChild;n;n=n.nextSibling)this._linkNode(n,t,i);else this._linkNode(e,t,i)},_linkNode:function(e,t,i){e.__dom=e.__dom||{},t.__dom=t.__dom||{},i&&(i.__dom=i.__dom||{}),e.__dom.previousSibling=i?i.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e.__dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=i,e.__dom.nextSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,i?i===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firstChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:function(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 i=e.__dom.previousSibling,n=e.__dom.nextSibling;i&&(i.__dom.nextSibling=n),n&&(n.__dom.previousSibling=i),e.__dom.parentNode=e.__dom.previousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeApi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNodes(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e){e.textContent=""},insertBefore:function(t,i,n){return e.call(t,i,n||null)},appendChild:function(e,i){return t.call(e,i)},removeChild:function(e,t){return i.call(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=function(e){this.node=n?i.wrap(e):e},n=e.hasShadow&&!e.nativeShadow;i.wrap=window.wrap?window.wrap:function(e){return e},i.prototype={flush:function(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))return!0;for(var t=e,i=e.ownerDocument;t&&t!==i&&t!==this.node;)t=Polymer.dom(t).parentNode||t.host;return t===this.node},queryDistributedElements:function(e){for(var t,n=this.getEffectiveChildNodes(),r=[],o=0,s=n.length;o<s&&(t=n[o]);o++)t.nodeType===Node.ELEMENT_NODE&&i.matchesSelector.call(t,e)&&r.push(t);return r},getEffectiveChildNodes:function(){for(var e,t=[],i=this.childNodes,n=0,s=i.length;n<s&&(e=i[n]);n++)if(e.localName===r)for(var a=o(e).getDistributedNodes(),A=0;A<a.length;A++)t.push(a[A]);else t.push(e);return t},observeNodes:function(e){if(e)return this.observer||(this.observer=this.node.localName===r?new i.DistributedNodesObserver(this):new i.EffectiveNodesObserver(this)),this.observer.addListener(e)},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},notifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e,i,n){i=i||this.node;var r=[];return this._queryElements(t.Logical.getChildNodes(i),e,n,r),r},_queryElements:function(e,t,i,n){for(var r,o=0,s=e.length;o<s&&(r=e[o]);o++)if(r.nodeType===Node.ELEMENT_NODE&&this._queryElement(r,t,i,n))return!0},_queryElement:function(e,i,n,r){var o=i(e);if(o&&r.push(e),n&&n(o))return o;this._queryElements(t.Logical.getChildNodes(e),i,n,r)}};var r=i.CONTENT="content",o=i.factory=function(e){return(e=e||document).__domApi||(e.__domApi=new i.ctor(e)),e.__domApi};i.hasApi=function(e){return Boolean(e.__domApi)},i.ctor=i,Polymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):i.factory(e,t)};var s=Element.prototype;return i.matchesSelector=s.matches||s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector,i}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.DomApi,i=t.factory,n=Polymer.TreeApi,r=Polymer.domInnerHTML.getInnerHTML,o=t.CONTENT;if(!e.useShadow){var s=Element.prototype.cloneNode,a=Document.prototype.importNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoot&&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,r){if(r&&n.Logical.getParentNode(r)!==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=n.Logical.getParentNode(e);s?(t.hasApi(s)&&i(s).notifyObserver(),this._removeNode(e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,r)){r&&(r=r.localName===o?this._firstComposedNode(r):r);var a=this.node._isShadyRoot?this.node.host:this.node;r?n.Composed.insertBefore(a,e,r):n.Composed.appendChild(a,e)}return this.notifyObserver(),e},_addNode:function(e,t){var i=this.getOwnerRoot();if(i){var r=this._maybeAddInsertionPoint(e,this.node);i._invalidInsertionPoints||(i._invalidInsertionPoints=r),this._addNodeToHost(i.host,e)}n.Logical.hasChildNodes(this.node)&&n.Logical.recordInsertBefore(e,this.node,t);var o=this._maybeDistribute(e)||this.node.shadyRoot;if(o)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firstChild;)n.Composed.removeChild(e,e.firstChild);else{var s=n.Composed.getParentNode(e);s&&n.Composed.removeChild(s,e)}return o},removeChild:function(e){if(n.Logical.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;t===n.Composed.getParentNode(e)&&n.Composed.removeChild(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,r=n.Logical.hasParentNode(e)&&n.Logical.getParentNode(e),o=this._ownerShadyRootForNode(e);return r&&(t=i(e)._maybeDistributeParent(),n.Logical.recordRemoveChild(e,r),o&&this._removeDistributedChildren(o,e)&&(o._invalidInsertionPoints=!0,this._lazyDistribute(o.host))),this._removeOwnerShadyRoot(e),o&&this._removeNodeFromHost(o.host,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChild(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoot)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_ownerShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e._isShadyRoot)t=e;else{var i=n.Logical.getParentNode(e);t=i?i._isShadyRoot?i:this._ownerShadyRootForNode(i):null}(t||document.documentElement.contains(e))&&(e._ownerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&i(e).querySelector(o),r=t&&n.Logical.getParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,s=t||e.localName===o;if(s){var a=this.getOwnerRoot();a&&this._lazyDistribute(a.host)}var A=this._nodeNeedsDistribution(this.node);return A&&this._lazyDistribute(this.node),A||s&&!r},_maybeAddInsertionPoint:function(e,t){var r;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||e.__noContent)e.localName===o&&(n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(e),r=!0);else for(var s,a,A,l=i(e).querySelectorAll(o),h=0;h<l.length&&(s=l[h]);h++)(a=n.Logical.getParentNode(s))===e&&(a=t),A=this._maybeAddInsertionPoint(s,a),r=r||A;return r},_updateInsertionPoints:function(e){for(var t,r=e.shadyRoot._insertionPoints=i(e.shadyRoot).querySelectorAll(o),s=0;s<r.length;s++)t=r[s],n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(n.Logical.getParentNode(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertionPoint(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)},_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_removeDistributedChildren:function(e,t){for(var r,o=e._insertionPoints,s=0;s<o.length;s++){var a=o[s];if(this._contains(t,a))for(var A=i(a).getDistributedNodes(),l=0;l<A.length;l++){r=!0;var h=A[l],c=n.Composed.getParentNode(h);c&&n.Composed.removeChild(c,h)}}return r},_contains:function(e,t){for(;t;){if(t==e)return!0;t=n.Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedOwnerRoot(e))for(var t,i=n.Logical.getChildNodes(e),r=0,o=i.length;r<o&&(t=i[r]);r++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:function(e){for(var t,n,r=i(e).getDistributedNodes(),o=0,s=r.length;o<s&&(t=r[o]);o++)if((n=i(t).getDestinationInsertionPoints())[n.length-1]===e)return t},querySelector:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node,function(e){return Boolean(e)})[0]||null},querySelectorAll:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node)},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[]},getDistributedNodes:function(){return this.node._distributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChild(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),this._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribute(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNode),!0},cloneNode:function(e){var t=s.call(this.node,!1);if(e)for(var n,r=this.childNodes,o=i(t),a=0;a<r.length;a++)n=i(r[a]).cloneNode(!0),o.appendChild(n);return t},importNode:function(e,t){var r=this.node instanceof Document?this.node:this.node.ownerDocument,o=a.call(r,e,!1);if(t)for(var s,A=n.Logical.getChildNodes(e),l=i(o),h=0;h<A.length;h++)s=i(r).importNode(A[h],!0),l.appendChild(s);return o},_getComposedInnerHTML:function(){return r(this.node,!0)}}),Object.defineProperties(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 n=i(e).getOwnerRoot();n&&n!==this.node;)e=n.host,n=i(e).getOwnerRoot();return this.node===document?n?null:e:n===this.node?e:null},configurable:!0},childNodes:{get:function(){var e=n.Logical.getChildNodes(this.node);return Array.isArray(e)?e:n.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return n.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNodes,function(e){return e.nodeType===Node.ELEMENT_NODE}):n.arrayCopyChildren(this.node)},configurable:!0},parentNode:{get:function(){return n.Logical.getParentNode(this.node)},configurable:!0},firstChild:{get:function(){return n.Logical.getFirstChild(this.node)},configurable:!0},lastChild:{get:function(){return n.Logical.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return n.Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:function(){return n.Logical.getPreviousSibling(this.node)},configurable:!0},firstElementChild:{get:function(){return n.Logical.getFirstElementChild(this.node)},configurable:!0},lastElementChild:{get:function(){return n.Logical.getLastElementChild(this.node)},configurable:!0},nextElementSibling:{get:function(){return n.Logical.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get:function(){return n.Logical.getPreviousElementSibling(this.node)},configurable:!0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||e===Node.COMMENT_NODE)return this.node.textContent;for(var t,i=[],n=0,r=this.childNodes;t=r[n];n++)t.nodeType!==Node.COMMENT_NODE&&i.push(t.textContent);return i.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(document.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.node.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:r(this.node)},set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT_NODE){this._clear();var i=document.createElement("div");i.innerHTML=e;for(var r=n.arrayCopyChildNodes(i),o=0;o<r.length;o++)this.appendChild(r[o])}},configurable:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.length)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=Polymer.DomApi;if(e.useShadow){Polymer.Base.extend(i.prototype,{querySelectorAll:function(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:function(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host)return e;e=e.parentNode}},importNode:function(e,t){return(this.node instanceof Document?this.node:this.node.ownerDocument).importNode(e,t)},getDestinationInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistributedNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedNodes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(i.prototype,{activeElement:{get:function(){var e=i.wrap(this.node),t=e.activeElement;return e.contains(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopyChildren(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 n=function(e){i.prototype[e]=function(){return this.node[e].apply(this.node,arguments)}};!function(e){for(var t=0;t<e.length;t++)n(e[t])}(["cloneNode","appendChild","insertBefore","removeChild","replaceChild","setAttribute","removeAttribute","querySelector"]);var r=function(e){Object.defineProperty(i.prototype,e,{get:function(){return this.node[e]},configurable:!0})};!function(e){for(var t=0;t<e.length;t++)r(e[t])}(["parentNode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.Base.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._debouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;)this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebouncer.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard,this._FLUSH_MAX},_prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for(var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStaticFlush: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(){Polymer.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;return e.Event=function(e){this.event=e},t.useShadow?e.Event.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){return 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(){return this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&Polymer.dom(e).getOwnerRoot(),i=this.path,n=0;n<i.length;n++)if(Polymer.dom(i[n]).getOwnerRoot()===t)return i[n]},get path(){if(!this.event._path){for(var e=[],t=this.rootTarget;t;){e.push(t);var i=Polymer.dom(t).getDestinationInsertionPoints();if(i.length){for(var n=0;n<i.length-1;n++)e.push(i[n]);t=i[i.length-1]}else t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return this.event._path}},{factory:function(t){return t.__eventApi||(t.__eventApi=new e.Event(t)),t.__eventApi}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"classList",{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._distributeParent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments),this._distributeParent()},_distributeParent:function(){t||this.domApi._maybeDistributeParent()},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver.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._listeners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isSetup=!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.Debounce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDebouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleNotify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_beforeCallListeners:function(){this._updateContentElements()},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes)},_observeContentElements:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.has(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeContent:function(e){var t=this,i=Polymer.dom(e).observeNodes(function(){t._scheduleNotify()});return i._avoidChangeCalculation=!0,i},_unobserveContentElements:function(e){for(var t,i,n=0;n<e.length&&(t=e[n]);n++)this._isContent(t)&&(i=t.__observeNodesMap.get(this))&&(Polymer.dom(t).unobserveNodes(i),t.__observeNodesMap.delete(this))},_isContent:function(e){return"content"===e.localName},_callListeners:function(){for(var e,t=this._listeners,i=this._getEffectiveNodes(),n=0;n<t.length&&(e=t[n]);n++){var r=this._generateListenerInfo(e,i);(r||e._alwaysNotify)&&this._callListener(e,r)}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculation)return!0;for(var i,n=e._nodes,r={target:this.node,addedNodes:[],removedNodes:[]},o=Polymer.ArraySplice.calculateSplices(t,n),s=0;s<o.length&&(i=o[s]);s++)for(var a,A=0;A<i.removed.length&&(a=i.removed[A]);A++)r.removedNodes.push(a);for(s=0;s<o.length&&(i=o[s]);s++)for(A=i.index;A<i.index+i.addedCount;A++)r.addedNodes.push(t[A]);return e._nodes=t,r.addedNodes.length||r.removedNodes.length?r:void 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAttributeTracking:function(){}},t.useShadow){var i=e.EffectiveNodesObserver.prototype._setup,n=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._observer=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(this.node,{childList:!0})}i.call(this)},_cleanup:function(){this._observer.disconnect(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlush(this._boundFlush),n.call(this)},_flush:function(){this._observer&&this._mutationHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.disconnect(),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&&Polymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwaysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)(e=this._listeners[t])._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.EffectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.create(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.host;if(t){var i=this;this._observer=Polymer.dom(t).observeNodes(function(){i._scheduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Polymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:function(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserveNodes(this._observer),this._observer=null}})}(),function(){var e=Polymer.DomApi,t=Polymer.TreeApi;function i(e,t){t._distributedNodes.push(e);var i=e._destinationInsertionPoints;i?i.push(t):e._destinationInsertionPoints=[t]}function n(e){var t=e._distributedNodes;if(t)for(var i=0;i<t.length;i++){var n=t[i]._destinationInsertionPoints;n&&n.splice(n.indexOf(e)+1,n.length)}}function r(e,t){var i=t._destinationInsertionPoints;return i&&i[i.length-1]===e}function o(e){return"content"==e.localName}function s(e){for(var i,n=t.Logical.getChildNodes(e),r=0;r<n.length;r++)if((i=n[r]).localName&&"content"===i.localName)return e.domHost}Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){this.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=null),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(){this._useContent&&t.Logical.saveChildNodes(this)},_setupRoot:function(){this._useContent&&(this._createLocalRoot(),this.dataHost||function(e){if(a&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}(t.Logical.getChildNodes(this)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._distributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];t.Logical.saveChildNodes(this.shadyRoot);for(var i,n=0;n<e.length;n++)i=e[n],t.Logical.saveChildNodes(i),t.Logical.saveChildNodes(i.parentNode);this.shadyRoot.host=this},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distributeContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||e;var t=function(e){for(;e&&s(e);)e=e.domHost;return e}(this);Polymer.dom(this)._lazyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoot._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this)._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_beginDistribute:function(){this._useContent&&e.hasInsertionPoint(this.shadyRoot)&&(this._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool()))},_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,i=0,n=t.length;i<n&&(e=t[i]);i++)e._distributeContent();this.shadyRoot._dirtyRoots=[]},_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributionClean=!0,e.hasInsertionPoint(this.shadyRoot))this._composeTree(),function(t){for(var i,n=0;n<t._insertionPoints.length;n++)i=t._insertionPoints[n],e.hasApi(i)&&Polymer.dom(i).notifyObserver()}(this.shadyRoot);else if(this.shadyRoot._hasDistributed){var i=this._composeNode(this);this._updateChildNodes(this,i)}else t.Composed.clearChildNodes(this),this.appendChild(this.shadyRoot);this.shadyRoot._hasDistributed||e.hasApi(this)&&Polymer.dom(this).notifyObserver(),this.shadyRoot._hasDistributed=!0}},elementMatches:function(t,i){return i=i||this,e.matchesSelector.call(i,t)},_resetDistribution:function(){for(var e=t.Logical.getChildNodes(this),i=0;i<e.length;i++){var r=e[i];r._destinationInsertionPoints&&(r._destinationInsertionPoints=void 0),o(r)&&n(r)}for(var s=this.shadyRoot._insertionPoints,a=0;a<s.length;a++)s[a]._distributedNodes=[]},_collectPool:function(){for(var e=[],i=t.Logical.getChildNodes(this),n=0;n<i.length;n++){var r=i[n];o(r)?e.push.apply(e,r._distributedNodes):e.push(r)}return e},_distributePool:function(i,n){for(var r,o=i._insertionPoints,s=0,a=o.length;s<a&&(r=o[s]);s++)this._distributeInsertionPoint(r,n),A=r,l=void 0,(l=t.Logical.getParentNode(A))&&l.shadyRoot&&e.hasInsertionPoint(l.shadyRoot)&&l.shadyRoot._distributionClean&&(l.shadyRoot._distributionClean=!1,this.shadyRoot._dirtyRoots.push(l));var A,l},_distributeInsertionPoint:function(e,n){for(var r,o=!1,s=0,a=n.length;s<a;s++)(r=n[s])&&this._matchesContentSelect(r,e)&&(i(r,e),n[s]=void 0,o=!0);if(!o)for(var A=t.Logical.getChildNodes(e),l=0;l<A.length;l++)i(A[l],e)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));for(var e,i,n=this.shadyRoot._insertionPoints,r=0,o=n.length;r<o&&(e=n[r]);r++)(i=t.Logical.getParentNode(e))._useContent||i===this||i===this.shadyRoot||this._updateChildNodes(i,this._composeNode(i))},_composeNode:function(e){for(var i=[],n=t.Logical.getChildNodes(e.shadyRoot||e),s=0;s<n.length;s++){var a=n[s];if(o(a))for(var A=a._distributedNodes,l=0;l<A.length;l++){var h=A[l];r(a,h)&&i.push(h)}else i.push(a)}return i},_updateChildNodes:function(e,i){for(var n=t.Composed.getChildNodes(e),r=Polymer.ArraySplice.calculateSplices(i,n),o=0,s=0;o<r.length&&(l=r[o]);o++){for(var a,A=0;A<l.removed.length&&(a=l.removed[A]);A++)t.Composed.getParentNode(a)===e&&t.Composed.removeChild(e,a),n.splice(l.index+s,1);s-=l.addedCount}var l,h;for(o=0;o<r.length&&(l=r[o]);o++)for(h=n[l.index],A=l.index;A<l.index+l.addedCount;A++)a=i[A],t.Composed.insertBefore(e,a,h),n.splice(A,0,a)},_matchesContentSelect:function(e,t){var i=t.getAttribute("select");return!i||!(i=i.trim())||e instanceof Element&&!!/^(:not\()?[*.#[a-zA-Z_|]/.test(i)&&this.elementMatches(i,e)},_elementAdd:function(){},_elementRemove:function(){}});var a=window.CustomElements&&!CustomElements.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root=this.shadowRoot}}),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),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;this._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.length,t=0;t<e;t++){var i=this._callbacks[t];if(i)try{i()}catch(e){throw t++,this._callbacks.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,{characterData:!0}),Polymer.Debounce=function(){var e=Polymer.Async,t=function(e){this.context=e;var t=this;this.boundComplete=function(){t.complete()}};return t.prototype={go:function(t,i){var n;this.finish=function(){e.cancel(n)},n=e.run(this.boundComplete,i),this.callback=t},stop:function(){this.finish&&(this.finish(),this.finish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.callback;this.stop(),e.call(this.context)}}},function(e,i,n){return e?e.stop():e=new t(this),e.go(i,n),e}}(),Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={}},debounce:function(e,t,i){return this._debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,i)},isDebouncerActive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebouncer:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:function(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createElement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),this._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._marshalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}}),Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],i=e._content||e.content;return this._parseNodeAnnotations(i,t,e.hasAttribute("strip-whitespace")),t},_parseNodeAnnotations:function(e,t,i){return e.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t,i)},_bindingRegex:new RegExp("(\\[\\[|{{)\\s*(?:(!)\\s*)?((?:[a-zA-Z_$][\\w.:$\\-*]*)\\s*(?:\\(\\s*(?:(?:(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*)(?:,\\s*(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*))*)?)\\)\\s*)?)(?:]]|}})","g"),_parseBindings:function(e){for(var t,i=this._bindingRegex,n=[],r=0;null!==(t=i.exec(e));){t.index>r&&n.push({literal:e.slice(r,t.index)});var o,s,a,A=t[1][0],l=Boolean(t[2]),h=t[3].trim();"{"==A&&(a=h.indexOf("::"))>0&&(s=h.substring(a+2),h=h.substring(0,a),o=!0),n.push({compoundIndex:n.length,value:h,mode:A,negate:l,event:s,customEvent:o}),r=i.lastIndex}if(r&&r<e.length){var c=e.substring(r);c&&n.push({literal:c})}if(n.length)return n},_literalFromParts:function(e){for(var t="",i=0;i<e.length;i++)t+=e[i].literal||"";return t},_parseTextNodeAnnotation:function(e,t){var i=this._parseBindings(e.textContent);if(i){e.textContent=this._literalFromParts(i)||" ";var n={bindings:[{kind:"text",name:"textContent",parts:i,isCompound:1!==i.length}]};return t.push(n),n}},_parseElementAnnotations:function(e,t,i){var n={bindings:[],events:[]};return"content"===e.localName&&(t._hasContent=!0),this._parseChildNodesAnnotations(e,n,t,i),e.attributes&&(this._parseNodeAttributeAnnotations(e,n,t),this.prepElement&&this.prepElement(e)),(n.bindings.length||n.events.length||n.id)&&t.push(n),n},_parseChildNodesAnnotations:function(e,t,i,n){if(e.firstChild)for(var r=e.firstChild,o=0;r;){var s=r.nextSibling;if("template"!==r.localName||r.hasAttribute("preserve-content")||this._parseTemplate(r,o,i,t),r.nodeType===Node.TEXT_NODE){for(var a=s;a&&a.nodeType===Node.TEXT_NODE;)r.textContent+=a.textContent,s=a.nextSibling,e.removeChild(a),a=s;n&&!r.textContent.trim()&&(e.removeChild(r),o--)}if(r.parentNode){var A=this._parseNodeAnnotations(r,i,n);A&&(A.parent=t,A.index=o)}r=s,o++}},_parseTemplate:function(e,t,i,n){var r=document.createDocumentFragment();r._notes=this.parseAnnotations(e),r.appendChild(e.content),i.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:r,parent:n,index:t})},_parseNodeAttributeAnnotations:function(e,t){for(var i,n=Array.prototype.slice.call(e.attributes),r=n.length-1;i=n[r];r--){var o,s=i.name,a=i.value;"on-"===s.slice(0,3)?(e.removeAttribute(s),t.events.push({name:s.slice(3),value:a})):(o=this._parseNodeAttributeAnnotation(e,s,a))?t.bindings.push(o):"id"===s&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,t,i){var n=this._parseBindings(i);if(n){var r=t,o="property";"$"==t[t.length-1]&&(t=t.slice(0,-1),o="attribute");var s=this._literalFromParts(n);s&&"attribute"==o&&e.setAttribute(t,s),"input"===e.localName&&"value"===r&&e.setAttribute(r,""),e.removeAttribute(r);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"===o&&(t=a),{kind:o,name:t,propertyName:a,parts:n,literal:s,isCompound:1!==n.length}}},findAnnotatedNode:function(e,t){var i=t.parent&&Polymer.Annotations.findAnnotatedNode(e,t.parent);if(!i)return e;for(var n=i.firstChild,r=0;n;n=n.nextSibling)if(t.index===r++)return n}},function(){function e(e,i){return e.replace(r,function(e,n,r,o){return n+"'"+t(r.replace(/["']/g,""),i)+"'"+o})}function t(e,t){if(e&&"#"===e[0])return e;var i=function(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a"))}(t);return i.href=e,i.href||e}var i,n,r=/(url\()([^)]*)(\))/g,o={"*":["href","src","style","url"],form:["action"]},s=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:e,resolveAttrs:function(i,n){for(var r in o)for(var a,A,l,h=o[r],c=0,u=h.length;c<u&&(a=h[c]);c++)"*"!==r&&i.localName!==r||(l=(A=i.attributes[a])&&A.value)&&l.search(s)<0&&(A.value="style"===a?e(l,n):t(l,n))},resolveUrl:function(e,r){return i||(i=document.implementation.createHTMLDocument("temp"),n=i.createElement("base"),i.head.appendChild(n)),n.href=r,t(e,i)}}}(),Polymer.Base._addFeature({_prepAnnotations:function(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t){e._prepElement(t)},this._template._content&&this._template._content._notes?this._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAnnotations(this._template),this._processAnnotations(this._notes)),Polymer.Annotations.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(var t=0;t<e.length;t++){for(var i=e[t],n=0;n<i.bindings.length;n++)for(var r=i.bindings[n],o=0;o<r.parts.length;o++){var s=r.parts[o];if(!s.literal){var a=this._parseMethod(s.value);a?s.signature=a:s.model=this._modelForPath(s.value)}}if(i.templateContent){this._processAnnotations(i.templateContent._notes);var A=i.templateContent._parentProps=this._discoverTemplateParentProps(i.templateContent._notes),l=[];for(var h in A){var c="_parent_"+h;l.push({index:i.index,kind:"property",name:c,propertyName:c,parts:[{mode:"{",model:h,value:h}]})}i.bindings=i.bindings.concat(l)}}},_discoverTemplateParentProps:function(e){for(var t,i={},n=0;n<e.length&&(t=e[n]);n++){for(var r,o=0,s=t.bindings;o<s.length&&(r=s[o]);o++)for(var a,A=0,l=r.parts;A<l.length&&(a=l[A]);A++)if(a.signature){for(var h=a.signature.args,c=0;c<h.length;c++){var u=h[c].model;u&&(i[u]=!0)}a.signature.dynamicFn&&(i[a.signature.method]=!0)}else a.model&&(i[a.model]=!0);if(t.templateContent){var d=t.templateContent._parentProps;Polymer.Base.mixin(i,d)}}return i},_prepElement:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedNodes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:function(){for(var e=this._notes,t=this._nodes,i=0;i<e.length;i++){var n=e[i],r=t[i];this._configureTemplateContent(n,r),this._configureCompoundBindings(n,r)}},_configureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateContent)},_configureCompoundBindings:function(e,t){for(var i=e.bindings,n=0;n<i.length;n++){var r=i[n];if(r.isCompound){for(var o=t.__compoundStorage__||(t.__compoundStorage__={}),s=r.parts,a=new Array(s.length),A=0;A<s.length;A++)a[A]=s[A].literal;var l=r.name;o[l]=a,r.literal&&"property"==r.kind&&(t._configValue?t._configValue(l,r.literal):t[l]=r.literal)}}},_marshalIdNodes:function(){this.$={};for(var e,t=0,i=this._notes.length;t<i&&(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._nodes=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,i=this._notes.length;t<i&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var n,r=this._findAnnotatedNode(this.root,e),o=0,s=e.events;o<s.length&&(n=s[o]);o++)this.listen(r,n.name,n.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:function(e){var t,i,n;for(n in e)n.indexOf(".")<0?(t=this,i=n):(i=n.split("."),t=this.$[i[0]],i=i[1]),this.listen(t,i,e[n])},listen:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n||(n=this._createEventHandler(e,t,i)),n._listening||(this._listen(e,t,n),n._listening=!0)},_boundListenerKey:function(e,t){return e+":"+t},_recordEventHandler:function(e,t,i,n,r){var o=e.__boundListeners;o||(o=e.__boundListeners=new WeakMap);var s=o.get(i);s||(s={},o.set(i,s)),s[this._boundListenerKey(t,n)]=r},_recallEventHandler:function(e,t,i,n){var r=e.__boundListeners;if(r){var o=r.get(i);if(o)return o[this._boundListenerKey(t,n)]}},_createEventHandler:function(e,t,i){var n=this,r=function(e){n[i]?n[i](e,e.detail):n._warn(n._logf("_createEventHandler","listener method `"+i+"` not defined"))};return r._listening=!1,this._recordEventHandler(n,t,e,i,r),r},unlisten:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n&&(this._unlisten(e,t,n),n._listening=!1)},_listen:function(e,t,i){e.addEventListener(t,i)},_unlisten:function(e,t,i){e.removeEventListener(t,i)}}),function(){"use strict";var e=Polymer.DomApi.wrap,t="string"==typeof document.head.style.touchAction,i="__polymerGesturesHandled",n="__polymerGesturesTouchAction",r=["mousedown","mousemove","mouseup","click"],o=[0,1,4,2],s=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),a=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),A=function(e){if(e[i]={skip:!0},"click"===e.type){for(var t=Polymer.dom(e).path,n=0;n<t.length;n++)if(t[n]===c.mouse.target)return;e.preventDefault(),e.stopPropagation()}};function l(e){for(var t,i=0;i<r.length;i++)t=r[i],e?document.addEventListener(t,A,!0):document.removeEventListener(t,A,!0)}function h(e){var t=e.type;if(-1===r.indexOf(t))return!1;if("mousemove"===t){var i=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!s&&(i=o[e.which]||0),Boolean(1&i)}return 0===(void 0===e.button?0:e.button)}var c={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function u(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function d(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var f={gestures:{},recognizers:[],deepTargetFind:function(e,t){for(var i=document.elementFromPoint(e,t),n=i;n&&n.shadowRoot;)(n=n.shadowRoot.elementFromPoint(e,t))&&(i=n);return i},findOriginalTarget:function(e){return e.path?e.path[0]:e.target},handleNative:function(n){var r,o=n.type,s=e(n.currentTarget).__polymerGestures;if(s){var A=s[o];if(A){if(!n[i]&&(n[i]={},"touch"===o.slice(0,5))){var h=n.changedTouches[0];if("touchstart"===o&&1===n.touches.length&&(c.touch.id=h.identifier),c.touch.id!==h.identifier)return;t||"touchstart"!==o&&"touchmove"!==o||f.handleTouchAction(n),"touchend"===o&&(c.mouse.target=Polymer.dom(n).rootTarget,a||(c.mouse.mouseIgnoreJob||l(!0),c.mouse.mouseIgnoreJob=Polymer.Debounce(c.mouse.mouseIgnoreJob,function(){l(),c.mouse.target=null,c.mouse.mouseIgnoreJob=null},2500)))}if(!(r=n[i]).skip){for(var u,d=f.recognizers,p=0;p<d.length;p++)A[(u=d[p]).name]&&!r[u.name]&&u.flow&&u.flow.start.indexOf(n.type)>-1&&u.reset&&u.reset();for(p=0;p<d.length;p++)A[(u=d[p]).name]&&!r[u.name]&&(r[u.name]=!0,u[o](n))}}}},handleTouchAction:function(e){var t=e.changedTouches[0],i=e.type;if("touchstart"===i)c.touch.x=t.clientX,c.touch.y=t.clientY,c.touch.scrollDecided=!1;else if("touchmove"===i){if(c.touch.scrollDecided)return;c.touch.scrollDecided=!0;var r=function(e){for(var t,i=Polymer.dom(e).path,r="auto",o=0;o<i.length;o++)if((t=i[o])[n]){r=t[n];break}return r}(e),o=!1,s=Math.abs(c.touch.x-t.clientX),a=Math.abs(c.touch.y-t.clientY);e.cancelable&&("none"===r?o=!0:"pan-x"===r?o=a>s:"pan-y"===r&&(o=s>a)),o?e.preventDefault():f.prevent("track")}},add:function(t,i,n){t=e(t);var o=this.gestures[i],s=o.deps,A=o.name,l=t.__polymerGestures;l||(t.__polymerGestures=l={});for(var h,c,u=0;u<s.length;u++)h=s[u],a&&r.indexOf(h)>-1||((c=l[h])||(l[h]=c={_count:0}),0===c._count&&t.addEventListener(h,this.handleNative),c[A]=(c[A]||0)+1,c._count=(c._count||0)+1);t.addEventListener(i,n),o.touchAction&&this.setTouchAction(t,o.touchAction)},remove:function(t,i,n){t=e(t);var r=this.gestures[i],o=r.deps,s=r.name,a=t.__polymerGestures;if(a)for(var A,l,h=0;h<o.length;h++)(l=a[A=o[h]])&&l[s]&&(l[s]=(l[s]||1)-1,l._count=(l._count||1)-1,0===l._count&&t.removeEventListener(A,this.handleNative));t.removeEventListener(i,n)},register:function(e){this.recognizers.push(e);for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByEvent:function(e){for(var t,i=0;i<this.recognizers.length;i++){t=this.recognizers[i];for(var n=0;n<t.emits.length;n++)if(t.emits[n]===e)return t}return null},setTouchAction:function(e,i){t&&(e.style.touchAction=i),e[n]=i},fire:function(e,t,i){if(Polymer.Base.fire(t,i,{node:e,bubbles:!0,cancelable:!0}).defaultPrevented){var n=i.sourceEvent;n&&n.preventDefault&&n.preventDefault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info.prevent=!0)},resetMouseCanceller:function(){c.mouse.mouseIgnoreJob&&c.mouse.mouseIgnoreJob.complete()}};f.register({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){d(this.info)},mousedown:function(e){if(h(e)){var t=f.findOriginalTarget(e),i=this;u(this.info,function(e){h(e)||(i.fire("up",t,e),d(i.info))},function(e){h(e)&&i.fire("up",t,e),d(i.info)}),this.fire("down",t,e)}},touchstart:function(e){this.fire("down",f.findOriginalTarget(e),e.changedTouches[0])},touchend:function(e){this.fire("up",f.findOriginalTarget(e),e.changedTouches[0])},fire:function(e,t,i){f.fire(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,prevent:function(e){return f.prevent(e)}})}}),f.register({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>2&&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,d(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var i=Math.abs(this.info.x-e),n=Math.abs(this.info.y-t);return i>=5||n>=5},mousedown:function(e){if(h(e)){var t=f.findOriginalTarget(e),i=this,n=function(e){var n=e.clientX,r=e.clientY;i.hasMovedEnough(n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&f.prevent("tap"),i.info.addMove({x:n,y:r}),h(e)||(i.info.state="end",d(i.info)),i.fire(t,e),i.info.started=!0)};u(this.info,n,function(e){i.info.started&&n(e),d(i.info)}),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:function(e){var t=f.findOriginalTarget(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;this.hasMovedEnough(n,r)&&("start"===this.info.state&&f.prevent("tap"),this.info.addMove({x:n,y:r}),this.fire(t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=f.findOriginalTarget(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),this.fire(t,i))},fire:function(e,t){var i,n=this.info.moves[this.info.moves.length-2],r=this.info.moves[this.info.moves.length-1],o=r.x-this.info.x,s=r.y-this.info.y,a=0;return n&&(i=r.x-n.x,a=r.y-n.y),f.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:s,ddx:i,ddy:a,sourceEvent:t,hover:function(){return f.deepTargetFind(t.clientX,t.clientY)}})}}),f.register({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.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){h(e)&&this.save(e)},click:function(e){h(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0])},touchend:function(e){this.forward(e.changedTouches[0])},forward:function(e){var t=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),n=f.findOriginalTarget(e);(isNaN(t)||isNaN(i)||t<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=f.findOriginalTarget(e).getBoundingClientRect(),i=e.pageX,n=e.pageY;return!(i>=t.left&&i<=t.right&&n>=t.top&&n<=t.bottom)}return!1}(e))&&(this.info.prevent||f.fire(n,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e}))}});var p={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null},_listen:function(e,t,i){f.gestures[t]?f.add(e,t,i):e.addEventListener(t,i)},_unlisten:function(e,t,i){f.gestures[t]?f.remove(e,t,i):e.removeEventListener(t,i)},setScrollDirection:function(e,t){t=t||this,f.setTouchAction(t,p[e]||"auto")}}),Polymer.Gestures=f}(),Polymer.Base._addFeature({$$:function(e){return Polymer.dom(this.root).querySelector(e)},toggleClass:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.classList.contains(e)),t?Polymer.dom(i).classList.add(e):Polymer.dom(i).classList.remove(e)},toggleAttribute:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.hasAttribute(e)),t?Polymer.dom(i).setAttribute(e,""):Polymer.dom(i).removeAttribute(e)},classFollows:function(e,t,i){i&&Polymer.dom(i).classList.remove(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,i){i&&Polymer.dom(i).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},getEffectiveChildren:function(){return Polymer.dom(this).getEffectiveChildNodes().filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveTextContent:function(){for(var e,t=this.getEffectiveChildNodes(),i=[],n=0;e=t[n];n++)e.nodeType!==Node.COMMENT_NODE&&i.push(Polymer.dom(e).textContent);return i.join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistributedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Polymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){var t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).getDistributedNodes():[]},getContentChildren:function(e){return this.getContentChildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:function(e,t,i){var n=(i=i||Polymer.nob).node||this;t=null===t||void 0===t?{}:t;var r=void 0===i.bubbles||i.bubbles,o=Boolean(i.cancelable),s=i._useCache,a=this._getEvent(e,r,o,s);return a.detail=t,s&&(this.__eventCache[e]=null),n.dispatchEvent(a),s&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,i,n){var r=n&&this.__eventCache[e];return r&&r.bubbles==t&&r.cancelable==i||(r=new Event(e,{bubbles:Boolean(t),cancelable:i})),r},async:function(e,t){var i=this;return Polymer.Async.run(function(){e.call(i)},t)},cancelAsync:function(e){Polymer.Async.cancel(e)},arrayDelete:function(e,t){var i;if(Array.isArray(e)){if((i=e.indexOf(t))>=0)return e.splice(i,1)}else if((i=this._get(e).indexOf(t))>=0)return this.splice(e,i,1)},transform:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e},translate3d:function(e,t,i,n){n=n||this,this.transform("translate3d("+e+","+t+","+i+")",n)},importHref:function(e,t,i,n){var r=document.createElement("link");r.rel="import",r.href=e,(n=Boolean(n))&&r.setAttribute("async","");var o=this;return t&&(r.onload=function(e){return t.call(o,e)}),i&&(r.onerror=function(e){return i.call(o,e)}),document.head.appendChild(r),r},create:function(e,t){var i=document.createElement(e);if(t)for(var n in t)i[n]=t[n];return i},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function(e){return this.root===Polymer.dom(e).getOwnerRoot()}}),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin(e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,i){i=void 0===i?this[e]:i,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:i},{bubbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,i,n){var r=this.__data__[e];return r===t||r!=r&&t!=t||(this.__data__[e]=t,"object"==typeof t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,r),i&&this._effectEffects(e,t,i,r,n)),r},__setProperty:function(e,t,i,n){var r=(n=n||this)._propertyEffects&&n._propertyEffects[e];r?n._propertySetter(e,t,r,i):n[e]=t},_effectEffects:function(e,t,i,n,r){for(var o,s=0,a=i.length;s<a&&(o=i[s]);s++)o.fn.call(this,e,t,o.effect,n,r)},_clearPath:function(e){for(var t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensurePropertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var i=e._propertyEffects[t];return i||(i=e._propertyEffects[t]=[]),i},addPropertyEffect:function(e,t,i,n){var r=this.ensurePropertyEffects(e,t),o={kind:i,effect:n,fn:Polymer.Bind["_"+i+"Effect"]};return r.push(o),o},createBindings:function(e){var t=e._propertyEffects;if(t)for(var i in t){var n=t[i];n.sort(this._sortPropertyEffects),this._createAccessors(e,i,n)}},_sortPropertyEffects:function(){var e={compute:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObserver:6,function:7};return function(t,i){return e[t.kind]-e[i.kind]}}(),_createAccessors:function(e,t,i){var n={get:function(){return this.__data__[t]}},r=function(e){this._propertySetter(t,e,i)},o=e.getPropertyInfo&&e.getPropertyInfo(t);o&&o.readOnly?o.computed||(e["_set"+this.upper(t)]=r):n.set=r,Object.defineProperty(e,t,n)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnotatedListener:function(e,t,i,n,r,o){e._bindListeners||(e._bindListeners=[]);var s=this._notedListenerFactory(i,n,this._isStructured(n),o),a=r||Polymer.CaseMap.camelToDashCase(i)+"-changed";e._bindListeners.push({index:t,property:i,path:n,changedFn:s,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBogus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e,t,i,n){return function(r,o,s){s?this._notifyPath(this._fixPath(t,e,s),o):(o=r[e],n&&(o=!o),i?this.__data__[t]!=o&&this.set(t,o):this[t]=o)}},prepareInstance:function(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var t,i=e._bindListeners,n=0,r=i.length;n<r&&(t=i[n]);n++){var o=e._nodes[t.index];this._addNotifyListener(o,e,t.event,t.changedFn)}},_addNotifyListener:function(e,t,i,n){e.addEventListener(i,function(e){return t._notifyListener(n,e)})}},Polymer.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attribute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotationEffect:function(e,t,i){e!=i.value&&(t=this._get(i.value),this.__data__[i.value]=t),this._applyEffectValue(i,t)},_reflectEffect:function(e,t,i){this.reflectPropertyToAttribute(e,i.attribute,t)},_notifyEffect:function(e,t,i,n,r){r||this._notifyChange(e,i.event,t)},_functionEffect:function(e,t,i,n,r){i.call(this,e,t,n,r)},_observerEffect:function(e,t,i,n){var r=this[i.method];r?r.call(this,t,n):this._warn(this._logf("_observerEffect","observer method `"+i.method+"` not defined"))},_complexObserverEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);r&&n.apply(this,r)}else i.dynamicFn||this._warn(this._logf("_complexObserverEffect","observer method `"+i.method+"` not defined"))},_computeEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(r){var o=n.apply(this,r);this.__setProperty(i.name,o)}}else i.dynamicFn||this._warn(this._logf("_computeEffect","compute method `"+i.method+"` not defined"))},_annotatedComputationEffect:function(e,t,i){var n=this._rootDataHost||this,r=n[i.method];if(r){var o=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(o){var s=r.apply(n,o);this._applyEffectValue(i,s)}}else i.dynamicFn||n._warn(n._logf("_annotatedComputationEffect","compute method `"+i.method+"` not defined"))},_marshalArgs:function(e,t,i,n){for(var r=[],o=t.args,s=o.length>1||t.dynamicFn,a=0,A=o.length;a<A;a++){var l,h=o[a],c=h.name;if(h.literal?l=h.value:i===c?l=n:void 0===(l=e[c])&&h.structured&&(l=Polymer.Base._get(c,e)),s&&void 0===l)return;if(h.wildcard){var u=0===i.indexOf(c+".");r[a]={path:u?i:c,value:u?n:l,base:l}}else r[a]=l}return r}}),Polymer.Base._addFeature({_addPropertyEffect:function(e,t,i){var n=Polymer.Bind.addPropertyEffect(this,e,t,i);n.pathFn=this["_"+n.kind+"PathEffect"]},_prepEffects:function(){Polymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBindings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function(e){if(e)for(var t in e){var i=e[t];if(i.observer&&this._addObserverEffect(t,i.observer),i.computed&&(i.readOnly=!0,this._addComputedEffect(t,i.computed)),i.notify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t)+"-changed"}),i.reflectToAttribute){var n=Polymer.CaseMap.camelToDashCase(t);"-"===n[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be reflected to attribute "+n+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.')):this._addPropertyEffect(t,"reflect",{attribute:n})}i.readOnly&&Polymer.Bind.ensurePropertyEffects(this,t)}},_addComputedEffect:function(e,t){for(var i,n=this._parseMethod(t),r=n.dynamicFn,o=0;o<n.args.length&&(i=n.args[o]);o++)this._addPropertyEffect(i.model,"compute",{method:n.method,args:n.args,trigger:i,name:e,dynamicFn:r});r&&this._addPropertyEffect(n.method,"compute",{method:n.method,args:n.args,trigger:null,name:e,dynamicFn:r})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"observer",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(var t,i=0;i<e.length&&(t=e[i]);i++)this._addComplexObserverEffect(t)},_addComplexObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Malformed observer expression '"+e+"'");for(var i,n=t.dynamicFn,r=0;r<t.args.length&&(i=t.args[r]);r++)this._addPropertyEffect(i.model,"complexObserver",{method:t.method,args:t.args,trigger:i,dynamicFn:n});n&&this._addPropertyEffect(t.method,"complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:n})},_addAnnotationEffects:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)for(var n,r=t.bindings,o=0;o<r.length&&(n=r[o]);o++)this._addAnnotationEffect(n,i)},_addAnnotationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addAnnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].negate);for(var i=0;i<e.parts.length;i++){var n=e.parts[i];n.signature?this._addAnnotatedComputationEffect(e,n,t):n.literal||("attribute"===e.kind&&"-"===e.name[0]?this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' because "-" is not a valid attribute starting character')):this._addPropertyEffect(n.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyName,value:n.value,isCompound:e.isCompound,compoundIndex:n.compoundIndex,event:n.event,customEvent:n.customEvent,negate:n.negate}))}},_addAnnotatedComputationEffect:function(e,t,i){var n=t.signature;if(n.static)this.__addAnnotatedComputationEffect("__static__",i,e,t,null);else{for(var r,o=0;o<n.args.length&&(r=n.args[o]);o++)r.literal||this.__addAnnotatedComputationEffect(r.model,i,e,t,r);n.dynamicFn&&this.__addAnnotatedComputationEffect(n.method,i,e,t,null)}},__addAnnotatedComputationEffect:function(e,t,i,n,r){this._addPropertyEffect(e,"annotatedComputation",{index:t,isCompound:i.isCompound,compoundIndex:n.compoundIndex,kind:i.kind,name:i.name,negate:n.negate,method:n.signature.method,args:n.signature.args,trigger:r,dynamicFn:n.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/([^\s]+?)\(([\s\S]*)\)/);if(t){var i={method:t[1],static:!0};if(this.getPropertyInfo(i.method)!==Polymer.nob&&(i.static=!1,i.dynamicFn=!0),t[2].trim()){var n=t[2].replace(/\\,/g,"&comma;").split(",");return this._parseArgs(n,i)}return i.args=Polymer.nar,i}},_parseArgs:function(e,t){return t.args=e.map(function(e){var i=this._parseArg(e);return i.literal||(t.static=!1),i},this),t},_parseArg:function(e){var t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),i={name:t},n=t[0];switch("-"===n&&(n=t[1]),n>="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.model=this._modelForPath(t),i.structured=t.indexOf(".")>0,i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindListeners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){var i=this._nodes[e.index],n=e.name;if(t=this._computeFinalAnnotationValue(i,n,t,e),!e.customEvent||i[n]!==t)if("attribute"==e.kind)this.serializeValueToAttribute(t,n,i);else{var r=i._propertyInfo&&i._propertyInfo[n];if(r&&r.readOnly)return;this.__setProperty(n,t,!1,i)}},_computeFinalAnnotationValue:function(e,t,i,n){if(n.negate&&(i=!i),n.isCompound){var r=e.__compoundStorage__[t];r[n.compoundIndex]=i,i=r.join("")}return"attribute"!==n.kind&&("className"===t&&(i=this._scopeElementClass(e,i)),("textContent"===t||"input"==e.localName&&"value"==t)&&(i=void 0==i?"":i)),i},_executeStaticEffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this._effectEffects("__static__",null,this._propertyEffects.__static__)}}),function(){var e=Polymer.Settings.usePolyfillProto;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._config[t]=e[t])},_marshalAttributes:function(){this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){var t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_configValue:function(e,t){var i=this._propertyInfo[e];i&&i.readOnly||(this._config[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function(){this._configureAnnotationReferences(),this._aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.length;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureProperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this._clients&&this._clients.length&&this._distributeConfig(this._config)},_configureProperties:function(t,i){for(var n in t){var r=t[n];if(!e&&this.hasOwnProperty(n)&&this._propertyEffects&&this._propertyEffects[n])i[n]=this[n],delete this[n];else if(void 0!==r.value){var o=r.value;"function"==typeof o&&(o=o.call(this,this._config)),i[n]=o}}},_distributeConfig:function(e){var t=this._propertyEffects;if(t)for(var i in e){var n=t[i];if(n)for(var r,o=0,s=n.length;o<s&&(r=n[o]);o++)if("annotation"===r.kind){var a=this._nodes[r.effect.index],A=r.effect.propertyName,l="attribute"==r.effect.kind,h=a._propertyEffects&&a._propertyEffects[A];if(a._configValue&&(h||!l)){var c=i===r.effect.value?e[i]:this._get(r.effect.value,e);c=this._computeFinalAnnotationValue(a,A,c,r.effect),l&&(c=a.deserialize(this.serialize(c),a._propertyInfo[A].type)),a._configValue(A,c)}}}},_afterClientsReady:function(){this._executeStaticEffects(),this._applyConfig(this._config,this._aboveConfig),this._flushHandlers()},_applyConfig:function(e,t){for(var i in e)void 0===this[i]&&this.__setProperty(i,e[i],i in t)},_notifyListener:function(e,t){if(!Polymer.Bind._isEventBogus(t,t.target)){var i,n;if(t.detail&&(i=t.detail.value,n=t.detail.path),this._clientsReadied)return e.call(this,t.target,i,n);this._queueHandler([e,t.target,i,n])}},_queueHandler:function(e){this._handlers.push(e)},_flushHandlers:function(){for(var e,t=this._handlers,i=0,n=t.length;i<n&&(e=t[i]);i++)e[0].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Polymer.Base._addFeature({notifyPath:function(e,t,i){var n={},r=this._get(e,this,n);1===arguments.length&&(t=r),n.path&&this._notifyPath(n.path,t,i)},_notifyPath:function(e,t,i){var n=this._propertySetter(e,t);if(n!==t&&(n==n||t==t))return this._pathEffector(e,t),i||this._notifyPathUp(e,t),!0},_getPathParts:function(e){if(Array.isArray(e)){for(var t=[],i=0;i<e.length;i++)for(var n=e[i].toString().split("."),r=0;r<n.length;r++)t.push(n[r]);return t}return e.toString().split(".")},set:function(e,t,i){var n,r=i||this,o=this._getPathParts(e),s=o[o.length-1];if(o.length>1){for(var a=0;a<o.length-1;a++){var A=o[a];if(n&&"#"==A[0]?r=Polymer.Collection.get(n).getItem(A):(r=r[A],n&&parseInt(A,10)==A&&(o[a]=Polymer.Collection.get(n).getKey(r))),!r)return;n=Array.isArray(r)?r:null}if(n){var l,h,c=Polymer.Collection.get(n);"#"==s[0]?(h=s,l=c.getItem(h),s=n.indexOf(l),c.setItem(h,t)):parseInt(s,10)==s&&(l=r[s],h=c.getKey(l),o[a]=h,c.setItem(h,t))}r[s]=t,i||this._notifyPath(o.join("."),t)}else r[e]=t},get:function(e,t){return this._get(e,t)},_get:function(e,t,i){for(var n,r=t||this,o=this._getPathParts(e),s=0;s<o.length;s++){if(!r)return;var a=o[s];n&&"#"==a[0]?r=Polymer.Collection.get(n).getItem(a):(r=r[a],i&&n&&parseInt(a,10)==a&&(o[s]=Polymer.Collection.get(n).getKey(r))),n=Array.isArray(r)?r:null}return i&&(i.path=o.join(".")),r},_pathEffector:function(e,t){var i=this._modelForPath(e),n=this._propertyEffects&&this._propertyEffects[i];if(n)for(var r,o=0;o<n.length&&(r=n[o]);o++){var s=r.pathFn;s&&s.call(this,e,t,r.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEffect:function(e,t,i){if(i.value===e||0===i.value.indexOf(e+"."))Polymer.Bind._annotationEffect.call(this,e,t,i);else if(0===e.indexOf(i.value+".")&&!i.negate){var n=this._nodes[i.index];if(n&&n._notifyPath){var r=this._fixPath(i.name,i.value,e);n._notifyPath(r,t,!0)}}},_complexObserverPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._complexObserverEffect.call(this,e,t,i)},_computePathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._computeEffect.call(this,e,t,i)},_annotatedComputationPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,i)},_pathMatchesEffect:function(e,t){var i=t.trigger.name;return i==e||0===i.indexOf(e+".")||t.trigger.wildcard&&0===e.indexOf(i)},linkPaths:function(e,t){this._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)},unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyBoundPaths:function(e,t){for(var i in this._boundPaths){var n=this._boundPaths[i];0==e.indexOf(i+".")?this._notifyPath(this._fixPath(n,i,e),t):0==e.indexOf(n+".")&&this._notifyPath(this._fixPath(i,n,e),t)}},_fixPath:function(e,t,i){return e+i.slice(t.length)},_notifyPathUp:function(e,t){var i=this._modelForPath(e),n=Polymer.CaseMap.camelToDashCase(i)+this._EVENT_CHANGED;this.fire(n,{path:e,value:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t){var i={},n=this._get(e,this,i);this._notifySplices(n,i.path,t)},_notifySplices:function(e,t,i){var n={keySplices:Polymer.Collection.applySplices(e,i),indexSplices:i},r=t+".splices";this._notifyPath(r,n),this._notifyPath(t+".length",e.length),this.__data__[r]={keySplices:null,indexSplices:null}},_notifySplice:function(e,t,i,n,r){this._notifySplices(e,t,[{index:i,addedCount:n,removed:r,object:e,type:"splice"}])},push:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.length,o=i.push.apply(i,n);return n.length&&this._notifySplice(i,t.path,r,n.length,[]),o},pop:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.pop.apply(i,r);return n&&this._notifySplice(i,t.path,i.length,0,[o]),o},splice:function(e,t){var i={},n=this._get(e,this,i);(t=t<0?n.length-Math.floor(-t):Math.floor(t))||(t=0);var r=Array.prototype.slice.call(arguments,1),o=n.splice.apply(n,r),s=Math.max(r.length-2,0);return(s||o.length)&&this._notifySplice(n,i.path,t,s,o),o},shift:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.shift.apply(i,r);return n&&this._notifySplice(i,t.path,0,0,[o]),o},unshift:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.unshift.apply(i,n);return n.length&&this._notifySplice(i,t.path,0,n.length,[]),r},prepareModelNotifyPath:function(e){this.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Polymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolveUrl:function(e){var t=Polymer.DomModule.import(this.is),i="";if(t){var n=t.getAttribute("assetpath")||"";i=Polymer.ResolveUrl.resolveUrl(n,t.ownerDocument.baseURI)}return Polymer.ResolveUrl.resolveUrl(e,i)}}),Polymer.CssParse={parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"")},_lex:function(e){for(var t={start:0,end:e.length},i=t,n=0,r=e.length;n<r;n++)switch(e[n]){case this.OPEN_BRACE:i.rules||(i.rules=[]);var o=i;i={start:n+1,parent:o,previous:o.rules[o.rules.length-1]},o.rules.push(i);break;case this.CLOSE_BRACE:i.end=n+1,i=i.parent||t}return t},_parseCss:function(e,t){var i=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=i.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;i=t.substring(n,e.start-1),i=(i=(i=this._expandUnicodeEscapes(i)).replace(this._rx.multipleSpaces," ")).substring(i.lastIndexOf(";")+1);var r=e.parsedSelector=e.selector=i.trim();e.atRule=0===r.indexOf(this.AT_START),e.atRule?0===r.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA_RULE:r.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(this._rx.multipleSpaces).pop()):0===r.indexOf(this.VAR_START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var o=e.rules;if(o)for(var s,a=0,A=o.length;a<A&&(s=o[a]);a++)this._parseCss(s,t);return e},_expandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:function(e,t,i){i=i||"";var n="";if(e.cssText||e.rules){var r=e.rules;if(!r||!t&&this._hasMixinRules(r))(n=(n=t?e.cssText:this.removeCustomProps(e.cssText)).trim())&&(n="  "+n+"\n");else for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)n=this.stringify(o,t,n)}return n&&(e.selector&&(i+=e.selector+" "+this.OPEN_BRACE+"\n"),i+=n,e.selector&&(i+=this.CLOSE_BRACE+"\n\n")),i},_hasMixinRules:function(e){return 0===e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=this.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPropAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._rx.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mixinApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE: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/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"},Polymer.StyleUtil={MODULE_STYLES_SELECTOR:"style, link[rel=import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t,i){return"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.parser.stringify(e,i)},forRulesInStyles:function(e,t,i){if(e)for(var n,r=0,o=e.length;r<o&&(n=e[r]);r++)this.forEachRule(this.rulesForStyle(n),t,i)},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},forEachRule:function(e,t,i){if(e){var n=!1;e.type===this.ruleTypes.STYLE_RULE?t(e):i&&e.type===this.ruleTypes.KEYFRAMES_RULE?i(e):e.type===this.ruleTypes.MIXIN_RULE&&(n=!0);var r=e.rules;if(r&&!n)for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)this.forEachRule(o,t,i)}},applyCss:function(e,t,i,n){var r=this.createScopeStyle(e,t);i=i||document.head;var o=n&&n.nextSibling||i.firstChild;return this.__lastHeadApplyNode=r,i.insertBefore(r,o)},createScopeStyle:function(e,t){var i=document.createElement("style");return t&&i.setAttribute("scope",t),i.textContent=e,i},__lastHeadApplyNode:null,applyStylePlaceHolder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),i=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,n=document.head;return n.insertBefore(t,i||n.firstChild),this.__lastHeadApplyNode=t,t},cssFromModules:function(e,t){for(var i=e.trim().split(" "),n="",r=0;r<i.length;r++)n+=this.cssFromModule(i[r],t);return n},cssFromModule:function(e,t){var i=Polymer.DomModule.import(e);return i&&!i._cssText&&(i._cssText=this.cssFromElement(i)),i&&i._cssText||""},cssFromElement:function(e){for(var t,i="",n=e.content||e,r=Polymer.TreeApi.arrayCopy(n.querySelectorAll(this.MODULE_STYLES_SELECTOR)),o=0;o<r.length;o++)if("template"===(t=r[o]).localName)i+=this.cssFromElement(t);else if("style"===t.localName){var s=t.getAttribute(this.INCLUDE_ATTR);s&&(i+=this.cssFromModules(s,!0)),(t=t.__appliedElement||t).parentNode.removeChild(t),i+=this.resolveCss(t.textContent,e.ownerDocument)}else t.import&&t.import.body&&(i+=this.resolveCss(t.import.body.textContent,t.import));return i},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types},Polymer.StyleTransformer=function(){var e=Polymer.Settings.useNativeShadow,t=Polymer.StyleUtil,i={dom:function(e,t,i,n){this._transformDom(e,t||"",i,n)},_transformDom:function(e,t,i,n){e.setAttribute&&this.element(e,t,i,n);for(var r=Polymer.dom(e).childNodes,o=0;o<r.length;o++)this._transformDom(r[o],t,i,n)},element:function(e,t,i,r){if(i)r?e.removeAttribute(n):e.setAttribute(n,t);else if(t)if(e.classList)r?(e.classList.remove(n),e.classList.remove(t)):(e.classList.add(n),e.classList.add(t));else if(e.getAttribute){var o=e.getAttribute(y);r?o&&e.setAttribute(y,o.replace(n,"").replace(t,"")):e.setAttribute(y,(o?o+" ":"")+n+" "+t)}},elementStyles:function(i,n){for(var r,o=i._styles,s="",a=0,A=o.length;a<A&&(r=o[a]);a++){var l=t.rulesForStyle(r);s+=e?t.toCssText(l,n):this.css(l,i.is,i.extends,n,i._scopeCssViaAttr)+"\n\n"}return s.trim()},css:function(e,i,n,r,o){var s=this._calcHostScope(i,n);i=this._calcElementScope(i,o);var a=this;return t.toCssText(e,function(e){e.isScoped||(a.rule(e,i,s),e.isScoped=!0),r&&r(e,i,s)})},_calcElementScope:function(e,t){return e?t?p+e+_:f+e:""},_calcHostScope:function(e,t){return t?"[is="+e+"]":e},rule:function(e,t,i){this._transformRule(e,this._transformComplexSelector,t,i)},_transformRule:function(e,i,n,r){var s=e.selector.split(o);if(!t.isKeyframesSelector(e))for(var a,A=0,l=s.length;A<l&&(a=s[A]);A++)s[A]=i.call(this,a,n,r);e.selector=e.transformedSelector=s.join(o)},_transformComplexSelector:function(e,t,i){var n=!1,r=!1,A=this;return e=(e=e.replace(g,a+" $1")).replace(s,function(e,o,s){if(n)s=s.replace(d," ");else{var a=A._transformCompoundSelector(s,o,t,i);n=n||a.stop,r=r||a.hostContext,o=a.combinator,s=a.value}return o+s}),r&&(e=e.replace(c,function(e,t,n,r){return t+n+" "+i+r+o+" "+t+i+n+r})),e},_transformCompoundSelector:function(e,t,i,n){var r,o=e.search(d),s=!1;return e.indexOf(h)>=0?s=!0:e.indexOf(a)>=0?e=(e=e.replace(l,function(e,t,i){return n+i})).replace(a,n):0!==o&&(e=i?this._transformSimpleSelector(e,i):e),e.indexOf(u)>=0&&(t=""),o>=0&&(e=e.replace(d," "),r=!0),{value:e,combinator:t,stop:r,hostContext:s}},_transformSimpleSelector:function(e,t){var i=e.split(m);return i[0]+=t,i.join(m)},documentRule:function(t){t.selector=t.parsedSelector,this.normalizeRootSelector(t),e||this._transformRule(t,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.selector===A&&(e.selector="body")},_transformDocumentSelector:function(e){return e.match(d)?this._transformComplexSelector(e,r):this._transformSimpleSelector(e.trim(),r)},SCOPE_NAME:"style-scope"},n=i.SCOPE_NAME,r=":not(["+n+"]):not(."+n+")",o=",",s=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=":host",A=":root",l=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g,h=":host-context",c=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,u="::content",d=/::content|::shadow|\/deep\//,f=".",p="["+n+"~=",_="]",m=":",y="class",g=new RegExp("^("+u+")");return i}(),Polymer.StyleExtends=function(){var e=Polymer.StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))},transform:function(t){var i=e.rulesForStyle(t),n=this;return e.forEachRule(i,function(e){if(n._mapRuleOntoParent(e),e.parent)for(var t;t=n.rx.EXTEND.exec(e.cssText);){var i=t[1],r=n._findExtendor(i,e);r&&n._extendRule(e,r)}e.cssText=e.cssText.replace(n.rx.EXTEND,"")}),e.toCssText(i,function(e){e.selector.match(n.rx.STRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var t=e.parent.map||(e.parent.map={}),i=e.selector.split(","),n=0;n<i.length;n++)t[i[n].trim()]=e;return t}},_findExtendor:function(e,t){return t.parent&&t.parent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule: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.rx.STRIP,""),t.selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t){(e=Object.create(e)).parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),function(){var e=Polymer.Base._prepElement,t=Polymer.Settings.useNativeShadow,i=Polymer.StyleUtil,n=Polymer.StyleTransformer,r=Polymer.StyleExtends;Polymer.Base._addFeature({_prepElement:function(t){this._encapsulateStyle&&n.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function(){t||(this._scopeStyle=i.applyStylePlaceHolder(this.is))},_prepShimStyles:function(){if(this._template){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),this._styles=this._collectStyles();var e=n.elementStyles(this);this._prepStyleProperties(),!this._needsStyleProperties()&&this._styles.length&&i.applyCss(e,this.is,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectStyles:function(){var e=[],t="",n=this.styleModules;if(n)for(var o,s=0,a=n.length;s<a&&(o=n[s]);s++)t+=i.cssFromModule(o);t+=i.cssFromModule(this.is);var A=this._template&&this._template.parentNode;if(!this._template||A&&A.id.toLowerCase()===this.is||(t+=i.cssFromElement(this._template)),t){var l=document.createElement("style");l.textContent=t,r.hasExtends(l.textContent)&&(t=r.transform(l)),e.push(l)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.__styleScoped=!1:n.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:function(e){this._encapsulateStyle&&n.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSubtree:function(e,i){if(!t){var n=this,r=function(e){if(e.nodeType===Node.ELEMENT_NODE){var t=e.getAttribute("class");e.setAttribute("class",n._scopeElementClass(e,t));for(var i,r=e.querySelectorAll("*"),o=0;o<r.length&&(i=r[o]);o++)t=i.getAttribute("class"),i.setAttribute("class",n._scopeElementClass(i,t))}};if(r(e),i){var o=new MutationObserver(function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)if(t.addedNodes)for(var n=0;n<t.addedNodes.length;n++)r(t.addedNodes[n])});return o.observe(e,{childList:!0,subtree:!0}),o}}}})}(),Polymer.StyleProperties=function(){"use strict";var e=Polymer.Settings.useNativeShadow,t=Polymer.DomApi.matchesSelector,i=Polymer.StyleUtil,n=Polymer.StyleTransformer;return{decorateStyles:function(e){var t=this,n={},r=[];i.forRulesInStyles(e,function(e){t.decorateRule(e),t.collectPropertiesInCssText(e.propertyInfo.cssText,n)},function(e){r.push(e)}),e._keyframes=r;var o=[];for(var s in n)o.push(s);return o},decorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},i={};return this.collectProperties(e,i)&&(t.properties=i,e.rules=null),t.cssText=this.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var i=e.propertyInfo;if(!i){for(var n,r,o=this.rx.VAR_ASSIGN,s=e.parsedCssText;n=o.exec(s);)t[n[1]]=(n[2]||n[3]).trim(),r=!0;return r}if(i.properties)return Polymer.Base.mixin(t,i.properties),!0},collectCssText:function(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssText:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIGN,"")},collectPropertiesInCssText:function(e,t){for(var i;i=this.rx.VAR_CAPTURE.exec(e);){t[i[1]]=!0;var n=i[2];n&&n.match(this.rx.IS_VAR)&&(t[n]=!0)}},reify:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length;n++)e[t=i[n]]=this.valueForProperty(e[t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueForProperties(e,t);else{var i=this;e=e.replace(this.rx.VAR_MATCH,function(e,n,r,o){return n+(i.valueForProperty(t[r],t)||(t[o]?i.valueForProperty(t[o],t):o)||"")})}return e&&e.trim()||""},valueForProperties:function(e,t){for(var i,n,r=e.split(";"),o=0;o<r.length;o++)if(i=r[o]){if(n=i.match(this.rx.MIXIN_MATCH))i=this.valueForProperty(t[n[1]],t);else{var s=i.indexOf(":");if(-1!==s){var a=i.substring(s);a=a.trim(),a=this.valueForProperty(a,t)||a,i=i.substring(0,s)+a}}r[o]=i&&i.lastIndexOf(";")===i.length-1?i.slice(0,-1):i||""}return r.join(";")},applyProperties:function(e,t){var i="";e.propertyInfo||this.decorateRule(e),e.propertyInfo.cssText&&(i=this.valueForProperties(e.propertyInfo.cssText,t)),e.cssText=i},applyKeyframeTransforms:function(e,t){var i=e.cssText,n=e.cssText;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(i)),e.hasAnimations)if(null==e.keyframeNamesToTransform)for(var r in e.keyframeNamesToTransform=[],t)i!==(n=(0,t[r])(i))&&(i=n,e.keyframeNamesToTransform.push(r));else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)i=(0,t[e.keyframeNamesToTransform[o]])(i);n=i}e.cssText=n},propertyDataFromStyles:function(e,n){var r={},o=this,s=[],a=0;return i.forRulesInStyles(e,function(e){e.propertyInfo||o.decorateRule(e),n&&e.propertyInfo.properties&&t.call(n,e.transformedSelector||e.parsedSelector)&&(o.collectProperties(e,r),function(e,t){var i=parseInt(e/32),n=1<<e%32;t[i]=(t[i]||0)|n}(a,s)),a++}),{properties:r,key:s}},scopePropertiesFromStyles:function(e){return e._scopeStyleProperties||(e._scopeStyleProperties=this.selectedPropertiesFromStyles(e,this.SCOPE_SELECTORS)),e._scopeStyleProperties},hostPropertiesFromStyles:function(e){return e._hostStyleProperties||(e._hostStyleProperties=this.selectedPropertiesFromStyles(e,this.HOST_SELECTORS)),e._hostStyleProperties},selectedPropertiesFromStyles:function(e,t){var n={},r=this;return i.forRulesInStyles(e,function(e){e.propertyInfo||r.decorateRule(e);for(var i=0;i<t.length;i++)if(e.parsedSelector===t[i])return void r.collectProperties(e,n)}),n},transformStyles:function(t,i,r){var o=this,s=n._calcHostScope(t.is,t.extends),a=t.extends?"\\"+s.slice(0,-1)+"\\]":s,A=new RegExp(this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),l=this._elementKeyframeTransforms(t,r);return n.elementStyles(t,function(n){o.applyProperties(n,i),e||Polymer.StyleUtil.isKeyframesSelector(n)||!n.cssText||(o.applyKeyframeTransforms(n,l),o._scopeSelector(n,A,s,t._scopeCssViaAttr,r))})},_elementKeyframeTransforms:function(t,i){var n=t._styles._keyframes,r={};if(!e&&n)for(var o=0,s=n[o];o<n.length;s=n[++o])this._scopeKeyframes(s,i),r[s.keyframesName]=this._keyframesRuleTransformer(s);return r},_keyframesRuleTransformer:function(e){return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesName)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,"g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.transformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyframesName,e.transformedKeyframesName)},_scopeSelector:function(e,t,i,r,o){e.transformedSelector=e.transformedSelector||e.selector;for(var s,a=e.transformedSelector,A=r?"["+n.SCOPE_NAME+"~="+o+"]":"."+o,l=a.split(","),h=0,c=l.length;h<c&&(s=l[h]);h++)l[h]=s.match(t)?s.replace(i,A):A+" "+s;e.selector=l.join(",")},applyElementScopeSelector:function(e,t,i,r){var o=r?e.getAttribute(n.SCOPE_NAME):e.getAttribute("class")||"",s=i?o.replace(i,t):(o?o+" ":"")+this.XSCOPE_NAME+" "+t;o!==s&&(r?e.setAttribute(n.SCOPE_NAME,s):e.setAttribute("class",s))},applyElementStyle:function(t,n,r,o){var s=o?o.textContent||"":this.transformStyles(t,n,r),a=t._customStyle;return a&&!e&&a!==o&&(a._useCount--,a._useCount<=0&&a.parentNode&&a.parentNode.removeChild(a)),!e&&o&&o.parentNode||(e&&t._customStyle?(t._customStyle.textContent=s,o=t._customStyle):s&&(o=i.applyCss(s,r,e?t.root:null,t._scopeStyle))),o&&(o._useCount=o._useCount||0,t._customStyle!=o&&o._useCount++,t._customStyle=o),o},mixinCustomStyle:function(e,t){var i;for(var n in t)((i=t[n])||0===i)&&(e[n]=i)},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,VAR_MATCH:/(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)))[\s]*?\)/gi,VAR_CAPTURE:/\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:])",HOST_SUFFIX:"($|[.:[\\s>+~])"},HOST_SELECTORS:[":host"],SCOPE_SELECTORS:[":root"],XSCOPE_NAME:"x-scope"}}(),Polymer.StyleCache=function(){this.cache={}},Polymer.StyleCache.prototype={MAX:100,store:function(e,t,i,n){t.keyValues=i,t.styles=n;var r=this.cache[e]=this.cache[e]||[];r.push(t),r.length>this.MAX&&r.shift()},retrieve:function(e,t,i){var n=this.cache[e];if(n)for(var r,o=n.length-1;o>=0;o--)if(i===(r=n[o]).styles&&this._objectsEqual(t,r.keyValues))return r},clear:function(){this.cache={}},_objectsEqual:function(e,t){var i,n;for(var r in e)if(i=e[r],n=t[r],!("object"==typeof i&&i?this._objectsStrictlyEqual(i,n):i===n))return!1;return!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){return this._objectsEqual(e,t)&&this._objectsEqual(t,e)}},Polymer.StyleDefaults=function(){var e=Polymer.StyleProperties;return{_styles:[],_properties:null,customStyle:{},_styleCache:new(0,Polymer.StyleCache),addStyle:function(e){this._styles.push(e),this._properties=null},get _styleProperties(){return this._properties||(e.decorateStyles(this._styles),this._styles._scopeStyleProperties=null,this._properties=e.scopePropertiesFromStyles(this._styles),e.mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),this._properties},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties},updateStyles:function(e){this._properties=null,e&&Polymer.Base.mixin(this.customStyle,e),this._styleCache.clear();for(var t,i=0;i<this._styles.length;i++)(t=(t=this._styles[i]).__importElement||t)._apply()}}}(),function(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.StyleProperties,i=Polymer.StyleTransformer,n=Polymer.StyleDefaults,r=Polymer.Settings.useNativeShadow;Polymer.Base._addFeature({_prepStyleProperties:function(){this._ownStylePropertyNames=this._styles&&this._styles.length?t.decorateStyles(this._styles):null},customStyle:null,getComputedStyleValue:function(e){return this._styleProperties&&this._styleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStyleProperties:function(){this.customStyle={},this._styleCache=null,this._styleProperties=null,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=null},_needsStyleProperties:function(){return Boolean(this._ownStylePropertyNames&&this._ownStylePropertyNames.length)},_beforeAttached:function(){!this._scopeSelector&&this._needsStyleProperties()&&this._updateStyleProperties()},_findStyleHost:function(){for(var e,t=this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.host;t=e.host}return n},_updateStyleProperties:function(){var e,i=this._findStyleHost();i._styleCache||(i._styleCache=new Polymer.StyleCache);var n=t.propertyDataFromStyles(i._styles,this);n.key.customStyle=this.customStyle,e=i._styleCache.retrieve(this.is,n.key,this._styles);var s=Boolean(e);s?this._styleProperties=e._styleProperties:this._computeStyleProperties(n.properties),this._computeOwnStyleProperties(),s||(e=o.retrieve(this.is,this._ownStyleProperties,this._styles));var a=Boolean(e)&&!s,A=this._applyStyleProperties(e);s||(e={style:A=A&&r?A.cloneNode(!0):A,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties},n.key.customStyle={},this.mixin(n.key.customStyle,this.customStyle),i._styleCache.store(this.is,e,n.key,this._styles),a||o.store(this.is,Object.create(e),this._ownStyleProperties,this._styles))},_computeStyleProperties:function(e){var i=this._findStyleHost();i._styleProperties||i._computeStyleProperties();var n=Object.create(i._styleProperties);this.mixin(n,t.hostPropertiesFromStyles(this._styles)),e=e||t.propertyDataFromStyles(i._styles,this).properties,this.mixin(n,e),this.mixin(n,t.scopePropertiesFromStyles(this._styles)),t.mixinCustomStyle(n,this.customStyle),t.reify(n),this._styleProperties=n},_computeOwnStyleProperties:function(){for(var e,t={},i=0;i<this._ownStylePropertyNames.length;i++)t[e=this._ownStylePropertyNames[i]]=this._styleProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:function(e){var i=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:this.is+"-"+this.__proto__._scopeCount++;var n=t.applyElementStyle(this,this._styleProperties,this._scopeSelector,e&&e.style);return r||t.applyElementScopeSelector(this,this._scopeSelector,i,this._scopeCssViaAttr),n},serializeValueToAttribute:function(t,i,n){if(n=n||this,"class"===i&&!r){var o=n===this?this.domHost||this.dataHost:this;o&&(t=o._scopeElementClass(n,t))}n=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(n):n,e.call(this,t,i,n)},_scopeElementClass:function(e,t){return r||this._scopeCssViaAttr||(t=(t?t+" ":"")+s+" "+this.is+(e._scopeSelector?" "+a+" "+e._scopeSelector:"")),t},updateStyles:function(e){this.isAttached&&(e&&this.mixin(this.customStyle,e),this._needsStyleProperties()?this._updateStyleProperties():this._styleProperties=null,this._styleCache&&this._styleCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||this.root;for(var t,i=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shadowRoot}),n=0,r=i.length;n<r&&(t=i[n]);n++)t.updateStyles&&t.updateStyles()}}),Polymer.updateStyles=function(e){n.updateStyles(e),Polymer.Base._updateRootStyles(document)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var s=i.SCOPE_NAME,a=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeatures:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBindings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e.properties),this._addComplexObserverEffects(e.observers),this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupConfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady(),this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marshalAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_marshalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),function(){var e=Polymer.StyleProperties,t=Polymer.StyleUtil,i=Polymer.CssParse,n=Polymer.StyleDefaults,r=Polymer.StyleTransformer;Polymer({is:"custom-style",extends:"style",_template:null,properties:{include:String},ready:function(){this._tryApply()},attached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDocument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesToDocument=!0;var e=this.__appliedElement||this;if(n.addStyle(e),e.textContent||this.include)this._apply(!0);else{var t=this,i=new MutationObserver(function(){i.disconnect(),t._apply(!0)});i.observe(e,{childList:!0})}}},_apply:function(e){var i=this.__appliedElement||this;if(this.include&&(i.textContent=t.cssFromModules(this.include,!0)+i.textContent),i.textContent){t.forEachRule(t.rulesForStyle(i),function(e){r.documentRule(e)});var n=this,o=function(){n._applyCustomProperties(i)};this._pendingApplyProperties&&(cancelAnimationFrame(this._pendingApplyProperties),this._pendingApplyProperties=null),e?this._pendingApplyProperties=requestAnimationFrame(o):o()}},_applyCustomProperties:function(n){this._computeStyleProperties();var r=this._styleProperties,o=t.rulesForStyle(n);n.textContent=t.toCssText(o,function(t){var n=t.cssText=t.parsedCssText;t.propertyInfo&&t.propertyInfo.cssText&&(n=i.removeCustomPropAssignment(n),t.cssText=e.valueForProperties(n,r))})}})}(),Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer.nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content._ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create(Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyInfo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementClass=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=this._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=this.__setPropertyImpl;var i=this._constructorImpl,n=function(e,t){i.call(this,e,t)};n.prototype=t,t.constructor=n,e._content._ctor=n,this.ctor=n},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},_showHideChildrenImpl:function(e){for(var t=this._children,i=0;i<t.length;i++){var n=t[i];Boolean(e)!=Boolean(n.__hideTemplateChildren__)&&(n.nodeType===Node.TEXT_NODE?e?(n.__polymerTextContent__=n.textContent,n.textContent=""):n.textContent=n.__polymerTextContent__:n.style&&(e?(n.__polymerDisplay__=n.style.display,n.style.display="none"):n.style.display=n.__polymerDisplay__)),n.__hideTemplateChildren__=e}},__setPropertyImpl:function(e,t,i,n){n&&n.__hideTemplateChildren__&&"textContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,i,n)},_debounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTemplate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:function(e){var t=e._parentProps;for(var i in t)e._addPropertyEffect(i,"function",this._createHostPropEffector(i));for(i in this._instanceProps)e._addPropertyEffect(i,"function",this._createInstancePropEffector(i))},_customPrepAnnotations:function(e,t){e._template=t;var i=t._content;if(!i._notes){var n=e._rootDataHost;n&&(Polymer.Annotations.prepElement=function(){n._prepElement()}),i._notes=Polymer.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._processAnnotations(i._notes)}e._notes=i._notes,e._parentProps=i._parentProps},_prepParentProperties:function(e,t){var i=this._parentProps=e._parentProps;if(this._forwardParentProp&&i){var n,r=e._parentPropProto;if(!r){for(n in this._instanceProps)delete i[n];for(n in r=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.prepareModel(r),Polymer.Base.prepareModelNotifyPath(r)),i){var o=this._parentPropPrefix+n,s=[{kind:"function",effect:this._createForwardPropEffector(n),fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(o)+"-changed"}}];Polymer.Bind._createAccessors(r,o,s)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forwardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,r),t._pathEffector=function(e,t,i){return a._pathEffectorImpl(e,t,i)}}},_createForwardPropEffector:function(e){return function(t,i){this._forwardParentProp(e,i)}},_createHostPropEffector:function(e){var t=this._parentPropPrefix;return function(i,n){this.dataHost._templatized[t+e]=n}},_createInstancePropEffector:function(e){return function(t,i,n,r){r||this.dataHost._forwardInstanceProp(this,e,i)}},_extendTemplate:function(e,t){var i=Object.getOwnPropertyNames(t);t._propertySetter&&(e._propertySetter=t._propertySetter);for(var n,r=0;r<i.length&&(n=i[r]);r++){var o=e[n],s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s),void 0!==o&&e._propertySetter(n,o)}},_showHideChildren:function(e){},_forwardInstancePath:function(e,t,i){},_forwardInstanceProp:function(e,t,i){},_notifyPathUpImpl:function(e,t){var i=this.dataHost,n=e.indexOf("."),r=n<0?e:e.slice(0,n);i._forwardInstancePath.call(i,this,e,t),r in i._parentProps&&i._templatized._notifyPath(i._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,i){if(this._forwardParentPath&&0===e.indexOf(this._parentPropPrefix)){var n=e.substring(this._parentPropPrefix.length);this._modelForPath(n)in this._parentProps&&this._forwardParentPath(n,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,i)},_constructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupConfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTemplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.__styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalInstanceEffects(),this._marshalAnnotatedListeners();for(var i=[],n=this.root.firstChild;n;n=n.nextSibling)i.push(n),n._templateInstance=this;this._children=i,t.__hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImpl:function(e,t,i){var n=this,r=this._rootDataHost,o=r._createEventHandler(e,t,i);r._listen(e,t,function(e){e.model=n,o(e)})},_scopeElementClassImpl:function(e,t){var i=this._rootDataHost;return i?i._scopeElementClass(e,t):t},stamp:function(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var i in this._parentProps)void 0===e[i]&&(e[i]=t[this._parentPropPrefix+i])}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.parentNode}},Polymer({is:"dom-template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.Collection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.store=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},i=this.store,n=0;n<i.length;n++){var r=i[n];r&&"object"==typeof r?e.set(r,n):t[r]=n}},add:function(e){var t=this.store.push(e)-1;return e&&"object"==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 this.pmap[e]},remove:function(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var t;if(void 0!=(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e]))return"#"+t},getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e})},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t){if(e=this._parseKey(e)){var i=this.store[e];i&&this._removeFromMap(i),t&&"object"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:function(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],t=this.store;for(var i in t)e.push(t[i]);return e},_applySplices:function(e){for(var t,i,n={},r=0;r<e.length&&(i=e[r]);r++){i.addedKeys=[];for(var o=0;o<i.removed.length;o++)n[t=this.getKey(i.removed[o])]=n[t]?null:-1;for(o=0;o<i.addedCount;o++){var s=this.userArray[i.index+o];n[t=void 0===(t=this.getKey(s))?this.add(s):t]=n[t]?null:1,i.addedKeys.push(t)}}var a=[],A=[];for(t in n)n[t]<0&&(this.removeKey(t),a.push(t)),n[t]>0&&A.push(t);return[{removed:a,added:A}]}},Polymer.Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Collection(e)},Polymer.Collection.applySplices=function(e,t){var i=Polymer._collections.get(e);return i?i._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:Function,observer:"_sortChanged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,observer:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,readOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFrameTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChanged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=Infinity;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:function(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detachInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for(var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t++)this._attachInstance(t,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._getRootDataHost();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._filterFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:function(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&(this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChunkTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<this.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChunk:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._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._needFullRefresh=!0,this._initializeChunking(),this._debounceTemplate(this._render);else if("items.splices"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._indexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplate(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,i=0;i<t.length;i++)if(0===e.indexOf(t[i]))return this._needFullRefresh=!0,void(this.delay?this.debounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFullRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh():this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._indexSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--){var i=this._instances[t];i.isPlaceholder&&t<this._limit?i=this._insertInstance(t,i.__key__):!i.isPlaceholder&&t>=this._limit&&(i=this._downgradeInstance(t,i.__key__)),e[i.__key__]=t,i.isPlaceholder||i.__setProperty(this.indexAs,t,!0)}this._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("dom-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.collection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var i=this.items;if(i)for(var n=0;n<i.length;n++)e.push(t.getKey(i[n]))}var r=this;for(this._filterFn&&(e=e.filter(function(e){return r._filterFn(t.getItem(e))})),this._sortFn&&e.sort(function(e,i){return r._sortFn(t.getItem(e),t.getItem(i))}),n=0;n<e.length;n++){var o=e[n],s=this._instances[n];s?(s.__key__=o,!s.isPlaceholder&&n<this._limit&&s.__setProperty(this.as,t.getItem(o),!0)):n<this._limit?this._insertInstance(n,o):this._insertPlaceholder(n,o)}for(var a=this._instances.length-1;a>=n;a--)this._detachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUserSort:function(e){for(var t,i,n=this.collection,r={},o=0;o<e.length&&(i=e[o]);o++){for(var s=0;s<i.removed.length;s++)r[t=i.removed[s]]=r[t]?null:-1;for(s=0;s<i.added.length;s++)r[t=i.added[s]]=r[t]?null:1}var a=[],A=[];for(t in r)-1===r[t]&&a.push(this._keyToInstIdx[t]),1===r[t]&&A.push(t);if(a.length)for(a.sort(this._numericSort),o=a.length-1;o>=0;o--){var l=a[o];void 0!==l&&this._detachAndRemoveInstance(l)}var h=this;if(A.length){this._filterFn&&(A=A.filter(function(e){return h._filterFn(n.getItem(e))})),A.sort(function(e,t){return h._sortFn(n.getItem(e),n.getItem(t))});var c=0;for(o=0;o<A.length;o++)c=this._insertRowUserSort(c,A[o])}},_insertRowUserSort:function(e,t){for(var i=this.collection,n=i.getItem(t),r=this._instances.length-1,o=-1;e<=r;){var s=e+r>>1,a=this._instances[s].__key__,A=this._sortFn(i.getItem(a),n);if(A<0)e=s+1;else{if(!(A>0)){o=s;break}r=s-1}}return o<0&&(o=r+1),this._insertPlaceholder(o,t),o},_applySplicesArrayOrder:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++){for(var n=0;n<t.removed.length;n++)this._detachAndRemoveInstance(t.index);for(n=0;n<t.addedKeys.length;n++)this._insertPlaceholder(t.index+n,t.addedKeys[n])}},_detachInstance:function(e){var t=this._instances[e];if(!t.isPlaceholder){for(var i=0;i<t._children.length;i++){var n=t._children[i];Polymer.dom(t.root).appendChild(n)}return t}},_attachInstance:function(e,t){var i=this._instances[e];i.isPlaceholder||t.insertBefore(i.root,this)},_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:function(e,t){var i={__key__:t};return i[this.as]=this.collection.getItem(t),i[this.indexAs]=e,this.stamp(i)},_insertInstance:function(e,t){var i=this._pool.pop();i?(i.__setProperty(this.as,this.collection.getItem(t),!0),i.__setProperty("__key__",t,!0)):i=this._stampInstance(e,t);var n=this._instances[e+1],r=n&&!n.isPlaceholder?n._children[0]:this,o=Polymer.dom(this).parentNode;return Polymer.dom(o).insertBefore(i.root,r),this._instances[e]=i,i},_downgradeInstance:function(e,t){var i=this._detachInstance(e);return i&&this._pool.push(i),i={isPlaceholder:!0,__key__:t},this._instances[e]=i,i},_showHideChildren:function(e){for(var t=0;t<this._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstanceProp:function(e,t,i){var n;t==this.as&&(n=this._sortFn||this._filterFn?this.items.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items."+n,i))},_forwardInstancePath:function(e,t,i){0===t.indexOf(this.as+".")&&this._notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),i)},_forwardParentProp:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i._notifyPath(e,t,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var i=e.indexOf("."),n=e.substring(0,i<0?e.length:i),r=this._keyToInstIdx[n],o=this._instances[r];o&&!o.isPlaceholder&&(i>=0?(e=this.as+"."+e.substring(i+1),o._notifyPath(e,t,!0)):o.__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-selector",_template:null,properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,value:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function(){if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unlinkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("selectedItem");this.multi?this.selected&&!this.selected.length||(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.selected==e},deselect:function(e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.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.get(this.items).getKey(e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.push("selected",e);var i=this._selectedColl.getKey(e);this.linkPaths("selected."+i,"items."+t)}else this.toggle&&e==this.selected?this.deselect():(this.selected=e,this.selectedItem=e,this.linkPaths("selected","items."+t),this.linkPaths("selectedItem","items."+t))}}),Polymer({is:"dom-if",extends:"template",_template:null,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:Boolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render)},detached:function(){this.parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Settings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance()},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},render:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||this.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restamp&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildren(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensureInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom(e);if(this._instance){var i=this._instance._children;if(i&&i.length&&Polymer.dom(this).previousSibling!==i[i.length-1])for(var n,r=0;r<i.length&&(n=i[r]);r++)t.insertBefore(n,this)}else{this._instance=this.stamp();var o=this._instance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._instance){var e=this._instance._children;if(e&&e.length)for(var t,i=Polymer.dom(Polymer.dom(e[0]).parentNode),n=0;n<e.length&&(t=e[n]);n++)i.removeChild(t);this._instance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__||!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentProp:function(e,t){this._instance&&(this._instance[e]=t)},_forwardParentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Polymer({is:"dom-bind",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._readied||this._readySelf()},_markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registerFeatures:function(){this._prepConstructor()},_insertChildren:function(){Polymer.dom(Polymer.dom(this).parentNode).insertBefore(this.root,this)},_removeChildren:function(){if(this._children)for(var e=0;e<this._children.length;e++)this.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElementClass:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t},_prepConfigure:function(){var e={};for(var t in this._propertyEffects)e[t]=this[t];var i=this._setupConfigure;this._setupConfigure=function(){i.call(this,e)}},attached:function(){this._importsReady&&this.render()},detached:function(){this._removeChildren()},render:function(){this._ensureReady(),this._children||(this._template=this,this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindings(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.fire("dom-change")}}),Polymer({is:"iron-localstorage",properties:{name:{type:String,value:""},value:{type:Object,notify:!0},useRaw:{type:Boolean,value:!1},autoSaveDisabled:{type:Boolean,value:!1},errorMessage:{type:String,notify:!0},_loaded:{type:Boolean,value:!1}},observers:["_debounceReload(name,useRaw)","_trySaveValue(autoSaveDisabled)","_trySaveValue(value.*)"],ready:function(){this._boundHandleStorage=this._handleStorage.bind(this)},attached:function(){window.addEventListener("storage",this._boundHandleStorage)},detached:function(){window.removeEventListener("storage",this._boundHandleStorage)},_handleStorage:function(e){e.key==this.name&&this._load(!0)},_trySaveValue:function(){this._doNotSave||this._loaded&&!this.autoSaveDisabled&&this.debounce("save",this.save)},_debounceReload:function(){this.debounce("reload",this.reload)},reload:function(){this._loaded=!1,this._load()},_load:function(e){try{var t=window.localStorage.getItem(this.name)}catch(e){this.errorMessage=e.message,this._error("Could not save to localStorage.  Try enabling cookies for this page.",e)}if(null===t)this._loaded=!0,this._doNotSave=!0,this.value=null,this._doNotSave=!1,this.fire("iron-localstorage-load-empty",{externalChange:e});else{if(!this.useRaw)try{t=JSON.parse(t)}catch(e){this.errorMessage="Could not parse local storage value",Polymer.Base._error("could not parse local storage value",t),t=null}this._loaded=!0,this._doNotSave=!0,this.value=t,this._doNotSave=!1,this.fire("iron-localstorage-load",{externalChange:e})}},save:function(){var e=this.useRaw?this.value:JSON.stringify(this.value);try{null===this.value||void 0===this.value?window.localStorage.removeItem(this.name):window.localStorage.setItem(this.name,e)}catch(e){this.errorMessage=e.message,Polymer.Base._error("Could not save to localStorage. Incognito mode may be blocking this action",e)}}}),function(){var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged"},value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hidden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":case"value":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyChanged:function(e,t){this._resetRegistration(t)},_valueChanged:function(e){this._resetRegistration(this.key)},_selfChanged:function(e){e&&(this.value=this)},_typeChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={}),this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.key,this.value)},byKey:function(e){return this._metaData&&this._metaData[e]},_resetRegistration:function(e){this._unregisterKey(e),this._registerKeyValue(this.key,this.value)},_unregisterKey:function(e){this._unregister(e,this._metaData,this.list)},_registerKeyValue:function(e,t){this._register(e,t,this._metaData,this.list)},_register:function(e,t,i,n){e&&i&&void 0!==t&&(i[e]=t,n.push(t))},_unregister:function(e,t,i){if(e&&t&&e in t){var n=t[e];delete t[e],this.arrayDelete(i,n)}}}),Polymer.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.IronMeta),i},Polymer.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}},factoryImpl: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:function(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]}})}(),Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_validator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},hasValidator:function(){return null!=this._validator},validate:function(e){return this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)},__computeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehaviorMeta.byKey(this.validator)}},Polymer.IronFormElementBehavior={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})}},Polymer.IronCheckedElementBehaviorImpl={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},Polymer.IronCheckedElementBehavior=[Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior,Polymer.IronCheckedElementBehaviorImpl],function(){"use strict";var e={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},t={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:"*"},i={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},n=/[a-z0-9*]/,r=/U\+/,o=/^arrow/,s=/^space(bar)?/,a=/^escape$/;function A(e,t){var i="";if(e){var r=e.toLowerCase();" "===r||s.test(r)?i="space":a.test(r)?i="esc":1==r.length?t&&!n.test(r)||(i=r):i=o.test(r)?r.replace("arrow",""):"multiply"==r?"*":r}return i}function l(i,n){return o=n,s=i.hasModifiers,(o.key?A(o.key,s):o.detail&&o.detail.key?A(o.detail.key,s):(l="",(a=o.keyIdentifier)&&(a in e?l=e[a]:r.test(a)?(a=parseInt(a.replace("U+","0x"),16),l=String.fromCharCode(a).toLowerCase()):l=a.toLowerCase()),l||function(e){var i="";return Number(e)&&(i=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):t[e]),i}(o.keyCode)||""))===i.key&&(!i.hasModifiers||!!n.shiftKey==!!i.shiftKey&&!!n.ctrlKey==!!i.ctrlKey&&!!n.altKey==!!i.altKey&&!!n.metaKey==!!i.metaKey);var o,s,a,l}function h(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),r=n[0],o=n[1];return r in i?(e[i[r]]=!0,e.hasModifiers=!0):(e.key=r,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var i=h(t),n=0;n<i.length;++n)if(l(i[n],e))return!0;return!1},_collectKeyBindings:function(){var e=this.behaviors.map(function(e){return e.keyBindings});return-1===e.indexOf(this.keyBindings)&&e.push(this.keyBindings),e},_prepKeyBindings:function(){for(var e in this._keyBindings={},this._collectKeyBindings().forEach(function(e){for(var t in e)this._addKeyBinding(t,e[t])},this),this._imperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings)this._keyBindings[t].sort(function(e,t){var i=e[0].hasModifiers;return i===t[0].hasModifiers?0:i?-1:1})},_addKeyBinding:function(e,t){h(e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.event]||[],this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:function(){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEventListeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forEach(function(e){var t=this._keyBindings[e],i=this._onKeyBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,i]),this.keyEventTarget.addEventListener(e,i)},this)},_unlistenKeyEventListeners:function(){for(var e,t,i,n;this._boundKeyHandlers.length;)t=(e=this._boundKeyHandlers.pop())[0],i=e[1],n=e[2],t.removeEventListener(i,n)},_onKeyBindingEvent:function(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var i=0;i<e.length;i++){var n=e[i][0],r=e[i][1];if(l(n,t)&&(this._triggerKeyHandler(n,r,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,i){var n=Object.create(e);n.keyboardEvent=i;var r=new CustomEvent(e.event,{detail:n,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&i.preventDefault()}}}(),Polymer.IronControlState={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){if(e.target===this)this._setFocused("focus"===e.type);else 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.cancelable})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabIndex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}},Polymer.IronButtonStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_detectKeyboardFocus(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!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))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer.IronButtonStateImpl],function(){var e={distance:function(e,t,i,n){var r=e-i,o=t-n;return Math.sqrt(r*r+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function t(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function i(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=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.resetInteractionState()}t.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),r=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),s=e.distance(t,i,this.width,this.height);return Math.max(n,r,o,s)}},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},get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),i.MAX_RADIUS)+5,r=1.1-n/i.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/r,s=n*(1-Math.pow(80,-o));return Math.abs(s)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&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.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.element)},draw:function(){var e,t,i;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,i=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+i+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+i+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){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:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e<this.ripples.length;++e)if(!this.ripples[e].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(function(){this.upAction()},1)},uiDownAction:function(e){this.noink||this.downAction(e)},downAction:function(e){this.holdDown&&this.ripples.length>0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new i(this);return Polymer.dom(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e<this.ripples.length;++e)(t=this.ripples[e]).draw(),this.$.background.style.opacity=t.outerOpacity,t.isOpacityFullyDecayed&&!t.isRestingAtMaxRadius&&this.removeRipple(t);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(e,t){void 0!==t&&(e?this.downAction():this.upAction())}})}(),Polymer.PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Polymer.dom(t).appendChild(this._ripple),e){var i=Polymer.dom(this._rippleContainer||this),n=Polymer.dom(e).rootTarget;i.deepContains(n)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return 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)}},Polymer.PaperInkyFocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl],Polymer.PaperCheckedElementBehaviorImpl={_checkedChanged:function(){Polymer.IronCheckedElementBehaviorImpl._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){Polymer.PaperRippleBehavior._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},Polymer.PaperCheckedElementBehavior=[Polymer.PaperInkyFocusBehavior,Polymer.IronCheckedElementBehavior,Polymer.PaperCheckedElementBehaviorImpl],Polymer({is:"paper-radio-button",behaviors:[Polymer.PaperCheckedElementBehavior],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.customStyle["--paper-radio-button-ink-size"]=t+"px",this.updateStyles()}}}),Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.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?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}},Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue: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.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.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:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var n=i.indexOf(t);if(n>=0){var r=this._indexToValue(n);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&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 null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var i=0;i<t.length;i++)this._selection.setItemSelected(t[i],!0);this.fallbackSelection&&this.items.length&&!this._selection.get().length&&this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?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.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl],Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String}},_SEARCH_RESET_TIMEOUT_MS:1e3,hostAttributes:{role:"menu",tabindex:"0"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){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.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");for(var t,i=this._searchText||"",n=(i+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase()).length,r=0;t=this.items[r];r++)if(!t.hasAttribute("disabled")){var o=this.attrForItemTitle||"textContent",s=(t[o]||t.getAttribute(o)||"").trim();if(!(s.length<n)&&s.slice(0,n).toLocaleLowerCase()==i){this._setFocusedItem(t);break}}this._searchText=i,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t-i+e)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t+i)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),e&&(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl],Polymer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?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.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Polymer.IronMenubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImpl],Polymer({is:"paper-radio-group",behaviors:[Polymer.IronMenubarBehavior],hostAttributes:{role:"radiogroup",tabindex:0},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var i=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(i&&(i.checked=!0));e=""}i&&(i.checked=!1)}Polymer.IronSelectableBehavior.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){Polymer.IronMenubarBehaviorImpl._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){Polymer.IronMenubarBehaviorImpl._onRightKey.apply(this,arguments),this._activateFocusedItem()}}),Polymer({is:"google-codelab-survey",properties:{surveyId:{type:String,value:""},answers:{type:Object,notify:!0}},listeners:{click:"_onClick"},ready:function(){for(var e,t=Polymer.dom(this).queryDistributedElements("paper-radio-group"),i=0;e=t[i];i++)this._selectAnswer(e)},_initAnswers:function(){this.answers={}},_storageKey:function(e){return"codelab-survey-"+e},_storageLoaded:function(){for(var e,t=this.getContentChildren(),i="",n=0;e=t[n];n++)"H4"!==e.tagName?i&&e.select&&this._selectAnswer(e,i):i=this.answers[this._elemText(e)]},_selectAnswer:function(e,t){for(var i,n=0;i=e.children[n];n++)i.name||(i.name=this._elemText(i)),i.name===t&&e.select(t)},_onClick:function(e){if("PAPER-RADIO-BUTTON"===(e=Polymer.dom(e)).localTarget.tagName){var t=e.localTarget.parentElement.previousElementSibling;if(t&&"H4"===t.tagName){var i=this._elemText(t),n=e.localTarget.name;this.set("answers."+i,n),this.fire("google-codelab-survey-answer",{question:i,answer:n})}}},_elemText:function(e){return e.textContent.trim().replace(/\n|\r/g,"")}}),Polymer({is:"google-codelab-step",properties:{step:{type:Number,value:1,notify:!0},label:{type:String,value:""},duration:{type:Number,value:0,notify:!0},active:{type:Boolean,value:!1,observer:"_activeChanged"}},_isHighlighted:!1,_activeChanged:function(){var e=Polymer.dom(this).parentNode;"google-codelab"===e.localName&&e.noHighlight||this.active&&!this._isHighlighted&&this.async(function(){Polymer.dom(this).querySelectorAll("pre > code").forEach(function(e){Polymer.dom(e).innerHTML=prettyPrintOne(e.textContent.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")),e.addEventListener("copy",function(){this.fire("google-codelab-snippet-copy",{snippet:e.textContent})}.bind(this))}.bind(this)),this._isHighlighted=!0})}}),Polymer({is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Polymer.dom(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.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))}}),Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!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.removeIcon(e);var i=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(i){var n=Polymer.dom(e);return n.insertBefore(i,n.childNodes[0]),e._svgIcon=i}return null},removeIcon:function(e){(e=e.root||e)._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,i){if(e){var n=e.cloneNode(!0),r=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=n.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return i&&n.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),r.setAttribute("viewBox",o),r.setAttribute("preserveAspectRatio","xMidYMid meet"),r.style.cssText=s,r.appendChild(n).removeAttribute("id"),r}return null}}),Polymer.IronResizableBehavior={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():Polymer.Settings.useShadow||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=e.path?e.path[0]:e.target;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)}},Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var i in t)e[i]=t[i]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,i){var n;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(n=e?this.animationConfig[e]:this.animationConfig,Array.isArray(n)||(n=[n]),n)for(var r,o=0;r=n[o];o++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,i);else if(r.id){var s=t[r.id];s?(s.isClone||(t[r.id]=this._cloneConfig(s),s=t[r.id]),this._copyProperties(s,r)):t[r.id]=r}else i.push(r)},getAnimationConfig:function(e){var t={},i=[];for(var n in this._getAnimationConfigRecursive(e,t,i),t)i.push(t[n]);return i}},Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(e){var t=[];if(e.length>0)for(var i,n=0;i=e[n];n++){var r=document.createElement(i.name);if(r.isNeonAnimation){var o=null;try{"function"!=typeof(o=r.configure(i)).cancel&&(o=document.timeline.play(o))}catch(e){o=null}o&&t.push({neonAnimation:r,config:i,animation:o})}}return t},_shouldComplete:function(e){for(var t=!0,i=0;i<e.length;i++)if("finished"!=e[i].animation.playState){t=!1;break}return t},_complete:function(e){for(var t=0;t<e.length;t++)e[t].neonAnimation.complete(e[t].config);for(t=0;t<e.length;t++)e[t].animation.cancel()},playAnimation:function(e,t){var i=this.getAnimationConfig(e);if(i){this._active=this._active||{},this._active[e]&&(this._complete(this._active[e]),delete this._active[e]);var n=this._configureAnimations(i);if(0!=n.length){this._active[e]=n;for(var r=0;r<n.length;r++)n[r].animation.onfinish=function(){this._shouldComplete(n)&&(this._complete(n),delete this._active[e],this.fire("neon-animation-finish",t,{bubbles:!1}))}.bind(this)}else this.fire("neon-animation-finish",t,{bubbles:!1})}},cancelAnimation:function(){for(var e in this._animations)this._animations[e].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl],Polymer({is:"neon-animated-pages",behaviors:[Polymer.IronResizableBehavior,Polymer.IronSelectableBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{activateEvent:{type:String,value:""},animateInitialSelection:{type:Boolean,value:!1}},listeners:{"iron-select":"_onIronSelect","neon-animation-finish":"_onNeonAnimationFinish"},_onIronSelect:function(e){var t=e.detail.item;if(!(this.items.indexOf(t)<0)){var i=this._valueToItem(this._prevSelected)||!1;this._prevSelected=this.selected,i||this.animateInitialSelection?(this.animationConfig=[],this.entryAnimation?this.animationConfig.push({name:this.entryAnimation,node:t}):t.getAnimationConfig&&this.animationConfig.push({animatable:t,type:"entry"}),i&&(i.classList.contains("neon-animating")&&(this._squelchNextFinishEvent=!0,this.cancelAnimation(),this._completeSelectedChanged(),this._squelchNextFinishEvent=!1),this.exitAnimation?this.animationConfig.push({name:this.exitAnimation,node:i}):i.getAnimationConfig&&this.animationConfig.push({animatable:i,type:"exit"}),i.classList.add("neon-animating")),t.classList.add("neon-animating"),this.animationConfig.length>=1?this.isAttached?this.playAnimation(void 0,{fromPage:i,toPage:t}):this.async(function(){this.playAnimation(void 0,{fromPage:null,toPage:t})}):this._completeSelectedChanged(i,t)):this._completeSelectedChanged()}},_completeSelectedChanged:function(e,t){if(t&&t.classList.remove("neon-animating"),e&&e.classList.remove("neon-animating"),!t||!e)for(var i,n=Polymer.dom(this.$.content).getDistributedNodes(),r=0;i=n[r];r++)i.classList&&i.classList.remove("neon-animating");this.async(this._notifyPageResize)},_onNeonAnimationFinish:function(e){this._squelchNextFinishEvent?this._squelchNextFinishEvent=!1:this._completeSelectedChanged(e.detail.fromPage,e.detail.toPage)},_notifyPageResize:function(){var e=this.selectedItem||this._valueToItem(this.selected);this.resizerShouldNotify=function(t){return t==e},this.notifyResize()}}),Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(e){if(e.timing)for(var t in e.timing)this.animationTiming[t]=e.timing[t];return this.animationTiming},setPrefixedProperty:function(e,t,i){for(var n,r={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]}[t],o=0;n=r[o];o++)e.style[n]=i;e.style[t]=i},complete:function(){}},function(a,b){var c={},d={},e={},f=null;!function(e,t){function i(){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=u}function n(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,n,r){var o=new i;return n&&(o.fill="both",o.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(i){if("auto"!=t[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof t[i]||isNaN(t[i])))return;if("fill"==i&&-1==h.indexOf(t[i]))return;if("direction"==i&&-1==c.indexOf(t[i]))return;if("playbackRate"==i&&1!==t[i]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=t[i]}}):o.duration=t,o}function o(e,t,i,n){return e<0||e>1||i<0||i>1?u:function(r){function o(e,t,i){return 3*e*(1-i)*(1-i)*i+3*t*(1-i)*i*i+i*i*i}if(r<=0){var s=0;return e>0?s=t/e:!t&&i>0&&(s=n/i),s*r}if(r>=1){var a=0;return i<1?a=(n-1)/(i-1):1==i&&e<1&&(a=(t-1)/(e-1)),1+a*(r-1)}for(var A=0,l=1;A<l;){var h=(A+l)/2,c=o(e,i,h);if(Math.abs(r-c)<1e-5)return o(t,n,h);c<r?A=h:l=h}return o(t,n,h)}}function s(e,t){return function(i){if(i>=1)return 1;var n=1/e;return(i+=t*n)-i%n}}function a(e){m||(m=document.createElement("div").style),m.animationTimingFunction="",m.animationTimingFunction=e;var t=m.animationTimingFunction;if(""==t&&n())throw new TypeError(e+" is not a valid value for easing");return t}function A(e){if("linear"==e)return u;var t=g.exec(e);if(t)return o.apply(this,t.slice(1).map(Number));var i=v.exec(e);return i?s(Number(i[1]),{start:d,middle:f,end:p}[i[2]]):_[e]||u}function l(e,t,i){if(null==t)return b;var n=i.delay+e+i.endDelay;return t<Math.min(i.delay,n)?P:t>=Math.min(i.delay+e,n)?C:S}var h="backwards|forwards|both|none".split("|"),c="reverse|alternate|alternate-reverse".split("|"),u=function(e){return e};i.prototype={_setMember:function(t,i){this["_"+t]=i,this._effect&&(this._effect._timingInput[t]=i,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&n())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=A(a(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var d=1,f=.5,p=0,_={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,d),"step-middle":s(1,f),"step-end":s(1,p)},m=null,y="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+y+","+y+","+y+","+y+"\\)"),v=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,b=0,P=1,C=2,S=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var i in e)t[i]=e[i];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,i){return r(t=e.numericTimingToObject(t),i)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,i){var n=l(e,t,i),r=function(e,t,i,n,r){switch(n){case P:return"backwards"==t||"both"==t?0:null;case S:return i-r;case C:return"forwards"==t||"both"==t?e:null;case b:return null}}(e,i.fill,t,n,i.delay);if(null===r)return null;var o=function(e,t,i,n,r){var o=r;return 0===e?t!==P&&(o+=i):o+=n/e,o}(i.duration,n,i.iterations,r,i.iterationStart),s=function(e,t,i,n,r,o){var s=e===1/0?t%1:e%1;return 0!==s||i!==C||0===n||0===r&&0!==o||(s=1),s}(o,i.iterationStart,n,i.iterations,r,i.duration),a=function(e,t,i,n){return e===C&&t===1/0?1/0:1===s?Math.floor(n)-1:Math.floor(n)}(n,i.iterations,0,o),A=function(e,t,i){var n=e;if("normal"!==e&&"reverse"!==e){var r=a;"alternate-reverse"===e&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?s:1-s}(i.direction);return i._easingFunction(A)},e.calculatePhase=l,e.normalizeEasing=a,e.parseEasingFunction=A}(c),function(e,t){function i(e,t){return e in A&&A[e][t]||t}function n(e,t,n){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=o[e];if(r)for(var a in s.style[e]=t,r){var A=r[a],l=s.style[A];n[A]=i(A,l)}else n[e]=i(e,t)}}function r(e){var t=[];for(var i in e)if(!(i in["easing","offset","composite"])){var n=e[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;s<o;s++)(r={}).offset="offset"in e?e.offset:1==o?1:s/(o-1),"easing"in e&&(r.easing=e.easing),"composite"in e&&(r.composite=e.composite),r[i]=n[s],t.push(r)}return t.sort(function(e,t){return e.offset-t.offset}),t}var o={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},s=document.createElementNS("http://www.w3.org/1999/xhtml","div"),a={thin:"1px",medium:"3px",thick:"5px"},A={borderBottomWidth:a,borderLeftWidth:a,borderRightWidth:a,borderTopWidth:a,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:a,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};e.convertToArrayForm=r,e.normalizeKeyframes=function(t){if(null==t)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||(t=r(t));for(var i=t.map(function(t){var i={};for(var r in t){var o=t[r];if("offset"==r){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){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"==r?e.normalizeEasing(o):""+o;n(r,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),o=!0,s=-1/0,a=0;a<i.length;a++){var A=i[a].offset;if(null!=A){if(A<s)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");s=A}else o=!1}return i=i.filter(function(e){return e.offset>=0&&e.offset<=1}),o||function(){var e=i.length;null==i[e-1].offset&&(i[e-1].offset=1),e>1&&null==i[0].offset&&(i[0].offset=0);for(var t=0,n=i[0].offset,r=1;r<e;r++){var o=i[r].offset;if(null!=o){for(var s=1;s<r-t;s++)i[t+s].offset=n+(o-n)*s/(r-t);t=r,n=o}}}(),i}}(c),function(e){var t={};e.isDeprecated=function(e,i,n,r){var o=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(o<s&&(t[e]=!0,1))},e.deprecated=function(t,i,n,r){var o=r?"are":"is";if(e.isDeprecated(t,i,n,r))throw new Error(t+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(e){void 0===a[e]&&(b=!0)})),!b)return}!function(e,t,i){t.convertEffectInput=function(i){var n=function(e){for(var t={},i=0;i<e.length;i++)for(var n in e[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:e[i].offset,easing:e[i].easing,value:e[i][n]};t[n]=t[n]||[],t[n].push(r)}for(var o in t){var s=t[o];if(0!=s[0].offset||1!=s[s.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return t}(e.normalizeKeyframes(i)),r=function(i){var n=[];for(var r in i)for(var o=i[r],s=0;s<o.length-1;s++){var a=s,A=s+1,l=o[a].offset,h=o[A].offset,c=l,u=h;0==s&&(c=-1/0,0==h&&(A=a)),s==o.length-2&&(u=1/0,1==l&&(a=A)),n.push({applyFrom:c,applyTo:u,startOffset:o[a].offset,endOffset:o[A].offset,easingFunction:e.parseEasingFunction(o[a].easing),property:r,interpolation:t.propertyInterpolation(r,o[a].value,o[A].value)})}return n.sort(function(e,t){return e.startOffset-t.startOffset}),n}(n);return function(e,i){if(null!=i)r.filter(function(e){return i>=e.applyFrom&&i<e.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,s=0==o?0:n.easingFunction(r/o);t.apply(e,n.property,n.interpolation(s))});else for(var o in n)"offset"!=o&&"easing"!=o&&"composite"!=o&&t.clear(e,o)}}}(c,d),function(e,t,i){function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function r(e,t,i){o[i]=o[i]||[],o[i].push([e,t])}var o={};t.addPropertiesHandler=function(e,t,i){for(var o=0;o<i.length;o++)r(e,t,n(i[o]))};var s={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"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:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};t.propertyInterpolation=function(i,r,a){var A=i;/-/.test(i)&&!e.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(A=n(i)),"initial"!=r&&"initial"!=a||("initial"==r&&(r=s[A]),"initial"==a&&(a=s[A]));for(var l=r==a?[]:o[A],h=0;l&&h<l.length;h++){var c=l[h][0](r),u=l[h][0](a);if(void 0!==c&&void 0!==u){var d=l[h][1](c,u);if(d){var f=t.Interpolation.apply(null,d);return function(e){return 0==e?r:1==e?a:f(e)}}}}return t.Interpolation(!1,!0,function(e){return e?a:r})}}(c,d),function(e,t,i){t.KeyframeEffect=function(i,n,r,o){var s,a=function(t){var i=e.calculateActiveDuration(t),n=function(n){return e.calculateIterationProgress(i,n,t)};return n._totalDuration=t.delay+i+t.endDelay,n}(e.normalizeTimingInput(r)),A=t.convertEffectInput(n),l=function(){A(i,s)};return l._update=function(e){return null!==(s=a(e))},l._clear=function(){A(i,null)},l._hasSameTarget=function(e){return i===e},l._target=i,l._totalDuration=a._totalDuration,l._id=o,l},t.NullEffect=function(e){var t=function(){e&&(e(),e=null)};return t._update=function(){return null},t._totalDuration=0,t._hasSameTarget=function(){return!1},t}}(c,d),function(e,t){e.apply=function(t,i,n){t.style[e.propertyName(i)]=n},e.clear=function(t,i){t.style[e.propertyName(i)]=""}}(d),function(e){window.Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(e.KeyframeEffect(this,t,i,n))}}(d),d.Interpolation=function(e,t,i){return function(n){return i(function e(t,i,n){if("number"==typeof t&&"number"==typeof i)return t*(1-n)+i*n;if("boolean"==typeof t&&"boolean"==typeof i)return n<.5?t:i;if(t.length==i.length){for(var r=[],o=0;o<t.length;o++)r.push(e(t[o],i[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+i}(e,t,n))}},function(e,t,i){e.sequenceNumber=0,t.Animation=function(t){this.id="",t&&t._id&&(this.id=t._id),this._sequenceNumber=e.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=t,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},t.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,t.timeline._animations.push(this))},_tickCurrentTime:function(e,t){e!=this._currentTime&&(this._currentTime=e,this._isFinished&&!t&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var i=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel: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),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var i=this._finishHandlers.indexOf(t);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,i){this.target=e,this.currentTime=t,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(c,d),function(e,t,i){function n(e){var t=l;l=[],e<p.currentTime&&(e=p.currentTime),p._animations.sort(r),p._animations=a(e,!0,p._animations)[0],t.forEach(function(t){t[1](e)}),s()}function r(e,t){return e._sequenceNumber-t._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function s(){d.forEach(function(e){e()}),d.length=0}function a(e,i,n){f=!0,u=!1,t.timeline.currentTime=e,c=!1;var r=[],o=[],s=[],a=[];return n.forEach(function(t){t._tick(e,i),t._inEffect?(o.push(t._effect),t._markTarget()):(r.push(t._effect),t._unmarkTarget()),t._needsTick&&(c=!0);var n=t._inEffect||t._needsTick;t._inTimeline=n,n?s.push(t):a.push(t)}),d.push.apply(d,r),d.push.apply(d,o),c&&requestAnimationFrame(function(){}),f=!1,[s,a]}var A=window.requestAnimationFrame,l=[],h=0;window.requestAnimationFrame=function(e){var t=h++;return 0==l.length&&A(n),l.push([t,e]),t},window.cancelAnimationFrame=function(e){l.forEach(function(t){t[0]==e&&(t[1]=function(){})})},o.prototype={_play:function(i){i._timing=e.normalizeTimingInput(i.timing);var n=new t.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),t.restart(),t.applyDirtiedAnimation(n),n}};var c=!1,u=!1;t.restart=function(){return c||(c=!0,requestAnimationFrame(function(){}),u=!0),u},t.applyDirtiedAnimation=function(e){if(!f){e._markTarget();var i=e._targetAnimations();i.sort(r),a(t.timeline.currentTime,!1,i.slice())[1].forEach(function(e){var t=p._animations.indexOf(e);-1!==t&&p._animations.splice(t,1)}),s()}};var d=[],f=!1,p=new o;t.timeline=p}(c,d),function(e){function t(e,t){var i=e.exec(t);if(i)return[i=e.ignoreCase?i[0].toLowerCase():i[0],t.substr(i.length)]}function i(e,t){var i=e(t=t.replace(/^\s*/,""));if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(e,t,i,n,r){for(var o=[],s=[],a=[],A=function(e,t){for(var i=e,n=t;i&&n;)i>n?i%=n:n%=i;return e*t/(i+n)}(n.length,r.length),l=0;l<A;l++){var h=t(n[l%n.length],r[l%r.length]);if(!h)return;o.push(h[0]),s.push(h[1]),a.push(h[2])}return[o,s,function(t){var n=t.map(function(e,t){return a[t](e)}).join(i);return e?e(n):n}]}e.consumeToken=t,e.consumeTrimmed=i,e.consumeRepeated=function(e,n,r){e=i.bind(null,e);for(var o=[];;){var s=e(r);if(!s)return[o,r];if(o.push(s[0]),!(s=t(n,r=s[1]))||""==s[1])return[o,r];r=s[1]}},e.consumeParenthesised=function(e,t){for(var i=0,n=0;n<t.length&&(!/\s|,/.test(t[n])||0!=i);n++)if("("==t[n])i++;else if(")"==t[n]&&(0==--i&&n++,i<=0))break;var r=e(t.substr(0,n));return void 0==r?void 0:[r,t.substr(n)]},e.ignore=function(e){return function(t){var i=e(t);return i&&(i[0]=void 0),i}},e.optional=function(e,t){return function(i){return e(i)||[t,i]}},e.consumeList=function(t,i){for(var n=[],r=0;r<t.length;r++){var o=e.consumeTrimmed(t[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n},e.mergeNestedRepeated=n.bind(null,null),e.mergeWrappedNestedRepeated=n,e.mergeList=function(e,t,i){for(var n=[],r=[],o=[],s=0,a=0;a<i.length;a++)if("function"==typeof i[a]){var A=i[a](e[s],t[s++]);n.push(A[0]),r.push(A[1]),o.push(A[2])}else!function(e){n.push(!1),r.push(!1),o.push(function(){return i[e]})}(a);return[n,r,function(e){for(var t="",i=0;i<e.length;i++)t+=o[i](e[i]);return t}]}}(d),function(e){function t(t){var i={inset:!1,lengths:[],color:null},n=e.consumeRepeated(function(t){var n;return(n=e.consumeToken(/^inset/i,t))?(i.inset=!0,n):(n=e.consumeLengthOrPercent(t))?(i.lengths.push(n[0]),n):(n=e.consumeColor(t))?(i.color=n[0],n):void 0},/^/,t);if(n&&n[0].length)return[i,n[1]]}var i=function(t,i,n,r){function o(e){return{inset:e,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var s=[],a=[],A=0;A<n.length||A<r.length;A++){var l=n[A]||o(r[A].inset),h=r[A]||o(n[A].inset);s.push(l),a.push(h)}return e.mergeNestedRepeated(t,i,s,a)}.bind(null,function(t,i){for(;t.lengths.length<Math.max(t.lengths.length,i.lengths.length);)t.lengths.push({px:0});for(;i.lengths.length<Math.max(t.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(t.inset==i.inset&&!!t.color==!!i.color){for(var n,r=[],o=[[],0],s=[[],0],a=0;a<t.lengths.length;a++){var A=e.mergeDimensions(t.lengths[a],i.lengths[a],2==a);o[0].push(A[0]),s[0].push(A[1]),r.push(A[2])}if(t.color&&i.color){var l=e.mergeColors(t.color,i.color);o[1]=l[0],s[1]=l[1],n=l[2]}return[o,s,function(e){for(var i=t.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](e[0][o])+" ";return n&&(i+=n(e[1])),i}]}},", ");e.addPropertiesHandler(function(i){var n=e.consumeRepeated(t,/^,/,i);if(n&&""==n[1])return n[0]},i,["box-shadow","text-shadow"])}(d),function(e,t){function i(e){return e.toFixed(3).replace(".000","")}function n(e,t,i){return Math.min(t,Math.max(e,i))}function r(e){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e))return Number(e)}function o(e,t){return function(r,o){return[r,o,function(r){return i(n(e,t,r))}]}}e.clamp=n,e.addPropertiesHandler(r,o(0,1/0),["border-image-width","line-height"]),e.addPropertiesHandler(r,o(0,1),["opacity","shape-image-threshold"]),e.addPropertiesHandler(r,function(e,t){if(0!=e)return o(0,1/0)(e,t)},["flex-grow","flex-shrink"]),e.addPropertiesHandler(r,function(e,t){return[e,t,function(e){return Math.round(n(1,1/0,e))}]},["orphans","widows"]),e.addPropertiesHandler(r,function(e,t){return[e,t,Math.round]},["z-index"]),e.parseNumber=r,e.mergeNumbers=function(e,t){return[e,t,i]},e.numberToString=i}(d),d.addPropertiesHandler(String,function(e,t){if("visible"==e||"visible"==t)return[0,1,function(i){return i<=0?e:i>=1?t:"visible"}]},["visibility"]),function(e,t){function i(e){e=e.trim(),o.fillStyle="#000",o.fillStyle=e;var t=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=e,t==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(t,i){return[t,i,function(t){function i(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var n=0;n<3;n++)t[n]=Math.round(i(t[n]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");e.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,i),e.mergeColors=n}(d),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(e){return c[e]=null,"U"+e});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\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(e,t,i){var n,r=[];for(n in e)r.push(n);for(n in t)r.indexOf(n)<0&&r.push(n);return e=r.map(function(t){return e[t]||0}),t=r.map(function(e){return t[e]||0}),[e,t,function(e){var t=e.map(function(t,n){return 1==e.length&&i&&(t=Math.max(t,0)),a.numberToString(t)+r[n]}).join(" + ");return e.length>1?"calc("+t+")":t}]}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.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=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=function(e){var t=l(e);if(t&&""==t[1])return t[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,["border-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-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(e,t){function i(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function n(t){var n=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,i,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(n&&4==n[0].length)return n[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,i){return"auto"==t||"auto"==i?[!0,!1,function(n){var r=n?t:i;if("auto"==r)return"auto";var o=e.mergeDimensions(r,r);return o[2](o[0])}]:e.mergeDimensions(t,i)},", ");e.parseBox=n,e.mergeBoxes=r,e.addPropertiesHandler(n,r,["clip"])}(d),function(e,t){function i(e){return function(t){var i=0;return e.map(function(e){return e===A?t[i++]:e})}}function n(e){return e}function r(e){return e.toFixed(6).replace(".000000","")}function o(t,i){if(t.decompositionPair!==i){t.decompositionPair=i;var n=e.makeMatrixDecomposition(t)}if(i.decompositionPair!==t){i.decompositionPair=t;var o=e.makeMatrixDecomposition(i)}return null==n[0]||null==o[0]?[[!1],[!0],function(e){return e?i[0].d:t[0].d}]:(n[0].push(0),o[0].push(1),[n,o,function(t){var i=e.quat(n[0][3],o[0][3],t[5]);return e.composeMatrix(t[0],t[1],t[2],i,t[4]).map(r).join(",")}])}function s(e){return e.replace(/[xy]/,"")}function a(e){return e.replace(/(x|y|z|3d)?$/,"3d")}var A=null,l={px:0},h={deg:0},c={matrix:["NNNNNN",[A,A,0,0,A,A,0,0,0,0,1,0,A,A,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([A,A,1]),n],scalex:["N",i([A,1,1]),i([A,1])],scaley:["N",i([1,A,1]),i([1,A])],scalez:["N",i([1,1,A])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([A,h])],skewy:["A",null,i([h,A])],translate:["Tt",i([A,A,l]),n],translatex:["T",i([A,l,l]),i([A,l])],translatey:["T",i([l,A,l]),i([l,A])],translatez:["L",i([l,l,A])],translate3d:["TTL",n]};e.addPropertiesHandler(function(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(t);){if(i.index!=o)return;o=i.index+i[0].length;var s=i[1],a=c[s];if(!a)return;var A=i[2].split(","),u=a[0];if(u.length<A.length)return;for(var d=[],f=0;f<u.length;f++){var p,_=A[f],m=u[f];if(void 0===(p=_?{A:function(t){return"0"==t.trim()?h:e.parseAngle(t)},N:e.parseNumber,T:e.parseLengthOrPercent,L:e.parseLength}[m.toUpperCase()](_):{a:h,n:d[0],t:l}[m]))return;d.push(p)}if(r.push({t:s,d:d}),n.lastIndex==t.length)return r}},function(t,i){var n=e.makeMatrixDecomposition&&!0,r=!1;if(!t.length||!i.length){t.length||(r=!0,t=i,i=[]);for(var A=0;A<t.length;A++){var l=t[A].t,h=t[A].d,u="scale"==l.substr(0,5)?1:0;i.push({t:l,d:h.map(function(e){if("number"==typeof e)return u;var t={};for(var i in e)t[i]=u;return t})})}}var d=function(e,t){return"perspective"==e&&"perspective"==t||("matrix"==e||"matrix3d"==e)&&("matrix"==t||"matrix3d"==t)},f=[],p=[],_=[];if(t.length!=i.length){if(!n)return;f=[(C=o(t,i))[0]],p=[C[1]],_=[["matrix",[C[2]]]]}else for(A=0;A<t.length;A++){var m=t[A].t,y=i[A].t,g=t[A].d,v=i[A].d,b=c[m],P=c[y];if(d(m,y)){if(!n)return;var C=o([t[A]],[i[A]]);f.push(C[0]),p.push(C[1]),_.push(["matrix",[C[2]]])}else{if(m==y)l=m;else if(b[2]&&P[2]&&s(m)==s(y))l=s(m),g=b[2](g),v=P[2](v);else{if(!b[1]||!P[1]||a(m)!=a(y)){if(!n)return;f=[(C=o(t,i))[0]],p=[C[1]],_=[["matrix",[C[2]]]];break}l=a(m),g=b[1](g),v=P[1](v)}for(var S=[],E=[],w=[],T=0;T<g.length;T++)C=("number"==typeof g[T]?e.mergeNumbers:e.mergeDimensions)(g[T],v[T]),S[T]=C[0],E[T]=C[1],w.push(C[2]);f.push(S),p.push(E),_.push([l,w])}}if(r){var N=f;f=p,p=N}return[f,p,function(e){return e.map(function(e,t){var i=e.map(function(e,i){return _[t][1][i](e)}).join(",");return"matrix"==_[t][0]&&16==i.split(",").length&&(_[t][0]="matrix3d"),_[t][0]+"("+i+")"}).join(" ")}]},["transform"])}(d),function(e,t){function i(e,t){t.concat([e]).forEach(function(t){t in document.documentElement.style&&(n[e]=t)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),e.propertyName=function(e){return n[e]||e}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){if(window.performance&&performance.now)var e=function(){return performance.now()};else e=function(){return Date.now()};var t=window.Element.prototype.animate;window.Element.prototype.animate=function(i,n){var r=t.call(this,i,n);r._cancelHandlers=[],r.oncancel=null;var o=r.cancel;r.cancel=function(){o.call(this);var t=new function(e,t,i){this.target=e,this.currentTime=null,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,null,e()),i=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0)};var s=r.addEventListener;r.addEventListener=function(e,t){"function"==typeof t&&"cancel"==e?this._cancelHandlers.push(t):s.call(this,e,t)};var a=r.removeEventListener;return r.removeEventListener=function(e,t){if("cancel"==e){var i=this._cancelHandlers.indexOf(t);i>=0&&this._cancelHandlers.splice(i,1)}else a.call(this,e,t)},r}}}(),function(e){var t=document.documentElement,i=null,n=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(i=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,n=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{i&&i.cancel()}if(!n){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(t,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),o.call(this,t,i)}}}(c),function(e,t,i){function n(e){var i=t.timeline;i.currentTime=e,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(i){t.timeline._updateAnimationsPromises(),e(i),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var i=new t.Animation(e,this);return this._animations.push(i),t.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(e){return e&&e.remove(),this._play(e)}};var o=!1;t.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var s=new t.AnimationTimeline;t.timeline=s;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return s}})}catch(e){}try{window.document.timeline=s}catch(e){}}(0,e),function(e,t,i){t.animationsWithPromises=[],t.Animation=function(t,i){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,i,n,r,o=!!this._animation;o&&(e=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),o&&(1!=e&&(this.playbackRate=e),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t<this.effect.children.length;t++)this.effect.children[t]._animation=e,this._childAnimations[t]._setExternalAnimation(e)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var e=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=t.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(e,t){null===this.startTime?e.currentTime=this.currentTime-t/this.playbackRate:e.startTime!==this.startTime+t/this.playbackRate&&(e.startTime=this.startTime+t/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(e,t){this._resolveFinishedPromise=function(){e(this)},this._rejectFinishedPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):null},get ready(){return window.Promise?(this._readyPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._readyPromise=new Promise(function(e,t){this._resolveReadyPromise=function(){e(this)},this._rejectReadyPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):null},get onfinish(){return this._animation.onfinish},set onfinish(e){this._animation.onfinish="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get oncancel(){return this._animation.oncancel},set oncancel(e){this._animation.oncancel="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get currentTime(){this._updatePromises();var e=this._animation.currentTime;return this._updatePromises(),e},set currentTime(e){this._updatePromises(),this._animation.currentTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.currentTime=e-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(e){this._updatePromises(),this._animation.startTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.startTime=e+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(e){this._updatePromises();var t=this.currentTime;this._animation.playbackRate=e,this._forEachChild(function(t){t.playbackRate=e}),null!==t&&(this.currentTime=t),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),t.awaitStartTime(this),this._forEachChild(function(e){var t=e.currentTime;e.play(),e.currentTime=t}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(e){e.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var e=this.currentTime;this._animation.reverse(),this._forEachChild(function(e){e.reverse()}),null!==e&&(this.currentTime=e),this._updatePromises()},addEventListener:function(e,t){var i=t;"function"==typeof t&&(i=function(e){e.target=this,t.call(this,e)}.bind(this),t._wrapper=i),this._animation.addEventListener(e,i)},removeEventListener:function(e,t){this._animation.removeEventListener(e,t&&t._wrapper||t)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(t){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(e){t.call(this,e,i),this.effect instanceof window.SequenceEffect&&(i+=e.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=e.calculateIterationProgress(e.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=t.Animation}(c,e),function(e,t,i){function n(){for(var e=!1;a.length;)a.shift()._updateChildren(),e=!0;return e}var r=function(e){if(e._animation=void 0,e instanceof window.SequenceEffect||e instanceof window.GroupEffect)for(var t=0;t<e.children.length;t++)r(e.children[t])};t.removeMulti=function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n._parent?(-1==t.indexOf(n._parent)&&t.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,r(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),r(n))}for(i=0;i<t.length;i++)t[i]._rebuild()},t.KeyframeEffect=function(t,i,n,r){return this.target=t,this._parent=null,n=e.numericTimingToObject(n),this._timingInput=e.cloneTimingInput(n),this._timing=e.normalizeTimingInput(n),this.timing=e.makeTiming(n,!1,this),this.timing._effect=this,"function"==typeof i?(e.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new function(t){this._frames=e.normalizeKeyframes(t)}(i),this._keyframes=i,this.activeDuration=e.calculateActiveDuration(this._timing),this._id=r,this},t.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(e){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=e,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var t=new KeyframeEffect(this.target,[],e.cloneTimingInput(this._timingInput),this._id);return t._normalizedKeyframes=this._normalizedKeyframes,t._keyframes=this._keyframes,t},remove:function(){t.removeMulti([this])}};var o=Element.prototype.animate;Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(new t.KeyframeEffect(this,e,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");t.newUnderlyingAnimationForKeyframeEffect=function(e){if(e){var t=e.target||s;"function"==typeof(i=e._keyframes)&&(i=[]),(n=e._timingInput).id=e._id}else{t=s;var i=[],n=0}return o.apply(t,[i,n])},t.bindAnimationForKeyframeEffect=function(e){e.effect&&"function"==typeof e.effect._normalizedKeyframes&&t.bindAnimationForCustomEffect(e)};var a=[];t.awaitStartTime=function(e){null===e.startTime&&e._isGroup&&(0==a.length&&requestAnimationFrame(n),a.push(e))};var A=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){t.timeline._updateAnimationsPromises();var e=A.apply(this,arguments);return n()&&(e=A.apply(this,arguments)),t.timeline._updateAnimationsPromises(),e}}),window.KeyframeEffect=t.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(e){return null!==e.effect&&e.effect.target==this}.bind(this))}}(c,e),function(e,t,i){function n(e){e._registered||(e._registered=!0,s.push(e),a||(a=!0,requestAnimationFrame(r)))}function r(e){var t=s;s=[],t.sort(function(e,t){return e._sequenceNumber-t._sequenceNumber}),t=t.filter(function(e){e();var t=e._animation?e._animation.playState:"idle";return"running"!=t&&"pending"!=t&&(e._registered=!1),e._registered}),s.push.apply(s,t),s.length?(a=!0,requestAnimationFrame(r)):a=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);t.bindAnimationForCustomEffect=function(t){var i,r=t.effect.target,s="function"==typeof t.effect.getFrames();i=s?t.effect.getFrames():t.effect._onsample;var a=t.effect.timing,A=null;a=e.normalizeTimingInput(a);var l=function(){var n=l._animation?l._animation.currentTime:null;null!==n&&(n=e.calculateIterationProgress(e.calculateActiveDuration(a),n,a),isNaN(n)&&(n=null)),n!==A&&(s?i(n,r,t.effect):i(n,t.effect,t.effect._animation)),A=n};l._animation=t,l._registered=!1,l._sequenceNumber=o++,t._callback=l,n(l)};var s=[],a=!1;t.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(e,t,i){function n(e){return e._timing.delay+e.activeDuration+e._timing.endDelay}function r(t,i,n){this._id=n,this._parent=null,this.children=t||[],this._reparent(this.children),i=e.numericTimingToObject(i),this._timingInput=e.cloneTimingInput(i),this._timing=e.normalizeTimingInput(i,!0),this.timing=e.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(e){for(var t=this;null!==t;){if(t==e)return!0;t=t._parent}return!1},_rebuild:function(){for(var e=this;e;)"auto"===e.timing.duration&&(e._timing.duration=e.activeDuration),e=e._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(e){t.removeMulti(e);for(var i=0;i<e.length;i++)e[i]._parent=this},_putChild:function(e,t){for(var i=t?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<e.length;n++)if(this._isAncestor(e[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(n=0;n<e.length;n++)t?this.children.push(e[n]):this.children.unshift(e[n]);this._reparent(e),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._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 t=e.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,t):new SequenceEffect(i,t)},remove:function(){t.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e+=n(t)}),Math.max(e,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e=Math.max(e,n(t))}),e}}),t.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=new KeyframeEffect(null,[],i._timing,i._id);return o.onsample=function(t){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==t?void i._removeChildAnimations():0==t&&i.playbackRate<0&&(r||(r=e.normalizeTimingInput(i.effect.timing)),t=e.calculateIterationProgress(e.calculateActiveDuration(r),-1,r),isNaN(t)||null==t)?(i._forEachChild(function(e){e.currentTime=-1}),void i._removeChildAnimations()):void 0},n=t.timeline._play(o)},t.bindAnimationForGroup=function(e){e._animation._wrapper=e,e._isGroup=!0,t.awaitStartTime(e),e._constructChildAnimations(),e._setExternalAnimation(e)},t.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}()),Polymer({is:"slide-from-right-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"translateX(100%)"},{transform:"none"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-from-left-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"translateX(-100%)"},{transform:"none"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-right-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"none"},{transform:"translateX(100%)"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"slide-left-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{transform:"none"},{transform:"translateX(-100%)"}],this.timingFromConfig(e)),e.transformOrigin?this.setPrefixedProperty(t,"transformOrigin",e.transformOrigin):this.setPrefixedProperty(t,"transformOrigin","0 50%"),this._effect}}),Polymer({is:"app-header-layout",behaviors:[Polymer.IronResizableBehavior],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},listeners:{"iron-resize":"_resizeHandler","app-header-reset-layout":"_resetLayoutHandler"},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Polymer.dom(this.$.header).getDistributedNodes()[0]},resetLayout:function(){this._updateScroller(),this.debounce("_resetLayout",this._updateContentPosition)},_updateContentPosition:function(){var e=this.header;if(this.isAttached&&e){var t=e.offsetHeight;if(this.hasScrollingRegion)e.style.left="",e.style.right="";else{var i=this.getBoundingClientRect(),n=document.documentElement.clientWidth-i.right;e.style.left=i.left+"px",e.style.right=n+"px"}var r=this.$.contentContainer.style;e.fixed&&!e.willCondense()&&this.hasScrollingRegion?(r.marginTop=t+"px",r.paddingTop=""):(r.paddingTop=t+"px",r.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.stopPropagation()}}),Polymer({is:"app-drawer",properties:{opened:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},persistent:{type:Boolean,value:!1,reflectToAttribute:!0},transitionDuration:{type:Number,value:200},align:{type:String,value:"left"},position:{type:String,readOnly:!0,reflectToAttribute:!0},swipeOpen:{type:Boolean,value:!1,reflectToAttribute:!0},noFocusTrap:{type:Boolean,value:!1},disableSwipe:{type:Boolean,value:!1}},observers:["resetLayout(position, isAttached)","_resetPosition(align, isAttached)","_styleTransitionDuration(transitionDuration)","_openedPersistentChanged(opened, persistent)"],_translateOffset:0,_trackDetails:null,_drawerState:0,_boundEscKeydownHandler:null,_firstTabStop:null,_lastTabStop:null,attached:function(){this._styleTransitionDuration(0),Polymer.RenderStatus.afterNextRender(this,function(){this._styleTransitionDuration(this.transitionDuration),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-attached")},detached:function(){document.removeEventListener("keydown",this._boundEscKeydownHandler)},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-reset-layout")},_isRTL:function(){return"rtl"===window.getComputedStyle(this).direction},_resetPosition:function(){switch(this.align){case"start":return void this._setPosition(this._isRTL()?"right":"left");case"end":return void this._setPosition(this._isRTL()?"left":"right")}this._setPosition(this.align)},_escKeydownHandler:function(e){27===e.keyCode&&(e.preventDefault(),this.close())},_track:function(e){if(!this.persistent&&!this.disableSwipe)switch(e.preventDefault(),e.detail.state){case"start":this._trackStart(e);break;case"track":this._trackMove(e);break;case"end":this._trackEnd(e)}},_trackStart:function(e){this._drawerState=this._DRAWER_STATE.TRACKING,this._styleTransitionDuration(0),this.style.visibility="visible";var t=this.$.contentContainer.getBoundingClientRect();"left"===this.position?this._translateOffset=t.left:this._translateOffset=t.right-window.innerWidth,this._trackDetails=[]},_trackMove:function(e){this._translateDrawer(e.detail.dx+this._translateOffset),this._trackDetails.push({dx:e.detail.dx,timeStamp:Date.now()})},_trackEnd:function(e){var t=e.detail.dx+this._translateOffset,i=this.getWidth(),n="left"===this.position?t>=0||t<=-i:t<=0||t>=i;if(!n){var r=this._trackDetails;if(this._trackDetails=null,this._flingDrawer(e,r),this._drawerState===this._DRAWER_STATE.FLINGING)return}var o=i/2;e.detail.dx<-o?this.opened="right"===this.position:e.detail.dx>o&&(this.opened="left"===this.position),n?this.debounce("_resetDrawerState",this._resetDrawerState):this.debounce("_resetDrawerState",this._resetDrawerState,this.transitionDuration),this._styleTransitionDuration(this.transitionDuration),this._resetDrawerTranslate(),this.style.visibility=""},_calculateVelocity:function(e,t){for(var i,n=Date.now(),r=n-100,o=0,s=t.length-1;o<=s;){var a=o+s>>1,A=t[a];A.timeStamp>=r?(i=A,s=a-1):o=a+1}return i?(e.detail.dx-i.dx)/(n-i.timeStamp||1):0},_flingDrawer:function(e,t){var i=this._calculateVelocity(e,t);if(!(Math.abs(i)<this._MIN_FLING_THRESHOLD)){this._drawerState=this._DRAWER_STATE.FLINGING;var n,r=e.detail.dx+this._translateOffset,o=this.getWidth(),s="left"===this.position,a=i>0;n=!a&&s?-(r+o):a&&!s?o-r:-r,a?(i=Math.max(i,this._MIN_TRANSITION_VELOCITY),this.opened="left"===this.position):(i=Math.min(i,-this._MIN_TRANSITION_VELOCITY),this.opened="right"===this.position);var A=this._FLING_INITIAL_SLOPE*n/i;this._styleTransitionDuration(A),this._styleTransitionTimingFunction(this._FLING_TIMING_FUNCTION),this._resetDrawerTranslate(),this.debounce("_resetDrawerState",this._resetDrawerState,A)}},_styleTransitionDuration:function(e){this.style.transitionDuration=e+"ms",this.$.contentContainer.style.transitionDuration=e+"ms",this.$.scrim.style.transitionDuration=e+"ms"},_styleTransitionTimingFunction:function(e){this.$.contentContainer.style.transitionTimingFunction=e,this.$.scrim.style.transitionTimingFunction=e},_translateDrawer:function(e){var t=this.getWidth();"left"===this.position?(e=Math.max(-t,Math.min(e,0)),this.$.scrim.style.opacity=1+e/t):(e=Math.max(0,Math.min(e,t)),this.$.scrim.style.opacity=1-e/t),this.translate3d(e+"px","0","0",this.$.contentContainer)},_resetDrawerTranslate:function(){this.$.scrim.style.opacity="",this.transform("",this.$.contentContainer)},_resetDrawerState:function(){var e=this._drawerState;e===this._DRAWER_STATE.FLINGING&&(this._styleTransitionDuration(this.transitionDuration),this._styleTransitionTimingFunction(""),this.style.visibility=""),this.opened?this._drawerState=this.persistent?this._DRAWER_STATE.OPENED_PERSISTENT:this._DRAWER_STATE.OPENED:this._drawerState=this._DRAWER_STATE.CLOSED,e!==this._drawerState&&(this._drawerState===this._DRAWER_STATE.OPENED?(this._setKeyboardFocusTrap(),document.addEventListener("keydown",this._boundEscKeydownHandler),document.body.style.overflow="hidden"):(document.removeEventListener("keydown",this._boundEscKeydownHandler),document.body.style.overflow=""),e!==this._DRAWER_STATE.INIT&&this.fire("app-drawer-transitioned"))},_setKeyboardFocusTrap:function(){if(!this.noFocusTrap){var e=['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(","),t=Polymer.dom(this).querySelectorAll(e);t.length>0?(this._firstTabStop=t[0],this._lastTabStop=t[t.length-1]):(this._firstTabStop=null,this._lastTabStop=null);var i=this.getAttribute("tabindex");i&&parseInt(i,10)>-1?this.focus():this._firstTabStop&&this._firstTabStop.focus()}},_tabKeydownHandler:function(e){this.noFocusTrap||this._drawerState===this._DRAWER_STATE.OPENED&&9===e.keyCode&&(e.shiftKey?this._firstTabStop&&Polymer.dom(e).localTarget===this._firstTabStop&&(e.preventDefault(),this._lastTabStop.focus()):this._lastTabStop&&Polymer.dom(e).localTarget===this._lastTabStop&&(e.preventDefault(),this._firstTabStop.focus()))},_openedPersistentChanged:function(){this.debounce("_resetDrawerState",this._resetDrawerState,this.transitionDuration)},_MIN_FLING_THRESHOLD:.2,_MIN_TRANSITION_VELOCITY:1.2,_FLING_TIMING_FUNCTION:"cubic-bezier(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}}),Polymer({is:"iron-media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",this.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}}),Polymer({is:"app-drawer-layout",behaviors:[Polymer.IronResizableBehavior],properties:{forceNarrow:{type:Boolean,value:!1},responsiveWidth:{type:String,value:"640px"},narrow:{type:Boolean,readOnly:!0,notify:!0},openedWhenNarrow:{type:Boolean,value:!1}},listeners:{tap:"_tapHandler","app-drawer-attached":"_resetDrawerState","app-drawer-reset-layout":"resetLayout","iron-resize":"resetLayout"},observers:["resetLayout(narrow, isAttached)","_narrowChanged(narrow, isAttached)"],get drawer(){return Polymer.dom(this.$.drawerContent).getDistributedNodes()[0]},_tapHandler:function(e){var t=Polymer.dom(e).localTarget;if(t&&t.hasAttribute("drawer-toggle")){var i=this.drawer;i&&!i.persistent&&i.toggle()}},resetLayout:function(){this.debounce("_resetLayout",function(){var e=this.drawer,t=this.$.contentContainer;if(this.narrow||!e)t.style.marginLeft="",t.style.marginRight="";else{var i=e.getWidth();"right"==e.position?(t.style.marginLeft="",t.style.marginRight=i+"px"):(t.style.marginLeft=i+"px",t.style.marginRight="")}})},_resetDrawerState:function(){this.debounce("_resetDrawerState",function(){var e=this.drawer;e&&(this.narrow?(e.opened=this.openedWhenNarrow,e.persistent=!1):e.opened=e.persistent=!0)})},_narrowChanged:function(e){this.toggleClass("narrow",e,this.$.contentContainer),this._resetDrawerState(),this.notifyResize()},_onQueryMatchesChanged:function(e){this._setNarrow(e.detail.value)},_computeMediaQuery:function(e,t){return e?"(min-width: 0px)":"(max-width: "+t+")"}}),Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBehaviorImpl],Polymer({is:"paper-button",behaviors:[Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._setElevation(0)}}),Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Polymer.dom(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);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:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),i=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,r={width:e.width+n.left+n.right,height:e.height+n.top+n.bottom},o=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,t,i),s=o.left+n.left,a=o.top+n.top,A=Math.min(i.right-n.right,s+e.width),l=Math.min(i.bottom-n.bottom,a+e.height);s=Math.max(i.left+n.left,Math.min(s,A-this._fitInfo.sizedBy.minWidth)),a=Math.max(i.top+n.top,Math.min(a,l-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(A-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(l-a,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-e.left+"px",this.style.top=a-e.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,i,n,r){this.__sizeDimension(e,t,i,n,r)},__sizeDimension:function(e,t,i,n,r){var o=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),a="Width"===r?s.width:s.height,A=t===n,l=A?a-e[n]:e[i],h=o.margin[A?i:n],c="offset"+r,u=this[c]-this.sizingTarget[c];this.sizingTarget.style["max"+r]=a-h-l-u+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var n=i.top-t.top+(i.height-t.height)/2;this.style.top=n+"px"}if(!e.horizontally){var r=i.left-t.left+(i.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getCroppedArea:function(e,t,i){var n=Math.min(0,e.top)+Math.min(0,i.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,i.right-(e.left+t.width));return Math.abs(n)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,i,n,r){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-i.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-i.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-i.height-this.verticalOffset,left:n.right-i.width-this.horizontalOffset}];if(this.noOverlap){for(var a=0,A=s.length;a<A;a++){var l={};for(var h in s[a])l[h]=s[a][h];s.push(l)}s[0].top=s[1].top+=n.height,s[2].top=s[3].top-=n.height,s[4].left=s[6].left+=n.width,s[5].left=s[7].left-=n.width}for(t="auto"===t?null:t,e="auto"===e?null:e,a=0;a<s.length;a++){var c=s[a];if(!this.dynamicAlign&&!this.noOverlap&&c.verticalAlign===t&&c.horizontalAlign===e){o=c;break}var u=!(t&&c.verticalAlign!==t||e&&c.horizontalAlign!==e);if(this.dynamicAlign||u){o=o||c,c.croppedArea=this.__getCroppedArea(c,i,r);var d=c.croppedArea-o.croppedArea;if((d<0||0===d&&u)&&(o=c),0===o.croppedArea&&u)break}}return o}},function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}(),Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var i=this._overlays.length-1,n=this._overlays[i];if(n&&this._shouldBeBehindOverlay(t,n)&&i--,!(e>=i)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e<i;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[i]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var i=this._overlays.length,n=this._overlays[i-1],r=Math.max(this._getZ(n),this._minimumZ),o=this._getZ(e);if(n&&this._shouldBeBehindOverlay(e,n)){this._applyOverlayZ(n,r),i--;var s=this._overlays[i-1];r=Math.max(this._getZ(s),this._minimumZ)}o<=r&&this._applyOverlayZ(e,r),this._overlays.splice(i,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(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._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-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 i=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);i==i&&(t=i)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ: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:function(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.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass,function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable: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){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var i,n=e,r=this._normalizedTabIndex(n),o=r>0;r>=0&&t.push(n),i="content"===n.localName?Polymer.dom(n).getDistributedNodes():Polymer.dom(n.root||n).children;for(var s=0;s<i.length;s++){var a=this._collectTabbableNodes(i[s],t);o=o||a}return o},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&"hidden"!==(t=window.getComputedStyle(e)).visibility&&"none"!==t.display},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var i=Math.ceil(t/2),n=this._sortByTabIndex(e.slice(0,i)),r=this._sortByTabIndex(e.slice(i));return this._mergeSortByTabIndex(n,r)},_mergeSortByTabIndex:function(e,t){for(var i=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)},_hasLowerTabOrder:function(e,t){var i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}}}(),function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).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.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",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="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),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;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode,r=!1;if(i===n)r=!0;else{var o=this._manager.deepActiveElement;r=o===i||o===this}r&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}(),Polymer.PaperDialogBehaviorImpl={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1}},observers:["_modalChanged(modal, _readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Polymer.dom(e).path,i=0;i<t.indexOf(this);i++){var n=t[i];if(n.hasAttribute&&(n.hasAttribute("dialog-dismiss")||n.hasAttribute("dialog-confirm"))){this._updateClosingReasonConfirmed(n.hasAttribute("dialog-confirm")),this.close(),e.stopPropagation();break}}}},Polymer.PaperDialogBehavior=[Polymer.IronOverlayBehavior,Polymer.PaperDialogBehaviorImpl],Polymer({is:"paper-dialog",behaviors:[Polymer.PaperDialogBehavior,Polymer.NeonAnimationRunnerBehavior],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}}),Polymer({is:"paper-fab",behaviors:[Polymer.PaperButtonBehavior],properties:{src:{type:String,value:""},icon:{type:String,value:""},mini:{type:Boolean,value:!1,reflectToAttribute:!0},label:{type:String,observer:"_labelChanged"}},_labelChanged:function(){this.setAttribute("aria-label",this.label)},_computeIsIconFab:function(e,t){return e.length>0||t.length>0}}),Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0"},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var i=this.getAttribute("aria-label");i&&t!=i||this.setAttribute("aria-label",e)}}),Polymer({is:"paper-menu",behaviors:[Polymer.IronMenuBehavior]}),Polymer.PaperItemBehaviorImpl={hostAttributes:{role:"option",tabindex:"0"}},Polymer.PaperItemBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperItemBehaviorImpl],Polymer({is:"paper-item",behaviors:[Polymer.PaperItemBehavior]});var GoogleCodelabs=window.GoogleCodelabs||{};GoogleCodelabs.AnalyticsBehavior={listeners:{"google-codelab-step":"_trackStepChanged","google-codelab-complete":"_trackCodelabComplete","google-codelab-snippet-copy":"_trackSnippetCopy","google-codelab-survey-answer":"_trackSurveyAnswer"},get _isTrackingEnabled(){return!!window.ga},_gaSend:function(e,t,i){i.hitType=e,i.dimension1=t.environment,i.dimension2=t.category,window.ga(function(){for(var e=ga.getAll(),t=0;t<e.length;t++)e[t].send(i)})},_trackStepChanged:function(e,t){this._isTrackingEnabled&&this._gaSend("pageview",e.target,{page:location.pathname+"#"+t.index,title:t.step.label})},_trackCodelabComplete:function(e){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"codelab",eventAction:"complete",eventLabel:e.target.title})},_trackSnippetCopy:function(e,t){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"snippet",eventAction:"copy",eventLabel:t.snippet.substring(0,500)})},_trackSurveyAnswer:function(e,t){this._isTrackingEnabled&&this._gaSend("event",e.target,{eventCategory:"survey",eventAction:t.question.substring(0,500),eventLabel:t.answer.substring(0,500)})}},Polymer({is:"google-codelab",behaviors:[Polymer.IronA11yKeysBehavior,GoogleCodelabs.AnalyticsBehavior],properties:{title:{type:String,value:""},category:{type:String,value:null},environment:{type:String,value:null},feedbackLink:{type:String,value:""},selected:{type:Number,value:0},duration:{type:Number,value:0,readOnly:!0},remaining:{type:String,value:"",readOnly:!0},lastUpdated:{type:String,value:""},steps:{type:Array,value:function(){return[]},readOnly:!0},state:{type:Object,value:null},noToolbar:{type:Boolean,value:!1},noArrows:{type:Boolean,value:!1},noHighlight:{type:Boolean,value:!1,reflectToAttribute:!0},_storedStep:{type:Object,value:null},_resumed:{type:Boolean,value:!1},_userHasNavigated:{type:Boolean,value:!1,readOnly:!0}},observers:["_selectedChanged(steps, selected)"],keyBindings:{left:"selectPrevious",right:"selectNext"},ready:function(){this.keyEventTarget=document.body,this._updateStepIndexFromUrl()},_onStepsChanged:function(){var e=0,t=this.$.pages.items.map(function(t,i){return e+=t.duration,t.step=i+1,t}.bind(this));this._setSteps(t),this._setDuration(e),this._updateRemaining(),this.fire("google-codelab-ready",{steps:this.steps})},selectNext:function(){this.$.pages.entryAnimation="slide-from-right-animation",this.$.pages.exitAnimation="slide-left-animation",this.select(this.selected+1)},selectPrevious:function(){this.$.pages.entryAnimation="slide-from-left-animation",this.$.pages.exitAnimation="slide-right-animation",this.select(this.selected-1)},select:function(e){e<0||e>this.steps.length-1||(this._allowCodelabComplete(),this.selected=e)},_selectedChanged:function(e,t){if(this.set("state.stepIndex",this.selected),this._updateRemaining(),this.steps.length){var i=this.steps[this.selected];i.active=!0,location.hash=this.selected.toString(),this.fire("google-codelab-step",{index:this.selected,step:i}),this.selected===this.steps.length-1&&!this._resumed&&this._userHasNavigated&&this.fire("google-codelab-complete")}},_onStepLeave:function(e,t){t.item.active=!1,this._scrollToTopOfStep()},_stateInit:function(){this.state={stepIndex:this.selected}},_stateLoaded:function(){this.async(function(){this._storedStep=this.steps[this.state.stepIndex],0===this.selected&&this.state.stepIndex>0&&this.$.resumeDialog.open()},500)},_updateStepIndexFromUrl:function(){var e=parseInt(location.hash.slice(1),10);(isNaN(e)||e<0)&&(e=0),this.steps&&this.steps.length&&e>this.steps.length-1&&(e=this.steps.length-1),this.selected=e},_allowCodelabComplete:function(){this._set_userHasNavigated(!0)},_updateRemaining:function(){if(this.steps){var e=0;this.steps.slice(this.selected).forEach(function(t){e+=t.duration||0});var t=this._narrow?"":" remaining";this._setRemaining(e+" min"+t)}},_resume:function(){this._resumed=!0,this.select(this.state.stepIndex),this._resumed=!1},_goToHome:function(){for(var e,t=location.search.substring(1).split("&"),i=0;i<t.length;i++){var n=t[i].split("=");if("index"===n[0]){e=n[1];break}}"index"===(e=(e=e?decodeURIComponent(e):"").replace(/[^a-z0-9\-]+/gi,""))&&(e=""),window.location.href="/"+e},_tocItemClass:function(e,t){var i=["toc-item"];return t<e&&i.push("completed"),i.join(" ")},_scrollToTopOfStep:function(){document.body.scrollTop=0},_isPositiveNum:function(e){return e>0},_isFirstStep:function(e){return isNaN(e)||0==e},_isLastStep:function(e){return!!this.steps.length&&e>=this.steps.length-1},_showDoneFab:function(e,t){return this._isLastStep(e)},_showNextFab:function(e,t){return!this._isLastStep(e)},_nextFabTitle:function(e){return e>0?"Next step":"Start codelab"}}),function(){"use strict";Polymer.IronJsonpLibraryBehavior={properties:{libraryLoaded:{type:Boolean,value:!1,notify:!0,readOnly:!0},libraryErrorMessage:{type:String,value:null,notify:!0,readOnly:!0}},observers:["_libraryUrlChanged(libraryUrl)"],_libraryUrlChanged:function(e){this._isReady&&this.libraryUrl&&this._loadLibrary()},_libraryLoadCallback:function(e,t){e?this._setLibraryErrorMessage(e.message):(this._setLibraryErrorMessage(null),this._setLibraryLoaded(!0),this.notifyEvent&&this.fire(this.notifyEvent,t))},_loadLibrary:function(){e.require(this.libraryUrl,this._libraryLoadCallback.bind(this),this.callbackName)},ready:function(){this._isReady=!0,this.libraryUrl&&this._loadLibrary()}};var e={apiMap:{},require:function(e,i,n){var r=this.nameFromUrl(e);this.apiMap[r]||(this.apiMap[r]=new t(r,e,n)),this.apiMap[r].requestNotify(i)},nameFromUrl:function(e){return e.replace(/[\:\/\%\?\&\.\=\-\,]/g,"_")+"_api"}},t=function(e,t,i){if(this.notifiers=[],!i){if(!(t.indexOf(this.callbackMacro)>=0))return void(this.error=new Error("IronJsonpLibraryBehavior a %%callback%% parameter is required in libraryUrl"));i=e+"_loaded",t=t.replace(this.callbackMacro,i)}this.callbackName=i,window[this.callbackName]=this.success.bind(this),this.addScript(t)};t.prototype={callbackMacro:"%%callback%%",loaded:!1,addScript:function(e){var t=document.createElement("script");t.src=e,t.onerror=this.handleError.bind(this);var i=document.querySelector("script")||document.body;i.parentNode.insertBefore(t,i),this.script=t},removeScript:function(){this.script.parentNode&&this.script.parentNode.removeChild(this.script),this.script=null},handleError:function(e){this.error=new Error("Library failed to load"),this.notifyAll(),this.cleanup()},success:function(){this.loaded=!0,this.result=Array.prototype.slice.call(arguments),this.notifyAll(),this.cleanup()},cleanup:function(){delete window[this.callbackName]},notifyAll:function(){this.notifiers.forEach(function(e){e(this.error,this.result)}.bind(this)),this.notifiers=[]},requestNotify:function(e){this.loaded||this.error?e(this.error,this.result):this.notifiers.push(e)}}}(),Polymer({is:"iron-jsonp-library",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:String,callbackName:String,notifyEvent:String}}),Polymer({is:"google-youtube-api",behaviors:[Polymer.IronJsonpLibraryBehavior],properties:{libraryUrl:{type:String,value:"https://www.youtube.com/iframe_api"},notifyEvent:{type:String,value:"api-load"},callbackName:{type:String,value:"onYouTubeIframeAPIReady"}},get api(){return YT}}),Polymer({is:"google-youtube",properties:{videoId:{type:String,value:"",observer:"_videoIdChanged"},playsupported:{type:Boolean,value:null,notify:!0},autoplay:{type:Number,value:0},playbackstarted:{type:Boolean,value:!1,notify:!0},height:{type:String,value:"270px"},width:{type:String,value:"480px"},state:{type:Number,value:-1,notify:!0},currenttime:{type:Number,value:0,notify:!0},duration:{type:Number,value:1,notify:!0},currenttimeformatted:{type:String,value:"0:00",notify:!0},durationformatted:{type:String,value:"0:00",notify:!0},fractionloaded:{type:Number,value:0,notify:!0},chromeless:{type:Boolean,value:!1},thumbnail:{type:String,value:""},fluid:{type:Boolean,value:!1}},_computeContainerStyle:function(e,t){return"width:"+e+"; height:"+t},_useExistingPlaySupportedValue:function(){this.playsupported=this._playsupportedLocalStorage},_determinePlaySupported:function(){if(null==this.playsupported){var e,t=document.createElement("video");if("play"in t){t.id="playtest",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px";var i=document.createElement("source");i.src="data:video/mp4;base64,AAAAFGZ0eXBNU05WAAACAE1TTlYAAAOUbW9vdgAAAGxtdmhkAAAAAM9ghv7PYIb+AAACWAAACu8AAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAnh0cmFrAAAAXHRraGQAAAAHz2CG/s9ghv4AAAABAAAAAAAACu8AAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAFAAAAA4AAAAAAHgbWRpYQAAACBtZGhkAAAAAM9ghv7PYIb+AAALuAAANq8AAAAAAAAAIWhkbHIAAAAAbWhscnZpZGVBVlMgAAAAAAABAB4AAAABl21pbmYAAAAUdm1oZAAAAAAAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAVdzdGJsAAAAp3N0c2QAAAAAAAAAAQAAAJdhdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAFAAOABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAAEmNvbHJuY2xjAAEAAQABAAAAL2F2Y0MBTUAz/+EAGGdNQDOadCk/LgIgAAADACAAAAMA0eMGVAEABGjuPIAAAAAYc3R0cwAAAAAAAAABAAAADgAAA+gAAAAUc3RzcwAAAAAAAAABAAAAAQAAABxzdHNjAAAAAAAAAAEAAAABAAAADgAAAAEAAABMc3RzegAAAAAAAAAAAAAADgAAAE8AAAAOAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA0AAAANAAAADQAAAA4AAAAOAAAAFHN0Y28AAAAAAAAAAQAAA7AAAAA0dXVpZFVTTVQh0k/Ou4hpXPrJx0AAAAAcTVREVAABABIAAAAKVcQAAAAAAAEAAAAAAAAAqHV1aWRVU01UIdJPzruIaVz6ycdAAAAAkE1URFQABAAMAAAAC1XEAAACHAAeAAAABBXHAAEAQQBWAFMAIABNAGUAZABpAGEAAAAqAAAAASoOAAEAZABlAHQAZQBjAHQAXwBhAHUAdABvAHAAbABhAHkAAAAyAAAAA1XEAAEAMgAwADAANQBtAGUALwAwADcALwAwADYAMAA2ACAAMwA6ADUAOgAwAAABA21kYXQAAAAYZ01AM5p0KT8uAiAAAAMAIAAAAwDR4wZUAAAABGjuPIAAAAAnZYiAIAAR//eBLT+oL1eA2Nlb/edvwWZflzEVLlhlXtJvSAEGRA3ZAAAACkGaAQCyJ/8AFBAAAAAJQZoCATP/AOmBAAAACUGaAwGz/wDpgAAAAAlBmgQCM/8A6YEAAAAJQZoFArP/AOmBAAAACUGaBgMz/wDpgQAAAAlBmgcDs/8A6YEAAAAJQZoIBDP/AOmAAAAACUGaCQSz/wDpgAAAAAlBmgoFM/8A6YEAAAAJQZoLBbP/AOmAAAAACkGaDAYyJ/8AFBAAAAAKQZoNBrIv/4cMeQ==",t.appendChild(i);var n=document.createElement("source");n.src="data:video/webm;base64,GkXfo49CgoR3ZWJtQoeBAUKFgQEYU4BnAQAAAAAAF60RTZt0vE27jFOrhBVJqWZTrIIQA027jFOrhBZUrmtTrIIQbE27jFOrhBFNm3RTrIIXmU27jFOrhBxTu2tTrIIWs+xPvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFUmpZuQq17GDD0JATYCjbGliZWJtbCB2MC43LjcgKyBsaWJtYXRyb3NrYSB2MC44LjFXQY9BVlNNYXRyb3NrYUZpbGVEiYRFnEAARGGIBc2Lz1QNtgBzpJCy3XZ0KNuKNZS4+fDpFxzUFlSua9iu1teBAXPFhL4G+bmDgQG5gQGIgQFVqoEAnIEAbeeBASMxT4Q/gAAAVe6BAIaFVl9WUDiqgQEj44OEE95DVSK1nIN1bmTgkbCBULqBPJqBAFSwgVBUuoE87EQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9DtnVB4eeBAKC4obaBAAAAkAMAnQEqUAA8AABHCIWFiIWEiAICAAamYnoOC6cfJa8f5Zvda4D+/7YOf//nNefQYACgnKGWgQFNANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQKbANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQPoANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQU1ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQaDANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQfQANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQkdANEBAAEQEBRgAGFgv9AAIiGAAPuC/rOgnKGWgQprANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQu4ANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ0FANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgQ5TANEBAAEQEAAYABhYL/QACIhgAPuC/rKgnKGWgQ+gANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRDtANEBAAEQEAAYABhYL/QACIhgAPuC/rOgnKGWgRI7ANEBAAEQEAAYABhYL/QACIhgAPuC/rIcU7trQOC7jLOBALeH94EB8YIUzLuNs4IBTbeH94EB8YIUzLuNs4ICm7eH94EB8YIUzLuNs4ID6LeH94EB8YIUzLuNs4IFNbeH94EB8YIUzLuNs4IGg7eH94EB8YIUzLuNs4IH0LeH94EB8YIUzLuNs4IJHbeH94EB8YIUzLuNs4IKa7eH94EB8YIUzLuNs4ILuLeH94EB8YIUzLuNs4INBbeH94EB8YIUzLuNs4IOU7eH94EB8YIUzLuNs4IPoLeH94EB8YIUzLuNs4IQ7beH94EB8YIUzLuNs4ISO7eH94EB8YIUzBFNm3SPTbuMU6uEH0O2dVOsghTM",t.appendChild(n),document.body.appendChild(t),this.async(function(){t.onplaying=function(i){clearTimeout(e),this.playsupported=i&&"playing"===i.type||0!==t.currentTime,this._playsupportedLocalStorage=this.playsupported,t.onplaying=null,document.body.removeChild(t)}.bind(this),e=setTimeout(t.onplaying,500),t.play()})}else this.playsupported=!1,this._playsupportedLocalStorage=!1}},ready:function(){if(this.hasAttribute("fluid")){var e=parseInt(this.height,10)/parseInt(this.width,10);isNaN(e)&&(e=9/16),e*=100,this.width="100%",this.height="auto",this.$.container.style["padding-top"]=e+"%"}},detached:function(){this._player&&this._player.destroy()},play:function(){this._player&&this._player.playVideo&&this.playsupported&&this._player.playVideo()},setVolume:function(e){this._player&&this._player.setVolume&&this._player.setVolume(e)},mute:function(){this._player&&this._player.mute&&this._player.mute()},unMute:function(){this._player&&this._player.unMute&&this._player.unMute()},pause:function(){this._player&&this._player.pauseVideo&&this._player.pauseVideo()},seekTo:function(e){this._player&&this._player.seekTo&&(this._player.seekTo(e,!0),this.async(function(){this._updatePlaybackStats()},null,100))},_videoIdChanged:function(){this.currenttime=0,this.currenttimeformatted=this._toHHMMSS(0),this.fractionloaded=0,this.duration=1,this.durationformatted=this._toHHMMSS(0),this._player&&this._player.cueVideoById?this.playsupported&&this.attributes.autoplay&&"1"==this.attributes.autoplay.value?this._player.loadVideoById(this.videoId):this._player.cueVideoById(this.videoId):this._pendingVideoId=this.videoId},_player:null,__updatePlaybackStatsInterval:null,_pendingVideoId:"",_apiLoad:function(){var e={playsinline:1,controls:2,autohide:1,autoplay:this.autoplay};this.chromeless&&(e.controls=0,e.modestbranding=1,e.showinfo=0,e.iv_load_policy=3,e.rel=0);for(var t=0;t<this.attributes.length;t++){var i=this.attributes[t];e[i.nodeName]=i.value}this._player=new YT.Player(this.$.player,{videoId:this.videoId,width:"100%",height:"100%",playerVars:e,events:{onReady:function(e){this._pendingVideoId&&this._pendingVideoId!=this.videoId&&(this._player.cueVideoById(this._pendingVideoId),this._pendingVideoId=""),this.fire("google-youtube-ready",e)}.bind(this),onStateChange:function(e){this.state=e.data,1==this.state?(this.playbackstarted=!0,this.playsupported=!0,this.duration=this._player.getDuration(),this.durationformatted=this._toHHMMSS(this.duration),this.__updatePlaybackStatsInterval||(this.__updatePlaybackStatsInterval=setInterval(this._updatePlaybackStats.bind(this),1e3))):this.__updatePlaybackStatsInterval&&(clearInterval(this.__updatePlaybackStatsInterval),this.__updatePlaybackStatsInterval=null),this.fire("google-youtube-state-change",e)}.bind(this),onError:function(e){this.state=0,this.fire("google-youtube-error",e)}.bind(this)}})},_updatePlaybackStats:function(){this.currenttime=Math.round(this._player.getCurrentTime()),this.currenttimeformatted=this._toHHMMSS(this.currenttime),this.fractionloaded=this._player.getVideoLoadedFraction()},_toHHMMSS:function(e){var t=Math.floor(e/3600);e-=3600*t;var i=Math.floor(e/60),n=Math.round(e-60*i),r="";return t>0&&(r+=t+":",i<10&&(i="0"+i)),n<10&&(n="0"+n),r+i+":"+n},_handleThumbnailTap:function(){this.autoplay=1,this.thumbnail=""}});
    \ No newline at end of file
    diff --git a/site/dist/elements/elements.html b/site/dist/elements/elements.html
    deleted file mode 100644
    index 17bd8aa70..000000000
    --- a/site/dist/elements/elements.html
    +++ /dev/null
    @@ -1,570 +0,0 @@
    -<html><head><meta charset="UTF-8">
    -</head><body><div hidden="" by-vulcanize=""><style>
    -[hidden]{display:none!important}</style><style is="custom-style">
    -:root{--layout:{display:-ms-flexbox;display:-webkit-flex;display:flex};--layout-inline:{display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex};--layout-horizontal:{@apply(--layout);-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row};--layout-horizontal-reverse:{@apply(--layout);-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse};--layout-vertical:{@apply(--layout);-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column};--layout-vertical-reverse:{@apply(--layout);-ms-flex-direction:column-reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse};--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-wrap-reverse:{-ms-flex-wrap:wrap-reverse;-webkit-flex-wrap:wrap-reverse;flex-wrap:wrap-reverse};--layout-flex-auto:{-ms-flex:1 1 auto;-webkit-flex:1 1 auto;flex:1 1 auto};--layout-flex-none:{-ms-flex:none;-webkit-flex:none;flex:none};--layout-flex:{-ms-flex:1 1 0.000000001px;-ms-flex-preferred-size:0.000000001px;-webkit-flex:1;-webkit-flex-basis:0.000000001px;flex:1;flex-basis:0.000000001px};--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};--layout-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-start};--layout-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-end};--layout-baseline:{-ms-flex-align:baseline;-webkit-align-items:baseline;align-items:baseline};--layout-start-justified:{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start};--layout-center-justified:{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center};--layout-end-justified:{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between};--layout-center-center:{@apply(--layout-center);@apply(--layout-center-justified)};--layout-self-start:{-ms-align-self:flex-start;-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start};--layout-self-center:{-ms-align-self:center;-ms-flex-item-align:center;-webkit-align-self:center;align-self:center};--layout-self-end:{-ms-align-self:flex-end;-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end};--layout-self-stretch:{-ms-align-self:stretch;-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch};--layout-self-baseline:{-ms-align-self:baseline;-ms-flex-item-align:baseline;-webkit-align-self:baseline;align-self:baseline};--layout-start-aligned:{-ms-align-content:flex-start;-ms-flex-line-pack:start;-webkit-align-content:flex-start;align-content:flex-start};--layout-end-aligned:{-ms-align-content:flex-end;-ms-flex-line-pack:end;-webkit-align-content:flex-end;align-content:flex-end};--layout-center-aligned:{-ms-align-content:center;-ms-flex-line-pack:center;-webkit-align-content:center;align-content:center};--layout-between-aligned:{-ms-align-content:space-between;-ms-flex-line-pack:justify;-webkit-align-content:space-between;align-content:space-between};--layout-around-aligned:{-ms-align-content:space-around;-ms-flex-line-pack:distribute;-webkit-align-content:space-around;align-content:space-around};--layout-block:{display:block};--layout-invisible:{visibility:hidden!important};--layout-relative:{position:relative};--layout-fit:{bottom:0;left:0;position:absolute;right:0;top:0};--layout-scroll:{-webkit-overflow-scrolling:touch;overflow:auto};--layout-fullbleed:{height:100vh;margin:0};--layout-fixed-top:{left:0;position:fixed;right:0;top:0};--layout-fixed-right:{bottom:0;position:fixed;right:0;top:0};--layout-fixed-bottom:{bottom:0;left:0;position:fixed;right:0};--layout-fixed-left:{bottom:0;left:0;position:fixed;top:0};}</style><dom-module id="iron-icon" assetpath="../bower_components/iron-icon/">
    -<template>
    -<style>
    -:host{@apply(--layout-inline);@apply(--layout-center-center);fill:var(--iron-icon-fill-color,currentcolor);height:var(--iron-icon-height,24px);position:relative;stroke:var(--iron-icon-stroke-color,none);vertical-align:middle;width:var(--iron-icon-width,24px);@apply(--iron-icon)} </style>
    -</template>
    -</dom-module>
    -<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.05 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.15-.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-.14.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-.55.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"><circle 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-7H4zm6 0v7h3v-7h-3zM2 22h19v-3H2v3zm14-12v7h3v-7h-3zm-4.5-9L2 6v2h19V6l-9.5-5z"></path></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-2v-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.12 11v5.82L3 18.94V20h18v-1.06l-2.12-2.12zM16 13.01h-3v3h-2v-3H8V11h3V8h2v3h3v2.01z"></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"></path></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 9h2V6h3V4h-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.13 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.52 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.43C10.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.29L1.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.86 9.86zM8.02 3.28L6.6 1.86l-.86.71 1.42 1.42.86-.71z"></path></g>
    -<g id="alarm-on"><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.47L8.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.95-.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.57 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.5V19h1c.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.63L7.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="announcement"><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 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-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-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    -<g id="arrow-drop-down-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 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.59L12 20l8-8z"></path></g>
    -<g id="arrow-upward"><path d="M4 12l1.41 1.41L11 7.83V20h2V7.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 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z"></path></g>
    -<g id="assessment"><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-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-4H7V7h10v2z"></path></g>
    -<g id="assignment-ind"><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 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="assignment-turned-in"><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-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 10H17v2H9.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.5S5.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 14 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.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="block"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.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.55 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 12c0 4.42-3.58 8-8 8z"></path></g>
    -<g id="book"><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="bookmark"><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="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 .34.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-2h4v2z"></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.5l9.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"></path></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-5s2.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.75L8 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-.89 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.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="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-5H4V4h16v6z"></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"></path></g>
    -<g id="change-history"><path d="M12 7.77L18.39 18H5.61L12 7.77M12 4L2 20h20L12 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.41L10 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 12s4.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"></path></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.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.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 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.96zM17 13l-5 5-5-5h3V9h4v4h3z"></path></g>
    -<g id="cloud-off"><path d="M19.35 10.04C18.67 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 6c3.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 18H6c-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 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.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 4s1.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 18H5V4h2v3h10V4h2v16z"></path></g>
    -<g id="copyright"><path d="M10.08 10.86c.05-.33.16-.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.36S8 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 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="create"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.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.99.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-3v3h-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-2zm0 14H4v-6h16v6zm0-10H4V6h16v2z"></path></g>
    -<g id="dashboard"><path d="M3 13h8V3H3v10zm0 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-2v2H8V2H6v2H5c-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="delete-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="description"><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.2L4.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.41 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-9v7.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-2V7h2v6z"></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="euro-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.3l-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"></path></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.1s.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 12s4.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.5S21.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.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.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 10c.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"><path 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-2h2v2zm0-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-4v2zM3 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-.4l-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.02-.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.34-3 3z"></path></g>
    -<g id="find-replace"><path d="M11 6c1.38 0 2.63.56 3.54 1.46L12 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="fingerprint"><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 14 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.01-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.12zM14.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-.64-.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"></path></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.21 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.28L5.15 8.95l-.93-2.32-1.45-.39v5.17l1.6.43 5.31 1.43z"></path></g>
    -<g id="flight-takeoff"><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 id="flip-to-back"><path d="M9 7H7v2h2V7zm0 4H7v2h2v-2zm0-8c-1.11 0-2 .9-2 2h2V3zm4 12h-2v2h2v-2zm6-12v2h2c0-1.1-.9-2-2-2zm-6 0h-2v2h2V3zM9 17v-2H7c0 1.1.89 2 2 2zm10-4h2v-2h-2v2zm0-4h2V7h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zM5 7H3v12c0 1.1.89 2 2 2h12v-2H5V7zm10-2h2V3h-2v2zm0 12h2v-2h-2v2z"></path></g>
    -<g id="flip-to-front"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-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="folder"><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-2V8c0-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-2zm0 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 2v1z"></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 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"></path></g>
    -<g id="fullscreen-exit"><path d="M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-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.68c.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.93l1.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-7zM5 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-1zm10 1.5V9h-4.5v6H16v-2h2v-1.5h-2v-1z"></path></g>
    -<g id="grade"><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.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 .88-.36 1.68-.93 2.25z"></path></g>
    -<g id="help-outline"><path d="M11 18h2v-2h-2v2zm1-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.03-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"><path 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.99h-.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 0H14V15h1.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-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="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-.97 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 2H19c1.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.99V5H19v10z"></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"></path></g>
    -<g id="info"><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-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-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 8zM11 9h2V7h-2v2z"></path></g>
    -<g id="input"><path d="M21 3.01H3c-1.1 0-2 .9-2 2V9h2V4.99h18v14.03H3V15H1v4.01c0 1.1.9 1.98 2 1.98h18c1.1 0 2-.88 2-1.98v-14c0-1.11-.9-2-2-2zM11 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.58c2.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 2H4.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-8H5.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 14c.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-.26 2h-3.38z"></path></g>
    -<g id="last-page"><path d="M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"></path></g>
    -<g id="launch"><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="lightbulb-outline"><path 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="line-style"><path d="M3 16h5v-2H3v2zm6.5 0h5v-2h-5v2zm6.5 0h5v-2h-5v2zM3 20h2v-2H3v2zm4 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-2H3v2zm0 3h18v-1H3v1zm0-7h18v-3H3v3zm0-9v4h18V4H3z"></path></g>
    -<g id="link"><path 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.9H7c-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="list"><path d="M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 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 2v10c0 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 2h12c1.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 5h8v2h-8zm0 5.5h8v2h-8zm0 5.5h8v2h-8zM2 11.5C2 15.08 4.92 18 8.5 18H9v2l3-3-3-3v2h-.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-.59l7-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.5S4.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.81 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="markunread"><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-mailbox"><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-2H3v2zm0-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 2H5c-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.82zM19 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="move-to-inbox"><path d="M19 3H4.99c-1.11 0-1.98.9-1.98 2L3 19c0 1.1.88 2 1.99 2H19c1.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.99V5H19v10zm-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"><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10 10-4.5 10-10S17.5 2 12 2zm5 16H7v-2h10v2zm-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="opacity"><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 8zM6 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-setting"><path d="M18.99 11.5c.34 0 .67.03 1 .07L20 0 0 20h11.56c-.04-.33-.07-.66-.07-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.21.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-device-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.9V17c0-.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-4zm0 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 3v10l3-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.89-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-8v6h8V7zm2-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"><path 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-for-work"><path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"></path></g>
    -<g id="polymer"><path 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.17l-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="query-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 2v20z"></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.69c.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.63c2.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.69.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.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.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="redo"><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.99 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 11v2h10v-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-shopping-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"></path></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.73 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-2V7h2v6z"></path></g>
    -<g id="report-problem"><path d="M1 21h22L12 2 1 21zm12-3h-2v-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-2V8l-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.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="rounded-corner"><path d="M19 19h2v2h-2v-2zm0-2h2v-2h-2v2zM3 13h2v-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-2zm6 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-3s1.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-13H11v6l5.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.01 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-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2zM7 17h10V7H7v10zm2-8h6v6H9V9z"></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-.03-.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.46c-.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-.98l2.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"></path></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-2V5c0-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-.46-.05-.69 0-.23.02-.46.05-.68l-1.48-1.16c-.13-.11-.17-.3-.08-.45l1.4-2.42c.09-.15.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="settings-backup-restore"><path d="M14 12c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-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.59 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-brightness"><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-2v2zm4 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-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 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.62 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 1v4H1v6h6V6H5V2zm4 14c0 1.3.84 2.4 2 2.82V23h2v-4.18c1.16-.41 2-1.51 2-2.82v-2H9v2zm-8 0c0 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 2v3H5v6l3 6v3h8v-3l3-6V7h-1zM8 4h8v3h-2V5h-1v2h-2V5h-1v2H8V4z"></path></g>
    -<g id="settings-input-svideo"><path d="M8 11.5c0-.83-.67-1.5-1.5-1.5S5 10.67 5 11.5 5.67 13 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-11S18.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.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8 6h-4l2.01 2.5L14 16zm7-13H3c-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.02z"></path></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 9v2h2V9h-2z"></path></g>
    -<g id="settings-power"><path d="M7 24h2v-2H7v2zm4 0h2v-2h-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 1h6c.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.41C15.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 0z"></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-2v2zm4 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-2h4v2h-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"></path></g>
    -<g id="sort"><path d="M3 18h6v-2H3v2zM3 6v2h18V6H3zm0 7h12v-2H3v2z"></path></g>
    -<g id="speaker-notes"><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-2zM8 14H6v-2h2v2zm0-3H6V9h2v2zm0-3H6V6h2v2zm7 6h-5v-2h5v2zm3-3h-8V9h8v2zm0-3h-8V6h8v2z"></path></g>
    -<g id="speaker-notes-off"><path 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.09L9.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.73L5.82 21z"></path></g>
    -<g id="star-border"><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.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.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 2zm4.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.73 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"><path 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.25c0-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.99h3V14h2V6.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 9H11v4H9V9H6.5zm11 6L14 18.5 10.5 15H13v-4h2v4h2.5z"></path></g>
    -<g id="system-update-alt"><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"><path d="M1 9h2V7H1v2zm0 4h2v-2H1v2zm0-8h2V3c-1.1 0-2 .9-2 2zm8 16h2v-2H9v2zm-8-4h2v-2H1v2zm2 4v-2H1c0 1.1.9 2 2 2zM21 3h-8v6h10V5c0-1.1-.9-2-2-2zm0 14h2v-2h-2v2zM9 5h2V3H9v2zM5 21h2v-2H5v2zM5 5h2V3H5v2zm16 16c1.1 0 2-.9 2-2h-2v2zm0-8h2v-2h-2v2zm-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-2V3H8v2H6V3H4v18h2v-2h2v2h8v-2h2v2h2V3h-2zM8 17H6v-2h2v2zm0-4H6v-2h2v2zm0-4H6V7h2v2zm10 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V7h2v2z"></path></g>
    -<g id="thumb-down"><path d="M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v1.91l.01.01L1 14c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.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-.79-.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.75c.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-.67-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 2z"></path></g>
    -<g id="toc"><path d="M3 9h14V7H3v2zm0 4h14v-2H3v2zm0 4h14v-2H3v2zm16 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.26C3.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.5v3.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"><path 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 4s-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.56l-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"><path 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 18V5h10v13z"></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 id="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"></path></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 19 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.11-.02-12.58 3.51-3.47 9.14-3.47 12.65 0L21 3v7.12zM12.5 8v4.25l3.5 2.08-.72 1.21L11 13V8h1.5z"></path></g>
    -<g id="verified-user"><path d="M12 1L3 5v6c0 5.55 3.84 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="view-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 5v13h5V5h-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-8h16V9H4v2zm0-6v2h16V5H4z"></path></g>
    -<g id="view-list"><path d="M4 14h4v-4H4v4zm0 5h4v-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="M10 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="view-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-3h-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-3c0-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.82V7c0-1.1-.9-2-2-2z"></path></g>
    -<g id="work"><path d="M20 6h-4V4c0-1.11-.89-2-2-2h-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-searched-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-out"><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>
    -<dom-module id="paper-ripple" assetpath="../bower_components/paper-ripple/">
    -<template>
    -<style>
    -:host{border-radius:inherit;bottom:0;display:block;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0}:host([animating]){-webkit-transform:translate(0);transform:translateZ(0)}#background,#waves,.wave,.wave-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}#background,.wave{opacity:0}#waves,.wave{overflow:hidden}.wave,.wave-container,:host(.circle) #background,:host(.circle) #waves{border-radius:50%}:host(.circle) .wave-container{overflow:hidden} </style>
    -<div id="background"></div>
    -<div id="waves"></div>
    -</template>
    -</dom-module>
    -<style is="custom-style">
    -:root{--shadow-transition:{transition:box-shadow .28s cubic-bezier(.4,0,.2,1)};--shadow-none:{box-shadow: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 rgba(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-elevation-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 16px 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-module id="paper-material-shared-styles" assetpath="../bower_components/paper-material/">
    -<template>
    -<style>
    -:host{display:block;position:relative}:host([elevation="1"]){@apply(--shadow-elevation-2dp)}:host([elevation="2"]){@apply(--shadow-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>
    -<dom-module id="paper-button" assetpath="../bower_components/paper-button/">
    -<template strip-whitespace="">
    -<style include="paper-material-shared-styles">
    -:host{@apply(--layout-inline);@apply(--layout-center-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;background:transparent;border-radius:3px;box-sizing:border-box;cursor:pointer;font:inherit;margin:0 .29em;min-width:5.14em;outline-width:0;padding:.7em .57em;position:relative;text-transform:uppercase;user-select:none;z-index:0;@apply(--paper-font-common-base);@apply(--paper-button)}:host([hidden]){display:none!important}:host([raised].keyboard-focus){font-weight:700;@apply(--paper-button-raised-keyboard-focus)}:host(:not([raised]).keyboard-focus){font-weight:700;@apply(--paper-button-flat-keyboard-focus)}:host([disabled]){background:#eaeaea;color:#a8a8a8;cursor:auto;pointer-events:none;@apply(--paper-button-disabled)}:host([animated]){@apply(--shadow-transition)}paper-ripple{color:var(--paper-button-ink-color)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="paper-drawer-panel" assetpath="../bower_components/paper-drawer-panel/">
    -<template>
    -<style>
    -:host{display:block;overflow:hidden;width:100%}:host,iron-selector>#drawer{height:100%;left:0;position:absolute;top:0}iron-selector>#drawer{background-color:#fff;box-sizing:border-box;@apply(--paper-drawer-panel-drawer-container)}.transition-drawer{transition:-webkit-transform .3s ease-in-out,width .3s ease-in-out,visibility .3s;transition:width .3s ease-in-out,visibility .3s,-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out,width .3s ease-in-out,visibility .3s;transition:transform .3s ease-in-out,width .3s ease-in-out,visibility .3s,-webkit-transform .3s ease-in-out}.left-drawer>#drawer{@apply(--paper-drawer-panel-left-drawer-container)}.right-drawer>#drawer{left:auto;right:0;@apply(--paper-drawer-panel-right-drawer-container)}iron-selector>#main{bottom:0;position:absolute;right:0;top:0;@apply(--paper-drawer-panel-main-container)}.transition>#main{transition:left .3s ease-in-out,padding .3s ease-in-out}.right-drawer>#main{left:0}.right-drawer.transition>#main{transition:right .3s ease-in-out,padding .3s ease-in-out}#drawer>::content>[drawer],#main>::content>[main]{height:100%}#scrim{background-color:rgba(0,0,0,.3);bottom:0;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .38s ease-in-out,visibility .38s ease-in-out;visibility:hidden;@apply(--paper-drawer-panel-scrim)}.narrow-layout>#drawer{will-change:transform}.narrow-layout>#drawer.iron-selected{box-shadow:2px 2px 4px rgba(0,0,0,.15)}.right-drawer.narrow-layout>#drawer.iron-selected{box-shadow:-2px 2px 4px rgba(0,0,0,.15)}.narrow-layout>#drawer>::content>[drawer]{border:0}.left-drawer.narrow-layout>#drawer:not(.iron-selected){-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:hidden}.right-drawer.narrow-layout>#drawer:not(.iron-selected){-webkit-transform:translateX(100%);left:auto;transform:translateX(100%);visibility:hidden}.left-drawer.dragging>#drawer:not(.iron-selected),.left-drawer.peeking>#drawer:not(.iron-selected),.right-drawer.dragging>#drawer:not(.iron-selected),.right-drawer.peeking>#drawer:not(.iron-selected){visibility:visible}.narrow-layout>#main{padding:0}.right-drawer.narrow-layout>#main{left:0;right:0}.dragging>#main>#scrim,.narrow-layout>#main:not(.iron-selected)>#scrim{opacity:var(--paper-drawer-panel-scrim-opacity,1);visibility:visible}.narrow-layout>#main>*{box-sizing:border-box;left:0;margin:0;min-height:100%;right:0}iron-selector:not(.narrow-layout) ::content [paper-drawer-toggle]{display:none} </style>
    -<iron-media-query id="mq" on-query-matches-changed="_onQueryMatchesChanged" query="[[_computeMediaQuery(forceNarrow, responsiveWidth)]]">
    -</iron-media-query>
    -<iron-selector attr-for-selected="id" class$="[[_computeIronSelectorClass(narrow, _transition, dragging, rightDrawer, peeking)]]" activate-event="" selected="[[selected]]">
    -<div id="main" style$="[[_computeMainStyle(narrow, rightDrawer, drawerWidth)]]">
    -<content select="[main]"></content>
    -<div id="scrim" on-tap="closeDrawer"></div>
    -</div>
    -<div id="drawer" style$="[[_computeDrawerStyle(drawerWidth)]]">
    -<content id="drawerContent" select="[drawer]"></content>
    -</div>
    -</iron-selector>
    -</template>
    -</dom-module>
    -<dom-module id="paper-header-panel" assetpath="../bower_components/paper-header-panel/">
    -<template>
    -<style>
    -:host{@apply(--layout-vertical);height:100%;position:relative;@apply(--paper-header-panel)}#mainContainer{@apply(--layout-flex);-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto;position:relative}#mainPanel{@apply(--layout-vertical);@apply(--layout-flex);min-height:0;position:relative;@apply(--paper-header-panel-body)}#mainContainer{@apply(--paper-header-panel-container)}:host([mode=scroll]) #mainContainer{@apply(--paper-header-panel-scroll-container);overflow:visible}:host([mode=scroll]){-webkit-overflow-scrolling:touch;overflow-x:hidden;overflow-y:auto}:host([mode=cover]) #mainContainer{@apply(--paper-header-panel-cover-container);bottom:0;left:0;position:absolute;right:0;top:0}:host([mode=cover]) #mainPanel{position:static}:host([mode=standard]) #mainContainer{@apply(--paper-header-panel-standard-container)}:host([mode=seamed]) #mainContainer{@apply(--paper-header-panel-seamed-container)}:host([mode=waterfall]) #mainContainer{@apply(--paper-header-panel-waterfall-container)}:host([mode=waterfall-tall]) #mainContainer{@apply(--paper-header-panel-waterfall-tall-container)}#dropShadow{box-shadow:inset 0 5px 6px -3px rgba(0,0,0,.4);height:6px;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .5s;@apply(--paper-header-panel-shadow);right:0;top:0}#dropShadow.has-shadow{opacity:1} </style>
    -<content id="headerContent" select="paper-toolbar, .paper-header"></content>
    -<div id="mainPanel">
    -<div id="mainContainer" class$="[[_computeMainContainerClass(mode)]]">
    -<content id="mainContent" select="*"></content>
    -</div>
    -<div id="dropShadow"></div>
    -</div>
    -</template>
    -</dom-module>
    -<style is="custom-style">
    -:root{--dark-disabled-opacity:0.38;--dark-divider-opacity:0.12;--dark-primary-opacity:0.87;--dark-secondary-opacity:0.54;--google-blue-100:#c6dafc;--google-blue-300:#7baaf7;--google-blue-500:#4285f4;--google-blue-700:#3367d6;--google-green-100:#b7e1cd;--google-green-300:#57bb8a;--google-green-500:#0f9d58;--google-green-700:#0b8043;--google-grey-100:#f5f5f5;--google-grey-300:#e0e0e0;--google-grey-500:#9e9e9e;--google-grey-700:#616161;--google-red-100:#f4c7c3;--google-red-300:#e67c73;--google-red-500:#db4437;--google-red-700:#c53929;--google-yellow-100:#fce8b2;--google-yellow-300:#f7cb4d;--google-yellow-500:#f4b400;--google-yellow-700:#f09300;--light-disabled-opacity:0.3;--light-divider-opacity:0.12;--light-primary-opacity:1.0;--light-secondary-opacity:0.7;--paper-amber-100:#ffecb3;--paper-amber-200:#ffe082;--paper-amber-300:#ffd54f;--paper-amber-400:#ffca28;--paper-amber-50:#fff8e1;--paper-amber-500:#ffc107;--paper-amber-600:#ffb300;--paper-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-blue-100:#bbdefb;--paper-blue-200:#90caf9;--paper-blue-300:#64b5f6;--paper-blue-400:#42a5f5;--paper-blue-50:#e3f2fd;--paper-blue-500:#2196f3;--paper-blue-600:#1e88e5;--paper-blue-700:#1976d2;--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-blue-grey-100:#cfd8dc;--paper-blue-grey-200:#b0bec5;--paper-blue-grey-300:#90a4ae;--paper-blue-grey-400:#78909c;--paper-blue-grey-50:#eceff1;--paper-blue-grey-500:#607d8b;--paper-blue-grey-600:#546e7a;--paper-blue-grey-700:#455a64;--paper-blue-grey-800:#37474f;--paper-blue-grey-900:#263238;--paper-brown-100:#d7ccc8;--paper-brown-200:#bcaaa4;--paper-brown-300:#a1887f;--paper-brown-400:#8d6e63;--paper-brown-50:#efebe9;--paper-brown-500:#795548;--paper-brown-600:#6d4c41;--paper-brown-700:#5d4037;--paper-brown-800:#4e342e;--paper-brown-900:#3e2723;--paper-cyan-100:#b2ebf2;--paper-cyan-200:#80deea;--paper-cyan-300:#4dd0e1;--paper-cyan-400:#26c6da;--paper-cyan-50:#e0f7fa;--paper-cyan-500:#00bcd4;--paper-cyan-600:#00acc1;--paper-cyan-700:#0097a7;--paper-cyan-800:#00838f;--paper-cyan-900:#006064;--paper-cyan-a100:#84ffff;--paper-cyan-a200:#18ffff;--paper-cyan-a400:#00e5ff;--paper-cyan-a700:#00b8d4;--paper-deep-orange-100:#ffccbc;--paper-deep-orange-200:#ffab91;--paper-deep-orange-300:#ff8a65;--paper-deep-orange-400:#ff7043;--paper-deep-orange-50:#fbe9e7;--paper-deep-orange-500:#ff5722;--paper-deep-orange-600:#f4511e;--paper-deep-orange-700:#e64a19;--paper-deep-orange-800:#d84315;--paper-deep-orange-900:#bf360c;--paper-deep-orange-a100:#ff9e80;--paper-deep-orange-a200:#ff6e40;--paper-deep-orange-a400:#ff3d00;--paper-deep-orange-a700:#dd2c00;--paper-deep-purple-100:#d1c4e9;--paper-deep-purple-200:#b39ddb;--paper-deep-purple-300:#9575cd;--paper-deep-purple-400:#7e57c2;--paper-deep-purple-50:#ede7f6;--paper-deep-purple-500:#673ab7;--paper-deep-purple-600:#5e35b1;--paper-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-green-100:#c8e6c9;--paper-green-200:#a5d6a7;--paper-green-300:#81c784;--paper-green-400:#66bb6a;--paper-green-50:#e8f5e9;--paper-green-500:#4caf50;--paper-green-600:#43a047;--paper-green-700:#388e3c;--paper-green-800:#2e7d32;--paper-green-900:#1b5e20;--paper-green-a100:#b9f6ca;--paper-green-a200:#69f0ae;--paper-green-a400:#00e676;--paper-green-a700:#00c853;--paper-grey-100:#f5f5f5;--paper-grey-200:#eee;--paper-grey-300:#e0e0e0;--paper-grey-400:#bdbdbd;--paper-grey-50:#fafafa;--paper-grey-500:#9e9e9e;--paper-grey-600:#757575;--paper-grey-700:#616161;--paper-grey-800:#424242;--paper-grey-900:#212121;--paper-indigo-100:#c5cae9;--paper-indigo-200:#9fa8da;--paper-indigo-300:#7986cb;--paper-indigo-400:#5c6bc0;--paper-indigo-50:#e8eaf6;--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-indigo-a400:#3d5afe;--paper-indigo-a700:#304ffe;--paper-light-blue-100:#b3e5fc;--paper-light-blue-200:#81d4fa;--paper-light-blue-300:#4fc3f7;--paper-light-blue-400:#29b6f6;--paper-light-blue-50:#e1f5fe;--paper-light-blue-500:#03a9f4;--paper-light-blue-600:#039be5;--paper-light-blue-700:#0288d1;--paper-light-blue-800:#0277bd;--paper-light-blue-900:#01579b;--paper-light-blue-a100:#80d8ff;--paper-light-blue-a200:#40c4ff;--paper-light-blue-a400:#00b0ff;--paper-light-blue-a700:#0091ea;--paper-light-green-100:#dcedc8;--paper-light-green-200:#c5e1a5;--paper-light-green-300:#aed581;--paper-light-green-400:#9ccc65;--paper-light-green-50:#f1f8e9;--paper-light-green-500:#8bc34a;--paper-light-green-600:#7cb342;--paper-light-green-700:#689f38;--paper-light-green-800:#558b2f;--paper-light-green-900:#33691e;--paper-light-green-a100:#ccff90;--paper-light-green-a200:#b2ff59;--paper-light-green-a400:#76ff03;--paper-light-green-a700:#64dd17;--paper-lime-100:#f0f4c3;--paper-lime-200:#e6ee9c;--paper-lime-300:#dce775;--paper-lime-400:#d4e157;--paper-lime-50:#f9fbe7;--paper-lime-500:#cddc39;--paper-lime-600:#c0ca33;--paper-lime-700:#afb42b;--paper-lime-800:#9e9d24;--paper-lime-900:#827717;--paper-lime-a100:#f4ff81;--paper-lime-a200:#eeff41;--paper-lime-a400:#c6ff00;--paper-lime-a700:#aeea00;--paper-orange-100:#ffe0b2;--paper-orange-200:#ffcc80;--paper-orange-300:#ffb74d;--paper-orange-400:#ffa726;--paper-orange-50:#fff3e0;--paper-orange-500:#ff9800;--paper-orange-600:#fb8c00;--paper-orange-700:#f57c00;--paper-orange-800:#ef6c00;--paper-orange-900:#e65100;--paper-orange-a100:#ffd180;--paper-orange-a200:#ffab40;--paper-orange-a400:#ff9100;--paper-orange-a700:#ff6500;--paper-pink-100:#f8bbd0;--paper-pink-200:#f48fb1;--paper-pink-300:#f06292;--paper-pink-400:#ec407a;--paper-pink-50:#fce4ec;--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:#f50057;--paper-pink-a700:#c51162;--paper-purple-100:#e1bee7;--paper-purple-200:#ce93d8;--paper-purple-300:#ba68c8;--paper-purple-400:#ab47bc;--paper-purple-50:#f3e5f5;--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:#a0f;--paper-red-100:#ffcdd2;--paper-red-200:#ef9a9a;--paper-red-300:#e57373;--paper-red-400:#ef5350;--paper-red-50:#ffebee;--paper-red-500:#f44336;--paper-red-600:#e53935;--paper-red-700:#d32f2f;--paper-red-800:#c62828;--paper-red-900:#b71c1c;--paper-red-a100:#ff8a80;--paper-red-a200:#ff5252;--paper-red-a400:#ff1744;--paper-red-a700:#d50000;--paper-teal-100:#b2dfdb;--paper-teal-200:#80cbc4;--paper-teal-300:#4db6ac;--paper-teal-400:#26a69a;--paper-teal-50:#e0f2f1;--paper-teal-500:#009688;--paper-teal-600:#00897b;--paper-teal-700:#00796b;--paper-teal-800:#00695c;--paper-teal-900:#004d40;--paper-teal-a100:#a7ffeb;--paper-teal-a200:#64ffda;--paper-teal-a400:#1de9b6;--paper-teal-a700:#00bfa5;--paper-yellow-100:#fff9c4;--paper-yellow-200:#fff59d;--paper-yellow-300:#fff176;--paper-yellow-400:#ffee58;--paper-yellow-50:#fffde7;--paper-yellow-500:#ffeb3b;--paper-yellow-600:#fdd835;--paper-yellow-700:#fbc02d;--paper-yellow-800:#f9a825;--paper-yellow-900:#f57f17;--paper-yellow-a100:#ffff8d;--paper-yellow-a200:#ff0;--paper-yellow-a400:#ffea00;--paper-yellow-a700:#ffd600}</style><style is="custom-style">
    -:root{--accent-color:var(--paper-pink-a200);--dark-accent-color:var(--paper-pink-a400);--dark-primary-color:var(--paper-indigo-700);--dark-theme-background-color:var(--paper-grey-900);--dark-theme-base-color:#fff;--dark-theme-disabled-color:#646464;--dark-theme-divider-color:#3c3c3c;--dark-theme-secondary-color:#bcbcbc;--dark-theme-text-color:#fff;--default-primary-color:var(--primary-color);--disabled-text-color:var(--light-theme-disabled-color);--divider-color:var(--light-theme-divider-color);--error-color:var(--paper-deep-orange-a700);--light-accent-color:var(--paper-pink-a100);--light-primary-color:var(--paper-indigo-100);--light-theme-background-color:#fff;--light-theme-base-color:#000;--light-theme-disabled-color:#9b9b9b;--light-theme-divider-color:#dbdbdb;--light-theme-secondary-color:#737373;--light-theme-text-color:var(--paper-grey-900);--primary-background-color:var(--light-theme-background-color);--primary-color:var(--paper-indigo-500);--primary-text-color:var(--light-theme-text-color);--secondary-text-color:var(--light-theme-secondary-color);--text-primary-color:var(--dark-theme-text-color)}</style><dom-module id="paper-icon-button" assetpath="../bower_components/paper-icon-button/">
    -<template strip-whitespace="">
    -<style>
    -:host{-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;box-sizing:border-box!important;cursor:pointer;display:inline-block;height:40px;line-height:1;outline:none;padding:8px;position:relative;user-select:none;width:40px;z-index:0;@apply(--paper-icon-button)}:host #ink{color:var(--paper-icon-button-ink-color,--primary-text-color);opacity:.6}:host([disabled]){color:var(--paper-icon-button-disabled-text,--disabled-text-color);cursor:auto;pointer-events:none;@apply(--paper-icon-button-disabled)}:host(:hover){@apply(--paper-icon-button-hover)}iron-icon{--iron-icon-height:100%;--iron-icon-width:100%} </style>
    -<iron-icon id="icon" src="[[src]]" icon="[[icon]]" alt$="[[alt]]"></iron-icon>
    -</template>
    -</dom-module>
    -<dom-module id="iron-a11y-announcer" assetpath="../bower_components/iron-a11y-announcer/">
    -<template>
    -<style>
    -:host{clip:rect(0,0,0,0);display:inline-block;position:fixed} </style>
    -<div aria-live$="[[mode]]">[[_text]]</div>
    -</template>
    -</dom-module>
    -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:400,300,300italic,400italic,500,500italic,700,700italic">
    -<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700">
    -<style is="custom-style">
    -:root{--paper-font-common-base:{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif};--paper-font-common-code:{-webkit-font-smoothing:antialiased;font-family:Roboto Mono,Consolas,Menlo,monospace};--paper-font-common-expensive-kerning:{text-rendering:optimizeLegibility};--paper-font-common-nowrap:{overflow:hidden;text-overflow:ellipsis;white-space:nowrap};--paper-font-display4:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:112px;font-weight:300;letter-spacing:-.044em;line-height:120px};--paper-font-display3:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:56px;font-weight:400;letter-spacing:-.026em;line-height:60px};--paper-font-display2:{@apply(--paper-font-common-base);font-size:45px;font-weight: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-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px};--paper-font-title:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size: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-height:24px};--paper-font-body1:{@apply(--paper-font-common-base);font-size:14px;font-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-spacing:.011em;line-height:20px};--paper-font-menu:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:13px;font-weight:500;line-height:24px};--paper-font-button:{@apply(--paper-font-common-base);@apply(--paper-font-common-nowrap);font-size:14px;font-weight:500;letter-spacing:.018em;line-height:24px;text-transform:uppercase};--paper-font-code2:{@apply(--paper-font-common-code);font-size:14px;font-weight:700;line-height:20px};--paper-font-code1:{@apply(--paper-font-common-code);font-size:14px;font-weight:500;line-height:20px};}</style><dom-module id="paper-input-char-counter" assetpath="../bower_components/paper-input/">
    -<template>
    -<style>
    -:host{display:inline-block;float:right;@apply(--paper-font-caption);@apply(--paper-input-char-counter)}:host([hidden]){display:none!important}:host-context([dir=rtl]){float:left} </style>
    -<span>[[_charCounterStr]]</span>
    -</template>
    -</dom-module>
    -<dom-module id="paper-input-container" assetpath="../bower_components/paper-input/">
    -<template>
    -<style>
    -:host{display:block;padding:8px 0;@apply(--paper-input-container)}:host([inline]){display:inline-block}:host([disabled]){opacity:.33;pointer-events:none;@apply(--paper-input-container-disabled)}:host([hidden]){display:none!important}.floated-label-placeholder{@apply(--paper-font-caption)}.underline{height:2px;position:relative}.focused-line{@apply(--layout-fit);-webkit-transform:scaleX(0);-webkit-transform-origin:center center;border-bottom:2px solid var(--paper-input-container-focus-color,--primary-color);transform:scaleX(0);transform-origin:center center;@apply(--paper-input-container-underline-focus)}.underline.is-highlighted .focused-line{@apply(--paper-transition-easing)}.underline.is-highlighted .focused-line,.underline.is-invalid .focused-line{-webkit-transform:none;transform:none;transition:-webkit-transform .25s;transition:transform .25s;transition:transform .25s,-webkit-transform .25s}.underline.is-invalid .focused-line{border-color:var(--paper-input-container-invalid-color,--error-color);@apply(--paper-transition-easing)}.unfocused-line{@apply(--layout-fit);border-bottom:1px solid var(--paper-input-container-color,--secondary-text-color);@apply(--paper-input-container-underline)}:host([disabled]) .unfocused-line{border-left-color:var(--paper-input-container-color,--secondary-text-color);border-bottom:1px dashed;border-bottom-color:var(--paper-input-container-color,--secondary-text-color);border-right-color:var(--paper-input-container-color,--secondary-text-color);border-top-color:var(--paper-input-container-color,--secondary-text-color);@apply(--paper-input-container-underline-disabled)}.label-and-input-container{@apply(--layout-flex-auto);@apply(--layout-relative);max-width:100%;width:100%}.input-content{@apply(--layout-horizontal);@apply(--layout-center);position:relative}.input-content ::content .paper-input-label,.input-content ::content label{-webkit-transform-origin:left top;color:var(--paper-input-container-color,--secondary-text-color);font:inherit;left:0;position:absolute;right:0;top:0;transform-origin:left top;transition:width .25s,-webkit-transform .25s;transition:transform .25s,width .25s;transition:transform .25s,width .25s,-webkit-transform .25s;width:100%;@apply(--paper-font-common-nowrap);@apply(--paper-font-subhead);@apply(--paper-input-container-label);@apply(--paper-transition-easing)}.input-content.label-is-floating ::content .paper-input-label,.input-content.label-is-floating ::content label{-webkit-transform:translateY(-75%) scale(.75);transform:translateY(-75%) scale(.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{-webkit-transform-origin:right top;transform-origin:right top;width:100%}.input-content.label-is-highlighted ::content .paper-input-label,.input-content.label-is-highlighted ::content label{color:var(--paper-input-container-focus-color,--primary-color);@apply(--paper-input-container-label-focus)}.input-content.is-invalid ::content .paper-input-label,.input-content.is-invalid ::content label{color:var(--paper-input-container-invalid-color,--error-color)}.input-content.label-is-hidden ::content .paper-input-label,.input-content.label-is-hidden ::content label{visibility:hidden}.input-content ::content .paper-input-input,.input-content ::content input,.input-content ::content iron-autogrow-textarea,.input-content ::content textarea{-webkit-appearance:none;background:transparent;border:none;box-shadow:none;color:var(--paper-input-container-input-color,--primary-text-color);max-width:100%;outline:none;padding:0;position:relative;text-align:inherit;vertical-align:bottom;width:100%;@apply(--paper-font-subhead);@apply(--paper-input-container-input)}.input-content ::content input::-webkit-inner-spin-button,.input-content ::content input::-webkit-outer-spin-button{@apply(--paper-input-container-input-webkit-spinner)}::content [prefix]{@apply(--paper-font-subhead);@apply(--paper-input-prefix);@apply(--layout-flex-none)}::content [suffix]{@apply(--paper-font-subhead);@apply(--paper-input-suffix);@apply(--layout-flex-none)}.input-content ::content input{min-width:0}.input-content ::content textarea{resize:none}.add-on-content{position:relative}.add-on-content.is-invalid ::content *{color:var(--paper-input-container-invalid-color,--error-color)}.add-on-content.is-highlighted ::content *{color:var(--paper-input-container-focus-color,--primary-color)} </style>
    -<template is="dom-if" if="[[!noLabelFloat]]">
    -<div class="floated-label-placeholder" aria-hidden="true">&nbsp;</div>
    -</template>
    -<div class$="[[_computeInputContentClass(noLabelFloat,alwaysFloatLabel,focused,invalid,_inputHasContent)]]">
    -<content select="[prefix]" id="prefix"></content>
    -<div class="label-and-input-container" id="labelAndInputContainer">
    -<content select=":not([add-on]):not([prefix]):not([suffix])"></content>
    -</div>
    -<content select="[suffix]"></content>
    -</div>
    -<div class$="[[_computeUnderlineClass(focused,invalid)]]">
    -<div class="unfocused-line"></div>
    -<div class="focused-line"></div>
    -</div>
    -<div class$="[[_computeAddOnContentClass(focused,invalid)]]">
    -<content id="addOnContent" select="[add-on]"></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-input-error" assetpath="../bower_components/paper-input/">
    -<template>
    -<style>
    -:host{color:var(--paper-input-container-invalid-color,--error-color);display:inline-block;left:0;position:absolute;visibility:hidden;@apply(--paper-font-caption);@apply(--paper-input-error);right:0}:host([invalid]){visibility:visible}; </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="paper-input" assetpath="../bower_components/paper-input/">
    -<template>
    -<style>
    -:host{display:block}:host([focused]){outline:none}:host([hidden]){display:none!important}input::-webkit-input-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}input:-moz-placeholder,input::-moz-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}input:-ms-input-placeholder{color:var(--paper-input-container-color,--secondary-text-color)}label{pointer-events:none} </style>
    -<paper-input-container no-label-float="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[autoValidate]]" 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$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" title$="[[title]]" bind-value="{{value}}" invalid="{{invalid}}" prevent-invalid-input="[[preventInvalidInput]]" allowed-pattern="[[allowedPattern]]" validator="[[validator]]" type$="[[type]]" pattern$="[[pattern]]" required$="[[required]]" autocomplete$="[[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$="[[autocapitalize]]" autocorrect$="[[autocorrect]]" on-change="_onChange" tabindex$="[[tabindex]]" autosave$="[[autosave]]" results$="[[results]]" accept$="[[accept]]" multiple$="[[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]]">
    -<paper-input-char-counter></paper-input-char-counter>
    -</template>
    -</paper-input-container>
    -</template>
    -</dom-module>
    -<dom-module id="paper-item-shared-styles" assetpath="../bower_components/paper-item/">
    -<template>
    -<style>
    -.paper-item,:host{display:block;min-height:var(--paper-item-min-height,48px);padding:0 16px;position:relative}.paper-item{@apply(--paper-font-subhead);background:#fff;border:none;outline:none;text-align:left;width:100%}.paper-item[hidden],:host([hidden]){display:none!important}.paper-item.iron-selected,:host(.iron-selected){font-weight:var(--paper-item-selected-weight,bold);@apply(--paper-item-selected)}.paper-item[disabled],:host([disabled]){color:var(--paper-item-disabled-color,--disabled-text-color);@apply(--paper-item-disabled)}.paper-item:focus,:host(:focus){outline:0;position:relative;@apply(--paper-item-focused)}.paper-item:focus:before,:host(:focus):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="../bower_components/paper-item/">
    -<template>
    -<style include="paper-item-shared-styles"></style>
    -<style>
    -:host{@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-font-subhead);@apply(--paper-item)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="iron-overlay-backdrop" assetpath="../bower_components/iron-overlay-behavior/">
    -<template>
    -<style>
    -:host{background-color:var(--iron-overlay-backdrop-background-color,#000);height:100%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s;width:100%;@apply(--iron-overlay-backdrop)}:host(.opened){opacity:var(--iron-overlay-backdrop-opacity,.6);pointer-events:auto;@apply(--iron-overlay-backdrop-opened)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<dom-module id="iron-dropdown" assetpath="../bower_components/iron-dropdown/">
    -<template>
    -<style>
    -:host{position:fixed}#contentWrapper ::content>*{overflow:auto}#contentWrapper.animating ::content>*{overflow:hidden} </style>
    -<div id="contentWrapper">
    -<content id="content" select=".dropdown-content"></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-menu-button" assetpath="../bower_components/paper-menu-button/">
    -<template>
    -<style>
    -:host{display:inline-block;outline:none;padding:8px;position:relative;@apply(--paper-menu-button)}:host([disabled]){color:var(--disabled-text-color);cursor:auto;@apply(--paper-menu-button-disabled)}iron-dropdown{@apply(--paper-menu-button-dropdown)}.dropdown-content{@apply(--shadow-elevation-2dp);background-color:var(--paper-menu-button-dropdown-background,--primary-background-color);border-radius:2px;position:relative;@apply(--paper-menu-button-content)}:host([vertical-align=top]) .dropdown-content{margin-bottom:20px;margin-top:-10px;top:10px}:host([vertical-align=bottom]) .dropdown-content{bottom:10px;margin-bottom:-10px;margin-top:20px}#trigger{cursor:pointer} </style>
    -<div id="trigger" on-tap="toggle">
    -<content select=".dropdown-trigger"></content>
    -</div>
    -<iron-dropdown id="dropdown" opened="{{opened}}" horizontal-align="[[horizontalAlign]]" vertical-align="[[verticalAlign]]" dynamic-align="[[dynamicAlign]]" horizontal-offset="[[horizontalOffset]]" vertical-offset="[[verticalOffset]]" no-overlap="[[noOverlap]]" open-animation-config="[[openAnimationConfig]]" close-animation-config="[[closeAnimationConfig]]" no-animations="[[noAnimations]]" focus-target="[[_dropdownContent]]" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]" on-iron-overlay-canceled="__onIronOverlayCanceled">
    -<div class="dropdown-content">
    -<content id="content" select=".dropdown-content"></content>
    -</div>
    -</iron-dropdown>
    -</template>
    -</dom-module>
    -<iron-iconset-svg name="paper-dropdown-menu" size="24">
    -<svg><defs>
    -<g id="arrow-drop-down"><path d="M7 10l5 5 5-5z"></path></g>
    -</defs></svg>
    -</iron-iconset-svg>
    -<dom-module id="paper-dropdown-menu-shared-styles" assetpath="../bower_components/paper-dropdown-menu/">
    -<template>
    -<style>
    -:host{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;display:inline-block;position:relative;text-align:left;--paper-input-container-input:{box-sizing:border-box;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap};@apply(--paper-dropdown-menu)}:host([disabled]){@apply(--paper-dropdown-menu-disabled)}:host([noink]) paper-ripple{display:none}:host([no-label-float]) paper-ripple{top:8px}paper-ripple{bottom:8px;left:0;right:0;top:12px;@apply(--paper-dropdown-menu-ripple)}paper-menu-button{display:block;padding:0;@apply(--paper-dropdown-menu-button)}paper-input{@apply(--paper-dropdown-menu-input)}iron-icon{color:var(--disabled-text-color);@apply(--paper-dropdown-menu-icon)} </style>
    -</template>
    -</dom-module>
    -<dom-module id="paper-dropdown-menu" assetpath="../bower_components/paper-dropdown-menu/">
    -<template>
    -<style include="paper-dropdown-menu-shared-styles"></style>
    -<span role="button"></span>
    -<paper-menu-button id="menuButton" vertical-align="[[verticalAlign]]" horizontal-align="[[horizontalAlign]]" dynamic-align="[[dynamicAlign]]" vertical-offset="[[_computeMenuVerticalOffset(noLabelFloat)]]" disabled="[[disabled]]" no-animations="[[noAnimations]]" on-iron-select="_onIronSelect" on-iron-deselect="_onIronDeselect" opened="{{opened}}" close-on-activate="" allow-outside-scroll="[[allowOutsideScroll]]" restore-focus-on-close="[[restoreFocusOnClose]]">
    -<div class="dropdown-trigger">
    -<paper-ripple></paper-ripple>
    -<paper-input type="text" invalid="[[invalid]]" readonly="" disabled="[[disabled]]" value="[[selectedItemLabel]]" placeholder="[[placeholder]]" error-message="[[errorMessage]]" always-float-label="[[alwaysFloatLabel]]" no-label-float="[[noLabelFloat]]" label="[[label]]">
    -<iron-icon icon="paper-dropdown-menu:arrow-drop-down" suffix=""></iron-icon>
    -</paper-input>
    -</div>
    -<content id="content" select=".dropdown-content"></content>
    -</paper-menu-button>
    -</template>
    -</dom-module>
    -<dom-module id="paper-toolbar" assetpath="../bower_components/paper-toolbar/">
    -<template>
    -<style>
    -:host{--calculated-paper-toolbar-height:var(--paper-toolbar-height,64px);--calculated-paper-toolbar-sm-height:var(--paper-toolbar-sm-height,56px);-moz-box-sizing:border-box;background:var(--paper-toolbar-background,--primary-color);box-sizing:border-box;color:var(--paper-toolbar-color,--dark-theme-text-color);display:block;height:var(--calculated-paper-toolbar-height);position:relative;@apply(--paper-toolbar)}:host(.animate){transition:var(--paper-toolbar-transition,height .18s ease-in)}:host(.medium-tall){height:calc(var(--calculated-paper-toolbar-height)*2);@apply(--paper-toolbar-medium)}:host(.tall){height:calc(var(--calculated-paper-toolbar-height)*3);@apply(--paper-toolbar-tall)}.toolbar-tools{height:var(--calculated-paper-toolbar-height);padding:0 16px;pointer-events:none;position:relative;@apply(--layout-horizontal);@apply(--layout-center);@apply(--paper-toolbar-content)}@media (max-width:600px){:host{height:var(--calculated-paper-toolbar-sm-height)}:host(.medium-tall){height:calc(var(--calculated-paper-toolbar-sm-height)*2)}:host(.tall){height:calc(var(--calculated-paper-toolbar-sm-height)*3)}.toolbar-tools{height:var(--calculated-paper-toolbar-sm-height)}}#topBar{position:relative}#middleBar{left:0;position:absolute;right:0;top:0}:host(.medium-tall) #middleBar,:host(.tall) #middleBar{-webkit-transform:translateY(100%);transform:translateY(100%)}#bottomBar{bottom:0;left:0;position:absolute;right:0}.toolbar-tools>::content>:not([disabled]){pointer-events:auto}.toolbar-tools>::content .title{@apply(--paper-font-common-base);font-size:20px;font-weight:400;line-height:1;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;@apply(--layout-flex)}.toolbar-tools>::content>.title{margin-left:56px}.toolbar-tools>::content>paper-icon-button+.title{margin-left:0}.toolbar-tools>::content .title{@apply(--paper-toolbar-title)}.toolbar-tools>::content paper-icon-button[icon=menu]{margin-right:24px}.toolbar-tools>::content>.fit{bottom:0;left:0;margin:0;position:absolute;right:0;top:auto;width:auto}.start-justified{@apply(--layout-start-justified)}.center-justified{@apply(--layout-center-justified)}.end-justified{@apply(--layout-end-justified)}.around-justified{@apply(--layout-around-justified)}.justified{@apply(--layout-justified)} </style>
    -<div id="topBar" class$="toolbar-tools [[_computeBarExtraClasses(justify)]]">
    -<content select=":not(.middle):not(.bottom)"></content>
    -</div>
    -<div id="middleBar" class$="toolbar-tools [[_computeBarExtraClasses(middleJustify)]]">
    -<content select=".middle"></content>
    -</div>
    -<div id="bottomBar" class$="toolbar-tools [[_computeBarExtraClasses(bottomJustify)]]">
    -<content select=".bottom"></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-listbox" assetpath="../bower_components/paper-listbox/">
    -<template>
    -<style>
    -:host{background:var(--paper-listbox-background-color,--primary-background-color);color:var(--paper-listbox-color,--primary-text-color);display:block;padding:8px 0;@apply(--paper-listbox)} </style>
    -<content></content>
    -</template>
    -</dom-module>
    -<iron-iconset-svg name="paper-tabs" size="24">
    -<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-tab" assetpath="../bower_components/paper-tabs/">
    -<template>
    -<style>
    -:host{@apply(--layout-inline);@apply(--layout-center);@apply(--layout-center-justified);@apply(--layout-flex-auto);cursor:pointer;overflow:hidden;padding:0 12px;position:relative;vertical-align:middle;@apply(--paper-font-common-base);@apply(--paper-tab)}:host(:focus){outline:none}:host([link]){padding:0}.tab-content{-webkit-transform:translateZ(0);height:100%;transform:translateZ(0);transition:opacity .1s cubic-bezier(.4,0,1,1);@apply(--layout-horizontal);@apply(--layout-center-center);@apply(--layout-flex-auto);@apply(--paper-tab-content)}:host(:not(.iron-selected))>.tab-content{opacity:.8;@apply(--paper-tab-content-unselected)}:host(:focus) .tab-content{font-weight:700;opacity:1}paper-ripple{color:var(--paper-tab-ink,--paper-yellow-a100)}.tab-content>::content>a{@apply(--layout-flex-auto);height:100%} </style>
    -<div class="tab-content">
    -<content></content>
    -</div>
    -</template>
    -</dom-module>
    -<dom-module id="paper-tabs" assetpath="../bower_components/paper-tabs/">
    -<template>
    -<style>
    -:host{@apply(--layout);@apply(--layout-center);-moz-user-select:none;-ms-user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;font-size:14px;font-weight:500;height:48px;overflow:hidden;user-select:none;@apply(--paper-tabs)}:host-context([dir=rtl]){@apply(--layout-horizontal-reverse)}#tabsContainer{height:100%;overflow:hidden;position:relative;white-space:nowrap;@apply(--layout-flex-auto);@apply(--paper-tabs-container)}#tabsContent{-ms-flex-basis:auto;-ms-flex-preferred-size:auto;-webkit-flex-basis:auto;flex-basis:auto;height:100%;@apply(--paper-tabs-content)}#tabsContent.scrollable{position:absolute;white-space:nowrap}#tabsContent.scrollable.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}.hidden{display:none}.not-visible{cursor:default;opacity:0}paper-icon-button{height:48px;margin:0 4px;padding:12px;width:48px}#selectionBar{-webkit-transform:scale(0);-webkit-transform-origin:left center;border-bottom:2px solid var(--paper-tabs-selection-bar-color,--paper-yellow-a100);bottom:0;height:0;left:0;position:absolute;right:0;transform:scale(0);transform-origin:left center;transition:-webkit-transform;transition:transform;transition:transform,-webkit-transform;@apply(--paper-tabs-selection-bar)}#selectionBar.align-bottom{bottom:auto;top:0}#selectionBar.expand{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,1,1)}#selectionBar.contract{transition-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="_onLeftScrollButtonDown" tabindex="-1"></paper-icon-button>
    -<div id="tabsContainer" on-track="_scroll" on-down="_down">
    -<div id="tabsContent" class$="[[_computeTabsContentClass(scrollable, fitContainer)]]">
    -<div id="selectionBar" class$="[[_computeSelectionBarClass(noBar, alignBottom)]]" on-transitionend="_onBarTransitionEnd"></div>
    -<content select="*"></content>
    -</div>
    -</div>
    -<paper-icon-button icon="paper-tabs:chevron-right" class$="[[_computeScrollButtonClass(_rightHidden, scrollable, hideScrollButtons)]]" on-up="_onScrollButtonUp" on-down="_onRightScrollButtonDown" tabindex="-1"></paper-icon-button>
    -</template>
    -</dom-module>
    -</div><script src="elements.js"></script></body></html>
    \ No newline at end of file
    diff --git a/site/dist/elements/elements.js b/site/dist/elements/elements.js
    deleted file mode 100644
    index c1a704767..000000000
    --- a/site/dist/elements/elements.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -!function(){function e(){document.body.removeAttribute("unresolved")}window.WebComponents?addEventListener("WebComponentsReady",e):"interactive"===document.readyState||"complete"===document.readyState?e():addEventListener("DOMContentLoaded",e)}(),window.Polymer={Settings:function(){for(var e,t=window.Polymer||{},i=location.search.slice(1).split("&"),n=0;n<i.length&&(e=i[n]);n++)(e=e.split("="))[0]&&(t[e[0]]=e[1]||!0);return t.wantShadow="shadow"===t.dom,t.hasShadow=Boolean(Element.prototype.createShadowRoot),t.nativeShadow=t.hasShadow&&!window.ShadowDOMPolyfill,t.useShadow=t.wantShadow&&t.hasShadow,t.hasNativeImports=Boolean("import"in document.createElement("link")),t.useNativeImports=t.hasNativeImports,t.useNativeCustomElements=!window.CustomElements||window.CustomElements.useNative,t.useNativeShadow=t.useShadow&&t.nativeShadow,t.usePolyfillProto=!t.useNativeCustomElements&&!Object.__proto__,t}()},function(){var e=window.Polymer;window.Polymer=function(e){"function"==typeof e&&(e=e.prototype),e||(e={});var i=t(e),n={prototype:e=i.prototype};return e.extends&&(n.extends=e.extends),Polymer.telemetry._registrate(e),document.registerElement(e.is,n),i};var t=function(e){var t=Polymer.Base;return e.extends&&(t=Polymer.Base._getExtendedPrototype(e.extends)),(e=Polymer.Base.chainObject(e,t)).registerCallback(),e.constructor};if(e)for(var i in e)Polymer[i]=e[i];Polymer.Class=t}(),Polymer.telemetry={registrations:[],_regLog:function(e){},_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,get:function(){return(document._currentScript||document.currentScript).ownerDocument}}),Polymer.RenderStatus={_ready:!1,_callbacks:[],whenReady:function(e){this._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.RenderStatus._makeReady()})},_afterNextRenderQueue:[],_waitingNextRender:!1,afterNextRender:function(e,t,i){this._watchNextRender(),this._afterNextRenderQueue.push([e,t,i])},_watchNextRender:function(){if(!this._waitingNextRender){this._waitingNextRender=!0;var e=function(){Polymer.RenderStatus._flushNextRender()};this._ready?requestAnimationFrame(e):this.whenReady(e)}},_flushNextRender:function(){var e=this;setTimeout(function(){e._flushRenderCallbacks(e._afterNextRenderQueue),e._afterNextRenderQueue=[],e._waitingNextRender=!1})},_flushRenderCallbacks:function(e){for(var t,i=0;i<e.length;i++)(t=e[i])[1].apply(t[0],t[2]||Polymer.nar)}},window.HTMLImports?HTMLImports.whenReady(function(){Polymer.RenderStatus._catchFirstRender()}):Polymer.RenderStatus._catchFirstRender(),Polymer.ImportStatus=Polymer.RenderStatus,Polymer.ImportStatus.whenLoaded=Polymer.ImportStatus.whenReady,function(){"use strict";var e=Polymer.Settings;Polymer.Base={__isPolymerInstance__:!0,_addFeature:function(e){this.extend(this,e)},registerCallback:function(){this._desugarBehaviors(),this._doBehavior("beforeRegister"),this._registerFeatures(),e.lazyRegister||this.ensureRegisterFinished()},createdCallback:function(){this.__hasRegisterFinished||this._ensureRegisterFinished(this.__proto__),Polymer.telemetry.instanceCount++,this.root=this,this._doBehavior("created"),this._initFeatures()},ensureRegisterFinished:function(){this._ensureRegisterFinished(this)},_ensureRegisterFinished:function(t){t.__hasRegisterFinished!==t.is&&(t.__hasRegisterFinished=t.is,t._finishRegisterFeatures&&t._finishRegisterFeatures(),t._doBehavior("registered"),e.usePolyfillProto&&t!==this&&t.extend(this,t))},attachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!0,e._doBehavior("attached")})},detachedCallback:function(){var e=this;Polymer.RenderStatus.whenReady(function(){e.isAttached=!1,e._doBehavior("detached")})},attributeChangedCallback:function(e,t,i){this._attributeChangedImpl(e),this._doBehavior("attributeChanged",[e,t,i])},_attributeChangedImpl:function(e){this._setAttributeToProperty(this,e)},extend:function(e,t){if(e&&t)for(var i,n=Object.getOwnPropertyNames(t),r=0;r<n.length&&(i=n[r]);r++)this.copyOwnProperty(i,t,e);return e||t},mixin:function(e,t){for(var i in t)e[i]=t[i];return e},copyOwnProperty:function(e,t,i){var n=Object.getOwnPropertyDescriptor(t,e);n&&Object.defineProperty(i,e,n)},_logger:function(e,t){1===t.length&&Array.isArray(t[0])&&(t=t[0])},_log:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("log",e)},_warn:function(){var e=Array.prototype.slice.call(arguments,0);this._logger("warn",e)},_error:function(){var e=Array.prototype.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=window.chrome&&!/edge/i.test(navigator.userAgent)||/firefox/i.test(navigator.userAgent)?["%c[%s::%s]:","font-weight: bold; background-color:#EEEE00;"]:["[%s::%s]:"],Polymer.Base.chainObject=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(Polymer.Base,HTMLElement.prototype),window.CustomElements?Polymer.instanceof=CustomElements.instanceof:Polymer.instanceof=function(e,t){return e instanceof t},Polymer.isInstance=function(e){return Boolean(e&&e.__isPolymerInstance__)},Polymer.telemetry.instanceCount=0}(),function(){var e={},t={},i=function(i){return e[i]||t[i.toLowerCase()]},n=function(){return document.createElement("dom-module")};n.prototype=Object.create(HTMLElement.prototype),Polymer.Base.extend(n.prototype,{constructor:n,createdCallback:function(){this.register()},register:function(i){(i=i||this.id||this.getAttribute("name")||this.getAttribute("is"))&&(this.id=i,e[i]=this,t[i.toLowerCase()]=this)},import:function(e,t){if(e){var n=i(e);return n||(function(){if(r)for(var e,t=document._currentScript||document.currentScript,i=(t&&t.ownerDocument||document).querySelectorAll("dom-module"),n=i.length-1;n>=0&&(e=i[n]);n--){if(e.__upgraded__)return;CustomElements.upgrade(e)}}(),n=i(e)),n&&t&&(n=n.querySelector(t)),n}}});var r=window.CustomElements&&!CustomElements.useNative;document.registerElement("dom-module",n)}(),Polymer.Base._addFeature({_prepIs:function(){if(!this.is){var e=(document._currentScript||document.currentScript).parentNode;if("dom-module"===e.localName){var t=e.id||e.getAttribute("name")||e.getAttribute("is");this.is=t}}this.is&&(this.is=this.is.toLowerCase())}}),Polymer.Base._addFeature({behaviors:[],_desugarBehaviors:function(){this.behaviors.length&&(this.behaviors=this._desugarSomeBehaviors(this.behaviors))},_desugarSomeBehaviors:function(e){for(var t=[],i=(e=this._flattenBehaviorsList(e)).length-1;i>=0;i--){var n=e[i];-1===t.indexOf(n)&&(this._mixinBehavior(n),t.unshift(n))}return t},_flattenBehaviorsList:function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n instanceof Array?t=t.concat(this._flattenBehaviorsList(n)):n?t.push(n):this._warn(this._logf("_flattenBehaviorsList","behavior is null, check for missing or 404 import"))}return t},_mixinBehavior:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length&&(t=i[n]);n++)Polymer.Base._behaviorProperties[t]||this.hasOwnProperty(t)||this.copyOwnProperty(t,e,this)},_prepBehaviors:function(){this._prepFlattenedBehaviors(this.behaviors)},_prepFlattenedBehaviors:function(e){for(var t=0,i=e.length;t<i;t++)this._prepBehavior(e[t]);this._prepBehavior(this)},_doBehavior:function(e,t){for(var i=0;i<this.behaviors.length;i++)this._invokeBehavior(this.behaviors[i],e,t);this._invokeBehavior(this,e,t)},_invokeBehavior:function(e,t,i){var n=e[t];n&&n.apply(this,i||Polymer.nar)},_marshalBehaviors:function(){for(var e=0;e<this.behaviors.length;e++)this._marshalBehavior(this.behaviors[e]);this._marshalBehavior(this)}}),Polymer.Base._behaviorProperties={hostAttributes:!0,beforeRegister:!0,registered:!0,properties:!0,observers:!0,listeners:!0,created:!0,attached:!0,detached:!0,attributeChanged:!0,ready:!0},Polymer.Base._addFeature({_getExtendedPrototype:function(e){return this._getExtendedNativePrototype(e)},_nativePrototypes:{},_getExtendedNativePrototype:function(e){var t=this._nativePrototypes[e];if(!t){var i=this.getNativePrototype(e);t=this.extend(Object.create(i),Polymer.Base),this._nativePrototypes[e]=t}return t},getNativePrototype:function(e){return Object.getPrototypeOf(document.createElement(e))}}),Polymer.Base._addFeature({_prepConstructor:function(){this._factoryArgs=this.extends?[this.extends,this.is]:[this.is];var e=function(){return this._factory(arguments)};this.hasOwnProperty("extends")&&(e.extends=this.extends),Object.defineProperty(this,"constructor",{value:e,writable:!0,configurable:!0}),e.prototype=this},_factory:function(e){var t=document.createElement.apply(document,this._factoryArgs);return this.factoryImpl&&this.factoryImpl.apply(t,e),t}}),Polymer.nob=Object.create(null),Polymer.Base._addFeature({properties:{},getPropertyInfo:function(e){var t=this._getPropertyInfo(e,this.properties);if(!t)for(var i=0;i<this.behaviors.length;i++)if(t=this._getPropertyInfo(e,this.behaviors[i].properties))return t;return t||Polymer.nob},_getPropertyInfo:function(e,t){var i=t&&t[e];return"function"==typeof i&&(i=t[e]={type:i}),i&&(i.defined=!0),i},_prepPropertyInfo:function(){this._propertyInfo={};for(var e=0;e<this.behaviors.length;e++)this._addPropertyInfo(this._propertyInfo,this.behaviors[e].properties);this._addPropertyInfo(this._propertyInfo,this.properties),this._addPropertyInfo(this._propertyInfo,this._propertyEffects)},_addPropertyInfo:function(e,t){var i,n;if(t)for(var r in t)i=e[r],n=t[r],("_"!==r[0]||n.readOnly)&&(e[r]?(i.type||(i.type=n.type),i.readOnly||(i.readOnly=n.readOnly)):e[r]={type:"function"==typeof n?n:n.type,readOnly:n.readOnly,attribute:Polymer.CaseMap.camelToDashCase(r)})}}),Polymer.CaseMap={_caseMap:{},_rx:{dashToCamel:/-[a-z]/g,camelToDash:/([A-Z])/g},dashToCamelCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.indexOf("-")<0?e:e.replace(this._rx.dashToCamel,function(e){return e[1].toUpperCase()}))},camelToDashCase:function(e){return this._caseMap[e]||(this._caseMap[e]=e.replace(this._rx.camelToDash,"-$1").toLowerCase())}},Polymer.Base._addFeature({_addHostAttributes:function(e){this._aggregatedAttributes||(this._aggregatedAttributes={}),e&&this.mixin(this._aggregatedAttributes,e)},_marshalHostAttributes:function(){this._aggregatedAttributes&&this._applyAttributes(this,this._aggregatedAttributes)},_applyAttributes:function(e,t){for(var i in t)if(!this.hasAttribute(i)&&"class"!==i){var n=t[i];this.serializeValueToAttribute(n,i,this)}},_marshalAttributes:function(){this._takeAttributesToModel(this)},_takeAttributesToModel:function(e){if(this.hasAttributes())for(var t in this._propertyInfo){var i=this._propertyInfo[t];this.hasAttribute(i.attribute)&&this._setAttributeToProperty(e,i.attribute,t,i)}},_setAttributeToProperty:function(e,t,i,n){if(!this._serializing&&(i=i||Polymer.CaseMap.dashToCamelCase(t),(n=n||this._propertyInfo&&this._propertyInfo[i])&&!n.readOnly)){var r=this.getAttribute(t);e[i]=this.deserialize(r,n.type)}},_serializing:!1,reflectPropertyToAttribute:function(e,t,i){this._serializing=!0,i=void 0===i?this[e]:i,this.serializeValueToAttribute(i,t||Polymer.CaseMap.camelToDashCase(e)),this._serializing=!1},serializeValueToAttribute:function(e,t,i){var n=this.serialize(e);i=i||this,void 0===n?i.removeAttribute(t):i.setAttribute(t,n)},deserialize: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.parse(e)}catch(t){e=null}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){return""}default:return null!=e?e:void 0}}}),Polymer.version="master",Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_marshalBehavior:function(e){},_initFeatures:function(){this._marshalHostAttributes(),this._marshalBehaviors()}}),Polymer.Base._addFeature({_prepTemplate:function(){void 0===this._template&&(this._template=Polymer.DomModule.import(this.is,"template")),this._template&&this._template.hasAttribute("is")&&this._warn(this._logf("_prepTemplate","top-level Polymer template must not be a type-extension, found",this._template,"Move inside simple <template>.")),this._template&&!this._template.content&&window.HTMLTemplateElement&&HTMLTemplateElement.decorate&&HTMLTemplateElement.decorate(this._template)},_stampTemplate:function(){this._template&&(this.root=this.instanceTemplate(this._template))},instanceTemplate:function(e){return document.importNode(e._content||e.content,!0)}}),function(){var e=Polymer.Base.attachedCallback;Polymer.Base._addFeature({_hostStack:[],ready:function(){},_registerHost:function(e){this.dataHost=e=e||Polymer.Base._hostStack[Polymer.Base._hostStack.length-1],e&&e._clients&&e._clients.push(this),this._clients=null,this._clientsReadied=!1},_beginHosting:function(){Polymer.Base._hostStack.push(this),this._clients||(this._clients=[])},_endHosting:function(){Polymer.Base._hostStack.pop()},_tryReady:function(){this._readied=!1,this._canReady()&&this._ready()},_canReady:function(){return!this.dataHost||this.dataHost._clientsReadied},_ready:function(){this._beforeClientsReady(),this._template&&(this._setupRoot(),this._readyClients()),this._clientsReadied=!0,this._clients=null,this._afterClientsReady(),this._readySelf()},_readyClients:function(){this._beginDistribute();var e=this._clients;if(e)for(var t,i=0,n=e.length;i<n&&(t=e[i]);i++)t._ready();this._finishDistribute()},_readySelf:function(){this._doBehavior("ready"),this._readied=!0,this._attachedPending&&(this._attachedPending=!1,this.attachedCallback())},_beforeClientsReady:function(){},_afterClientsReady:function(){},_beforeAttached:function(){},attachedCallback:function(){this._readied?(this._beforeAttached(),e.call(this)):this._attachedPending=!0}})}(),Polymer.ArraySplice=function(){function e(e,t,i){return{index:e,removed:t,addedCount:i}}function t(){}return t.prototype={calcEditDistances:function(e,t,i,n,r,o){for(var s=o-r+1,a=i-t+1,l=new Array(s),h=0;h<s;h++)l[h]=new Array(a),l[h][0]=h;for(var c=0;c<a;c++)l[0][c]=c;for(h=1;h<s;h++)for(c=1;c<a;c++)if(this.equals(e[t+c-1],n[r+h-1]))l[h][c]=l[h-1][c-1];else{var u=l[h-1][c]+1,d=l[h][c-1]+1;l[h][c]=u<d?u:d}return l},spliceOperationsFromEditDistances:function(e){for(var t=e.length-1,i=e[0].length-1,n=e[t][i],r=[];t>0||i>0;)if(0!=t)if(0!=i){var o,s=e[t-1][i-1],a=e[t-1][i],l=e[t][i-1];(o=a<l?a<s?a:s:l<s?l:s)==s?(s==n?r.push(0):(r.push(1),n=s),t--,i--):o==a?(r.push(3),t--,n=a):(r.push(2),i--,n=l)}else r.push(3),t--;else r.push(2),i--;return r.reverse(),r},calcSplices:function(t,i,n,r,o,s){var a=0,l=0,h=Math.min(n-i,s-o);if(0==i&&0==o&&(a=this.sharedPrefix(t,r,h)),n==t.length&&s==r.length&&(l=this.sharedSuffix(t,r,h-a)),o+=a,s-=l,(n-=l)-(i+=a)==0&&s-o==0)return[];if(i==n){for(var c=e(i,[],0);o<s;)c.removed.push(r[o++]);return[c]}if(o==s)return[e(i,[],n-i)];var u=this.spliceOperationsFromEditDistances(this.calcEditDistances(t,i,n,r,o,s));c=void 0;for(var d=[],f=i,p=o,_=0;_<u.length;_++)switch(u[_]){case 0:c&&(d.push(c),c=void 0),f++,p++;break;case 1:c||(c=e(f,[],0)),c.addedCount++,f++,c.removed.push(r[p]),p++;break;case 2:c||(c=e(f,[],0)),c.addedCount++,f++;break;case 3:c||(c=e(f,[],0)),c.removed.push(r[p]),p++}return c&&d.push(c),d},sharedPrefix:function(e,t,i){for(var n=0;n<i;n++)if(!this.equals(e[n],t[n]))return n;return i},sharedSuffix:function(e,t,i){for(var n=e.length,r=t.length,o=0;o<i&&this.equals(e[--n],t[--r]);)o++;return o},calculateSplices:function(e,t){return this.calcSplices(e,0,e.length,t,0,t.length)},equals:function(e,t){return e===t}},new t}(),Polymer.domInnerHTML=function(){var e=/[&\u00A0"]/g,t=/[&\u00A0<>]/g;function i(e){switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case" ":return"&nbsp;"}}function n(t){return t.replace(e,i)}function r(e){for(var t={},i=0;i<e.length;i++)t[e[i]]=!0;return t}var o=r(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),s=r(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function a(e,r,a){switch(e.nodeType){case Node.ELEMENT_NODE:for(var h,c=e.localName,u="<"+c,d=e.attributes,f=0;h=d[f];f++)u+=" "+h.name+'="'+n(h.value)+'"';return u+=">",o[c]?u:u+l(e,a)+"</"+c+">";case Node.TEXT_NODE:var p=e.data;return r&&s[r.localName]?p:p.replace(t,i);case Node.COMMENT_NODE:return"\x3c!--"+e.data+"--\x3e";default:throw new Error("not implemented")}}function l(e,t){e instanceof HTMLTemplateElement&&(e=e.content);for(var i,n="",r=Polymer.dom(e).childNodes,o=0,s=r.length;o<s&&(i=r[o]);o++)n+=a(i,e,t);return n}return{getInnerHTML:l}}(),function(){"use strict";var e=Element.prototype.insertBefore,t=Element.prototype.appendChild,i=Element.prototype.removeChild;Polymer.TreeApi={arrayCopyChildNodes:function(e){for(var t=[],i=0,n=e.firstChild;n;n=n.nextSibling)t[i++]=n;return t},arrayCopyChildren:function(e){for(var t=[],i=0,n=e.firstElementChild;n;n=n.nextElementSibling)t[i++]=n;return t},arrayCopy:function(e){for(var t=e.length,i=new Array(t),n=0;n<t;n++)i[n]=e[n];return i}},Polymer.TreeApi.Logical={hasParentNode:function(e){return Boolean(e.__dom&&e.__dom.parentNode)},hasChildNodes:function(e){return Boolean(e.__dom&&void 0!==e.__dom.childNodes)},getChildNodes:function(e){return this.hasChildNodes(e)?this._getChildNodes(e):e.childNodes},_getChildNodes:function(e){if(!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},getParentNode: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.firstChild?e.__dom.firstChild:e.firstChild},getLastChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?e.__dom.lastChild:e.lastChild},getNextSibling:function(e){return e.__dom&&void 0!==e.__dom.nextSibling?e.__dom.nextSibling:e.nextSibling},getPreviousSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?e.__dom.previousSibling:e.previousSibling},getFirstElementChild:function(e){return e.__dom&&void 0!==e.__dom.firstChild?this._getFirstElementChild(e):e.firstElementChild},_getFirstElementChild:function(e){for(var t=e.__dom.firstChild;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getLastElementChild:function(e){return e.__dom&&void 0!==e.__dom.lastChild?this._getLastElementChild(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:function(e){for(var t=e.__dom.nextSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.nextSibling;return t},getPreviousElementSibling:function(e){return e.__dom&&void 0!==e.__dom.previousSibling?this._getPreviousElementSibling(e):e.previousElementSibling},_getPreviousElementSibling:function(e){for(var t=e.__dom.previousSibling;t&&t.nodeType!==Node.ELEMENT_NODE;)t=t.__dom.previousSibling;return t},saveChildNodes:function(e){if(!this.hasChildNodes(e)){e.__dom=e.__dom||{},e.__dom.firstChild=e.firstChild,e.__dom.lastChild=e.lastChild,e.__dom.childNodes=[];for(var 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.previousSibling=t.previousSibling}},recordInsertBefore:function(e,t,i){if(t.__dom.childNodes=null,e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(var n=e.firstChild;n;n=n.nextSibling)this._linkNode(n,t,i);else this._linkNode(e,t,i)},_linkNode:function(e,t,i){e.__dom=e.__dom||{},t.__dom=t.__dom||{},i&&(i.__dom=i.__dom||{}),e.__dom.previousSibling=i?i.__dom.previousSibling:t.__dom.lastChild,e.__dom.previousSibling&&(e.__dom.previousSibling.__dom.nextSibling=e),e.__dom.nextSibling=i,e.__dom.nextSibling&&(e.__dom.nextSibling.__dom.previousSibling=e),e.__dom.parentNode=t,i?i===t.__dom.firstChild&&(t.__dom.firstChild=e):(t.__dom.lastChild=e,t.__dom.firstChild||(t.__dom.firstChild=e)),t.__dom.childNodes=null},recordRemoveChild:function(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 i=e.__dom.previousSibling,n=e.__dom.nextSibling;i&&(i.__dom.nextSibling=n),n&&(n.__dom.previousSibling=i),e.__dom.parentNode=e.__dom.previousSibling=e.__dom.nextSibling=void 0,t.__dom.childNodes=null}},Polymer.TreeApi.Composed={getChildNodes:function(e){return Polymer.TreeApi.arrayCopyChildNodes(e)},getParentNode:function(e){return e.parentNode},clearChildNodes:function(e){e.textContent=""},insertBefore:function(t,i,n){return e.call(t,i,n||null)},appendChild:function(e,i){return t.call(e,i)},removeChild:function(e,t){return i.call(e,t)}}}(),Polymer.DomApi=function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=function(e){this.node=n?i.wrap(e):e},n=e.hasShadow&&!e.nativeShadow;i.wrap=window.wrap?window.wrap:function(e){return e},i.prototype={flush:function(){Polymer.dom.flush()},deepContains:function(e){if(this.node.contains(e))return!0;for(var t=e,i=e.ownerDocument;t&&t!==i&&t!==this.node;)t=Polymer.dom(t).parentNode||t.host;return t===this.node},queryDistributedElements:function(e){for(var t,n=this.getEffectiveChildNodes(),r=[],o=0,s=n.length;o<s&&(t=n[o]);o++)t.nodeType===Node.ELEMENT_NODE&&i.matchesSelector.call(t,e)&&r.push(t);return r},getEffectiveChildNodes:function(){for(var e,t=[],i=this.childNodes,n=0,s=i.length;n<s&&(e=i[n]);n++)if(e.localName===r)for(var a=o(e).getDistributedNodes(),l=0;l<a.length;l++)t.push(a[l]);else t.push(e);return t},observeNodes:function(e){if(e)return this.observer||(this.observer=this.node.localName===r?new i.DistributedNodesObserver(this):new i.EffectiveNodesObserver(this)),this.observer.addListener(e)},unobserveNodes:function(e){this.observer&&this.observer.removeListener(e)},notifyObserver:function(){this.observer&&this.observer.notify()},_query:function(e,i,n){i=i||this.node;var r=[];return this._queryElements(t.Logical.getChildNodes(i),e,n,r),r},_queryElements:function(e,t,i,n){for(var r,o=0,s=e.length;o<s&&(r=e[o]);o++)if(r.nodeType===Node.ELEMENT_NODE&&this._queryElement(r,t,i,n))return!0},_queryElement:function(e,i,n,r){var o=i(e);if(o&&r.push(e),n&&n(o))return o;this._queryElements(t.Logical.getChildNodes(e),i,n,r)}};var r=i.CONTENT="content",o=i.factory=function(e){return(e=e||document).__domApi||(e.__domApi=new i.ctor(e)),e.__domApi};i.hasApi=function(e){return Boolean(e.__domApi)},i.ctor=i,Polymer.dom=function(e,t){return e instanceof Event?Polymer.EventApi.factory(e):i.factory(e,t)};var s=Element.prototype;return i.matchesSelector=s.matches||s.matchesSelector||s.mozMatchesSelector||s.msMatchesSelector||s.oMatchesSelector||s.webkitMatchesSelector,i}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.DomApi,i=t.factory,n=Polymer.TreeApi,r=Polymer.domInnerHTML.getInnerHTML,o=t.CONTENT;if(!e.useShadow){var s=Element.prototype.cloneNode,a=Document.prototype.importNode;Polymer.Base.extend(t.prototype,{_lazyDistribute:function(e){e.shadyRoot&&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,r){if(r&&n.Logical.getParentNode(r)!==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=n.Logical.getParentNode(e);s?(t.hasApi(s)&&i(s).notifyObserver(),this._removeNode(e)):this._removeOwnerShadyRoot(e)}if(!this._addNode(e,r)){r&&(r=r.localName===o?this._firstComposedNode(r):r);var a=this.node._isShadyRoot?this.node.host:this.node;r?n.Composed.insertBefore(a,e,r):n.Composed.appendChild(a,e)}return this.notifyObserver(),e},_addNode:function(e,t){var i=this.getOwnerRoot();if(i){var r=this._maybeAddInsertionPoint(e,this.node);i._invalidInsertionPoints||(i._invalidInsertionPoints=r),this._addNodeToHost(i.host,e)}n.Logical.hasChildNodes(this.node)&&n.Logical.recordInsertBefore(e,this.node,t);var o=this._maybeDistribute(e)||this.node.shadyRoot;if(o)if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE)for(;e.firstChild;)n.Composed.removeChild(e,e.firstChild);else{var s=n.Composed.getParentNode(e);s&&n.Composed.removeChild(s,e)}return o},removeChild:function(e){if(n.Logical.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;t===n.Composed.getParentNode(e)&&n.Composed.removeChild(t,e)}return this.notifyObserver(),e},_removeNode:function(e){var t,r=n.Logical.hasParentNode(e)&&n.Logical.getParentNode(e),o=this._ownerShadyRootForNode(e);return r&&(t=i(e)._maybeDistributeParent(),n.Logical.recordRemoveChild(e,r),o&&this._removeDistributedChildren(o,e)&&(o._invalidInsertionPoints=!0,this._lazyDistribute(o.host))),this._removeOwnerShadyRoot(e),o&&this._removeNodeFromHost(o.host,e),t},replaceChild:function(e,t){return this.insertBefore(e,t),this.removeChild(t),e},_hasCachedOwnerRoot:function(e){return Boolean(void 0!==e._ownerShadyRoot)},getOwnerRoot:function(){return this._ownerShadyRootForNode(this.node)},_ownerShadyRootForNode:function(e){if(e){var t=e._ownerShadyRoot;if(void 0===t){if(e._isShadyRoot)t=e;else{var i=n.Logical.getParentNode(e);t=i?i._isShadyRoot?i:this._ownerShadyRootForNode(i):null}(t||document.documentElement.contains(e))&&(e._ownerShadyRoot=t)}return t}},_maybeDistribute:function(e){var t=e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&!e.__noContent&&i(e).querySelector(o),r=t&&n.Logical.getParentNode(t).nodeType!==Node.DOCUMENT_FRAGMENT_NODE,s=t||e.localName===o;if(s){var a=this.getOwnerRoot();a&&this._lazyDistribute(a.host)}var l=this._nodeNeedsDistribution(this.node);return l&&this._lazyDistribute(this.node),l||s&&!r},_maybeAddInsertionPoint:function(e,t){var r;if(e.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||e.__noContent)e.localName===o&&(n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(e),r=!0);else for(var s,a,l,h=i(e).querySelectorAll(o),c=0;c<h.length&&(s=h[c]);c++)(a=n.Logical.getParentNode(s))===e&&(a=t),l=this._maybeAddInsertionPoint(s,a),r=r||l;return r},_updateInsertionPoints:function(e){for(var t,r=e.shadyRoot._insertionPoints=i(e.shadyRoot).querySelectorAll(o),s=0;s<r.length;s++)t=r[s],n.Logical.saveChildNodes(t),n.Logical.saveChildNodes(n.Logical.getParentNode(t))},_nodeNeedsDistribution:function(e){return e&&e.shadyRoot&&t.hasInsertionPoint(e.shadyRoot)},_addNodeToHost:function(e,t){e._elementAdd&&e._elementAdd(t)},_removeNodeFromHost:function(e,t){e._elementRemove&&e._elementRemove(t)},_removeDistributedChildren:function(e,t){for(var r,o=e._insertionPoints,s=0;s<o.length;s++){var a=o[s];if(this._contains(t,a))for(var l=i(a).getDistributedNodes(),h=0;h<l.length;h++){r=!0;var c=l[h],u=n.Composed.getParentNode(c);u&&n.Composed.removeChild(u,c)}}return r},_contains:function(e,t){for(;t;){if(t==e)return!0;t=n.Logical.getParentNode(t)}},_removeOwnerShadyRoot:function(e){if(this._hasCachedOwnerRoot(e))for(var t,i=n.Logical.getChildNodes(e),r=0,o=i.length;r<o&&(t=i[r]);r++)this._removeOwnerShadyRoot(t);e._ownerShadyRoot=void 0},_firstComposedNode:function(e){for(var t,n,r=i(e).getDistributedNodes(),o=0,s=r.length;o<s&&(t=r[o]);o++)if((n=i(t).getDestinationInsertionPoints())[n.length-1]===e)return t},querySelector:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node,function(e){return Boolean(e)})[0]||null},querySelectorAll:function(e){return this._query(function(i){return t.matchesSelector.call(i,e)},this.node)},getDestinationInsertionPoints:function(){return this.node._destinationInsertionPoints||[]},getDistributedNodes:function(){return this.node._distributedNodes||[]},_clear:function(){for(;this.childNodes.length;)this.removeChild(this.childNodes[0])},setAttribute:function(e,t){this.node.setAttribute(e,t),this._maybeDistributeParent()},removeAttribute:function(e){this.node.removeAttribute(e),this._maybeDistributeParent()},_maybeDistributeParent:function(){if(this._nodeNeedsDistribution(this.parentNode))return this._lazyDistribute(this.parentNode),!0},cloneNode:function(e){var t=s.call(this.node,!1);if(e)for(var n,r=this.childNodes,o=i(t),a=0;a<r.length;a++)n=i(r[a]).cloneNode(!0),o.appendChild(n);return t},importNode:function(e,t){var r=this.node instanceof Document?this.node:this.node.ownerDocument,o=a.call(r,e,!1);if(t)for(var s,l=n.Logical.getChildNodes(e),h=i(o),c=0;c<l.length;c++)s=i(r).importNode(l[c],!0),h.appendChild(s);return o},_getComposedInnerHTML:function(){return r(this.node,!0)}}),Object.defineProperties(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 n=i(e).getOwnerRoot();n&&n!==this.node;)e=n.host,n=i(e).getOwnerRoot();return this.node===document?n?null:e:n===this.node?e:null},configurable:!0},childNodes:{get:function(){var e=n.Logical.getChildNodes(this.node);return Array.isArray(e)?e:n.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return n.Logical.hasChildNodes(this.node)?Array.prototype.filter.call(this.childNodes,function(e){return e.nodeType===Node.ELEMENT_NODE}):n.arrayCopyChildren(this.node)},configurable:!0},parentNode:{get:function(){return n.Logical.getParentNode(this.node)},configurable:!0},firstChild:{get:function(){return n.Logical.getFirstChild(this.node)},configurable:!0},lastChild:{get:function(){return n.Logical.getLastChild(this.node)},configurable:!0},nextSibling:{get:function(){return n.Logical.getNextSibling(this.node)},configurable:!0},previousSibling:{get:function(){return n.Logical.getPreviousSibling(this.node)},configurable:!0},firstElementChild:{get:function(){return n.Logical.getFirstElementChild(this.node)},configurable:!0},lastElementChild:{get:function(){return n.Logical.getLastElementChild(this.node)},configurable:!0},nextElementSibling:{get:function(){return n.Logical.getNextElementSibling(this.node)},configurable:!0},previousElementSibling:{get:function(){return n.Logical.getPreviousElementSibling(this.node)},configurable:!0},textContent:{get:function(){var e=this.node.nodeType;if(e===Node.TEXT_NODE||e===Node.COMMENT_NODE)return this.node.textContent;for(var t,i=[],n=0,r=this.childNodes;t=r[n];n++)t.nodeType!==Node.COMMENT_NODE&&i.push(t.textContent);return i.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(document.createTextNode(e)))},configurable:!0},innerHTML:{get:function(){var e=this.node.nodeType;return e===Node.TEXT_NODE||e===Node.COMMENT_NODE?null:r(this.node)},set:function(e){var t=this.node.nodeType;if(t!==Node.TEXT_NODE||t!==Node.COMMENT_NODE){this._clear();var i=document.createElement("div");i.innerHTML=e;for(var r=n.arrayCopyChildNodes(i),o=0;o<r.length;o++)this.appendChild(r[o])}},configurable:!0}}),t.hasInsertionPoint=function(e){return Boolean(e&&e._insertionPoints.length)}}}(),function(){"use strict";var e=Polymer.Settings,t=Polymer.TreeApi,i=Polymer.DomApi;if(e.useShadow){Polymer.Base.extend(i.prototype,{querySelectorAll:function(e){return t.arrayCopy(this.node.querySelectorAll(e))},getOwnerRoot:function(){for(var e=this.node;e;){if(e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&e.host)return e;e=e.parentNode}},importNode:function(e,t){return(this.node instanceof Document?this.node:this.node.ownerDocument).importNode(e,t)},getDestinationInsertionPoints:function(){var e=this.node.getDestinationInsertionPoints&&this.node.getDestinationInsertionPoints();return e?t.arrayCopy(e):[]},getDistributedNodes:function(){var e=this.node.getDistributedNodes&&this.node.getDistributedNodes();return e?t.arrayCopy(e):[]}}),Object.defineProperties(i.prototype,{activeElement:{get:function(){var e=i.wrap(this.node),t=e.activeElement;return e.contains(t)?t:null},configurable:!0},childNodes:{get:function(){return t.arrayCopyChildNodes(this.node)},configurable:!0},children:{get:function(){return t.arrayCopyChildren(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 n=function(e){i.prototype[e]=function(){return this.node[e].apply(this.node,arguments)}};!function(e){for(var t=0;t<e.length;t++)n(e[t])}(["cloneNode","appendChild","insertBefore","removeChild","replaceChild","setAttribute","removeAttribute","querySelector"]);var r=function(e){Object.defineProperty(i.prototype,e,{get:function(){return this.node[e]},configurable:!0})};!function(e){for(var t=0;t<e.length;t++)r(e[t])}(["parentNode","firstChild","lastChild","nextSibling","previousSibling","firstElementChild","lastElementChild","nextElementSibling","previousElementSibling"])}}(),Polymer.Base.extend(Polymer.dom,{_flushGuard:0,_FLUSH_MAX:100,_needsTakeRecords:!Polymer.Settings.useNativeCustomElements,_debouncers:[],_staticFlushList:[],_finishDebouncer:null,flush:function(){for(this._flushGuard=0,this._prepareFlush();this._debouncers.length&&this._flushGuard<this._FLUSH_MAX;){for(;this._debouncers.length;)this._debouncers.shift().complete();this._finishDebouncer&&this._finishDebouncer.complete(),this._prepareFlush(),this._flushGuard++}this._flushGuard,this._FLUSH_MAX},_prepareFlush:function(){this._needsTakeRecords&&CustomElements.takeRecords();for(var e=0;e<this._staticFlushList.length;e++)this._staticFlushList[e]()},addStaticFlush: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(){Polymer.dom._debouncers=[]}}),Polymer.EventApi=function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;return e.Event=function(e){this.event=e},t.useShadow?e.Event.prototype={get rootTarget(){return this.event.path[0]},get localTarget(){return 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(){return this.event.target},get localTarget(){for(var e=this.event.currentTarget,t=e&&Polymer.dom(e).getOwnerRoot(),i=this.path,n=0;n<i.length;n++)if(Polymer.dom(i[n]).getOwnerRoot()===t)return i[n]},get path(){if(!this.event._path){for(var e=[],t=this.rootTarget;t;){e.push(t);var i=Polymer.dom(t).getDestinationInsertionPoints();if(i.length){for(var n=0;n<i.length-1;n++)e.push(i[n]);t=i[i.length-1]}else t=Polymer.dom(t).parentNode||t.host}e.push(window),this.event._path=e}return this.event._path}},{factory:function(t){return t.__eventApi||(t.__eventApi=new e.Event(t)),t.__eventApi}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings.useShadow;Object.defineProperty(e.prototype,"classList",{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._distributeParent()},toggle:function(){this.node.classList.toggle.apply(this.node.classList,arguments),this._distributeParent()},_distributeParent:function(){t||this.domApi._maybeDistributeParent()},contains:function(){return this.node.classList.contains.apply(this.node.classList,arguments)}}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;if(e.EffectiveNodesObserver=function(e){this.domApi=e,this.node=this.domApi.node,this._listeners=[]},e.EffectiveNodesObserver.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._listeners.splice(t,1),e._nodes=[]),this._hasListeners()||(this._cleanup(),this._isSetup=!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.Debounce(this._debouncer,this._notify),this._debouncer.context=this,Polymer.dom.addDebouncer(this._debouncer)},notify:function(){this._hasListeners()&&this._scheduleNotify()},_notify:function(){this._beforeCallListeners(),this._callListeners()},_beforeCallListeners:function(){this._updateContentElements()},_updateContentElements:function(){this._observeContentElements(this.domApi.childNodes)},_observeContentElements:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)this._isContent(t)&&(t.__observeNodesMap=t.__observeNodesMap||new WeakMap,t.__observeNodesMap.has(this)||t.__observeNodesMap.set(this,this._observeContent(t)))},_observeContent:function(e){var t=this,i=Polymer.dom(e).observeNodes(function(){t._scheduleNotify()});return i._avoidChangeCalculation=!0,i},_unobserveContentElements:function(e){for(var t,i,n=0;n<e.length&&(t=e[n]);n++)this._isContent(t)&&(i=t.__observeNodesMap.get(this))&&(Polymer.dom(t).unobserveNodes(i),t.__observeNodesMap.delete(this))},_isContent:function(e){return"content"===e.localName},_callListeners:function(){for(var e,t=this._listeners,i=this._getEffectiveNodes(),n=0;n<t.length&&(e=t[n]);n++){var r=this._generateListenerInfo(e,i);(r||e._alwaysNotify)&&this._callListener(e,r)}},_getEffectiveNodes:function(){return this.domApi.getEffectiveChildNodes()},_generateListenerInfo:function(e,t){if(e._avoidChangeCalculation)return!0;for(var i,n=e._nodes,r={target:this.node,addedNodes:[],removedNodes:[]},o=Polymer.ArraySplice.calculateSplices(t,n),s=0;s<o.length&&(i=o[s]);s++)for(var a,l=0;l<i.removed.length&&(a=i.removed[l]);l++)r.removedNodes.push(a);for(s=0;s<o.length&&(i=o[s]);s++)for(l=i.index;l<i.index+i.addedCount;l++)r.addedNodes.push(t[l]);return e._nodes=t,r.addedNodes.length||r.removedNodes.length?r:void 0},_callListener:function(e,t){return e.fn.call(this.node,t)},enableShadowAttributeTracking:function(){}},t.useShadow){var i=e.EffectiveNodesObserver.prototype._setup,n=e.EffectiveNodesObserver.prototype._cleanup;Polymer.Base.extend(e.EffectiveNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this;this._mutationHandler=function(t){t&&t.length&&e._scheduleNotify()},this._observer=new MutationObserver(this._mutationHandler),this._boundFlush=function(){e._flush()},Polymer.dom.addStaticFlush(this._boundFlush),this._observer.observe(this.node,{childList:!0})}i.call(this)},_cleanup:function(){this._observer.disconnect(),this._observer=null,this._mutationHandler=null,Polymer.dom.removeStaticFlush(this._boundFlush),n.call(this)},_flush:function(){this._observer&&this._mutationHandler(this._observer.takeRecords())},enableShadowAttributeTracking:function(){if(this._observer){this._makeContentListenersAlwaysNotify(),this._observer.disconnect(),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&&Polymer.dom(t).observer.enableShadowAttributeTracking()}},_makeContentListenersAlwaysNotify:function(){for(var e,t=0;t<this._listeners.length;t++)(e=this._listeners[t])._alwaysNotify=e._isContentListener}})}}(),function(){"use strict";var e=Polymer.DomApi.ctor,t=Polymer.Settings;e.DistributedNodesObserver=function(t){e.EffectiveNodesObserver.call(this,t)},e.DistributedNodesObserver.prototype=Object.create(e.EffectiveNodesObserver.prototype),Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){},_cleanup:function(){},_beforeCallListeners:function(){},_getEffectiveNodes:function(){return this.domApi.getDistributedNodes()}}),t.useShadow&&Polymer.Base.extend(e.DistributedNodesObserver.prototype,{_setup:function(){if(!this._observer){var e=this.domApi.getOwnerRoot(),t=e&&e.host;if(t){var i=this;this._observer=Polymer.dom(t).observeNodes(function(){i._scheduleNotify()}),this._observer._isContentListener=!0,this._hasAttrSelect()&&Polymer.dom(t).observer.enableShadowAttributeTracking()}}},_hasAttrSelect:function(){var e=this.node.getAttribute("select");return e&&e.match(/[[.]+/)},_cleanup:function(){var e=this.domApi.getOwnerRoot(),t=e&&e.host;t&&Polymer.dom(t).unobserveNodes(this._observer),this._observer=null}})}(),function(){var e=Polymer.DomApi,t=Polymer.TreeApi;function i(e,t){t._distributedNodes.push(e);var i=e._destinationInsertionPoints;i?i.push(t):e._destinationInsertionPoints=[t]}function n(e){var t=e._distributedNodes;if(t)for(var i=0;i<t.length;i++){var n=t[i]._destinationInsertionPoints;n&&n.splice(n.indexOf(e)+1,n.length)}}function r(e,t){var i=t._destinationInsertionPoints;return i&&i[i.length-1]===e}function o(e){return"content"==e.localName}function s(e){for(var i,n=t.Logical.getChildNodes(e),r=0;r<n.length;r++)if((i=n[r]).localName&&"content"===i.localName)return e.domHost}Polymer.Base._addFeature({_prepShady:function(){this._useContent=this._useContent||Boolean(this._template)},_setupShady:function(){this.shadyRoot=null,this.__domApi||(this.__domApi=null),this.__dom||(this.__dom=null),this._ownerShadyRoot||(this._ownerShadyRoot=void 0)},_poolContent:function(){this._useContent&&t.Logical.saveChildNodes(this)},_setupRoot:function(){this._useContent&&(this._createLocalRoot(),this.dataHost||function(e){if(a&&e)for(var t=0;t<e.length;t++)CustomElements.upgrade(e[t])}(t.Logical.getChildNodes(this)))},_createLocalRoot:function(){this.shadyRoot=this.root,this.shadyRoot._distributionClean=!1,this.shadyRoot._hasDistributed=!1,this.shadyRoot._isShadyRoot=!0,this.shadyRoot._dirtyRoots=[];var e=this.shadyRoot._insertionPoints=!this._notes||this._notes._hasContent?this.shadyRoot.querySelectorAll("content"):[];t.Logical.saveChildNodes(this.shadyRoot);for(var i,n=0;n<e.length;n++)i=e[n],t.Logical.saveChildNodes(i),t.Logical.saveChildNodes(i.parentNode);this.shadyRoot.host=this},get domHost(){var e=Polymer.dom(this).getOwnerRoot();return e&&e.host},distributeContent:function(e){if(this.shadyRoot){this.shadyRoot._invalidInsertionPoints=this.shadyRoot._invalidInsertionPoints||e;var t=function(e){for(;e&&s(e);)e=e.domHost;return e}(this);Polymer.dom(this)._lazyDistribute(t)}},_distributeContent:function(){this._useContent&&!this.shadyRoot._distributionClean&&(this.shadyRoot._invalidInsertionPoints&&(Polymer.dom(this)._updateInsertionPoints(this),this.shadyRoot._invalidInsertionPoints=!1),this._beginDistribute(),this._distributeDirtyRoots(),this._finishDistribute())},_beginDistribute:function(){this._useContent&&e.hasInsertionPoint(this.shadyRoot)&&(this._resetDistribution(),this._distributePool(this.shadyRoot,this._collectPool()))},_distributeDirtyRoots:function(){for(var e,t=this.shadyRoot._dirtyRoots,i=0,n=t.length;i<n&&(e=t[i]);i++)e._distributeContent();this.shadyRoot._dirtyRoots=[]},_finishDistribute:function(){if(this._useContent){if(this.shadyRoot._distributionClean=!0,e.hasInsertionPoint(this.shadyRoot))this._composeTree(),function(t){for(var i,n=0;n<t._insertionPoints.length;n++)i=t._insertionPoints[n],e.hasApi(i)&&Polymer.dom(i).notifyObserver()}(this.shadyRoot);else if(this.shadyRoot._hasDistributed){var i=this._composeNode(this);this._updateChildNodes(this,i)}else t.Composed.clearChildNodes(this),this.appendChild(this.shadyRoot);this.shadyRoot._hasDistributed||e.hasApi(this)&&Polymer.dom(this).notifyObserver(),this.shadyRoot._hasDistributed=!0}},elementMatches:function(t,i){return i=i||this,e.matchesSelector.call(i,t)},_resetDistribution:function(){for(var e=t.Logical.getChildNodes(this),i=0;i<e.length;i++){var r=e[i];r._destinationInsertionPoints&&(r._destinationInsertionPoints=void 0),o(r)&&n(r)}for(var s=this.shadyRoot._insertionPoints,a=0;a<s.length;a++)s[a]._distributedNodes=[]},_collectPool:function(){for(var e=[],i=t.Logical.getChildNodes(this),n=0;n<i.length;n++){var r=i[n];o(r)?e.push.apply(e,r._distributedNodes):e.push(r)}return e},_distributePool:function(i,n){for(var r,o=i._insertionPoints,s=0,a=o.length;s<a&&(r=o[s]);s++)this._distributeInsertionPoint(r,n),l=r,h=void 0,(h=t.Logical.getParentNode(l))&&h.shadyRoot&&e.hasInsertionPoint(h.shadyRoot)&&h.shadyRoot._distributionClean&&(h.shadyRoot._distributionClean=!1,this.shadyRoot._dirtyRoots.push(h));var l,h},_distributeInsertionPoint:function(e,n){for(var r,o=!1,s=0,a=n.length;s<a;s++)(r=n[s])&&this._matchesContentSelect(r,e)&&(i(r,e),n[s]=void 0,o=!0);if(!o)for(var l=t.Logical.getChildNodes(e),h=0;h<l.length;h++)i(l[h],e)},_composeTree:function(){this._updateChildNodes(this,this._composeNode(this));for(var e,i,n=this.shadyRoot._insertionPoints,r=0,o=n.length;r<o&&(e=n[r]);r++)(i=t.Logical.getParentNode(e))._useContent||i===this||i===this.shadyRoot||this._updateChildNodes(i,this._composeNode(i))},_composeNode:function(e){for(var i=[],n=t.Logical.getChildNodes(e.shadyRoot||e),s=0;s<n.length;s++){var a=n[s];if(o(a))for(var l=a._distributedNodes,h=0;h<l.length;h++){var c=l[h];r(a,c)&&i.push(c)}else i.push(a)}return i},_updateChildNodes:function(e,i){for(var n=t.Composed.getChildNodes(e),r=Polymer.ArraySplice.calculateSplices(i,n),o=0,s=0;o<r.length&&(h=r[o]);o++){for(var a,l=0;l<h.removed.length&&(a=h.removed[l]);l++)t.Composed.getParentNode(a)===e&&t.Composed.removeChild(e,a),n.splice(h.index+s,1);s-=h.addedCount}var h,c;for(o=0;o<r.length&&(h=r[o]);o++)for(c=n[h.index],l=h.index;l<h.index+h.addedCount;l++)a=i[l],t.Composed.insertBefore(e,a,c),n.splice(l,0,a)},_matchesContentSelect:function(e,t){var i=t.getAttribute("select");return!i||!(i=i.trim())||e instanceof Element&&!!/^(:not\()?[*.#[a-zA-Z_|]/.test(i)&&this.elementMatches(i,e)},_elementAdd:function(){},_elementRemove:function(){}});var a=window.CustomElements&&!CustomElements.useNative}(),Polymer.Settings.useShadow&&Polymer.Base._addFeature({_poolContent:function(){},_beginDistribute:function(){},distributeContent:function(){},_distributeContent:function(){},_finishDistribute:function(){},_createLocalRoot:function(){this.createShadowRoot(),this.shadowRoot.appendChild(this.root),this.root=this.shadowRoot}}),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),this._currVal++)},cancel:function(e){if(e<0)clearTimeout(~e);else{var t=e-this._lastVal;if(t>=0){if(!this._callbacks[t])throw"invalid async handle: "+e;this._callbacks[t]=null}}},_atEndOfMicrotask:function(){for(var e=this._callbacks.length,t=0;t<e;t++){var i=this._callbacks[t];if(i)try{i()}catch(e){throw t++,this._callbacks.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,{characterData:!0}),Polymer.Debounce=function(){var e=Polymer.Async,t=function(e){this.context=e;var t=this;this.boundComplete=function(){t.complete()}};return t.prototype={go:function(t,i){var n;this.finish=function(){e.cancel(n)},n=e.run(this.boundComplete,i),this.callback=t},stop:function(){this.finish&&(this.finish(),this.finish=null,this.callback=null)},complete:function(){if(this.finish){var e=this.callback;this.stop(),e.call(this.context)}}},function(e,i,n){return e?e.stop():e=new t(this),e.go(i,n),e}}(),Polymer.Base._addFeature({_setupDebouncers:function(){this._debouncers={}},debounce:function(e,t,i){return this._debouncers[e]=Polymer.Debounce.call(this,this._debouncers[e],t,i)},isDebouncerActive:function(e){var t=this._debouncers[e];return!(!t||!t.finish)},flushDebouncer:function(e){var t=this._debouncers[e];t&&t.complete()},cancelDebouncer:function(e){var t=this._debouncers[e];t&&t.stop()}}),Polymer.DomModule=document.createElement("dom-module"),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepBehaviors(),this._prepConstructor(),this._prepTemplate(),this._prepShady(),this._prepPropertyInfo()},_prepBehavior:function(e){this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting()),this._marshalHostAttributes(),this._setupDebouncers(),this._marshalBehaviors(),this._tryReady()},_marshalBehavior:function(e){}}),Polymer.nar=[],Polymer.Annotations={parseAnnotations:function(e){var t=[],i=e._content||e.content;return this._parseNodeAnnotations(i,t,e.hasAttribute("strip-whitespace")),t},_parseNodeAnnotations:function(e,t,i){return e.nodeType===Node.TEXT_NODE?this._parseTextNodeAnnotation(e,t):this._parseElementAnnotations(e,t,i)},_bindingRegex:new RegExp("(\\[\\[|{{)\\s*(?:(!)\\s*)?((?:[a-zA-Z_$][\\w.:$\\-*]*)\\s*(?:\\(\\s*(?:(?:(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*)(?:,\\s*(?:(?:[a-zA-Z_$][\\w.:$\\-*]*)|(?:[-+]?[0-9]*\\.?[0-9]+(?:[eE][-+]?[0-9]+)?)|(?:(?:'(?:[^'\\\\]|\\\\.)*')|(?:\"(?:[^\"\\\\]|\\\\.)*\"))\\s*))*)?)\\)\\s*)?)(?:]]|}})","g"),_parseBindings:function(e){for(var t,i=this._bindingRegex,n=[],r=0;null!==(t=i.exec(e));){t.index>r&&n.push({literal:e.slice(r,t.index)});var o,s,a,l=t[1][0],h=Boolean(t[2]),c=t[3].trim();"{"==l&&(a=c.indexOf("::"))>0&&(s=c.substring(a+2),c=c.substring(0,a),o=!0),n.push({compoundIndex:n.length,value:c,mode:l,negate:h,event:s,customEvent:o}),r=i.lastIndex}if(r&&r<e.length){var u=e.substring(r);u&&n.push({literal:u})}if(n.length)return n},_literalFromParts:function(e){for(var t="",i=0;i<e.length;i++)t+=e[i].literal||"";return t},_parseTextNodeAnnotation:function(e,t){var i=this._parseBindings(e.textContent);if(i){e.textContent=this._literalFromParts(i)||" ";var n={bindings:[{kind:"text",name:"textContent",parts:i,isCompound:1!==i.length}]};return t.push(n),n}},_parseElementAnnotations:function(e,t,i){var n={bindings:[],events:[]};return"content"===e.localName&&(t._hasContent=!0),this._parseChildNodesAnnotations(e,n,t,i),e.attributes&&(this._parseNodeAttributeAnnotations(e,n,t),this.prepElement&&this.prepElement(e)),(n.bindings.length||n.events.length||n.id)&&t.push(n),n},_parseChildNodesAnnotations:function(e,t,i,n){if(e.firstChild)for(var r=e.firstChild,o=0;r;){var s=r.nextSibling;if("template"!==r.localName||r.hasAttribute("preserve-content")||this._parseTemplate(r,o,i,t),r.nodeType===Node.TEXT_NODE){for(var a=s;a&&a.nodeType===Node.TEXT_NODE;)r.textContent+=a.textContent,s=a.nextSibling,e.removeChild(a),a=s;n&&!r.textContent.trim()&&(e.removeChild(r),o--)}if(r.parentNode){var l=this._parseNodeAnnotations(r,i,n);l&&(l.parent=t,l.index=o)}r=s,o++}},_parseTemplate:function(e,t,i,n){var r=document.createDocumentFragment();r._notes=this.parseAnnotations(e),r.appendChild(e.content),i.push({bindings:Polymer.nar,events:Polymer.nar,templateContent:r,parent:n,index:t})},_parseNodeAttributeAnnotations:function(e,t){for(var i,n=Array.prototype.slice.call(e.attributes),r=n.length-1;i=n[r];r--){var o,s=i.name,a=i.value;"on-"===s.slice(0,3)?(e.removeAttribute(s),t.events.push({name:s.slice(3),value:a})):(o=this._parseNodeAttributeAnnotation(e,s,a))?t.bindings.push(o):"id"===s&&(t.id=a)}},_parseNodeAttributeAnnotation:function(e,t,i){var n=this._parseBindings(i);if(n){var r=t,o="property";"$"==t[t.length-1]&&(t=t.slice(0,-1),o="attribute");var s=this._literalFromParts(n);s&&"attribute"==o&&e.setAttribute(t,s),"input"===e.localName&&"value"===r&&e.setAttribute(r,""),e.removeAttribute(r);var a=Polymer.CaseMap.dashToCamelCase(t);return"property"===o&&(t=a),{kind:o,name:t,propertyName:a,parts:n,literal:s,isCompound:1!==n.length}}},findAnnotatedNode:function(e,t){var i=t.parent&&Polymer.Annotations.findAnnotatedNode(e,t.parent);if(!i)return e;for(var n=i.firstChild,r=0;n;n=n.nextSibling)if(t.index===r++)return n}},function(){function e(e,i){return e.replace(r,function(e,n,r,o){return n+"'"+t(r.replace(/["']/g,""),i)+"'"+o})}function t(e,t){if(e&&"#"===e[0])return e;var i=function(e){return e.__urlResolver||(e.__urlResolver=e.createElement("a"))}(t);return i.href=e,i.href||e}var i,n,r=/(url\()([^)]*)(\))/g,o={"*":["href","src","style","url"],form:["action"]},s=/\{\{|\[\[/;Polymer.ResolveUrl={resolveCss:e,resolveAttrs:function(i,n){for(var r in o)for(var a,l,h,c=o[r],u=0,d=c.length;u<d&&(a=c[u]);u++)"*"!==r&&i.localName!==r||(h=(l=i.attributes[a])&&l.value)&&h.search(s)<0&&(l.value="style"===a?e(h,n):t(h,n))},resolveUrl:function(e,r){return i||(i=document.implementation.createHTMLDocument("temp"),n=i.createElement("base"),i.head.appendChild(n)),n.href=r,t(e,i)}}}(),Polymer.Base._addFeature({_prepAnnotations:function(){if(this._template){var e=this;Polymer.Annotations.prepElement=function(t){e._prepElement(t)},this._template._content&&this._template._content._notes?this._notes=this._template._content._notes:(this._notes=Polymer.Annotations.parseAnnotations(this._template),this._processAnnotations(this._notes)),Polymer.Annotations.prepElement=null}else this._notes=[]},_processAnnotations:function(e){for(var t=0;t<e.length;t++){for(var i=e[t],n=0;n<i.bindings.length;n++)for(var r=i.bindings[n],o=0;o<r.parts.length;o++){var s=r.parts[o];if(!s.literal){var a=this._parseMethod(s.value);a?s.signature=a:s.model=this._modelForPath(s.value)}}if(i.templateContent){this._processAnnotations(i.templateContent._notes);var l=i.templateContent._parentProps=this._discoverTemplateParentProps(i.templateContent._notes),h=[];for(var c in l){var u="_parent_"+c;h.push({index:i.index,kind:"property",name:u,propertyName:u,parts:[{mode:"{",model:c,value:c}]})}i.bindings=i.bindings.concat(h)}}},_discoverTemplateParentProps:function(e){for(var t,i={},n=0;n<e.length&&(t=e[n]);n++){for(var r,o=0,s=t.bindings;o<s.length&&(r=s[o]);o++)for(var a,l=0,h=r.parts;l<h.length&&(a=h[l]);l++)if(a.signature){for(var c=a.signature.args,u=0;u<c.length;u++){var d=c[u].model;d&&(i[d]=!0)}a.signature.dynamicFn&&(i[a.signature.method]=!0)}else a.model&&(i[a.model]=!0);if(t.templateContent){var f=t.templateContent._parentProps;Polymer.Base.mixin(i,f)}}return i},_prepElement:function(e){Polymer.ResolveUrl.resolveAttrs(e,this._template.ownerDocument)},_findAnnotatedNode:Polymer.Annotations.findAnnotatedNode,_marshalAnnotationReferences:function(){this._template&&(this._marshalIdNodes(),this._marshalAnnotatedNodes(),this._marshalAnnotatedListeners())},_configureAnnotationReferences:function(){for(var e=this._notes,t=this._nodes,i=0;i<e.length;i++){var n=e[i],r=t[i];this._configureTemplateContent(n,r),this._configureCompoundBindings(n,r)}},_configureTemplateContent:function(e,t){e.templateContent&&(t._content=e.templateContent)},_configureCompoundBindings:function(e,t){for(var i=e.bindings,n=0;n<i.length;n++){var r=i[n];if(r.isCompound){for(var o=t.__compoundStorage__||(t.__compoundStorage__={}),s=r.parts,a=new Array(s.length),l=0;l<s.length;l++)a[l]=s[l].literal;var h=r.name;o[h]=a,r.literal&&"property"==r.kind&&(t._configValue?t._configValue(h,r.literal):t[h]=r.literal)}}},_marshalIdNodes:function(){this.$={};for(var e,t=0,i=this._notes.length;t<i&&(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._nodes=e}},_marshalAnnotatedListeners:function(){for(var e,t=0,i=this._notes.length;t<i&&(e=this._notes[t]);t++)if(e.events&&e.events.length)for(var n,r=this._findAnnotatedNode(this.root,e),o=0,s=e.events;o<s.length&&(n=s[o]);o++)this.listen(r,n.name,n.value)}}),Polymer.Base._addFeature({listeners:{},_listenListeners:function(e){var t,i,n;for(n in e)n.indexOf(".")<0?(t=this,i=n):(i=n.split("."),t=this.$[i[0]],i=i[1]),this.listen(t,i,e[n])},listen:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n||(n=this._createEventHandler(e,t,i)),n._listening||(this._listen(e,t,n),n._listening=!0)},_boundListenerKey:function(e,t){return e+":"+t},_recordEventHandler:function(e,t,i,n,r){var o=e.__boundListeners;o||(o=e.__boundListeners=new WeakMap);var s=o.get(i);s||(s={},o.set(i,s)),s[this._boundListenerKey(t,n)]=r},_recallEventHandler:function(e,t,i,n){var r=e.__boundListeners;if(r){var o=r.get(i);if(o)return o[this._boundListenerKey(t,n)]}},_createEventHandler:function(e,t,i){var n=this,r=function(e){n[i]?n[i](e,e.detail):n._warn(n._logf("_createEventHandler","listener method `"+i+"` not defined"))};return r._listening=!1,this._recordEventHandler(n,t,e,i,r),r},unlisten:function(e,t,i){var n=this._recallEventHandler(this,t,e,i);n&&(this._unlisten(e,t,n),n._listening=!1)},_listen:function(e,t,i){e.addEventListener(t,i)},_unlisten:function(e,t,i){e.removeEventListener(t,i)}}),function(){"use strict";var e=Polymer.DomApi.wrap,t="string"==typeof document.head.style.touchAction,i="__polymerGesturesHandled",n="__polymerGesturesTouchAction",r=["mousedown","mousemove","mouseup","click"],o=[0,1,4,2],s=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(e){return!1}}(),a=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),l=function(e){if(e[i]={skip:!0},"click"===e.type){for(var t=Polymer.dom(e).path,n=0;n<t.length;n++)if(t[n]===u.mouse.target)return;e.preventDefault(),e.stopPropagation()}};function h(e){for(var t,i=0;i<r.length;i++)t=r[i],e?document.addEventListener(t,l,!0):document.removeEventListener(t,l,!0)}function c(e){var t=e.type;if(-1===r.indexOf(t))return!1;if("mousemove"===t){var i=void 0===e.buttons?1:e.buttons;return e instanceof window.MouseEvent&&!s&&(i=o[e.which]||0),Boolean(1&i)}return 0===(void 0===e.button?0:e.button)}var u={mouse:{target:null,mouseIgnoreJob:null},touch:{x:0,y:0,id:-1,scrollDecided:!1}};function d(e,t,i){e.movefn=t,e.upfn=i,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i)}function f(e){document.removeEventListener("mousemove",e.movefn),document.removeEventListener("mouseup",e.upfn),e.movefn=null,e.upfn=null}var p={gestures:{},recognizers:[],deepTargetFind:function(e,t){for(var i=document.elementFromPoint(e,t),n=i;n&&n.shadowRoot;)(n=n.shadowRoot.elementFromPoint(e,t))&&(i=n);return i},findOriginalTarget:function(e){return e.path?e.path[0]:e.target},handleNative:function(n){var r,o=n.type,s=e(n.currentTarget).__polymerGestures;if(s){var l=s[o];if(l){if(!n[i]&&(n[i]={},"touch"===o.slice(0,5))){var c=n.changedTouches[0];if("touchstart"===o&&1===n.touches.length&&(u.touch.id=c.identifier),u.touch.id!==c.identifier)return;t||"touchstart"!==o&&"touchmove"!==o||p.handleTouchAction(n),"touchend"===o&&(u.mouse.target=Polymer.dom(n).rootTarget,a||(u.mouse.mouseIgnoreJob||h(!0),u.mouse.mouseIgnoreJob=Polymer.Debounce(u.mouse.mouseIgnoreJob,function(){h(),u.mouse.target=null,u.mouse.mouseIgnoreJob=null},2500)))}if(!(r=n[i]).skip){for(var d,f=p.recognizers,_=0;_<f.length;_++)l[(d=f[_]).name]&&!r[d.name]&&d.flow&&d.flow.start.indexOf(n.type)>-1&&d.reset&&d.reset();for(_=0;_<f.length;_++)l[(d=f[_]).name]&&!r[d.name]&&(r[d.name]=!0,d[o](n))}}}},handleTouchAction:function(e){var t=e.changedTouches[0],i=e.type;if("touchstart"===i)u.touch.x=t.clientX,u.touch.y=t.clientY,u.touch.scrollDecided=!1;else if("touchmove"===i){if(u.touch.scrollDecided)return;u.touch.scrollDecided=!0;var r=function(e){for(var t,i=Polymer.dom(e).path,r="auto",o=0;o<i.length;o++)if((t=i[o])[n]){r=t[n];break}return r}(e),o=!1,s=Math.abs(u.touch.x-t.clientX),a=Math.abs(u.touch.y-t.clientY);e.cancelable&&("none"===r?o=!0:"pan-x"===r?o=a>s:"pan-y"===r&&(o=s>a)),o?e.preventDefault():p.prevent("track")}},add:function(t,i,n){t=e(t);var o=this.gestures[i],s=o.deps,l=o.name,h=t.__polymerGestures;h||(t.__polymerGestures=h={});for(var c,u,d=0;d<s.length;d++)c=s[d],a&&r.indexOf(c)>-1||((u=h[c])||(h[c]=u={_count:0}),0===u._count&&t.addEventListener(c,this.handleNative),u[l]=(u[l]||0)+1,u._count=(u._count||0)+1);t.addEventListener(i,n),o.touchAction&&this.setTouchAction(t,o.touchAction)},remove:function(t,i,n){t=e(t);var r=this.gestures[i],o=r.deps,s=r.name,a=t.__polymerGestures;if(a)for(var l,h,c=0;c<o.length;c++)(h=a[l=o[c]])&&h[s]&&(h[s]=(h[s]||1)-1,h._count=(h._count||1)-1,0===h._count&&t.removeEventListener(l,this.handleNative));t.removeEventListener(i,n)},register:function(e){this.recognizers.push(e);for(var t=0;t<e.emits.length;t++)this.gestures[e.emits[t]]=e},findRecognizerByEvent:function(e){for(var t,i=0;i<this.recognizers.length;i++){t=this.recognizers[i];for(var n=0;n<t.emits.length;n++)if(t.emits[n]===e)return t}return null},setTouchAction:function(e,i){t&&(e.style.touchAction=i),e[n]=i},fire:function(e,t,i){if(Polymer.Base.fire(t,i,{node:e,bubbles:!0,cancelable:!0}).defaultPrevented){var n=i.sourceEvent;n&&n.preventDefault&&n.preventDefault()}},prevent:function(e){var t=this.findRecognizerByEvent(e);t.info&&(t.info.prevent=!0)},resetMouseCanceller:function(){u.mouse.mouseIgnoreJob&&u.mouse.mouseIgnoreJob.complete()}};p.register({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){f(this.info)},mousedown:function(e){if(c(e)){var t=p.findOriginalTarget(e),i=this;d(this.info,function(e){c(e)||(i.fire("up",t,e),f(i.info))},function(e){c(e)&&i.fire("up",t,e),f(i.info)}),this.fire("down",t,e)}},touchstart:function(e){this.fire("down",p.findOriginalTarget(e),e.changedTouches[0])},touchend:function(e){this.fire("up",p.findOriginalTarget(e),e.changedTouches[0])},fire:function(e,t,i){p.fire(t,e,{x:i.clientX,y:i.clientY,sourceEvent:i,prevent:function(e){return p.prevent(e)}})}}),p.register({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>2&&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,f(this.info)},hasMovedEnough:function(e,t){if(this.info.prevent)return!1;if(this.info.started)return!0;var i=Math.abs(this.info.x-e),n=Math.abs(this.info.y-t);return i>=5||n>=5},mousedown:function(e){if(c(e)){var t=p.findOriginalTarget(e),i=this,n=function(e){var n=e.clientX,r=e.clientY;i.hasMovedEnough(n,r)&&(i.info.state=i.info.started?"mouseup"===e.type?"end":"track":"start","start"===i.info.state&&p.prevent("tap"),i.info.addMove({x:n,y:r}),c(e)||(i.info.state="end",f(i.info)),i.fire(t,e),i.info.started=!0)};d(this.info,n,function(e){i.info.started&&n(e),f(i.info)}),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:function(e){var t=p.findOriginalTarget(e),i=e.changedTouches[0],n=i.clientX,r=i.clientY;this.hasMovedEnough(n,r)&&("start"===this.info.state&&p.prevent("tap"),this.info.addMove({x:n,y:r}),this.fire(t,i),this.info.state="track",this.info.started=!0)},touchend:function(e){var t=p.findOriginalTarget(e),i=e.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:i.clientX,y:i.clientY}),this.fire(t,i))},fire:function(e,t){var i,n=this.info.moves[this.info.moves.length-2],r=this.info.moves[this.info.moves.length-1],o=r.x-this.info.x,s=r.y-this.info.y,a=0;return n&&(i=r.x-n.x,a=r.y-n.y),p.fire(e,"track",{state:this.info.state,x:t.clientX,y:t.clientY,dx:o,dy:s,ddx:i,ddy:a,sourceEvent:t,hover:function(){return p.deepTargetFind(t.clientX,t.clientY)}})}}),p.register({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.prevent=!1},save:function(e){this.info.x=e.clientX,this.info.y=e.clientY},mousedown:function(e){c(e)&&this.save(e)},click:function(e){c(e)&&this.forward(e)},touchstart:function(e){this.save(e.changedTouches[0])},touchend:function(e){this.forward(e.changedTouches[0])},forward:function(e){var t=Math.abs(e.clientX-this.info.x),i=Math.abs(e.clientY-this.info.y),n=p.findOriginalTarget(e);(isNaN(t)||isNaN(i)||t<=25&&i<=25||function(e){if("click"===e.type){if(0===e.detail)return!0;var t=p.findOriginalTarget(e).getBoundingClientRect(),i=e.pageX,n=e.pageY;return!(i>=t.left&&i<=t.right&&n>=t.top&&n<=t.bottom)}return!1}(e))&&(this.info.prevent||p.fire(n,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e}))}});var _={x:"pan-x",y:"pan-y",none:"none",all:"auto"};Polymer.Base._addFeature({_setupGestures:function(){this.__polymerGestures=null},_listen:function(e,t,i){p.gestures[t]?p.add(e,t,i):e.addEventListener(t,i)},_unlisten:function(e,t,i){p.gestures[t]?p.remove(e,t,i):e.removeEventListener(t,i)},setScrollDirection:function(e,t){t=t||this,p.setTouchAction(t,_[e]||"auto")}}),Polymer.Gestures=p}(),Polymer.Base._addFeature({$$:function(e){return Polymer.dom(this.root).querySelector(e)},toggleClass:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.classList.contains(e)),t?Polymer.dom(i).classList.add(e):Polymer.dom(i).classList.remove(e)},toggleAttribute:function(e,t,i){i=i||this,1==arguments.length&&(t=!i.hasAttribute(e)),t?Polymer.dom(i).setAttribute(e,""):Polymer.dom(i).removeAttribute(e)},classFollows:function(e,t,i){i&&Polymer.dom(i).classList.remove(e),t&&Polymer.dom(t).classList.add(e)},attributeFollows:function(e,t,i){i&&Polymer.dom(i).removeAttribute(e),t&&Polymer.dom(t).setAttribute(e,"")},getEffectiveChildNodes:function(){return Polymer.dom(this).getEffectiveChildNodes()},getEffectiveChildren:function(){return Polymer.dom(this).getEffectiveChildNodes().filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},getEffectiveTextContent:function(){for(var e,t=this.getEffectiveChildNodes(),i=[],n=0;e=t[n];n++)e.nodeType!==Node.COMMENT_NODE&&i.push(Polymer.dom(e).textContent);return i.join("")},queryEffectiveChildren:function(e){var t=Polymer.dom(this).queryDistributedElements(e);return t&&t[0]},queryAllEffectiveChildren:function(e){return Polymer.dom(this).queryDistributedElements(e)},getContentChildNodes:function(e){var t=Polymer.dom(this.root).querySelector(e||"content");return t?Polymer.dom(t).getDistributedNodes():[]},getContentChildren:function(e){return this.getContentChildNodes(e).filter(function(e){return e.nodeType===Node.ELEMENT_NODE})},fire:function(e,t,i){var n=(i=i||Polymer.nob).node||this;t=null===t||void 0===t?{}:t;var r=void 0===i.bubbles||i.bubbles,o=Boolean(i.cancelable),s=i._useCache,a=this._getEvent(e,r,o,s);return a.detail=t,s&&(this.__eventCache[e]=null),n.dispatchEvent(a),s&&(this.__eventCache[e]=a),a},__eventCache:{},_getEvent:function(e,t,i,n){var r=n&&this.__eventCache[e];return r&&r.bubbles==t&&r.cancelable==i||(r=new Event(e,{bubbles:Boolean(t),cancelable:i})),r},async:function(e,t){var i=this;return Polymer.Async.run(function(){e.call(i)},t)},cancelAsync:function(e){Polymer.Async.cancel(e)},arrayDelete:function(e,t){var i;if(Array.isArray(e)){if((i=e.indexOf(t))>=0)return e.splice(i,1)}else if((i=this._get(e).indexOf(t))>=0)return this.splice(e,i,1)},transform:function(e,t){(t=t||this).style.webkitTransform=e,t.style.transform=e},translate3d:function(e,t,i,n){n=n||this,this.transform("translate3d("+e+","+t+","+i+")",n)},importHref:function(e,t,i,n){var r=document.createElement("link");r.rel="import",r.href=e,(n=Boolean(n))&&r.setAttribute("async","");var o=this;return t&&(r.onload=function(e){return t.call(o,e)}),i&&(r.onerror=function(e){return i.call(o,e)}),document.head.appendChild(r),r},create:function(e,t){var i=document.createElement(e);if(t)for(var n in t)i[n]=t[n];return i},isLightDescendant:function(e){return this!==e&&this.contains(e)&&Polymer.dom(this).getOwnerRoot()===Polymer.dom(e).getOwnerRoot()},isLocalDescendant:function(e){return this.root===Polymer.dom(e).getOwnerRoot()}}),Polymer.Bind={prepareModel:function(e){Polymer.Base.mixin(e,this._modelApi)},_modelApi:{_notifyChange:function(e,t,i){i=void 0===i?this[e]:i,t=t||Polymer.CaseMap.camelToDashCase(e)+"-changed",this.fire(t,{value:i},{bubbles:!1,cancelable:!1,_useCache:!0})},_propertySetter:function(e,t,i,n){var r=this.__data__[e];return r===t||r!=r&&t!=t||(this.__data__[e]=t,"object"==typeof t&&this._clearPath(e),this._propertyChanged&&this._propertyChanged(e,t,r),i&&this._effectEffects(e,t,i,r,n)),r},__setProperty:function(e,t,i,n){var r=(n=n||this)._propertyEffects&&n._propertyEffects[e];r?n._propertySetter(e,t,r,i):n[e]=t},_effectEffects:function(e,t,i,n,r){for(var o,s=0,a=i.length;s<a&&(o=i[s]);s++)o.fn.call(this,e,t,o.effect,n,r)},_clearPath:function(e){for(var t in this.__data__)0===t.indexOf(e+".")&&(this.__data__[t]=void 0)}},ensurePropertyEffects:function(e,t){e._propertyEffects||(e._propertyEffects={});var i=e._propertyEffects[t];return i||(i=e._propertyEffects[t]=[]),i},addPropertyEffect:function(e,t,i,n){var r=this.ensurePropertyEffects(e,t),o={kind:i,effect:n,fn:Polymer.Bind["_"+i+"Effect"]};return r.push(o),o},createBindings:function(e){var t=e._propertyEffects;if(t)for(var i in t){var n=t[i];n.sort(this._sortPropertyEffects),this._createAccessors(e,i,n)}},_sortPropertyEffects:function(){var e={compute:0,annotation:1,annotatedComputation:2,reflect:3,notify:4,observer:5,complexObserver:6,function:7};return function(t,i){return e[t.kind]-e[i.kind]}}(),_createAccessors:function(e,t,i){var n={get:function(){return this.__data__[t]}},r=function(e){this._propertySetter(t,e,i)},o=e.getPropertyInfo&&e.getPropertyInfo(t);o&&o.readOnly?o.computed||(e["_set"+this.upper(t)]=r):n.set=r,Object.defineProperty(e,t,n)},upper:function(e){return e[0].toUpperCase()+e.substring(1)},_addAnnotatedListener:function(e,t,i,n,r,o){e._bindListeners||(e._bindListeners=[]);var s=this._notedListenerFactory(i,n,this._isStructured(n),o),a=r||Polymer.CaseMap.camelToDashCase(i)+"-changed";e._bindListeners.push({index:t,property:i,path:n,changedFn:s,event:a})},_isStructured:function(e){return e.indexOf(".")>0},_isEventBogus:function(e,t){return e.path&&e.path[0]!==t},_notedListenerFactory:function(e,t,i,n){return function(r,o,s){s?this._notifyPath(this._fixPath(t,e,s),o):(o=r[e],n&&(o=!o),i?this.__data__[t]!=o&&this.set(t,o):this[t]=o)}},prepareInstance:function(e){e.__data__=Object.create(null)},setupBindListeners:function(e){for(var t,i=e._bindListeners,n=0,r=i.length;n<r&&(t=i[n]);n++){var o=e._nodes[t.index];this._addNotifyListener(o,e,t.event,t.changedFn)}},_addNotifyListener:function(e,t,i,n){e.addEventListener(i,function(e){return t._notifyListener(n,e)})}},Polymer.Base.extend(Polymer.Bind,{_shouldAddListener:function(e){return e.name&&"attribute"!=e.kind&&"text"!=e.kind&&!e.isCompound&&"{"===e.parts[0].mode},_annotationEffect:function(e,t,i){e!=i.value&&(t=this._get(i.value),this.__data__[i.value]=t),this._applyEffectValue(i,t)},_reflectEffect:function(e,t,i){this.reflectPropertyToAttribute(e,i.attribute,t)},_notifyEffect:function(e,t,i,n,r){r||this._notifyChange(e,i.event,t)},_functionEffect:function(e,t,i,n,r){i.call(this,e,t,n,r)},_observerEffect:function(e,t,i,n){var r=this[i.method];r?r.call(this,t,n):this._warn(this._logf("_observerEffect","observer method `"+i.method+"` not defined"))},_complexObserverEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);r&&n.apply(this,r)}else i.dynamicFn||this._warn(this._logf("_complexObserverEffect","observer method `"+i.method+"` not defined"))},_computeEffect:function(e,t,i){var n=this[i.method];if(n){var r=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(r){var o=n.apply(this,r);this.__setProperty(i.name,o)}}else i.dynamicFn||this._warn(this._logf("_computeEffect","compute method `"+i.method+"` not defined"))},_annotatedComputationEffect:function(e,t,i){var n=this._rootDataHost||this,r=n[i.method];if(r){var o=Polymer.Bind._marshalArgs(this.__data__,i,e,t);if(o){var s=r.apply(n,o);this._applyEffectValue(i,s)}}else i.dynamicFn||n._warn(n._logf("_annotatedComputationEffect","compute method `"+i.method+"` not defined"))},_marshalArgs:function(e,t,i,n){for(var r=[],o=t.args,s=o.length>1||t.dynamicFn,a=0,l=o.length;a<l;a++){var h,c=o[a],u=c.name;if(c.literal?h=c.value:i===u?h=n:void 0===(h=e[u])&&c.structured&&(h=Polymer.Base._get(u,e)),s&&void 0===h)return;if(c.wildcard){var d=0===i.indexOf(u+".");r[a]={path:d?i:u,value:d?n:h,base:h}}else r[a]=h}return r}}),Polymer.Base._addFeature({_addPropertyEffect:function(e,t,i){var n=Polymer.Bind.addPropertyEffect(this,e,t,i);n.pathFn=this["_"+n.kind+"PathEffect"]},_prepEffects:function(){Polymer.Bind.prepareModel(this),this._addAnnotationEffects(this._notes)},_prepBindings:function(){Polymer.Bind.createBindings(this)},_addPropertyEffects:function(e){if(e)for(var t in e){var i=e[t];if(i.observer&&this._addObserverEffect(t,i.observer),i.computed&&(i.readOnly=!0,this._addComputedEffect(t,i.computed)),i.notify&&this._addPropertyEffect(t,"notify",{event:Polymer.CaseMap.camelToDashCase(t)+"-changed"}),i.reflectToAttribute){var n=Polymer.CaseMap.camelToDashCase(t);"-"===n[0]?this._warn(this._logf("_addPropertyEffects","Property "+t+" cannot be reflected to attribute "+n+' because "-" is not a valid starting attribute name. Use a lowercase first letter for the property instead.')):this._addPropertyEffect(t,"reflect",{attribute:n})}i.readOnly&&Polymer.Bind.ensurePropertyEffects(this,t)}},_addComputedEffect:function(e,t){for(var i,n=this._parseMethod(t),r=n.dynamicFn,o=0;o<n.args.length&&(i=n.args[o]);o++)this._addPropertyEffect(i.model,"compute",{method:n.method,args:n.args,trigger:i,name:e,dynamicFn:r});r&&this._addPropertyEffect(n.method,"compute",{method:n.method,args:n.args,trigger:null,name:e,dynamicFn:r})},_addObserverEffect:function(e,t){this._addPropertyEffect(e,"observer",{method:t,property:e})},_addComplexObserverEffects:function(e){if(e)for(var t,i=0;i<e.length&&(t=e[i]);i++)this._addComplexObserverEffect(t)},_addComplexObserverEffect:function(e){var t=this._parseMethod(e);if(!t)throw new Error("Malformed observer expression '"+e+"'");for(var i,n=t.dynamicFn,r=0;r<t.args.length&&(i=t.args[r]);r++)this._addPropertyEffect(i.model,"complexObserver",{method:t.method,args:t.args,trigger:i,dynamicFn:n});n&&this._addPropertyEffect(t.method,"complexObserver",{method:t.method,args:t.args,trigger:null,dynamicFn:n})},_addAnnotationEffects:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)for(var n,r=t.bindings,o=0;o<r.length&&(n=r[o]);o++)this._addAnnotationEffect(n,i)},_addAnnotationEffect:function(e,t){Polymer.Bind._shouldAddListener(e)&&Polymer.Bind._addAnnotatedListener(this,t,e.name,e.parts[0].value,e.parts[0].event,e.parts[0].negate);for(var i=0;i<e.parts.length;i++){var n=e.parts[i];n.signature?this._addAnnotatedComputationEffect(e,n,t):n.literal||("attribute"===e.kind&&"-"===e.name[0]?this._warn(this._logf("_addAnnotationEffect","Cannot set attribute "+e.name+' because "-" is not a valid attribute starting character')):this._addPropertyEffect(n.model,"annotation",{kind:e.kind,index:t,name:e.name,propertyName:e.propertyName,value:n.value,isCompound:e.isCompound,compoundIndex:n.compoundIndex,event:n.event,customEvent:n.customEvent,negate:n.negate}))}},_addAnnotatedComputationEffect:function(e,t,i){var n=t.signature;if(n.static)this.__addAnnotatedComputationEffect("__static__",i,e,t,null);else{for(var r,o=0;o<n.args.length&&(r=n.args[o]);o++)r.literal||this.__addAnnotatedComputationEffect(r.model,i,e,t,r);n.dynamicFn&&this.__addAnnotatedComputationEffect(n.method,i,e,t,null)}},__addAnnotatedComputationEffect:function(e,t,i,n,r){this._addPropertyEffect(e,"annotatedComputation",{index:t,isCompound:i.isCompound,compoundIndex:n.compoundIndex,kind:i.kind,name:i.name,negate:n.negate,method:n.signature.method,args:n.signature.args,trigger:r,dynamicFn:n.signature.dynamicFn})},_parseMethod:function(e){var t=e.match(/([^\s]+?)\(([\s\S]*)\)/);if(t){var i={method:t[1],static:!0};if(this.getPropertyInfo(i.method)!==Polymer.nob&&(i.static=!1,i.dynamicFn=!0),t[2].trim()){var n=t[2].replace(/\\,/g,"&comma;").split(",");return this._parseArgs(n,i)}return i.args=Polymer.nar,i}},_parseArgs:function(e,t){return t.args=e.map(function(e){var i=this._parseArg(e);return i.literal||(t.static=!1),i},this),t},_parseArg:function(e){var t=e.trim().replace(/&comma;/g,",").replace(/\\(.)/g,"$1"),i={name:t},n=t[0];switch("-"===n&&(n=t[1]),n>="0"&&n<="9"&&(n="#"),n){case"'":case'"':i.value=t.slice(1,-1),i.literal=!0;break;case"#":i.value=Number(t),i.literal=!0}return i.literal||(i.model=this._modelForPath(t),i.structured=t.indexOf(".")>0,i.structured&&(i.wildcard=".*"==t.slice(-2),i.wildcard&&(i.name=t.slice(0,-2)))),i},_marshalInstanceEffects:function(){Polymer.Bind.prepareInstance(this),this._bindListeners&&Polymer.Bind.setupBindListeners(this)},_applyEffectValue:function(e,t){var i=this._nodes[e.index],n=e.name;if(t=this._computeFinalAnnotationValue(i,n,t,e),!e.customEvent||i[n]!==t)if("attribute"==e.kind)this.serializeValueToAttribute(t,n,i);else{var r=i._propertyInfo&&i._propertyInfo[n];if(r&&r.readOnly)return;this.__setProperty(n,t,!1,i)}},_computeFinalAnnotationValue:function(e,t,i,n){if(n.negate&&(i=!i),n.isCompound){var r=e.__compoundStorage__[t];r[n.compoundIndex]=i,i=r.join("")}return"attribute"!==n.kind&&("className"===t&&(i=this._scopeElementClass(e,i)),("textContent"===t||"input"==e.localName&&"value"==t)&&(i=void 0==i?"":i)),i},_executeStaticEffects:function(){this._propertyEffects&&this._propertyEffects.__static__&&this._effectEffects("__static__",null,this._propertyEffects.__static__)}}),function(){var e=Polymer.Settings.usePolyfillProto;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._config[t]=e[t])},_marshalAttributes:function(){this._takeAttributesToModel(this._config)},_attributeChangedImpl:function(e){var t=this._clientsReadied?this:this._config;this._setAttributeToProperty(t,e)},_configValue:function(e,t){var i=this._propertyInfo[e];i&&i.readOnly||(this._config[e]=t)},_beforeClientsReady:function(){this._configure()},_configure:function(){this._configureAnnotationReferences(),this._aboveConfig=this.mixin({},this._config);for(var e={},t=0;t<this.behaviors.length;t++)this._configureProperties(this.behaviors[t].properties,e);this._configureProperties(this.properties,e),this.mixin(e,this._aboveConfig),this._config=e,this._clients&&this._clients.length&&this._distributeConfig(this._config)},_configureProperties:function(t,i){for(var n in t){var r=t[n];if(!e&&this.hasOwnProperty(n)&&this._propertyEffects&&this._propertyEffects[n])i[n]=this[n],delete this[n];else if(void 0!==r.value){var o=r.value;"function"==typeof o&&(o=o.call(this,this._config)),i[n]=o}}},_distributeConfig:function(e){var t=this._propertyEffects;if(t)for(var i in e){var n=t[i];if(n)for(var r,o=0,s=n.length;o<s&&(r=n[o]);o++)if("annotation"===r.kind){var a=this._nodes[r.effect.index],l=r.effect.propertyName,h="attribute"==r.effect.kind,c=a._propertyEffects&&a._propertyEffects[l];if(a._configValue&&(c||!h)){var u=i===r.effect.value?e[i]:this._get(r.effect.value,e);u=this._computeFinalAnnotationValue(a,l,u,r.effect),h&&(u=a.deserialize(this.serialize(u),a._propertyInfo[l].type)),a._configValue(l,u)}}}},_afterClientsReady:function(){this._executeStaticEffects(),this._applyConfig(this._config,this._aboveConfig),this._flushHandlers()},_applyConfig:function(e,t){for(var i in e)void 0===this[i]&&this.__setProperty(i,e[i],i in t)},_notifyListener:function(e,t){if(!Polymer.Bind._isEventBogus(t,t.target)){var i,n;if(t.detail&&(i=t.detail.value,n=t.detail.path),this._clientsReadied)return e.call(this,t.target,i,n);this._queueHandler([e,t.target,i,n])}},_queueHandler:function(e){this._handlers.push(e)},_flushHandlers:function(){for(var e,t=this._handlers,i=0,n=t.length;i<n&&(e=t[i]);i++)e[0].call(this,e[1],e[2],e[3]);this._handlers=[]}})}(),function(){"use strict";Polymer.Base._addFeature({notifyPath:function(e,t,i){var n={},r=this._get(e,this,n);1===arguments.length&&(t=r),n.path&&this._notifyPath(n.path,t,i)},_notifyPath:function(e,t,i){var n=this._propertySetter(e,t);if(n!==t&&(n==n||t==t))return this._pathEffector(e,t),i||this._notifyPathUp(e,t),!0},_getPathParts:function(e){if(Array.isArray(e)){for(var t=[],i=0;i<e.length;i++)for(var n=e[i].toString().split("."),r=0;r<n.length;r++)t.push(n[r]);return t}return e.toString().split(".")},set:function(e,t,i){var n,r=i||this,o=this._getPathParts(e),s=o[o.length-1];if(o.length>1){for(var a=0;a<o.length-1;a++){var l=o[a];if(n&&"#"==l[0]?r=Polymer.Collection.get(n).getItem(l):(r=r[l],n&&parseInt(l,10)==l&&(o[a]=Polymer.Collection.get(n).getKey(r))),!r)return;n=Array.isArray(r)?r:null}if(n){var h,c,u=Polymer.Collection.get(n);"#"==s[0]?(c=s,h=u.getItem(c),s=n.indexOf(h),u.setItem(c,t)):parseInt(s,10)==s&&(h=r[s],c=u.getKey(h),o[a]=c,u.setItem(c,t))}r[s]=t,i||this._notifyPath(o.join("."),t)}else r[e]=t},get:function(e,t){return this._get(e,t)},_get:function(e,t,i){for(var n,r=t||this,o=this._getPathParts(e),s=0;s<o.length;s++){if(!r)return;var a=o[s];n&&"#"==a[0]?r=Polymer.Collection.get(n).getItem(a):(r=r[a],i&&n&&parseInt(a,10)==a&&(o[s]=Polymer.Collection.get(n).getKey(r))),n=Array.isArray(r)?r:null}return i&&(i.path=o.join(".")),r},_pathEffector:function(e,t){var i=this._modelForPath(e),n=this._propertyEffects&&this._propertyEffects[i];if(n)for(var r,o=0;o<n.length&&(r=n[o]);o++){var s=r.pathFn;s&&s.call(this,e,t,r.effect)}this._boundPaths&&this._notifyBoundPaths(e,t)},_annotationPathEffect:function(e,t,i){if(i.value===e||0===i.value.indexOf(e+"."))Polymer.Bind._annotationEffect.call(this,e,t,i);else if(0===e.indexOf(i.value+".")&&!i.negate){var n=this._nodes[i.index];if(n&&n._notifyPath){var r=this._fixPath(i.name,i.value,e);n._notifyPath(r,t,!0)}}},_complexObserverPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._complexObserverEffect.call(this,e,t,i)},_computePathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._computeEffect.call(this,e,t,i)},_annotatedComputationPathEffect:function(e,t,i){this._pathMatchesEffect(e,i)&&Polymer.Bind._annotatedComputationEffect.call(this,e,t,i)},_pathMatchesEffect:function(e,t){var i=t.trigger.name;return i==e||0===i.indexOf(e+".")||t.trigger.wildcard&&0===e.indexOf(i)},linkPaths:function(e,t){this._boundPaths=this._boundPaths||{},t?this._boundPaths[e]=t:this.unlinkPaths(e)},unlinkPaths:function(e){this._boundPaths&&delete this._boundPaths[e]},_notifyBoundPaths:function(e,t){for(var i in this._boundPaths){var n=this._boundPaths[i];0==e.indexOf(i+".")?this._notifyPath(this._fixPath(n,i,e),t):0==e.indexOf(n+".")&&this._notifyPath(this._fixPath(i,n,e),t)}},_fixPath:function(e,t,i){return e+i.slice(t.length)},_notifyPathUp:function(e,t){var i=this._modelForPath(e),n=Polymer.CaseMap.camelToDashCase(i)+this._EVENT_CHANGED;this.fire(n,{path:e,value:t},{bubbles:!1,_useCache:!0})},_modelForPath:function(e){var t=e.indexOf(".");return t<0?e:e.slice(0,t)},_EVENT_CHANGED:"-changed",notifySplices:function(e,t){var i={},n=this._get(e,this,i);this._notifySplices(n,i.path,t)},_notifySplices:function(e,t,i){var n={keySplices:Polymer.Collection.applySplices(e,i),indexSplices:i},r=t+".splices";this._notifyPath(r,n),this._notifyPath(t+".length",e.length),this.__data__[r]={keySplices:null,indexSplices:null}},_notifySplice:function(e,t,i,n,r){this._notifySplices(e,t,[{index:i,addedCount:n,removed:r,object:e,type:"splice"}])},push:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.length,o=i.push.apply(i,n);return n.length&&this._notifySplice(i,t.path,r,n.length,[]),o},pop:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.pop.apply(i,r);return n&&this._notifySplice(i,t.path,i.length,0,[o]),o},splice:function(e,t){var i={},n=this._get(e,this,i);(t=t<0?n.length-Math.floor(-t):Math.floor(t))||(t=0);var r=Array.prototype.slice.call(arguments,1),o=n.splice.apply(n,r),s=Math.max(r.length-2,0);return(s||o.length)&&this._notifySplice(n,i.path,t,s,o),o},shift:function(e){var t={},i=this._get(e,this,t),n=Boolean(i.length),r=Array.prototype.slice.call(arguments,1),o=i.shift.apply(i,r);return n&&this._notifySplice(i,t.path,0,0,[o]),o},unshift:function(e){var t={},i=this._get(e,this,t),n=Array.prototype.slice.call(arguments,1),r=i.unshift.apply(i,n);return n.length&&this._notifySplice(i,t.path,0,n.length,[]),r},prepareModelNotifyPath:function(e){this.mixin(e,{fire:Polymer.Base.fire,_getEvent:Polymer.Base._getEvent,__eventCache:Polymer.Base.__eventCache,notifyPath:Polymer.Base.notifyPath,_get:Polymer.Base._get,_EVENT_CHANGED:Polymer.Base._EVENT_CHANGED,_notifyPath:Polymer.Base._notifyPath,_notifyPathUp:Polymer.Base._notifyPathUp,_pathEffector:Polymer.Base._pathEffector,_annotationPathEffect:Polymer.Base._annotationPathEffect,_complexObserverPathEffect:Polymer.Base._complexObserverPathEffect,_annotatedComputationPathEffect:Polymer.Base._annotatedComputationPathEffect,_computePathEffect:Polymer.Base._computePathEffect,_modelForPath:Polymer.Base._modelForPath,_pathMatchesEffect:Polymer.Base._pathMatchesEffect,_notifyBoundPaths:Polymer.Base._notifyBoundPaths,_getPathParts:Polymer.Base._getPathParts})}})}(),Polymer.Base._addFeature({resolveUrl:function(e){var t=Polymer.DomModule.import(this.is),i="";if(t){var n=t.getAttribute("assetpath")||"";i=Polymer.ResolveUrl.resolveUrl(n,t.ownerDocument.baseURI)}return Polymer.ResolveUrl.resolveUrl(e,i)}}),Polymer.CssParse={parse:function(e){return e=this._clean(e),this._parseCss(this._lex(e),e)},_clean:function(e){return e.replace(this._rx.comments,"").replace(this._rx.port,"")},_lex:function(e){for(var t={start:0,end:e.length},i=t,n=0,r=e.length;n<r;n++)switch(e[n]){case this.OPEN_BRACE:i.rules||(i.rules=[]);var o=i;i={start:n+1,parent:o,previous:o.rules[o.rules.length-1]},o.rules.push(i);break;case this.CLOSE_BRACE:i.end=n+1,i=i.parent||t}return t},_parseCss:function(e,t){var i=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=i.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;i=t.substring(n,e.start-1),i=(i=(i=this._expandUnicodeEscapes(i)).replace(this._rx.multipleSpaces," ")).substring(i.lastIndexOf(";")+1);var r=e.parsedSelector=e.selector=i.trim();e.atRule=0===r.indexOf(this.AT_START),e.atRule?0===r.indexOf(this.MEDIA_START)?e.type=this.types.MEDIA_RULE:r.match(this._rx.keyframesRule)&&(e.type=this.types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(this._rx.multipleSpaces).pop()):0===r.indexOf(this.VAR_START)?e.type=this.types.MIXIN_RULE:e.type=this.types.STYLE_RULE}var o=e.rules;if(o)for(var s,a=0,l=o.length;a<l&&(s=o[a]);a++)this._parseCss(s,t);return e},_expandUnicodeEscapes:function(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e})},stringify:function(e,t,i){i=i||"";var n="";if(e.cssText||e.rules){var r=e.rules;if(!r||!t&&this._hasMixinRules(r))(n=(n=t?e.cssText:this.removeCustomProps(e.cssText)).trim())&&(n="  "+n+"\n");else for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)n=this.stringify(o,t,n)}return n&&(e.selector&&(i+=e.selector+" "+this.OPEN_BRACE+"\n"),i+=n,e.selector&&(i+=this.CLOSE_BRACE+"\n\n")),i},_hasMixinRules:function(e){return 0===e[0].selector.indexOf(this.VAR_START)},removeCustomProps:function(e){return e=this.removeCustomPropAssignment(e),this.removeCustomPropApply(e)},removeCustomPropAssignment:function(e){return e.replace(this._rx.customProp,"").replace(this._rx.mixinProp,"")},removeCustomPropApply:function(e){return e.replace(this._rx.mixinApply,"").replace(this._rx.varApply,"")},types:{STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE: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/,multipleSpaces:/\s+/g},VAR_START:"--",MEDIA_START:"@media",AT_START:"@"},Polymer.StyleUtil={MODULE_STYLES_SELECTOR:"style, link[rel=import][type~=css], template",INCLUDE_ATTR:"include",toCssText:function(e,t,i){return"string"==typeof e&&(e=this.parser.parse(e)),t&&this.forEachRule(e,t),this.parser.stringify(e,i)},forRulesInStyles:function(e,t,i){if(e)for(var n,r=0,o=e.length;r<o&&(n=e[r]);r++)this.forEachRule(this.rulesForStyle(n),t,i)},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},forEachRule:function(e,t,i){if(e){var n=!1;e.type===this.ruleTypes.STYLE_RULE?t(e):i&&e.type===this.ruleTypes.KEYFRAMES_RULE?i(e):e.type===this.ruleTypes.MIXIN_RULE&&(n=!0);var r=e.rules;if(r&&!n)for(var o,s=0,a=r.length;s<a&&(o=r[s]);s++)this.forEachRule(o,t,i)}},applyCss:function(e,t,i,n){var r=this.createScopeStyle(e,t);i=i||document.head;var o=n&&n.nextSibling||i.firstChild;return this.__lastHeadApplyNode=r,i.insertBefore(r,o)},createScopeStyle:function(e,t){var i=document.createElement("style");return t&&i.setAttribute("scope",t),i.textContent=e,i},__lastHeadApplyNode:null,applyStylePlaceHolder:function(e){var t=document.createComment(" Shady DOM styles for "+e+" "),i=this.__lastHeadApplyNode?this.__lastHeadApplyNode.nextSibling:null,n=document.head;return n.insertBefore(t,i||n.firstChild),this.__lastHeadApplyNode=t,t},cssFromModules:function(e,t){for(var i=e.trim().split(" "),n="",r=0;r<i.length;r++)n+=this.cssFromModule(i[r],t);return n},cssFromModule:function(e,t){var i=Polymer.DomModule.import(e);return i&&!i._cssText&&(i._cssText=this.cssFromElement(i)),i&&i._cssText||""},cssFromElement:function(e){for(var t,i="",n=e.content||e,r=Polymer.TreeApi.arrayCopy(n.querySelectorAll(this.MODULE_STYLES_SELECTOR)),o=0;o<r.length;o++)if("template"===(t=r[o]).localName)i+=this.cssFromElement(t);else if("style"===t.localName){var s=t.getAttribute(this.INCLUDE_ATTR);s&&(i+=this.cssFromModules(s,!0)),(t=t.__appliedElement||t).parentNode.removeChild(t),i+=this.resolveCss(t.textContent,e.ownerDocument)}else t.import&&t.import.body&&(i+=this.resolveCss(t.import.body.textContent,t.import));return i},resolveCss:Polymer.ResolveUrl.resolveCss,parser:Polymer.CssParse,ruleTypes:Polymer.CssParse.types},Polymer.StyleTransformer=function(){var e=Polymer.Settings.useNativeShadow,t=Polymer.StyleUtil,i={dom:function(e,t,i,n){this._transformDom(e,t||"",i,n)},_transformDom:function(e,t,i,n){e.setAttribute&&this.element(e,t,i,n);for(var r=Polymer.dom(e).childNodes,o=0;o<r.length;o++)this._transformDom(r[o],t,i,n)},element:function(e,t,i,r){if(i)r?e.removeAttribute(n):e.setAttribute(n,t);else if(t)if(e.classList)r?(e.classList.remove(n),e.classList.remove(t)):(e.classList.add(n),e.classList.add(t));else if(e.getAttribute){var o=e.getAttribute(v);r?o&&e.setAttribute(v,o.replace(n,"").replace(t,"")):e.setAttribute(v,(o?o+" ":"")+n+" "+t)}},elementStyles:function(i,n){for(var r,o=i._styles,s="",a=0,l=o.length;a<l&&(r=o[a]);a++){var h=t.rulesForStyle(r);s+=e?t.toCssText(h,n):this.css(h,i.is,i.extends,n,i._scopeCssViaAttr)+"\n\n"}return s.trim()},css:function(e,i,n,r,o){var s=this._calcHostScope(i,n);i=this._calcElementScope(i,o);var a=this;return t.toCssText(e,function(e){e.isScoped||(a.rule(e,i,s),e.isScoped=!0),r&&r(e,i,s)})},_calcElementScope:function(e,t){return e?t?_+e+m:p+e:""},_calcHostScope:function(e,t){return t?"[is="+e+"]":e},rule:function(e,t,i){this._transformRule(e,this._transformComplexSelector,t,i)},_transformRule:function(e,i,n,r){var s=e.selector.split(o);if(!t.isKeyframesSelector(e))for(var a,l=0,h=s.length;l<h&&(a=s[l]);l++)s[l]=i.call(this,a,n,r);e.selector=e.transformedSelector=s.join(o)},_transformComplexSelector:function(e,t,i){var n=!1,r=!1,l=this;return e=(e=e.replace(g,a+" $1")).replace(s,function(e,o,s){if(n)s=s.replace(f," ");else{var a=l._transformCompoundSelector(s,o,t,i);n=n||a.stop,r=r||a.hostContext,o=a.combinator,s=a.value}return o+s}),r&&(e=e.replace(u,function(e,t,n,r){return t+n+" "+i+r+o+" "+t+i+n+r})),e},_transformCompoundSelector:function(e,t,i,n){var r,o=e.search(f),s=!1;return e.indexOf(c)>=0?s=!0:e.indexOf(a)>=0?e=(e=e.replace(h,function(e,t,i){return n+i})).replace(a,n):0!==o&&(e=i?this._transformSimpleSelector(e,i):e),e.indexOf(d)>=0&&(t=""),o>=0&&(e=e.replace(f," "),r=!0),{value:e,combinator:t,stop:r,hostContext:s}},_transformSimpleSelector:function(e,t){var i=e.split(y);return i[0]+=t,i.join(y)},documentRule:function(t){t.selector=t.parsedSelector,this.normalizeRootSelector(t),e||this._transformRule(t,this._transformDocumentSelector)},normalizeRootSelector:function(e){e.selector===l&&(e.selector="body")},_transformDocumentSelector:function(e){return e.match(f)?this._transformComplexSelector(e,r):this._transformSimpleSelector(e.trim(),r)},SCOPE_NAME:"style-scope"},n=i.SCOPE_NAME,r=":not(["+n+"]):not(."+n+")",o=",",s=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=\[])+)/g,a=":host",l=":root",h=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/g,c=":host-context",u=/(.*)(?::host-context)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))(.*)/,d="::content",f=/::content|::shadow|\/deep\//,p=".",_="["+n+"~=",m="]",y=":",v="class",g=new RegExp("^("+d+")");return i}(),Polymer.StyleExtends=function(){var e=Polymer.StyleUtil;return{hasExtends:function(e){return Boolean(e.match(this.rx.EXTEND))},transform:function(t){var i=e.rulesForStyle(t),n=this;return e.forEachRule(i,function(e){if(n._mapRuleOntoParent(e),e.parent)for(var t;t=n.rx.EXTEND.exec(e.cssText);){var i=t[1],r=n._findExtendor(i,e);r&&n._extendRule(e,r)}e.cssText=e.cssText.replace(n.rx.EXTEND,"")}),e.toCssText(i,function(e){e.selector.match(n.rx.STRIP)&&(e.cssText="")},!0)},_mapRuleOntoParent:function(e){if(e.parent){for(var t=e.parent.map||(e.parent.map={}),i=e.selector.split(","),n=0;n<i.length;n++)t[i[n].trim()]=e;return t}},_findExtendor:function(e,t){return t.parent&&t.parent.map&&t.parent.map[e]||this._findExtendor(e,t.parent)},_extendRule: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.rx.STRIP,""),t.selector=(t.selector&&t.selector+",\n")+e.selector,t.extends&&t.extends.forEach(function(t){this._extendRule(e,t)},this)},_cloneAndAddRuleToParent:function(e,t){(e=Object.create(e)).parent=t,e.extends&&(e.extends=e.extends.slice()),t.rules.push(e)},rx:{EXTEND:/@extends\(([^)]*)\)\s*?;/gim,STRIP:/%[^,]*$/}}}(),function(){var e=Polymer.Base._prepElement,t=Polymer.Settings.useNativeShadow,i=Polymer.StyleUtil,n=Polymer.StyleTransformer,r=Polymer.StyleExtends;Polymer.Base._addFeature({_prepElement:function(t){this._encapsulateStyle&&n.element(t,this.is,this._scopeCssViaAttr),e.call(this,t)},_prepStyles:function(){t||(this._scopeStyle=i.applyStylePlaceHolder(this.is))},_prepShimStyles:function(){if(this._template){void 0===this._encapsulateStyle&&(this._encapsulateStyle=!t),this._styles=this._collectStyles();var e=n.elementStyles(this);this._prepStyleProperties(),!this._needsStyleProperties()&&this._styles.length&&i.applyCss(e,this.is,t?this._template.content:null,this._scopeStyle)}else this._styles=[]},_collectStyles:function(){var e=[],t="",n=this.styleModules;if(n)for(var o,s=0,a=n.length;s<a&&(o=n[s]);s++)t+=i.cssFromModule(o);t+=i.cssFromModule(this.is);var l=this._template&&this._template.parentNode;if(!this._template||l&&l.id.toLowerCase()===this.is||(t+=i.cssFromElement(this._template)),t){var h=document.createElement("style");h.textContent=t,r.hasExtends(h.textContent)&&(t=r.transform(h)),e.push(h)}return e},_elementAdd:function(e){this._encapsulateStyle&&(e.__styleScoped?e.__styleScoped=!1:n.dom(e,this.is,this._scopeCssViaAttr))},_elementRemove:function(e){this._encapsulateStyle&&n.dom(e,this.is,this._scopeCssViaAttr,!0)},scopeSubtree:function(e,i){if(!t){var n=this,r=function(e){if(e.nodeType===Node.ELEMENT_NODE){var t=e.getAttribute("class");e.setAttribute("class",n._scopeElementClass(e,t));for(var i,r=e.querySelectorAll("*"),o=0;o<r.length&&(i=r[o]);o++)t=i.getAttribute("class"),i.setAttribute("class",n._scopeElementClass(i,t))}};if(r(e),i){var o=new MutationObserver(function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++)if(t.addedNodes)for(var n=0;n<t.addedNodes.length;n++)r(t.addedNodes[n])});return o.observe(e,{childList:!0,subtree:!0}),o}}}})}(),Polymer.StyleProperties=function(){"use strict";var e=Polymer.Settings.useNativeShadow,t=Polymer.DomApi.matchesSelector,i=Polymer.StyleUtil,n=Polymer.StyleTransformer;return{decorateStyles:function(e){var t=this,n={},r=[];i.forRulesInStyles(e,function(e){t.decorateRule(e),t.collectPropertiesInCssText(e.propertyInfo.cssText,n)},function(e){r.push(e)}),e._keyframes=r;var o=[];for(var s in n)o.push(s);return o},decorateRule:function(e){if(e.propertyInfo)return e.propertyInfo;var t={},i={};return this.collectProperties(e,i)&&(t.properties=i,e.rules=null),t.cssText=this.collectCssText(e),e.propertyInfo=t,t},collectProperties:function(e,t){var i=e.propertyInfo;if(!i){for(var n,r,o=this.rx.VAR_ASSIGN,s=e.parsedCssText;n=o.exec(s);)t[n[1]]=(n[2]||n[3]).trim(),r=!0;return r}if(i.properties)return Polymer.Base.mixin(t,i.properties),!0},collectCssText:function(e){return this.collectConsumingCssText(e.parsedCssText)},collectConsumingCssText:function(e){return e.replace(this.rx.BRACKETED,"").replace(this.rx.VAR_ASSIGN,"")},collectPropertiesInCssText:function(e,t){for(var i;i=this.rx.VAR_CAPTURE.exec(e);){t[i[1]]=!0;var n=i[2];n&&n.match(this.rx.IS_VAR)&&(t[n]=!0)}},reify:function(e){for(var t,i=Object.getOwnPropertyNames(e),n=0;n<i.length;n++)e[t=i[n]]=this.valueForProperty(e[t],e)},valueForProperty:function(e,t){if(e)if(e.indexOf(";")>=0)e=this.valueForProperties(e,t);else{var i=this;e=e.replace(this.rx.VAR_MATCH,function(e,n,r,o){return n+(i.valueForProperty(t[r],t)||(t[o]?i.valueForProperty(t[o],t):o)||"")})}return e&&e.trim()||""},valueForProperties:function(e,t){for(var i,n,r=e.split(";"),o=0;o<r.length;o++)if(i=r[o]){if(n=i.match(this.rx.MIXIN_MATCH))i=this.valueForProperty(t[n[1]],t);else{var s=i.indexOf(":");if(-1!==s){var a=i.substring(s);a=a.trim(),a=this.valueForProperty(a,t)||a,i=i.substring(0,s)+a}}r[o]=i&&i.lastIndexOf(";")===i.length-1?i.slice(0,-1):i||""}return r.join(";")},applyProperties:function(e,t){var i="";e.propertyInfo||this.decorateRule(e),e.propertyInfo.cssText&&(i=this.valueForProperties(e.propertyInfo.cssText,t)),e.cssText=i},applyKeyframeTransforms:function(e,t){var i=e.cssText,n=e.cssText;if(null==e.hasAnimations&&(e.hasAnimations=this.rx.ANIMATION_MATCH.test(i)),e.hasAnimations)if(null==e.keyframeNamesToTransform)for(var r in e.keyframeNamesToTransform=[],t)i!==(n=(0,t[r])(i))&&(i=n,e.keyframeNamesToTransform.push(r));else{for(var o=0;o<e.keyframeNamesToTransform.length;++o)i=(0,t[e.keyframeNamesToTransform[o]])(i);n=i}e.cssText=n},propertyDataFromStyles:function(e,n){var r={},o=this,s=[],a=0;return i.forRulesInStyles(e,function(e){e.propertyInfo||o.decorateRule(e),n&&e.propertyInfo.properties&&t.call(n,e.transformedSelector||e.parsedSelector)&&(o.collectProperties(e,r),function(e,t){var i=parseInt(e/32),n=1<<e%32;t[i]=(t[i]||0)|n}(a,s)),a++}),{properties:r,key:s}},scopePropertiesFromStyles:function(e){return e._scopeStyleProperties||(e._scopeStyleProperties=this.selectedPropertiesFromStyles(e,this.SCOPE_SELECTORS)),e._scopeStyleProperties},hostPropertiesFromStyles:function(e){return e._hostStyleProperties||(e._hostStyleProperties=this.selectedPropertiesFromStyles(e,this.HOST_SELECTORS)),e._hostStyleProperties},selectedPropertiesFromStyles:function(e,t){var n={},r=this;return i.forRulesInStyles(e,function(e){e.propertyInfo||r.decorateRule(e);for(var i=0;i<t.length;i++)if(e.parsedSelector===t[i])return void r.collectProperties(e,n)}),n},transformStyles:function(t,i,r){var o=this,s=n._calcHostScope(t.is,t.extends),a=t.extends?"\\"+s.slice(0,-1)+"\\]":s,l=new RegExp(this.rx.HOST_PREFIX+a+this.rx.HOST_SUFFIX),h=this._elementKeyframeTransforms(t,r);return n.elementStyles(t,function(n){o.applyProperties(n,i),e||Polymer.StyleUtil.isKeyframesSelector(n)||!n.cssText||(o.applyKeyframeTransforms(n,h),o._scopeSelector(n,l,s,t._scopeCssViaAttr,r))})},_elementKeyframeTransforms:function(t,i){var n=t._styles._keyframes,r={};if(!e&&n)for(var o=0,s=n[o];o<n.length;s=n[++o])this._scopeKeyframes(s,i),r[s.keyframesName]=this._keyframesRuleTransformer(s);return r},_keyframesRuleTransformer:function(e){return function(t){return t.replace(e.keyframesNameRx,e.transformedKeyframesName)}},_scopeKeyframes:function(e,t){e.keyframesNameRx=new RegExp(e.keyframesName,"g"),e.transformedKeyframesName=e.keyframesName+"-"+t,e.transformedSelector=e.transformedSelector||e.selector,e.selector=e.transformedSelector.replace(e.keyframesName,e.transformedKeyframesName)},_scopeSelector:function(e,t,i,r,o){e.transformedSelector=e.transformedSelector||e.selector;for(var s,a=e.transformedSelector,l=r?"["+n.SCOPE_NAME+"~="+o+"]":"."+o,h=a.split(","),c=0,u=h.length;c<u&&(s=h[c]);c++)h[c]=s.match(t)?s.replace(i,l):l+" "+s;e.selector=h.join(",")},applyElementScopeSelector:function(e,t,i,r){var o=r?e.getAttribute(n.SCOPE_NAME):e.getAttribute("class")||"",s=i?o.replace(i,t):(o?o+" ":"")+this.XSCOPE_NAME+" "+t;o!==s&&(r?e.setAttribute(n.SCOPE_NAME,s):e.setAttribute("class",s))},applyElementStyle:function(t,n,r,o){var s=o?o.textContent||"":this.transformStyles(t,n,r),a=t._customStyle;return a&&!e&&a!==o&&(a._useCount--,a._useCount<=0&&a.parentNode&&a.parentNode.removeChild(a)),!e&&o&&o.parentNode||(e&&t._customStyle?(t._customStyle.textContent=s,o=t._customStyle):s&&(o=i.applyCss(s,r,e?t.root:null,t._scopeStyle))),o&&(o._useCount=o._useCount||0,t._customStyle!=o&&o._useCount++,t._customStyle=o),o},mixinCustomStyle:function(e,t){var i;for(var n in t)((i=t[n])||0===i)&&(e[n]=i)},rx:{VAR_ASSIGN:/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:([^;{]*)|{([^}]*)})(?:(?=[;\s}])|$)/gi,MIXIN_MATCH:/(?:^|\W+)@apply[\s]*\(([^)]*)\)/i,VAR_MATCH:/(^|\W+)var\([\s]*([^,)]*)[\s]*,?[\s]*((?:[^,()]*)|(?:[^;()]*\([^;)]*\)))[\s]*?\)/gi,VAR_CAPTURE:/\([\s]*(--[^,\s)]*)(?:,[\s]*(--[^,\s)]*))?(?:\)|,)/gi,ANIMATION_MATCH:/(animation\s*:)|(animation-name\s*:)/,IS_VAR:/^--/,BRACKETED:/\{[^}]*\}/g,HOST_PREFIX:"(?:^|[^.#[:])",HOST_SUFFIX:"($|[.:[\\s>+~])"},HOST_SELECTORS:[":host"],SCOPE_SELECTORS:[":root"],XSCOPE_NAME:"x-scope"}}(),Polymer.StyleCache=function(){this.cache={}},Polymer.StyleCache.prototype={MAX:100,store:function(e,t,i,n){t.keyValues=i,t.styles=n;var r=this.cache[e]=this.cache[e]||[];r.push(t),r.length>this.MAX&&r.shift()},retrieve:function(e,t,i){var n=this.cache[e];if(n)for(var r,o=n.length-1;o>=0;o--)if(i===(r=n[o]).styles&&this._objectsEqual(t,r.keyValues))return r},clear:function(){this.cache={}},_objectsEqual:function(e,t){var i,n;for(var r in e)if(i=e[r],n=t[r],!("object"==typeof i&&i?this._objectsStrictlyEqual(i,n):i===n))return!1;return!Array.isArray(e)||e.length===t.length},_objectsStrictlyEqual:function(e,t){return this._objectsEqual(e,t)&&this._objectsEqual(t,e)}},Polymer.StyleDefaults=function(){var e=Polymer.StyleProperties;return{_styles:[],_properties:null,customStyle:{},_styleCache:new(0,Polymer.StyleCache),addStyle:function(e){this._styles.push(e),this._properties=null},get _styleProperties(){return this._properties||(e.decorateStyles(this._styles),this._styles._scopeStyleProperties=null,this._properties=e.scopePropertiesFromStyles(this._styles),e.mixinCustomStyle(this._properties,this.customStyle),e.reify(this._properties)),this._properties},_needsStyleProperties:function(){},_computeStyleProperties:function(){return this._styleProperties},updateStyles:function(e){this._properties=null,e&&Polymer.Base.mixin(this.customStyle,e),this._styleCache.clear();for(var t,i=0;i<this._styles.length;i++)(t=(t=this._styles[i]).__importElement||t)._apply()}}}(),function(){"use strict";var e=Polymer.Base.serializeValueToAttribute,t=Polymer.StyleProperties,i=Polymer.StyleTransformer,n=Polymer.StyleDefaults,r=Polymer.Settings.useNativeShadow;Polymer.Base._addFeature({_prepStyleProperties:function(){this._ownStylePropertyNames=this._styles&&this._styles.length?t.decorateStyles(this._styles):null},customStyle:null,getComputedStyleValue:function(e){return this._styleProperties&&this._styleProperties[e]||getComputedStyle(this).getPropertyValue(e)},_setupStyleProperties:function(){this.customStyle={},this._styleCache=null,this._styleProperties=null,this._scopeSelector=null,this._ownStyleProperties=null,this._customStyle=null},_needsStyleProperties:function(){return Boolean(this._ownStylePropertyNames&&this._ownStylePropertyNames.length)},_beforeAttached:function(){!this._scopeSelector&&this._needsStyleProperties()&&this._updateStyleProperties()},_findStyleHost:function(){for(var e,t=this;e=Polymer.dom(t).getOwnerRoot();){if(Polymer.isInstance(e.host))return e.host;t=e.host}return n},_updateStyleProperties:function(){var e,i=this._findStyleHost();i._styleCache||(i._styleCache=new Polymer.StyleCache);var n=t.propertyDataFromStyles(i._styles,this);n.key.customStyle=this.customStyle,e=i._styleCache.retrieve(this.is,n.key,this._styles);var s=Boolean(e);s?this._styleProperties=e._styleProperties:this._computeStyleProperties(n.properties),this._computeOwnStyleProperties(),s||(e=o.retrieve(this.is,this._ownStyleProperties,this._styles));var a=Boolean(e)&&!s,l=this._applyStyleProperties(e);s||(e={style:l=l&&r?l.cloneNode(!0):l,_scopeSelector:this._scopeSelector,_styleProperties:this._styleProperties},n.key.customStyle={},this.mixin(n.key.customStyle,this.customStyle),i._styleCache.store(this.is,e,n.key,this._styles),a||o.store(this.is,Object.create(e),this._ownStyleProperties,this._styles))},_computeStyleProperties:function(e){var i=this._findStyleHost();i._styleProperties||i._computeStyleProperties();var n=Object.create(i._styleProperties);this.mixin(n,t.hostPropertiesFromStyles(this._styles)),e=e||t.propertyDataFromStyles(i._styles,this).properties,this.mixin(n,e),this.mixin(n,t.scopePropertiesFromStyles(this._styles)),t.mixinCustomStyle(n,this.customStyle),t.reify(n),this._styleProperties=n},_computeOwnStyleProperties:function(){for(var e,t={},i=0;i<this._ownStylePropertyNames.length;i++)t[e=this._ownStylePropertyNames[i]]=this._styleProperties[e];this._ownStyleProperties=t},_scopeCount:0,_applyStyleProperties:function(e){var i=this._scopeSelector;this._scopeSelector=e?e._scopeSelector:this.is+"-"+this.__proto__._scopeCount++;var n=t.applyElementStyle(this,this._styleProperties,this._scopeSelector,e&&e.style);return r||t.applyElementScopeSelector(this,this._scopeSelector,i,this._scopeCssViaAttr),n},serializeValueToAttribute:function(t,i,n){if(n=n||this,"class"===i&&!r){var o=n===this?this.domHost||this.dataHost:this;o&&(t=o._scopeElementClass(n,t))}n=this.shadyRoot&&this.shadyRoot._hasDistributed?Polymer.dom(n):n,e.call(this,t,i,n)},_scopeElementClass:function(e,t){return r||this._scopeCssViaAttr||(t=(t?t+" ":"")+s+" "+this.is+(e._scopeSelector?" "+a+" "+e._scopeSelector:"")),t},updateStyles:function(e){this.isAttached&&(e&&this.mixin(this.customStyle,e),this._needsStyleProperties()?this._updateStyleProperties():this._styleProperties=null,this._styleCache&&this._styleCache.clear(),this._updateRootStyles())},_updateRootStyles:function(e){e=e||this.root;for(var t,i=Polymer.dom(e)._query(function(e){return e.shadyRoot||e.shadowRoot}),n=0,r=i.length;n<r&&(t=i[n]);n++)t.updateStyles&&t.updateStyles()}}),Polymer.updateStyles=function(e){n.updateStyles(e),Polymer.Base._updateRootStyles(document)};var o=new Polymer.StyleCache;Polymer.customStyleCache=o;var s=i.SCOPE_NAME,a=t.XSCOPE_NAME}(),Polymer.Base._addFeature({_registerFeatures:function(){this._prepIs(),this._prepConstructor(),this._prepStyles()},_finishRegisterFeatures:function(){this._prepTemplate(),this._prepShimStyles(),this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepPropertyInfo(),this._prepBindings(),this._prepShady()},_prepBehavior:function(e){this._addPropertyEffects(e.properties),this._addComplexObserverEffects(e.observers),this._addHostAttributes(e.hostAttributes)},_initFeatures:function(){this._setupGestures(),this._setupConfigure(),this._setupStyleProperties(),this._setupDebouncers(),this._setupShady(),this._registerHost(),this._template&&(this._poolContent(),this._beginHosting(),this._stampTemplate(),this._endHosting(),this._marshalAnnotationReferences()),this._marshalInstanceEffects(),this._marshalBehaviors(),this._marshalHostAttributes(),this._marshalAttributes(),this._tryReady()},_marshalBehavior:function(e){e.listeners&&this._listenListeners(e.listeners)}}),function(){var e=Polymer.Base._tryReady;Polymer.Base._tryReady=function(){if(this.is&&this.hasAttribute("lazy-bind")||this.dataHost&&this.dataHost.lazyChildren)for(var t in this._propertyEffects)if(this.hasOwnProperty(t)){var i=this[t];delete this[t],this._config[t]=i}e.apply(this,arguments)},Polymer.LightDomBindingBehavior={lazyChildren:!0,_initFeatures:function(){this._beginHosting(),this.root=this,this._template=this,this._content=this,this._notes=null,this._prepAnnotations(),this._prepEffects(),this._prepBindings(),this._setupConfigure(),this._marshalAnnotationReferences(),this._marshalInstanceEffects(),this._tryReady()}}}(),Polymer({extends:"body",is:"body-bind",behaviors:[Polymer.LightDomBindingBehavior]}),function(){var e=Polymer.StyleProperties,t=Polymer.StyleUtil,i=Polymer.CssParse,n=Polymer.StyleDefaults,r=Polymer.StyleTransformer;Polymer({is:"custom-style",extends:"style",_template:null,properties:{include:String},ready:function(){this._tryApply()},attached:function(){this._tryApply()},_tryApply:function(){if(!this._appliesToDocument&&this.parentNode&&"dom-module"!==this.parentNode.localName){this._appliesToDocument=!0;var e=this.__appliedElement||this;if(n.addStyle(e),e.textContent||this.include)this._apply(!0);else{var t=this,i=new MutationObserver(function(){i.disconnect(),t._apply(!0)});i.observe(e,{childList:!0})}}},_apply:function(e){var i=this.__appliedElement||this;if(this.include&&(i.textContent=t.cssFromModules(this.include,!0)+i.textContent),i.textContent){t.forEachRule(t.rulesForStyle(i),function(e){r.documentRule(e)});var n=this,o=function(){n._applyCustomProperties(i)};this._pendingApplyProperties&&(cancelAnimationFrame(this._pendingApplyProperties),this._pendingApplyProperties=null),e?this._pendingApplyProperties=requestAnimationFrame(o):o()}},_applyCustomProperties:function(n){this._computeStyleProperties();var r=this._styleProperties,o=t.rulesForStyle(n);n.textContent=t.toCssText(o,function(t){var n=t.cssText=t.parsedCssText;t.propertyInfo&&t.propertyInfo.cssText&&(n=i.removeCustomPropAssignment(n),t.cssText=e.valueForProperties(n,r))})}})}(),Polymer.Templatizer={properties:{__hideTemplateChildren__:{observer:"_showHideChildren"}},_instanceProps:Polymer.nob,_parentPropPrefix:"_parent_",templatize:function(e){if(this._templatized=e,e._content||(e._content=e.content),e._content._ctor)return this.ctor=e._content._ctor,void this._prepParentProperties(this.ctor.prototype,e);var t=Object.create(Polymer.Base);this._customPrepAnnotations(t,e),this._prepParentProperties(t,e),t._prepEffects(),this._customPrepEffects(t),t._prepBehaviors(),t._prepPropertyInfo(),t._prepBindings(),t._notifyPathUp=this._notifyPathUpImpl,t._scopeElementClass=this._scopeElementClassImpl,t.listen=this._listenImpl,t._showHideChildren=this._showHideChildrenImpl,t.__setPropertyOrig=this.__setProperty,t.__setProperty=this.__setPropertyImpl;var i=this._constructorImpl,n=function(e,t){i.call(this,e,t)};n.prototype=t,t.constructor=n,e._content._ctor=n,this.ctor=n},_getRootDataHost:function(){return this.dataHost&&this.dataHost._rootDataHost||this.dataHost},_showHideChildrenImpl:function(e){for(var t=this._children,i=0;i<t.length;i++){var n=t[i];Boolean(e)!=Boolean(n.__hideTemplateChildren__)&&(n.nodeType===Node.TEXT_NODE?e?(n.__polymerTextContent__=n.textContent,n.textContent=""):n.textContent=n.__polymerTextContent__:n.style&&(e?(n.__polymerDisplay__=n.style.display,n.style.display="none"):n.style.display=n.__polymerDisplay__)),n.__hideTemplateChildren__=e}},__setPropertyImpl:function(e,t,i,n){n&&n.__hideTemplateChildren__&&"textContent"==e&&(e="__polymerTextContent__"),this.__setPropertyOrig(e,t,i,n)},_debounceTemplate:function(e){Polymer.dom.addDebouncer(this.debounce("_debounceTemplate",e))},_flushTemplates:function(){Polymer.dom.flush()},_customPrepEffects:function(e){var t=e._parentProps;for(var i in t)e._addPropertyEffect(i,"function",this._createHostPropEffector(i));for(i in this._instanceProps)e._addPropertyEffect(i,"function",this._createInstancePropEffector(i))},_customPrepAnnotations:function(e,t){e._template=t;var i=t._content;if(!i._notes){var n=e._rootDataHost;n&&(Polymer.Annotations.prepElement=function(){n._prepElement()}),i._notes=Polymer.Annotations.parseAnnotations(t),Polymer.Annotations.prepElement=null,this._processAnnotations(i._notes)}e._notes=i._notes,e._parentProps=i._parentProps},_prepParentProperties:function(e,t){var i=this._parentProps=e._parentProps;if(this._forwardParentProp&&i){var n,r=e._parentPropProto;if(!r){for(n in this._instanceProps)delete i[n];for(n in r=e._parentPropProto=Object.create(null),t!=this&&(Polymer.Bind.prepareModel(r),Polymer.Base.prepareModelNotifyPath(r)),i){var o=this._parentPropPrefix+n,s=[{kind:"function",effect:this._createForwardPropEffector(n),fn:Polymer.Bind._functionEffect},{kind:"notify",fn:Polymer.Bind._notifyEffect,effect:{event:Polymer.CaseMap.camelToDashCase(o)+"-changed"}}];Polymer.Bind._createAccessors(r,o,s)}}var a=this;t!=this&&(Polymer.Bind.prepareInstance(t),t._forwardParentProp=function(e,t){a._forwardParentProp(e,t)}),this._extendTemplate(t,r),t._pathEffector=function(e,t,i){return a._pathEffectorImpl(e,t,i)}}},_createForwardPropEffector:function(e){return function(t,i){this._forwardParentProp(e,i)}},_createHostPropEffector:function(e){var t=this._parentPropPrefix;return function(i,n){this.dataHost._templatized[t+e]=n}},_createInstancePropEffector:function(e){return function(t,i,n,r){r||this.dataHost._forwardInstanceProp(this,e,i)}},_extendTemplate:function(e,t){var i=Object.getOwnPropertyNames(t);t._propertySetter&&(e._propertySetter=t._propertySetter);for(var n,r=0;r<i.length&&(n=i[r]);r++){var o=e[n],s=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,s),void 0!==o&&e._propertySetter(n,o)}},_showHideChildren:function(e){},_forwardInstancePath:function(e,t,i){},_forwardInstanceProp:function(e,t,i){},_notifyPathUpImpl:function(e,t){var i=this.dataHost,n=e.indexOf("."),r=n<0?e:e.slice(0,n);i._forwardInstancePath.call(i,this,e,t),r in i._parentProps&&i._templatized._notifyPath(i._parentPropPrefix+e,t)},_pathEffectorImpl:function(e,t,i){if(this._forwardParentPath&&0===e.indexOf(this._parentPropPrefix)){var n=e.substring(this._parentPropPrefix.length);this._modelForPath(n)in this._parentProps&&this._forwardParentPath(n,t)}Polymer.Base._pathEffector.call(this._templatized,e,t,i)},_constructorImpl:function(e,t){this._rootDataHost=t._getRootDataHost(),this._setupConfigure(e),this._registerHost(t),this._beginHosting(),this.root=this.instanceTemplate(this._template),this.root.__noContent=!this._notes._hasContent,this.root.__styleScoped=!0,this._endHosting(),this._marshalAnnotatedNodes(),this._marshalInstanceEffects(),this._marshalAnnotatedListeners();for(var i=[],n=this.root.firstChild;n;n=n.nextSibling)i.push(n),n._templateInstance=this;this._children=i,t.__hideTemplateChildren__&&this._showHideChildren(!0),this._tryReady()},_listenImpl:function(e,t,i){var n=this,r=this._rootDataHost,o=r._createEventHandler(e,t,i);r._listen(e,t,function(e){e.model=n,o(e)})},_scopeElementClassImpl:function(e,t){var i=this._rootDataHost;return i?i._scopeElementClass(e,t):t},stamp:function(e){if(e=e||{},this._parentProps){var t=this._templatized;for(var i in this._parentProps)void 0===e[i]&&(e[i]=t[this._parentPropPrefix+i])}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.parentNode}},Polymer({is:"dom-template",extends:"template",_template:null,behaviors:[Polymer.Templatizer],ready:function(){this.templatize(this)}}),Polymer._collections=new WeakMap,Polymer.Collection=function(e){Polymer._collections.set(e,this),this.userArray=e,this.store=e.slice(),this.initMap()},Polymer.Collection.prototype={constructor:Polymer.Collection,initMap:function(){for(var e=this.omap=new WeakMap,t=this.pmap={},i=this.store,n=0;n<i.length;n++){var r=i[n];r&&"object"==typeof r?e.set(r,n):t[r]=n}},add:function(e){var t=this.store.push(e)-1;return e&&"object"==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 this.pmap[e]},remove:function(e){var t=this.getKey(e);return this.removeKey(t),t},getKey:function(e){var t;if(void 0!=(t=e&&"object"==typeof e?this.omap.get(e):this.pmap[e]))return"#"+t},getKeys:function(){return Object.keys(this.store).map(function(e){return"#"+e})},_parseKey:function(e){if(e&&"#"==e[0])return e.slice(1)},setItem:function(e,t){if(e=this._parseKey(e)){var i=this.store[e];i&&this._removeFromMap(i),t&&"object"==typeof t?this.omap.set(t,e):this.pmap[t]=e,this.store[e]=t}},getItem:function(e){if(e=this._parseKey(e))return this.store[e]},getItems:function(){var e=[],t=this.store;for(var i in t)e.push(t[i]);return e},_applySplices:function(e){for(var t,i,n={},r=0;r<e.length&&(i=e[r]);r++){i.addedKeys=[];for(var o=0;o<i.removed.length;o++)n[t=this.getKey(i.removed[o])]=n[t]?null:-1;for(o=0;o<i.addedCount;o++){var s=this.userArray[i.index+o];n[t=void 0===(t=this.getKey(s))?this.add(s):t]=n[t]?null:1,i.addedKeys.push(t)}}var a=[],l=[];for(t in n)n[t]<0&&(this.removeKey(t),a.push(t)),n[t]>0&&l.push(t);return[{removed:a,added:l}]}},Polymer.Collection.get=function(e){return Polymer._collections.get(e)||new Polymer.Collection(e)},Polymer.Collection.applySplices=function(e,t){var i=Polymer._collections.get(e);return i?i._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:Function,observer:"_sortChanged"},filter:{type:Function,observer:"_filterChanged"},observe:{type:String,observer:"_observeChanged"},delay:Number,renderedItemCount:{type:Number,notify:!0,readOnly:!0},initialCount:{type:Number,observer:"_initializeChunking"},targetFramerate:{type:Number,value:20},_targetFrameTime:{type:Number,computed:"_computeFrameTime(targetFramerate)"}},behaviors:[Polymer.Templatizer],observers:["_itemsChanged(items.*)"],created:function(){this._instances=[],this._pool=[],this._limit=Infinity;var e=this;this._boundRenderChunk=function(){e._renderChunk()}},detached:function(){this.__isDetached=!0;for(var e=0;e<this._instances.length;e++)this._detachInstance(e)},attached:function(){if(this.__isDetached){this.__isDetached=!1;for(var e=Polymer.dom(Polymer.dom(this).parentNode),t=0;t<this._instances.length;t++)this._attachInstance(t,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._getRootDataHost();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._filterFn=e&&("function"==typeof e?e:function(){return t[e].apply(t,arguments)}),this._needFullRefresh=!0,this.items&&this._debounceTemplate(this._render)},_computeFrameTime:function(e){return Math.ceil(1e3/e)},_initializeChunking:function(){this.initialCount&&(this._limit=this.initialCount,this._chunkCount=this.initialCount,this._lastChunkTime=performance.now())},_tryRenderChunk:function(){this.items&&this._limit<this.items.length&&this.debounce("renderChunk",this._requestRenderChunk)},_requestRenderChunk:function(){requestAnimationFrame(this._boundRenderChunk)},_renderChunk:function(){var e=performance.now(),t=this._targetFrameTime/(e-this._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._needFullRefresh=!0,this._initializeChunking(),this._debounceTemplate(this._render);else if("items.splices"==e.path)this._keySplices=this._keySplices.concat(e.value.keySplices),this._indexSplices=this._indexSplices.concat(e.value.indexSplices),this._debounceTemplate(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,i=0;i<t.length;i++)if(0===e.indexOf(t[i]))return this._needFullRefresh=!0,void(this.delay?this.debounce("render",this._render,this.delay):this._debounceTemplate(this._render))}},render:function(){this._needFullRefresh=!0,this._debounceTemplate(this._render),this._flushTemplates()},_render:function(){this._needFullRefresh?(this._applyFullRefresh(),this._needFullRefresh=!1):this._keySplices.length&&(this._sortFn?this._applySplicesUserSort(this._keySplices):this._filterFn?this._applyFullRefresh():this._applySplicesArrayOrder(this._indexSplices)),this._keySplices=[],this._indexSplices=[];for(var e=this._keyToInstIdx={},t=this._instances.length-1;t>=0;t--){var i=this._instances[t];i.isPlaceholder&&t<this._limit?i=this._insertInstance(t,i.__key__):!i.isPlaceholder&&t>=this._limit&&(i=this._downgradeInstance(t,i.__key__)),e[i.__key__]=t,i.isPlaceholder||i.__setProperty(this.indexAs,t,!0)}this._pool.length=0,this._setRenderedItemCount(this._instances.length),this.fire("dom-change"),this._tryRenderChunk()},_applyFullRefresh:function(){var e,t=this.collection;if(this._sortFn)e=t?t.getKeys():[];else{e=[];var i=this.items;if(i)for(var n=0;n<i.length;n++)e.push(t.getKey(i[n]))}var r=this;for(this._filterFn&&(e=e.filter(function(e){return r._filterFn(t.getItem(e))})),this._sortFn&&e.sort(function(e,i){return r._sortFn(t.getItem(e),t.getItem(i))}),n=0;n<e.length;n++){var o=e[n],s=this._instances[n];s?(s.__key__=o,!s.isPlaceholder&&n<this._limit&&s.__setProperty(this.as,t.getItem(o),!0)):n<this._limit?this._insertInstance(n,o):this._insertPlaceholder(n,o)}for(var a=this._instances.length-1;a>=n;a--)this._detachAndRemoveInstance(a)},_numericSort:function(e,t){return e-t},_applySplicesUserSort:function(e){for(var t,i,n=this.collection,r={},o=0;o<e.length&&(i=e[o]);o++){for(var s=0;s<i.removed.length;s++)r[t=i.removed[s]]=r[t]?null:-1;for(s=0;s<i.added.length;s++)r[t=i.added[s]]=r[t]?null:1}var a=[],l=[];for(t in r)-1===r[t]&&a.push(this._keyToInstIdx[t]),1===r[t]&&l.push(t);if(a.length)for(a.sort(this._numericSort),o=a.length-1;o>=0;o--){var h=a[o];void 0!==h&&this._detachAndRemoveInstance(h)}var c=this;if(l.length){this._filterFn&&(l=l.filter(function(e){return c._filterFn(n.getItem(e))})),l.sort(function(e,t){return c._sortFn(n.getItem(e),n.getItem(t))});var u=0;for(o=0;o<l.length;o++)u=this._insertRowUserSort(u,l[o])}},_insertRowUserSort:function(e,t){for(var i=this.collection,n=i.getItem(t),r=this._instances.length-1,o=-1;e<=r;){var s=e+r>>1,a=this._instances[s].__key__,l=this._sortFn(i.getItem(a),n);if(l<0)e=s+1;else{if(!(l>0)){o=s;break}r=s-1}}return o<0&&(o=r+1),this._insertPlaceholder(o,t),o},_applySplicesArrayOrder:function(e){for(var t,i=0;i<e.length&&(t=e[i]);i++){for(var n=0;n<t.removed.length;n++)this._detachAndRemoveInstance(t.index);for(n=0;n<t.addedKeys.length;n++)this._insertPlaceholder(t.index+n,t.addedKeys[n])}},_detachInstance:function(e){var t=this._instances[e];if(!t.isPlaceholder){for(var i=0;i<t._children.length;i++){var n=t._children[i];Polymer.dom(t.root).appendChild(n)}return t}},_attachInstance:function(e,t){var i=this._instances[e];i.isPlaceholder||t.insertBefore(i.root,this)},_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:function(e,t){var i={__key__:t};return i[this.as]=this.collection.getItem(t),i[this.indexAs]=e,this.stamp(i)},_insertInstance:function(e,t){var i=this._pool.pop();i?(i.__setProperty(this.as,this.collection.getItem(t),!0),i.__setProperty("__key__",t,!0)):i=this._stampInstance(e,t);var n=this._instances[e+1],r=n&&!n.isPlaceholder?n._children[0]:this,o=Polymer.dom(this).parentNode;return Polymer.dom(o).insertBefore(i.root,r),this._instances[e]=i,i},_downgradeInstance:function(e,t){var i=this._detachInstance(e);return i&&this._pool.push(i),i={isPlaceholder:!0,__key__:t},this._instances[e]=i,i},_showHideChildren:function(e){for(var t=0;t<this._instances.length;t++)this._instances[t]._showHideChildren(e)},_forwardInstanceProp:function(e,t,i){var n;t==this.as&&(n=this._sortFn||this._filterFn?this.items.indexOf(this.collection.getItem(e.__key__)):e[this.indexAs],this.set("items."+n,i))},_forwardInstancePath:function(e,t,i){0===t.indexOf(this.as+".")&&this._notifyPath("items."+e.__key__+"."+t.slice(this.as.length+1),i)},_forwardParentProp:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i.__setProperty(e,t,!0)},_forwardParentPath:function(e,t){for(var i,n=this._instances,r=0;r<n.length&&(i=n[r]);r++)i.isPlaceholder||i._notifyPath(e,t,!0)},_forwardItemPath:function(e,t){if(this._keyToInstIdx){var i=e.indexOf("."),n=e.substring(0,i<0?e.length:i),r=this._keyToInstIdx[n],o=this._instances[r];o&&!o.isPlaceholder&&(i>=0?(e=this.as+"."+e.substring(i+1),o._notifyPath(e,t,!0)):o.__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-selector",_template:null,properties:{items:{type:Array,observer:"clearSelection"},multi:{type:Boolean,value:!1,observer:"clearSelection"},selected:{type:Object,notify:!0},selectedItem:{type:Object,notify:!0},toggle:{type:Boolean,value:!1}},clearSelection:function(){if(Array.isArray(this.selected))for(var e=0;e<this.selected.length;e++)this.unlinkPaths("selected."+e);else this.unlinkPaths("selected"),this.unlinkPaths("selectedItem");this.multi?this.selected&&!this.selected.length||(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.selected==e},deselect:function(e){if(this.multi){if(this.isSelected(e)){var t=this._selectedColl.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.get(this.items).getKey(e);if(this.multi)if(this.isSelected(e))this.toggle&&this.deselect(e);else{this.push("selected",e);var i=this._selectedColl.getKey(e);this.linkPaths("selected."+i,"items."+t)}else this.toggle&&e==this.selected?this.deselect():(this.selected=e,this.selectedItem=e,this.linkPaths("selected","items."+t),this.linkPaths("selectedItem","items."+t))}}),Polymer({is:"dom-if",extends:"template",_template:null,properties:{if:{type:Boolean,value:!1,observer:"_queueRender"},restamp:{type:Boolean,value:!1,observer:"_queueRender"}},behaviors:[Polymer.Templatizer],_queueRender:function(){this._debounceTemplate(this._render)},detached:function(){this.parentNode&&(this.parentNode.nodeType!=Node.DOCUMENT_FRAGMENT_NODE||Polymer.Settings.hasShadow&&this.parentNode instanceof ShadowRoot)||this._teardownInstance()},attached:function(){this.if&&this.ctor&&this.async(this._ensureInstance)},render:function(){this._flushTemplates()},_render:function(){this.if?(this.ctor||this.templatize(this),this._ensureInstance(),this._showHideChildren()):this.restamp&&this._teardownInstance(),!this.restamp&&this._instance&&this._showHideChildren(),this.if!=this._lastIf&&(this.fire("dom-change"),this._lastIf=this.if)},_ensureInstance:function(){var e=Polymer.dom(this).parentNode;if(e){var t=Polymer.dom(e);if(this._instance){var i=this._instance._children;if(i&&i.length&&Polymer.dom(this).previousSibling!==i[i.length-1])for(var n,r=0;r<i.length&&(n=i[r]);r++)t.insertBefore(n,this)}else{this._instance=this.stamp();var o=this._instance.root;t.insertBefore(o,this)}}},_teardownInstance:function(){if(this._instance){var e=this._instance._children;if(e&&e.length)for(var t,i=Polymer.dom(Polymer.dom(e[0]).parentNode),n=0;n<e.length&&(t=e[n]);n++)i.removeChild(t);this._instance=null}},_showHideChildren:function(){var e=this.__hideTemplateChildren__||!this.if;this._instance&&this._instance._showHideChildren(e)},_forwardParentProp:function(e,t){this._instance&&(this._instance[e]=t)},_forwardParentPath:function(e,t){this._instance&&this._instance._notifyPath(e,t,!0)}}),Polymer({is:"dom-bind",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._readied||this._readySelf()},_markImportsReady:function(){this._importsReady=!0,this._ensureReady()},_registerFeatures:function(){this._prepConstructor()},_insertChildren:function(){Polymer.dom(Polymer.dom(this).parentNode).insertBefore(this.root,this)},_removeChildren:function(){if(this._children)for(var e=0;e<this._children.length;e++)this.root.appendChild(this._children[e])},_initFeatures:function(){},_scopeElementClass:function(e,t){return this.dataHost?this.dataHost._scopeElementClass(e,t):t},_prepConfigure:function(){var e={};for(var t in this._propertyEffects)e[t]=this[t];var i=this._setupConfigure;this._setupConfigure=function(){i.call(this,e)}},attached:function(){this._importsReady&&this.render()},detached:function(){this._removeChildren()},render:function(){this._ensureReady(),this._children||(this._template=this,this._prepAnnotations(),this._prepEffects(),this._prepBehaviors(),this._prepConfigure(),this._prepBindings(),this._prepPropertyInfo(),Polymer.Base._initFeatures.call(this),this._children=Polymer.TreeApi.arrayCopyChildNodes(this.root)),this._insertChildren(),this.fire("dom-change")}}),function(){var e={},t={},i=null;Polymer.IronMeta=Polymer({is:"iron-meta",properties:{type:{type:String,value:"default",observer:"_typeChanged"},key:{type:String,observer:"_keyChanged"},value:{type:Object,notify:!0,observer:"_valueChanged"},self:{type:Boolean,observer:"_selfChanged"},list:{type:Array,notify:!0}},hostAttributes:{hidden:!0},factoryImpl:function(e){if(e)for(var t in e)switch(t){case"type":case"key":case"value":this[t]=e[t]}},created:function(){this._metaDatas=e,this._metaArrays=t},_keyChanged:function(e,t){this._resetRegistration(t)},_valueChanged:function(e){this._resetRegistration(this.key)},_selfChanged:function(e){e&&(this.value=this)},_typeChanged:function(i){this._unregisterKey(this.key),e[i]||(e[i]={}),this._metaData=e[i],t[i]||(t[i]=[]),this.list=t[i],this._registerKeyValue(this.key,this.value)},byKey:function(e){return this._metaData&&this._metaData[e]},_resetRegistration:function(e){this._unregisterKey(e),this._registerKeyValue(this.key,this.value)},_unregisterKey:function(e){this._unregister(e,this._metaData,this.list)},_registerKeyValue:function(e,t){this._register(e,t,this._metaData,this.list)},_register:function(e,t,i,n){e&&i&&void 0!==t&&(i[e]=t,n.push(t))},_unregister:function(e,t,i){if(e&&t&&e in t){var n=t[e];delete t[e],this.arrayDelete(i,n)}}}),Polymer.IronMeta.getIronMeta=function(){return null===i&&(i=new Polymer.IronMeta),i},Polymer.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}},factoryImpl: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:function(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]}})}(),Polymer({is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:Polymer.Base.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Polymer.dom(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.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))}}),Polymer({is:"iron-iconset-svg",properties:{name:{type:String,observer:"_nameChanged"},size:{type:Number,value:24},rtlMirroring:{type:Boolean,value:!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.removeIcon(e);var i=this._cloneIcon(t,this.rtlMirroring&&this._targetIsRTL(e));if(i){var n=Polymer.dom(e);return n.insertBefore(i,n.childNodes[0]),e._svgIcon=i}return null},removeIcon:function(e){(e=e.root||e)._svgIcon&&(Polymer.dom(e).removeChild(e._svgIcon),e._svgIcon=null)},_targetIsRTL:function(e){return null==this.__targetIsRTL&&(e&&e.nodeType!==Node.ELEMENT_NODE&&(e=e.host),this.__targetIsRTL=e&&"rtl"===window.getComputedStyle(e).direction),this.__targetIsRTL},_nameChanged:function(){new Polymer.IronMeta({type:"iconset",key:this.name,value:this}),this.async(function(){this.fire("iron-iconset-added",this,{node:window})})},_createIconMap:function(){var e=Object.create(null);return Polymer.dom(this).querySelectorAll("[id]").forEach(function(t){e[t.id]=t}),e},_cloneIcon:function(e,t){return this._icons=this._icons||this._createIconMap(),this._prepareSvgClone(this._icons[e],this.size,t)},_prepareSvgClone:function(e,t,i){if(e){var n=e.cloneNode(!0),r=document.createElementNS("http://www.w3.org/2000/svg","svg"),o=n.getAttribute("viewBox")||"0 0 "+t+" "+t,s="pointer-events: none; display: block; width: 100%; height: 100%;";return i&&n.hasAttribute("mirror-in-rtl")&&(s+="-webkit-transform:scale(-1,1);transform:scale(-1,1);"),r.setAttribute("viewBox",o),r.setAttribute("preserveAspectRatio","xMidYMid meet"),r.style.cssText=s,r.appendChild(n).removeAttribute("id"),r}return null}}),function(){"use strict";var e={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},t={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:"*"},i={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},n=/[a-z0-9*]/,r=/U\+/,o=/^arrow/,s=/^space(bar)?/,a=/^escape$/;function l(e,t){var i="";if(e){var r=e.toLowerCase();" "===r||s.test(r)?i="space":a.test(r)?i="esc":1==r.length?t&&!n.test(r)||(i=r):i=o.test(r)?r.replace("arrow",""):"multiply"==r?"*":r}return i}function h(i,n){return o=n,s=i.hasModifiers,(o.key?l(o.key,s):o.detail&&o.detail.key?l(o.detail.key,s):(h="",(a=o.keyIdentifier)&&(a in e?h=e[a]:r.test(a)?(a=parseInt(a.replace("U+","0x"),16),h=String.fromCharCode(a).toLowerCase()):h=a.toLowerCase()),h||function(e){var i="";return Number(e)&&(i=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):t[e]),i}(o.keyCode)||""))===i.key&&(!i.hasModifiers||!!n.shiftKey==!!i.shiftKey&&!!n.ctrlKey==!!i.ctrlKey&&!!n.altKey==!!i.altKey&&!!n.metaKey==!!i.metaKey);var o,s,a,h}function c(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),r=n[0],o=n[1];return r in i?(e[i[r]]=!0,e.hasModifiers=!0):(e.key=r,e.event=o||"keydown"),e},{combo:e.split(":").shift()})}(e)})}Polymer.IronA11yKeysBehavior={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var i=c(t),n=0;n<i.length;++n)if(h(i[n],e))return!0;return!1},_collectKeyBindings:function(){var e=this.behaviors.map(function(e){return e.keyBindings});return-1===e.indexOf(this.keyBindings)&&e.push(this.keyBindings),e},_prepKeyBindings:function(){for(var e in this._keyBindings={},this._collectKeyBindings().forEach(function(e){for(var t in e)this._addKeyBinding(t,e[t])},this),this._imperativeKeyBindings)this._addKeyBinding(e,this._imperativeKeyBindings[e]);for(var t in this._keyBindings)this._keyBindings[t].sort(function(e,t){var i=e[0].hasModifiers;return i===t[0].hasModifiers?0:i?-1:1})},_addKeyBinding:function(e,t){c(e).forEach(function(e){this._keyBindings[e.event]=this._keyBindings[e.event]||[],this._keyBindings[e.event].push([e,t])},this)},_resetKeyEventListeners:function(){this._unlistenKeyEventListeners(),this.isAttached&&this._listenKeyEventListeners()},_listenKeyEventListeners:function(){this.keyEventTarget&&Object.keys(this._keyBindings).forEach(function(e){var t=this._keyBindings[e],i=this._onKeyBindingEvent.bind(this,t);this._boundKeyHandlers.push([this.keyEventTarget,e,i]),this.keyEventTarget.addEventListener(e,i)},this)},_unlistenKeyEventListeners:function(){for(var e,t,i,n;this._boundKeyHandlers.length;)t=(e=this._boundKeyHandlers.pop())[0],i=e[1],n=e[2],t.removeEventListener(i,n)},_onKeyBindingEvent:function(e,t){if(this.stopKeyboardEventPropagation&&t.stopPropagation(),!t.defaultPrevented)for(var i=0;i<e.length;i++){var n=e[i][0],r=e[i][1];if(h(n,t)&&(this._triggerKeyHandler(n,r,t),t.defaultPrevented))return}},_triggerKeyHandler:function(e,t,i){var n=Object.create(e);n.keyboardEvent=i;var r=new CustomEvent(e.event,{detail:n,cancelable:!0});this[t].call(this,r),r.defaultPrevented&&i.preventDefault()}}}(),Polymer.IronControlState={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:Number},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){if(e.target===this)this._setFocused("focus"===e.type);else 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.cancelable})}},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.tabIndex,this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(this.tabIndex=this._oldTabIndex)},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}},Polymer.IronButtonStateImpl={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_detectKeyboardFocus(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!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))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,i=Polymer.dom(t).localTarget;this.isLightDescendant(i)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},Polymer.IronButtonState=[Polymer.IronA11yKeysBehavior,Polymer.IronButtonStateImpl],function(){var e={distance:function(e,t,i,n){var r=e-i,o=t-n;return Math.sqrt(r*r+o*o)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function t(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function i(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=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.resetInteractionState()}t.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(t,i){var n=e.distance(t,i,0,0),r=e.distance(t,i,this.width,0),o=e.distance(t,i,0,this.height),s=e.distance(t,i,this.width,this.height);return Math.max(n,r,o,s)}},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},get mouseUpElapsed(){return this.mouseUpStart?e.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),i.MAX_RADIUS)+5,r=1.1-n/i.MAX_RADIUS*.2,o=this.mouseInteractionSeconds/r,s=n*(1-Math.pow(80,-o));return Math.abs(s)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,i.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&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.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new t(this.element)},draw:function(){var e,t,i;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,i=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+i+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+i+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(t){var i=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=e.now(),this.center?(this.xStart=i,this.yStart=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=t?t.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=t?t.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=i,this.yEnd=n,this.slideDistance=e.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(t){this.isMouseDown&&(this.mouseUpStart=e.now())},remove:function(){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:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Polymer.dom(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e<this.ripples.length;++e)if(!this.ripples[e].isAnimationComplete)return!0;return!1},simulatedRipple:function(){this.downAction(null),this.async(function(){this.upAction()},1)},uiDownAction:function(e){this.noink||this.downAction(e)},downAction:function(e){this.holdDown&&this.ripples.length>0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new i(this);return Polymer.dom(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e<this.ripples.length;++e)(t=this.ripples[e]).draw(),this.$.background.style.opacity=t.outerOpacity,t.isOpacityFullyDecayed&&!t.isRestingAtMaxRadius&&this.removeRipple(t);this.shouldKeepAnimating||0!==this.ripples.length?window.requestAnimationFrame(this._boundAnimate):this.onAnimationComplete()}},_onEnterKeydown:function(){this.uiDownAction(),this.async(this.uiUpAction,1)},_onSpaceKeydown:function(){this.uiDownAction()},_onSpaceKeyup:function(){this.uiUpAction()},_holdDownChanged:function(e,t){void 0!==t&&(e?this.downAction():this.upAction())}})}(),Polymer.PaperRippleBehavior={properties:{noink:{type:Boolean,observer:"_noinkChanged"},_rippleContainer:{type:Object}},_buttonStateChanged:function(){this.focused&&this.ensureRipple()},_downHandler:function(e){Polymer.IronButtonStateImpl._downHandler.call(this,e),this.pressed&&this.ensureRipple(e)},ensureRipple:function(e){if(!this.hasRipple()){this._ripple=this._createRipple(),this._ripple.noink=this.noink;var t=this._rippleContainer||this.root;if(t&&Polymer.dom(t).appendChild(this._ripple),e){var i=Polymer.dom(this._rippleContainer||this),n=Polymer.dom(e).rootTarget;i.deepContains(n)&&this._ripple.uiDownAction(e)}}},getRipple:function(){return 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)}},Polymer.PaperButtonBehaviorImpl={properties:{elevation:{type:Number,reflectToAttribute:!0,readOnly:!0}},observers:["_calculateElevation(focused, disabled, active, pressed, receivedFocusFromKeyboard)","_computeKeyboardClass(receivedFocusFromKeyboard)"],hostAttributes:{role:"button",tabindex:"0",animated:!0},_calculateElevation:function(){var e=1;this.disabled?e=0:this.active||this.pressed?e=4:this.receivedFocusFromKeyboard&&(e=3),this._setElevation(e)},_computeKeyboardClass:function(e){this.toggleClass("keyboard-focus",e)},_spaceKeyDownHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyDownHandler.call(this,e),this.hasRipple()&&this.getRipple().ripples.length<1&&this._ripple.uiDownAction()},_spaceKeyUpHandler:function(e){Polymer.IronButtonStateImpl._spaceKeyUpHandler.call(this,e),this.hasRipple()&&this._ripple.uiUpAction()}},Polymer.PaperButtonBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperButtonBehaviorImpl],Polymer({is:"paper-button",behaviors:[Polymer.PaperButtonBehavior],properties:{raised:{type:Boolean,reflectToAttribute:!0,value:!1,observer:"_calculateElevation"}},_calculateElevation:function(){this.raised?Polymer.PaperButtonBehaviorImpl._calculateElevation.apply(this):this._setElevation(0)}}),Polymer({is:"iron-media-query",properties:{queryMatches:{type:Boolean,value:!1,readOnly:!0,notify:!0},query:{type:String,observer:"queryChanged"},full:{type:Boolean,value:!1},_boundMQHandler:{value:function(){return this.queryHandler.bind(this)}},_mq:{value:null}},attached:function(){this.style.display="none",this.queryChanged()},detached:function(){this._remove()},_add:function(){this._mq&&this._mq.addListener(this._boundMQHandler)},_remove:function(){this._mq&&this._mq.removeListener(this._boundMQHandler),this._mq=null},queryChanged:function(){this._remove();var e=this.query;e&&(this.full||"("===e[0]||(e="("+e+")"),this._mq=window.matchMedia(e),this._add(),this.queryHandler(this._mq))},queryHandler:function(e){this._setQueryMatches(e.matches)}}),Polymer.IronSelection=function(e){this.selection=[],this.selectCallback=e},Polymer.IronSelection.prototype={get:function(){return this.multi?this.selection.slice():this.selection[0]},clear:function(e){this.selection.slice().forEach(function(t){(!e||e.indexOf(t)<0)&&this.setItemSelected(t,!1)},this)},isSelected:function(e){return this.selection.indexOf(e)>=0},setItemSelected:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.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?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))},toggle:function(e){this.setItemSelected(e,!this.isSelected(e))}},Polymer.IronSelectableBehavior={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new Polymer.IronSelection(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._updateItems(),this._shouldUpdateSelection||this._updateSelected(),this._addListener(this.activateEvent)},detached:function(){this._observer&&Polymer.dom(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items.indexOf(e)},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=(Number(this._valueToIndex(this.selected))-1+e)%e;this.selected=this._indexToValue(t)},selectNext:function(){var e=(Number(this._valueToIndex(this.selected))+1)%this.items.length;this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._shouldUpdateSelection&&this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Polymer.dom(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this._shouldUpdateSelection&&(this.selected=this._indexToValue(this.indexOf(this.selectedItem)))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){this._selection.select(this._valueToItem(this.selected)),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,i=0;t=this.items[i];i++)if(this._valueForItem(t)==e)return i},_indexToValue: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.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.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:function(e){for(var t=e.target,i=this.items;t&&t!=this;){var n=i.indexOf(t);if(n>=0){var r=this._indexToValue(n);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}},Polymer.IronMultiSelectableBehaviorImpl={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0},selectedItems:{type:Array,readOnly:!0,notify:!0}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this.selectedValues?this._toggleSelected(e):this.selectedValues=[e]:this.selected=e},multiChanged:function(e){this._selection.multi=e},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&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 null!=e},this)):Polymer.IronSelectableBehavior._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){if(e){var t=this._valuesToItems(e);this._selection.clear(t);for(var i=0;i<t.length;i++)this._selection.setItemSelected(t[i],!0);this.fallbackSelection&&this.items.length&&!this._selection.get().length&&this._valueToItem(this.fallbackSelection)&&(this.selectedValues=[this.fallbackSelection])}else this._selection.clear()},_selectionChange:function(){var e=this._selection.get();this.multi?this._setSelectedItems(e):(this._setSelectedItems([e]),this._setSelectedItem(e))},_toggleSelected:function(e){var t=this.selectedValues.indexOf(e);t<0?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.IronMultiSelectableBehavior=[Polymer.IronSelectableBehavior,Polymer.IronMultiSelectableBehaviorImpl],Polymer({is:"iron-selector",behaviors:[Polymer.IronMultiSelectableBehavior]}),Polymer.IronResizableBehavior={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this)},attached:function(){this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable||(window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):window.removeEventListener("resize",this._boundNotifyResize),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable=e},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this.unlisten(e,"iron-resize","_onDescendantIronResize"))},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():Polymer.Settings.useShadow||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=e.path?e.path[0]:e.target;t!==this&&(-1===this._interestedResizables.indexOf(t)&&(this._interestedResizables.push(t),this.listen(t,"iron-resize","_onDescendantIronResize")),t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)}},function(){"use strict";var e=null;Polymer({is:"paper-drawer-panel",behaviors:[Polymer.IronResizableBehavior],properties:{defaultSelected:{type:String,value:"main"},disableEdgeSwipe:{type:Boolean,value:!1},disableSwipe:{type:Boolean,value:!1},dragging:{type:Boolean,value:!1,readOnly:!0,notify:!0},drawerWidth:{type:String,value:"256px"},edgeSwipeSensitivity:{type:Number,value:30},forceNarrow:{type:Boolean,value:!1},hasTransform:{type:Boolean,value:function(){return"transform"in this.style}},hasWillChange:{type:Boolean,value:function(){return"willChange"in this.style}},narrow:{reflectToAttribute:!0,type:Boolean,value:!1,readOnly:!0,notify:!0},peeking:{type:Boolean,value:!1,readOnly:!0,notify:!0},responsiveWidth:{type:String,value:"768px"},rightDrawer:{type:Boolean,value:!1},selected:{reflectToAttribute:!0,notify:!0,type:String,value:null},drawerToggleAttribute:{type:String,value:"paper-drawer-toggle"},drawerFocusSelector:{type:String,value:'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"])'},_transition:{type:Boolean,value:!1}},listeners:{tap:"_onTap",track:"_onTrack",down:"_downHandler",up:"_upHandler",transitionend:"_onTransitionEnd"},observers:["_forceNarrowChanged(forceNarrow, defaultSelected)","_toggleFocusListener(selected)"],ready:function(){this._transition=!0,this._boundFocusListener=this._didFocus.bind(this)},togglePanel:function(){this._isMainSelected()?this.openDrawer():this.closeDrawer()},openDrawer:function(){requestAnimationFrame(function(){this.toggleClass("transition-drawer",!0,this.$.drawer),this.selected="drawer"}.bind(this))},closeDrawer:function(){requestAnimationFrame(function(){this.toggleClass("transition-drawer",!0,this.$.drawer),this.selected="main"}.bind(this))},_onTransitionEnd:function(e){if(Polymer.dom(e).localTarget===this&&("left"!==e.propertyName&&"right"!==e.propertyName||this.notifyResize(),"transform"===e.propertyName&&(requestAnimationFrame(function(){this.toggleClass("transition-drawer",!1,this.$.drawer)}.bind(this)),"drawer"===this.selected))){var t=this._getAutoFocusedNode();t&&t.focus()}},_computeIronSelectorClass:function(e,t,i,n,r){return function(e){var t=[];for(var i in e)e.hasOwnProperty(i)&&e[i]&&t.push(i);return t.join(" ")}({dragging:i,"narrow-layout":e,"right-drawer":n,"left-drawer":!n,transition:t,peeking:r})},_computeDrawerStyle:function(e){return"width:"+e+";"},_computeMainStyle:function(e,t,i){var n="";return n+="left:"+(e||t?"0":i)+";",t&&(n+="right:"+(e?"":i)+";"),n},_computeMediaQuery:function(e,t){return e?"":"(max-width: "+t+")"},_computeSwipeOverlayHidden:function(e,t){return!e||t},_onTrack:function(t){if(!e||this===e)switch(t.detail.state){case"start":this._trackStart(t);break;case"track":this._trackX(t);break;case"end":this._trackEnd(t)}},_responsiveChange:function(e){this._setNarrow(e),this.selected=this.narrow?this.defaultSelected:null,this.setScrollDirection(this._swipeAllowed()?"y":"all"),this.fire("paper-responsive-change",{narrow:this.narrow})},_onQueryMatchesChanged:function(e){this._responsiveChange(e.detail.value)},_forceNarrowChanged:function(){this._responsiveChange(this.forceNarrow||this.$.mq.queryMatches)},_swipeAllowed:function(){return this.narrow&&!this.disableSwipe},_isMainSelected:function(){return"main"===this.selected},_startEdgePeek:function(){this.width=this.$.drawer.offsetWidth,this._moveDrawer(this._translateXForDeltaX(this.rightDrawer?-this.edgeSwipeSensitivity:this.edgeSwipeSensitivity)),this._setPeeking(!0)},_stopEdgePeek:function(){this.peeking&&(this._setPeeking(!1),this._moveDrawer(null))},_downHandler:function(t){!this.dragging&&this._isMainSelected()&&this._isEdgeTouch(t)&&!e&&(this._startEdgePeek(),t.preventDefault(),e=this)},_upHandler:function(){this._stopEdgePeek(),e=null},_onTap:function(e){var t=Polymer.dom(e).localTarget;t&&this.drawerToggleAttribute&&t.hasAttribute(this.drawerToggleAttribute)&&this.togglePanel()},_isEdgeTouch:function(e){var t=e.detail.x;return!this.disableEdgeSwipe&&this._swipeAllowed()&&(this.rightDrawer?t>=this.offsetWidth-this.edgeSwipeSensitivity:t<=this.edgeSwipeSensitivity)},_trackStart:function(t){this._swipeAllowed()&&(e=this,this._setDragging(!0),this._isMainSelected()&&this._setDragging(this.peeking||this._isEdgeTouch(t)),this.dragging&&(this.width=this.$.drawer.offsetWidth,this._transition=!1))},_translateXForDeltaX:function(e){var t=this._isMainSelected();return this.rightDrawer?Math.max(0,t?this.width+e:e):Math.min(0,t?e-this.width:e)},_trackX:function(e){if(this.dragging){var t=e.detail.dx;if(this.peeking){if(Math.abs(t)<=this.edgeSwipeSensitivity)return;this._setPeeking(!1)}this._moveDrawer(this._translateXForDeltaX(t))}},_trackEnd:function(t){if(this.dragging){var i=t.detail.dx>0;this._setDragging(!1),this._transition=!0,e=null,this._moveDrawer(null),this.rightDrawer?this[i?"closeDrawer":"openDrawer"]():this[i?"openDrawer":"closeDrawer"]()}},_transformForTranslateX:function(e){return null===e?"":this.hasWillChange?"translateX("+e+"px)":"translate3d("+e+"px, 0, 0)"},_moveDrawer:function(e){this.transform(this._transformForTranslateX(e),this.$.drawer)},_getDrawerContent:function(){return Polymer.dom(this.$.drawerContent).getDistributedNodes()[0]},_getAutoFocusedNode:function(){var e=this._getDrawerContent();return this.drawerFocusSelector?Polymer.dom(e).querySelector(this.drawerFocusSelector)||e:null},_toggleFocusListener:function(e){"drawer"===e?this.addEventListener("focus",this._boundFocusListener,!0):this.removeEventListener("focus",this._boundFocusListener,!0)},_didFocus:function(e){var t=this._getAutoFocusedNode();if(t){var i=Polymer.dom(e).path,n=(i[0],this._getDrawerContent());-1!==i.indexOf(n)||(e.stopPropagation(),t.focus())}},_isDrawerClosed:function(e,t){return!e||"drawer"!==t}})}(),function(){"use strict";var e={outerScroll:{scroll:!0},shadowMode:{standard:2,waterfall:1,"waterfall-tall":1},tallMode:{"waterfall-tall":!0}};Polymer({is:"paper-header-panel",properties:{mode:{type:String,value:"standard",observer:"_modeChanged",reflectToAttribute:!0},shadow:{type:Boolean,value:!1},tallClass:{type:String,value:"tall"},atTop:{type:Boolean,value:!0,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_computeDropShadowHidden(atTop, mode, shadow)"],ready:function(){this.scrollHandler=this._scroll.bind(this)},attached:function(){this._addListener(),this._keepScrollingState()},detached:function(){this._removeListener()},get header(){return Polymer.dom(this.$.headerContent).getDistributedNodes()[0]},get scroller(){return this._getScrollerForMode(this.mode)},get visibleShadow(){return this.$.dropShadow.classList.contains("has-shadow")},_computeDropShadowHidden:function(t,i,n){var r=e.shadowMode[i];this.shadow?this.toggleClass("has-shadow",!0,this.$.dropShadow):2===r?this.toggleClass("has-shadow",!0,this.$.dropShadow):1!==r||t?this.toggleClass("has-shadow",!1,this.$.dropShadow):this.toggleClass("has-shadow",!0,this.$.dropShadow)},_computeMainContainerClass:function(e){var t={};return t.flex="cover"!==e,Object.keys(t).filter(function(e){return t[e]}).join(" ")},_addListener:function(){this.scroller.addEventListener("scroll",this.scrollHandler,!1)},_removeListener:function(){this.scroller.removeEventListener("scroll",this.scrollHandler)},_modeChanged:function(t,i){var n=e,r=this.header;r&&(n.tallMode[i]&&!n.tallMode[t]?(r.classList.remove(this.tallClass),this.async(function(){r.classList.remove("animate")},200)):this.toggleClass("animate",n.tallMode[t],r)),this._keepScrollingState()},_keepScrollingState:function(){var t=this.scroller,i=this.header;this._setAtTop(0===t.scrollTop),i&&this.tallClass&&e.tallMode[this.mode]&&this.toggleClass(this.tallClass,this.atTop||i.classList.contains(this.tallClass)&&t.scrollHeight<this.offsetHeight,i)},_scroll:function(){this._keepScrollingState(),this.fire("content-scroll",{target:this.scroller},{bubbles:!1})},_getScrollerForMode:function(t){return e.outerScroll[t]?this:this.$.mainContainer}})}(),Polymer.PaperInkyFocusBehaviorImpl={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=Polymer.PaperRippleBehavior._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},Polymer.PaperInkyFocusBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperRippleBehavior,Polymer.PaperInkyFocusBehaviorImpl],Polymer({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0"},behaviors:[Polymer.PaperInkyFocusBehavior],properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var i=this.getAttribute("aria-label");i&&t!=i||this.setAttribute("aria-label",e)}}),Polymer.IronFormElementBehavior={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})}},function(){"use strict";Polymer.IronA11yAnnouncer=Polymer({is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){Polymer.IronA11yAnnouncer.instance||(Polymer.IronA11yAnnouncer.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}}),Polymer.IronA11yAnnouncer.instance=null,Polymer.IronA11yAnnouncer.requestAvailability=function(){Polymer.IronA11yAnnouncer.instance||(Polymer.IronA11yAnnouncer.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(Polymer.IronA11yAnnouncer.instance)}}(),Polymer.IronValidatableBehaviorMeta=null,Polymer.IronValidatableBehavior={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1},_validatorMeta:{type:Object},validatorType:{type:String,value:"validator"},_validator:{type:Object,computed:"__computeValidator(validator)"}},observers:["_invalidChanged(invalid)"],registered:function(){Polymer.IronValidatableBehaviorMeta=new Polymer.IronMeta({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},hasValidator:function(){return null!=this._validator},validate:function(e){return this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)},__computeValidator:function(){return Polymer.IronValidatableBehaviorMeta&&Polymer.IronValidatableBehaviorMeta.byKey(this.validator)}},Polymer({is:"iron-input",extends:"input",behaviors:[Polymer.IronValidatableBehavior],properties:{bindValue:{observer:"_bindValueChanged",type:String},preventInvalidInput:{type:Boolean},allowedPattern:{type:String,observer:"_allowedPatternChanged"},_previousValidInput:{type:String,value:""},_patternAlreadyChecked:{type:Boolean,value:!1}},listeners:{input:"_onInput",keypress:"_onKeypress"},registered:function(){this._canDispatchEventOnDisabled()||(this._origDispatchEvent=this.dispatchEvent,this.dispatchEvent=this._dispatchEventFirefoxIE)},created:function(){Polymer.IronA11yAnnouncer.requestAvailability()},_canDispatchEventOnDisabled:function(){var e=document.createElement("input"),t=!1;e.disabled=!0,e.addEventListener("feature-check-dispatch-event",function(){t=!0});try{e.dispatchEvent(new Event("feature-check-dispatch-event"))}catch(e){}return t},_dispatchEventFirefoxIE:function(){var e=this.disabled;this.disabled=!1,this._origDispatchEvent.apply(this,arguments),this.disabled=e},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.type){case"number":e=/[0-9.,e-]/}return e},ready:function(){this.bindValue=this.value},_bindValueChanged:function(){this.value!==this.bindValue&&(this.value=this.bindValue||0===this.bindValue||!1===this.bindValue?this.bindValue:""),this.fire("bind-value-changed",{value:this.bindValue})},_allowedPatternChanged:function(){this.preventInvalidInput=!!this.allowedPattern},_onInput:function(){this.preventInvalidInput&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.value=this._previousValidInput)),this.bindValue=this.value,this._previousValidInput=this.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,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||"number"===this.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){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.checkValidity();return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=Polymer.IronValidatableBehavior.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_announceInvalidCharacter:function(e){this.fire("iron-announce",{text:e})}}),Polymer.PaperInputHelper={},Polymer.PaperInputHelper.NextLabelID=1,Polymer.PaperInputHelper.NextAddonID=1,Polymer.PaperInputBehaviorImpl={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},preventInvalidInput:{type:Boolean},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$.input},get _focusableElement(){return this.inputElement},registered:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e?e+" "+t:t},_onAddonAttached:function(e){var t=e.path?e.path[0]:e.target;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var i="paper-input-add-on-"+Polymer.PaperInputHelper.NextAddonID++;t.id=i,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,i)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){Polymer.IronControlState._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("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.selectionStart=t,this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Polymer.dom(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+Polymer.PaperInputHelper.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},Polymer.PaperInputBehavior=[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.PaperInputBehaviorImpl],Polymer.PaperInputAddonBehavior={hostAttributes:{"add-on":""},attached:function(){this.fire("addon-attached")},update:function(e){}},Polymer({is:"paper-input-char-counter",behaviors:[Polymer.PaperInputAddonBehavior],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}}),Polymer({is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return Polymer.CaseMap.dashToCamelCase(this.attrForValue)},get _inputElement(){return Polymer.dom(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[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.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t),this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,i=0;t=this._addons[i];i++)t.update(e)},_computeInputContentClass:function(e,t,i,n,r){var o="input-content";if(e)r&&(o+=" label-is-hidden");else{var s=this.querySelector("label");t||r?(o+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",n?o+=" is-invalid":i&&(o+=" label-is-highlighted")):s&&(this.$.labelAndInputContainer.style.position="relative")}return o},_computeUnderlineClass:function(e,t){var i="underline";return t?i+=" is-invalid":e&&(i+=" is-highlighted"),i},_computeAddOnContentClass:function(e,t){var i="add-on-content";return t?i+=" is-invalid":e&&(i+=" is-highlighted"),i}}),Polymer({is:"paper-input-error",behaviors:[Polymer.PaperInputAddonBehavior],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}}),Polymer({is:"paper-input",behaviors:[Polymer.IronFormElementBehavior,Polymer.PaperInputBehavior]}),Polymer.PaperItemBehaviorImpl={hostAttributes:{role:"option",tabindex:"0"}},Polymer.PaperItemBehavior=[Polymer.IronButtonState,Polymer.IronControlState,Polymer.PaperItemBehaviorImpl],Polymer({is:"paper-item",behaviors:[Polymer.PaperItemBehavior]}),Polymer.IronFitBehavior={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Polymer.dom(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):this.fit())},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);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:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.horizontalAlign||this.verticalAlign){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),i=this.__getNormalizedRect(this.fitInto),n=this._fitInfo.margin,r={width:e.width+n.left+n.right,height:e.height+n.top+n.bottom},o=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,t,i),s=o.left+n.left,a=o.top+n.top,l=Math.min(i.right-n.right,s+e.width),h=Math.min(i.bottom-n.bottom,a+e.height);s=Math.max(i.left+n.left,Math.min(s,l-this._fitInfo.sizedBy.minWidth)),a=Math.max(i.top+n.top,Math.min(a,h-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-s,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(h-a,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=s-e.left+"px",this.style.top=a-e.top+"px"}},constrain:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,i,n,r){this.__sizeDimension(e,t,i,n,r)},__sizeDimension:function(e,t,i,n,r){var o=this._fitInfo,s=this.__getNormalizedRect(this.fitInto),a="Width"===r?s.width:s.height,l=t===n,h=l?a-e[n]:e[i],c=o.margin[l?i:n],u="offset"+r,d=this[u]-this.sizingTarget[u];this.sizingTarget.style["max"+r]=a-c-h-d+"px"},center:function(){if(!this.horizontalAlign&&!this.verticalAlign){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),i=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var n=i.top-t.top+(i.height-t.height)/2;this.style.top=n+"px"}if(!e.horizontally){var r=i.left-t.left+(i.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getCroppedArea:function(e,t,i){var n=Math.min(0,e.top)+Math.min(0,i.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,i.right-(e.left+t.width));return Math.abs(n)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,i,n,r){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:n.top+this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:n.top+this.verticalOffset,left:n.right-i.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:n.bottom-i.height-this.verticalOffset,left:n.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:n.bottom-i.height-this.verticalOffset,left:n.right-i.width-this.horizontalOffset}];if(this.noOverlap){for(var a=0,l=s.length;a<l;a++){var h={};for(var c in s[a])h[c]=s[a][c];s.push(h)}s[0].top=s[1].top+=n.height,s[2].top=s[3].top-=n.height,s[4].left=s[6].left+=n.width,s[5].left=s[7].left-=n.width}for(t="auto"===t?null:t,e="auto"===e?null:e,a=0;a<s.length;a++){var u=s[a];if(!this.dynamicAlign&&!this.noOverlap&&u.verticalAlign===t&&u.horizontalAlign===e){o=u;break}var d=!(t&&u.verticalAlign!==t||e&&u.horizontalAlign!==e);if(this.dynamicAlign||d){o=o||u,u.croppedArea=this.__getCroppedArea(u,i,r);var f=u.croppedArea-o.croppedArea;if((f<0||0===f&&d)&&(o=u),0===o.croppedArea&&d)break}}return o}},function(){"use strict";Polymer({is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Polymer.dom(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Polymer.dom(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}})}(),Polymer.IronOverlayManagerClass=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,Polymer.Gestures.add(document,"tap",null),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)},Polymer.IronOverlayManagerClass.prototype={constructor:Polymer.IronOverlayManagerClass,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){for(var e=document.activeElement||document.body;e.root&&Polymer.dom(e.root).activeElement;)e=Polymer.dom(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var i=this._overlays.length-1,n=this._overlays[i];if(n&&this._shouldBeBehindOverlay(t,n)&&i--,!(e>=i)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e<i;)this._overlays[e]=this._overlays[e+1],e++;this._overlays[i]=t}}},addOrRemoveOverlay:function(e){e.opened?this.addOverlay(e):this.removeOverlay(e)},addOverlay:function(e){var t=this._overlays.indexOf(e);if(t>=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var i=this._overlays.length,n=this._overlays[i-1],r=Math.max(this._getZ(n),this._minimumZ),o=this._getZ(e);if(n&&this._shouldBeBehindOverlay(e,n)){this._applyOverlayZ(n,r),i--;var s=this._overlays[i-1];r=Math.max(this._getZ(s),this._minimumZ)}o<=r&&this._applyOverlayZ(e,r),this._overlays.splice(i,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(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._overlays[t]);return e},backdropZ:function(){return this._getZ(this._overlayWithBackdrop())-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 i=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);i==i&&(t=i)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ: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:function(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.currentOverlay();t&&(Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"esc")?t._onCaptureEsc(e):Polymer.IronA11yKeysBehavior.keyboardEventMatchesKeys(e,"tab")&&t._onCaptureTab(e))},_shouldBeBehindOverlay:function(e,t){return!e.alwaysOnTop&&t.alwaysOnTop}},Polymer.IronOverlayManager=new Polymer.IronOverlayManagerClass,function(){"use strict";var e=Element.prototype,t=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;Polymer.IronFocusablesHelper={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?this._sortByTabIndex(t):t},isFocusable: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){if(this.isFocusable(e)){var t=e.getAttribute("tabindex")||0;return Number(t)}return-1},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!this._isVisible(e))return!1;var i,n=e,r=this._normalizedTabIndex(n),o=r>0;r>=0&&t.push(n),i="content"===n.localName?Polymer.dom(n).getDistributedNodes():Polymer.dom(n.root||n).children;for(var s=0;s<i.length;s++){var a=this._collectTabbableNodes(i[s],t);o=o||a}return o},_isVisible:function(e){var t=e.style;return"hidden"!==t.visibility&&"none"!==t.display&&"hidden"!==(t=window.getComputedStyle(e)).visibility&&"none"!==t.display},_sortByTabIndex:function(e){var t=e.length;if(t<2)return e;var i=Math.ceil(t/2),n=this._sortByTabIndex(e.slice(0,i)),r=this._sortByTabIndex(e.slice(i));return this._mergeSortByTabIndex(n,r)},_mergeSortByTabIndex:function(e,t){for(var i=[];e.length>0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?i.push(t.shift()):i.push(e.shift());return i.concat(e,t)},_hasLowerTabOrder:function(e,t){var i=Math.max(e.tabIndex,0),n=Math.max(t.tabIndex,0);return 0===i||0===n?n>i:i>n}}}(),function(){"use strict";Polymer.IronOverlayBehaviorImpl={properties:{opened:{observer:"_openedChanged",type:Boolean,value:!1,notify:!0},canceled:{observer:"_canceledChanged",readOnly:!0,type:Boolean,value:!1},withBackdrop:{observer:"_withBackdropChanged",type:Boolean},noAutoFocus:{type:Boolean,value:!1},noCancelOnEscKey:{type:Boolean,value:!1},noCancelOnOutsideClick:{type:Boolean,value:!1},closingReason:{type:Object},restoreFocusOnClose:{type:Boolean,value:!1},alwaysOnTop:{type:Boolean},_manager:{type:Object,value:Polymer.IronOverlayManager},_focusedChild:{type:Object}},listeners:{"iron-resize":"_onIronResize"},get backdropElement(){return this._manager.backdropElement},get _focusNode(){return this._focusedChild||Polymer.dom(this).querySelector("[autofocus]")||this},get _focusableNodes(){return Polymer.IronFocusablesHelper.getTabbableNodes(this)},ready:function(){this.__isAnimating=!1,this.__shouldRemoveTabIndex=!1,this.__firstFocusableNode=this.__lastFocusableNode=null,this.__raf=null,this.__restoreFocusNode=null,this._ensureSetup()},attached:function(){this.opened&&this._openedChanged(this.opened),this._observer=Polymer.dom(this).observeNodes(this._onNodesChange)},detached:function(){Polymer.dom(this).unobserveNodes(this._observer),this._observer=null,this.__raf&&(window.cancelAnimationFrame(this.__raf),this.__raf=null),this._manager.removeOverlay(this)},toggle:function(){this._setCanceled(!1),this.opened=!this.opened},open:function(){this._setCanceled(!1),this.opened=!0},close:function(){this._setCanceled(!1),this.opened=!1},cancel:function(e){this.fire("iron-overlay-canceled",e,{cancelable:!0}).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.__isAnimating=!0,this.__onNextAnimationFrame(this.__openedChanged))},_canceledChanged:function(){this.closingReason=this.closingReason||{},this.closingReason.canceled=this.canceled},_withBackdropChanged:function(){this.withBackdrop&&!this.hasAttribute("tabindex")?(this.setAttribute("tabindex","-1"),this.__shouldRemoveTabIndex=!0):this.__shouldRemoveTabIndex&&(this.removeAttribute("tabindex"),this.__shouldRemoveTabIndex=!1),this.opened&&this.isAttached&&this._manager.trackBackdrop()},_prepareRenderOpened:function(){this.__restoreFocusNode=this._manager.deepActiveElement,this._preparePositioning(),this.refit(),this._finishPositioning(),this.noAutoFocus&&document.activeElement===this._focusNode&&(this._focusNode.blur(),this.__restoreFocusNode.focus())},_renderOpened:function(){this._finishRenderOpened()},_renderClosed:function(){this._finishRenderClosed()},_finishRenderOpened:function(){this.notifyResize(),this.__isAnimating=!1,this.fire("iron-overlay-opened")},_finishRenderClosed:function(){this.style.display="none",this.style.zIndex="",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="none",this.scrollTop=this.scrollTop,this.style.transition=this.style.webkitTransition="",this.style.transform=this.style.webkitTransform="",this.style.display="",this.scrollTop=this.scrollTop},_applyFocus:function(){if(this.opened)this.noAutoFocus||this._focusNode.focus();else{this._focusNode.blur(),this._focusedChild=null,this.restoreFocusOnClose&&this.__restoreFocusNode&&this.__restoreFocusNode.focus(),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;-1===t.indexOf(this)?(e.stopPropagation(),this._applyFocus()):this._focusedChild=t[0]}},_onCaptureEsc:function(e){this.noCancelOnEscKey||this.cancel(e)},_onCaptureTab:function(e){if(this.withBackdrop){this.__ensureFirstLastFocusables();var t=e.shiftKey,i=t?this.__firstFocusableNode:this.__lastFocusableNode,n=t?this.__lastFocusableNode:this.__firstFocusableNode,r=!1;if(i===n)r=!0;else{var o=this._manager.deepActiveElement;r=o===i||o===this}r&&(e.preventDefault(),this._focusedChild=n,this._applyFocus())}},_onIronResize:function(){this.opened&&!this.__isAnimating&&this.__onNextAnimationFrame(this.refit)},_onNodesChange:function(){this.opened&&!this.__isAnimating&&(this.invalidateTabbables(),this.notifyResize())},__ensureFirstLastFocusables:function(){if(!this.__firstFocusableNode||!this.__lastFocusableNode){var e=this._focusableNodes;this.__firstFocusableNode=e[0],this.__lastFocusableNode=e[e.length-1]}},__openedChanged:function(){this.opened?(this._prepareRenderOpened(),this._manager.addOverlay(this),this._applyFocus(),this._renderOpened()):(this._manager.removeOverlay(this),this._applyFocus(),this._renderClosed())},__onNextAnimationFrame:function(e){this.__raf&&window.cancelAnimationFrame(this.__raf);var t=this;this.__raf=window.requestAnimationFrame(function(){t.__raf=null,e.call(t)})}},Polymer.IronOverlayBehavior=[Polymer.IronFitBehavior,Polymer.IronResizableBehavior,Polymer.IronOverlayBehaviorImpl]}(),Polymer.NeonAnimatableBehavior={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var i in t)e[i]=t[i]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,i){var n;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(n=e?this.animationConfig[e]:this.animationConfig,Array.isArray(n)||(n=[n]),n)for(var r,o=0;r=n[o];o++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,i);else if(r.id){var s=t[r.id];s?(s.isClone||(t[r.id]=this._cloneConfig(s),s=t[r.id]),this._copyProperties(s,r)):t[r.id]=r}else i.push(r)},getAnimationConfig:function(e){var t={},i=[];for(var n in this._getAnimationConfigRecursive(e,t,i),t)i.push(t[n]);return i}},Polymer.NeonAnimationRunnerBehaviorImpl={_configureAnimations:function(e){var t=[];if(e.length>0)for(var i,n=0;i=e[n];n++){var r=document.createElement(i.name);if(r.isNeonAnimation){var o=null;try{"function"!=typeof(o=r.configure(i)).cancel&&(o=document.timeline.play(o))}catch(e){o=null}o&&t.push({neonAnimation:r,config:i,animation:o})}}return t},_shouldComplete:function(e){for(var t=!0,i=0;i<e.length;i++)if("finished"!=e[i].animation.playState){t=!1;break}return t},_complete:function(e){for(var t=0;t<e.length;t++)e[t].neonAnimation.complete(e[t].config);for(t=0;t<e.length;t++)e[t].animation.cancel()},playAnimation:function(e,t){var i=this.getAnimationConfig(e);if(i){this._active=this._active||{},this._active[e]&&(this._complete(this._active[e]),delete this._active[e]);var n=this._configureAnimations(i);if(0!=n.length){this._active[e]=n;for(var r=0;r<n.length;r++)n[r].animation.onfinish=function(){this._shouldComplete(n)&&(this._complete(n),delete this._active[e],this.fire("neon-animation-finish",t,{bubbles:!1}))}.bind(this)}else this.fire("neon-animation-finish",t,{bubbles:!1})}},cancelAnimation:function(){for(var e in this._animations)this._animations[e].cancel();this._animations={}}},Polymer.NeonAnimationRunnerBehavior=[Polymer.NeonAnimatableBehavior,Polymer.NeonAnimationRunnerBehaviorImpl],Polymer.NeonAnimationBehavior={properties:{animationTiming:{type:Object,value:function(){return{duration:500,easing:"cubic-bezier(0.4, 0, 0.2, 1)",fill:"both"}}}},isNeonAnimation:!0,timingFromConfig:function(e){if(e.timing)for(var t in e.timing)this.animationTiming[t]=e.timing[t];return this.animationTiming},setPrefixedProperty:function(e,t,i){for(var n,r={transform:["webkitTransform"],transformOrigin:["mozTransformOrigin","webkitTransformOrigin"]}[t],o=0;n=r[o];o++)e.style[n]=i;e.style[t]=i},complete:function(){}},function(a,b){var c={},d={},e={},f=null;!function(e,t){function i(){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=d}function n(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,n,r){var o=new i;return n&&(o.fill="both",o.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(i){if("auto"!=t[i]){if(("number"==typeof o[i]||"duration"==i)&&("number"!=typeof t[i]||isNaN(t[i])))return;if("fill"==i&&-1==c.indexOf(t[i]))return;if("direction"==i&&-1==u.indexOf(t[i]))return;if("playbackRate"==i&&1!==t[i]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;o[i]=t[i]}}):o.duration=t,o}function o(e,t,i,n){return e<0||e>1||i<0||i>1?d:function(r){function o(e,t,i){return 3*e*(1-i)*(1-i)*i+3*t*(1-i)*i*i+i*i*i}if(r<=0){var s=0;return e>0?s=t/e:!t&&i>0&&(s=n/i),s*r}if(r>=1){var a=0;return i<1?a=(n-1)/(i-1):1==i&&e<1&&(a=(t-1)/(e-1)),1+a*(r-1)}for(var l=0,h=1;l<h;){var c=(l+h)/2,u=o(e,i,c);if(Math.abs(r-u)<1e-5)return o(t,n,c);u<r?l=c:h=c}return o(t,n,c)}}function s(e,t){return function(i){if(i>=1)return 1;var n=1/e;return(i+=t*n)-i%n}}function a(e){y||(y=document.createElement("div").style),y.animationTimingFunction="",y.animationTimingFunction=e;var t=y.animationTimingFunction;if(""==t&&n())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return d;var t=g.exec(e);if(t)return o.apply(this,t.slice(1).map(Number));var i=b.exec(e);return i?s(Number(i[1]),{start:f,middle:p,end:_}[i[2]]):m[e]||d}function h(e,t,i){if(null==t)return P;var n=i.delay+e+i.endDelay;return t<Math.min(i.delay,n)?C:t>=Math.min(i.delay+e,n)?S:E}var c="backwards|forwards|both|none".split("|"),u="reverse|alternate|alternate-reverse".split("|"),d=function(e){return e};i.prototype={_setMember:function(t,i){this["_"+t]=i,this._effect&&(this._effect._timingInput[t]=i,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&n())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(a(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&n())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var f=1,p=.5,_=0,m={ease:o(.25,.1,.25,1),"ease-in":o(.42,0,1,1),"ease-out":o(0,0,.58,1),"ease-in-out":o(.42,0,.58,1),"step-start":s(1,f),"step-middle":s(1,p),"step-end":s(1,_)},y=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",g=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),b=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,P=0,C=1,S=2,E=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var i in e)t[i]=e[i];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,i){return r(t=e.numericTimingToObject(t),i)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,i){var n=h(e,t,i),r=function(e,t,i,n,r){switch(n){case C:return"backwards"==t||"both"==t?0:null;case E:return i-r;case S:return"forwards"==t||"both"==t?e:null;case P:return null}}(e,i.fill,t,n,i.delay);if(null===r)return null;var o=function(e,t,i,n,r){var o=r;return 0===e?t!==C&&(o+=i):o+=n/e,o}(i.duration,n,i.iterations,r,i.iterationStart),s=function(e,t,i,n,r,o){var s=e===1/0?t%1:e%1;return 0!==s||i!==S||0===n||0===r&&0!==o||(s=1),s}(o,i.iterationStart,n,i.iterations,r,i.duration),a=function(e,t,i,n){return e===S&&t===1/0?1/0:1===s?Math.floor(n)-1:Math.floor(n)}(n,i.iterations,0,o),l=function(e,t,i){var n=e;if("normal"!==e&&"reverse"!==e){var r=a;"alternate-reverse"===e&&(r+=1),n="normal",r!==1/0&&r%2!=0&&(n="reverse")}return"normal"===n?s:1-s}(i.direction);return i._easingFunction(l)},e.calculatePhase=h,e.normalizeEasing=a,e.parseEasingFunction=l}(c),function(e,t){function i(e,t){return e in l&&l[e][t]||t}function n(e,t,n){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=o[e];if(r)for(var a in s.style[e]=t,r){var l=r[a],h=s.style[l];n[l]=i(l,h)}else n[e]=i(e,t)}}function r(e){var t=[];for(var i in e)if(!(i in["easing","offset","composite"])){var n=e[i];Array.isArray(n)||(n=[n]);for(var r,o=n.length,s=0;s<o;s++)(r={}).offset="offset"in e?e.offset:1==o?1:s/(o-1),"easing"in e&&(r.easing=e.easing),"composite"in e&&(r.composite=e.composite),r[i]=n[s],t.push(r)}return t.sort(function(e,t){return e.offset-t.offset}),t}var o={background:["backgroundImage","backgroundPosition","backgroundSize","backgroundRepeat","backgroundAttachment","backgroundOrigin","backgroundClip","backgroundColor"],border:["borderTopColor","borderTopStyle","borderTopWidth","borderRightColor","borderRightStyle","borderRightWidth","borderBottomColor","borderBottomStyle","borderBottomWidth","borderLeftColor","borderLeftStyle","borderLeftWidth"],borderBottom:["borderBottomWidth","borderBottomStyle","borderBottomColor"],borderColor:["borderTopColor","borderRightColor","borderBottomColor","borderLeftColor"],borderLeft:["borderLeftWidth","borderLeftStyle","borderLeftColor"],borderRadius:["borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius"],borderRight:["borderRightWidth","borderRightStyle","borderRightColor"],borderTop:["borderTopWidth","borderTopStyle","borderTopColor"],borderWidth:["borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth"],flex:["flexGrow","flexShrink","flexBasis"],font:["fontFamily","fontSize","fontStyle","fontVariant","fontWeight","lineHeight"],margin:["marginTop","marginRight","marginBottom","marginLeft"],outline:["outlineColor","outlineStyle","outlineWidth"],padding:["paddingTop","paddingRight","paddingBottom","paddingLeft"]},s=document.createElementNS("http://www.w3.org/1999/xhtml","div"),a={thin:"1px",medium:"3px",thick:"5px"},l={borderBottomWidth:a,borderLeftWidth:a,borderRightWidth:a,borderTopWidth:a,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:a,textShadow:{none:"0px 0px 0px transparent"},boxShadow:{none:"0px 0px 0px 0px transparent"}};e.convertToArrayForm=r,e.normalizeKeyframes=function(t){if(null==t)return[];window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||(t=r(t));for(var i=t.map(function(t){var i={};for(var r in t){var o=t[r];if("offset"==r){if(null!=o){if(o=Number(o),!isFinite(o))throw new TypeError("Keyframe offsets must be numbers.");if(o<0||o>1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){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"==r?e.normalizeEasing(o):""+o;n(r,o,i)}return void 0==i.offset&&(i.offset=null),void 0==i.easing&&(i.easing="linear"),i}),o=!0,s=-1/0,a=0;a<i.length;a++){var l=i[a].offset;if(null!=l){if(l<s)throw new TypeError("Keyframes are not loosely sorted by offset. Sort or specify offsets.");s=l}else o=!1}return i=i.filter(function(e){return e.offset>=0&&e.offset<=1}),o||function(){var e=i.length;null==i[e-1].offset&&(i[e-1].offset=1),e>1&&null==i[0].offset&&(i[0].offset=0);for(var t=0,n=i[0].offset,r=1;r<e;r++){var o=i[r].offset;if(null!=o){for(var s=1;s<r-t;s++)i[t+s].offset=n+(o-n)*s/(r-t);t=r,n=o}}}(),i}}(c),function(e){var t={};e.isDeprecated=function(e,i,n,r){var o=new Date,s=new Date(i);return s.setMonth(s.getMonth()+3),!(o<s&&(t[e]=!0,1))},e.deprecated=function(t,i,n,r){var o=r?"are":"is";if(e.isDeprecated(t,i,n,r))throw new Error(t+" "+o+" no longer supported. "+n)}}(c),function(){if(document.documentElement.animate){var a=document.documentElement.animate([],0),b=!0;if(a&&(b=!1,"play|currentTime|pause|reverse|playbackRate|cancel|finish|startTime|playState".split("|").forEach(function(e){void 0===a[e]&&(b=!0)})),!b)return}!function(e,t,i){t.convertEffectInput=function(i){var n=function(e){for(var t={},i=0;i<e.length;i++)for(var n in e[i])if("offset"!=n&&"easing"!=n&&"composite"!=n){var r={offset:e[i].offset,easing:e[i].easing,value:e[i][n]};t[n]=t[n]||[],t[n].push(r)}for(var o in t){var s=t[o];if(0!=s[0].offset||1!=s[s.length-1].offset)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"Partial keyframes are not supported"}}return t}(e.normalizeKeyframes(i)),r=function(i){var n=[];for(var r in i)for(var o=i[r],s=0;s<o.length-1;s++){var a=s,l=s+1,h=o[a].offset,c=o[l].offset,u=h,d=c;0==s&&(u=-1/0,0==c&&(l=a)),s==o.length-2&&(d=1/0,1==h&&(a=l)),n.push({applyFrom:u,applyTo:d,startOffset:o[a].offset,endOffset:o[l].offset,easingFunction:e.parseEasingFunction(o[a].easing),property:r,interpolation:t.propertyInterpolation(r,o[a].value,o[l].value)})}return n.sort(function(e,t){return e.startOffset-t.startOffset}),n}(n);return function(e,i){if(null!=i)r.filter(function(e){return i>=e.applyFrom&&i<e.applyTo}).forEach(function(n){var r=i-n.startOffset,o=n.endOffset-n.startOffset,s=0==o?0:n.easingFunction(r/o);t.apply(e,n.property,n.interpolation(s))});else for(var o in n)"offset"!=o&&"easing"!=o&&"composite"!=o&&t.clear(e,o)}}}(c,d),function(e,t,i){function n(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}function r(e,t,i){o[i]=o[i]||[],o[i].push([e,t])}var o={};t.addPropertiesHandler=function(e,t,i){for(var o=0;o<i.length;o++)r(e,t,n(i[o]))};var s={backgroundColor:"transparent",backgroundPosition:"0% 0%",borderBottomColor:"currentColor",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px",borderBottomWidth:"3px",borderLeftColor:"currentColor",borderLeftWidth:"3px",borderRightColor:"currentColor",borderRightWidth:"3px",borderSpacing:"2px",borderTopColor:"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:"normal",lineHeight:"120%",marginBottom:"0px",marginLeft:"0px",marginRight:"0px",marginTop:"0px",maxHeight:"none",maxWidth:"none",minHeight:"0px",minWidth:"0px",opacity:"1.0",outlineColor:"invert",outlineOffset:"0px",outlineWidth:"3px",paddingBottom:"0px",paddingLeft:"0px",paddingRight:"0px",paddingTop:"0px",right:"auto",textIndent:"0px",textShadow:"0px 0px 0px transparent",top:"auto",transform:"",verticalAlign:"0px",visibility:"visible",width:"auto",wordSpacing:"normal",zIndex:"auto"};t.propertyInterpolation=function(i,r,a){var l=i;/-/.test(i)&&!e.isDeprecated("Hyphenated property names","2016-03-22","Use camelCase instead.",!0)&&(l=n(i)),"initial"!=r&&"initial"!=a||("initial"==r&&(r=s[l]),"initial"==a&&(a=s[l]));for(var h=r==a?[]:o[l],c=0;h&&c<h.length;c++){var u=h[c][0](r),d=h[c][0](a);if(void 0!==u&&void 0!==d){var f=h[c][1](u,d);if(f){var p=t.Interpolation.apply(null,f);return function(e){return 0==e?r:1==e?a:p(e)}}}}return t.Interpolation(!1,!0,function(e){return e?a:r})}}(c,d),function(e,t,i){t.KeyframeEffect=function(i,n,r,o){var s,a=function(t){var i=e.calculateActiveDuration(t),n=function(n){return e.calculateIterationProgress(i,n,t)};return n._totalDuration=t.delay+i+t.endDelay,n}(e.normalizeTimingInput(r)),l=t.convertEffectInput(n),h=function(){l(i,s)};return h._update=function(e){return null!==(s=a(e))},h._clear=function(){l(i,null)},h._hasSameTarget=function(e){return i===e},h._target=i,h._totalDuration=a._totalDuration,h._id=o,h},t.NullEffect=function(e){var t=function(){e&&(e(),e=null)};return t._update=function(){return null},t._totalDuration=0,t._hasSameTarget=function(){return!1},t}}(c,d),function(e,t){e.apply=function(t,i,n){t.style[e.propertyName(i)]=n},e.clear=function(t,i){t.style[e.propertyName(i)]=""}}(d),function(e){window.Element.prototype.animate=function(t,i){var n="";return i&&i.id&&(n=i.id),e.timeline._play(e.KeyframeEffect(this,t,i,n))}}(d),d.Interpolation=function(e,t,i){return function(n){return i(function e(t,i,n){if("number"==typeof t&&"number"==typeof i)return t*(1-n)+i*n;if("boolean"==typeof t&&"boolean"==typeof i)return n<.5?t:i;if(t.length==i.length){for(var r=[],o=0;o<t.length;o++)r.push(e(t[o],i[o],n));return r}throw"Mismatched interpolation arguments "+t+":"+i}(e,t,n))}},function(e,t,i){e.sequenceNumber=0,t.Animation=function(t){this.id="",t&&t._id&&(this.id=t._id),this._sequenceNumber=e.sequenceNumber++,this._currentTime=0,this._startTime=null,this._paused=!1,this._playbackRate=1,this._inTimeline=!0,this._finishedFlag=!0,this.onfinish=null,this._finishHandlers=[],this._effect=t,this._inEffect=this._effect._update(0),this._idle=!0,this._currentTimePending=!1},t.Animation.prototype={_ensureAlive:function(){this.playbackRate<0&&0===this.currentTime?this._inEffect=this._effect._update(-1):this._inEffect=this._effect._update(this.currentTime),this._inTimeline||!this._inEffect&&this._finishedFlag||(this._inTimeline=!0,t.timeline._animations.push(this))},_tickCurrentTime:function(e,t){e!=this._currentTime&&(this._currentTime=e,this._isFinished&&!t&&(this._currentTime=this._playbackRate>0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var i=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=i&&(this.currentTime=i)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel: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),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var i=this._finishHandlers.indexOf(t);i>=0&&this._finishHandlers.splice(i,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new function(e,t,i){this.target=e,this.currentTime=t,this.timelineTime=i,this.type="finish",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,this._currentTime,e),i=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(c,d),function(e,t,i){function n(e){var t=h;h=[],e<_.currentTime&&(e=_.currentTime),_._animations.sort(r),_._animations=a(e,!0,_._animations)[0],t.forEach(function(t){t[1](e)}),s()}function r(e,t){return e._sequenceNumber-t._sequenceNumber}function o(){this._animations=[],this.currentTime=window.performance&&performance.now?performance.now():0}function s(){f.forEach(function(e){e()}),f.length=0}function a(e,i,n){p=!0,d=!1,t.timeline.currentTime=e,u=!1;var r=[],o=[],s=[],a=[];return n.forEach(function(t){t._tick(e,i),t._inEffect?(o.push(t._effect),t._markTarget()):(r.push(t._effect),t._unmarkTarget()),t._needsTick&&(u=!0);var n=t._inEffect||t._needsTick;t._inTimeline=n,n?s.push(t):a.push(t)}),f.push.apply(f,r),f.push.apply(f,o),u&&requestAnimationFrame(function(){}),p=!1,[s,a]}var l=window.requestAnimationFrame,h=[],c=0;window.requestAnimationFrame=function(e){var t=c++;return 0==h.length&&l(n),h.push([t,e]),t},window.cancelAnimationFrame=function(e){h.forEach(function(t){t[0]==e&&(t[1]=function(){})})},o.prototype={_play:function(i){i._timing=e.normalizeTimingInput(i.timing);var n=new t.Animation(i);return n._idle=!1,n._timeline=this,this._animations.push(n),t.restart(),t.applyDirtiedAnimation(n),n}};var u=!1,d=!1;t.restart=function(){return u||(u=!0,requestAnimationFrame(function(){}),d=!0),d},t.applyDirtiedAnimation=function(e){if(!p){e._markTarget();var i=e._targetAnimations();i.sort(r),a(t.timeline.currentTime,!1,i.slice())[1].forEach(function(e){var t=_._animations.indexOf(e);-1!==t&&_._animations.splice(t,1)}),s()}};var f=[],p=!1,_=new o;t.timeline=_}(c,d),function(e){function t(e,t){var i=e.exec(t);if(i)return[i=e.ignoreCase?i[0].toLowerCase():i[0],t.substr(i.length)]}function i(e,t){var i=e(t=t.replace(/^\s*/,""));if(i)return[i[0],i[1].replace(/^\s*/,"")]}function n(e,t,i,n,r){for(var o=[],s=[],a=[],l=function(e,t){for(var i=e,n=t;i&&n;)i>n?i%=n:n%=i;return e*t/(i+n)}(n.length,r.length),h=0;h<l;h++){var c=t(n[h%n.length],r[h%r.length]);if(!c)return;o.push(c[0]),s.push(c[1]),a.push(c[2])}return[o,s,function(t){var n=t.map(function(e,t){return a[t](e)}).join(i);return e?e(n):n}]}e.consumeToken=t,e.consumeTrimmed=i,e.consumeRepeated=function(e,n,r){e=i.bind(null,e);for(var o=[];;){var s=e(r);if(!s)return[o,r];if(o.push(s[0]),!(s=t(n,r=s[1]))||""==s[1])return[o,r];r=s[1]}},e.consumeParenthesised=function(e,t){for(var i=0,n=0;n<t.length&&(!/\s|,/.test(t[n])||0!=i);n++)if("("==t[n])i++;else if(")"==t[n]&&(0==--i&&n++,i<=0))break;var r=e(t.substr(0,n));return void 0==r?void 0:[r,t.substr(n)]},e.ignore=function(e){return function(t){var i=e(t);return i&&(i[0]=void 0),i}},e.optional=function(e,t){return function(i){return e(i)||[t,i]}},e.consumeList=function(t,i){for(var n=[],r=0;r<t.length;r++){var o=e.consumeTrimmed(t[r],i);if(!o||""==o[0])return;void 0!==o[0]&&n.push(o[0]),i=o[1]}if(""==i)return n},e.mergeNestedRepeated=n.bind(null,null),e.mergeWrappedNestedRepeated=n,e.mergeList=function(e,t,i){for(var n=[],r=[],o=[],s=0,a=0;a<i.length;a++)if("function"==typeof i[a]){var l=i[a](e[s],t[s++]);n.push(l[0]),r.push(l[1]),o.push(l[2])}else!function(e){n.push(!1),r.push(!1),o.push(function(){return i[e]})}(a);return[n,r,function(e){for(var t="",i=0;i<e.length;i++)t+=o[i](e[i]);return t}]}}(d),function(e){function t(t){var i={inset:!1,lengths:[],color:null},n=e.consumeRepeated(function(t){var n;return(n=e.consumeToken(/^inset/i,t))?(i.inset=!0,n):(n=e.consumeLengthOrPercent(t))?(i.lengths.push(n[0]),n):(n=e.consumeColor(t))?(i.color=n[0],n):void 0},/^/,t);if(n&&n[0].length)return[i,n[1]]}var i=function(t,i,n,r){function o(e){return{inset:e,color:[0,0,0,0],lengths:[{px:0},{px:0},{px:0},{px:0}]}}for(var s=[],a=[],l=0;l<n.length||l<r.length;l++){var h=n[l]||o(r[l].inset),c=r[l]||o(n[l].inset);s.push(h),a.push(c)}return e.mergeNestedRepeated(t,i,s,a)}.bind(null,function(t,i){for(;t.lengths.length<Math.max(t.lengths.length,i.lengths.length);)t.lengths.push({px:0});for(;i.lengths.length<Math.max(t.lengths.length,i.lengths.length);)i.lengths.push({px:0});if(t.inset==i.inset&&!!t.color==!!i.color){for(var n,r=[],o=[[],0],s=[[],0],a=0;a<t.lengths.length;a++){var l=e.mergeDimensions(t.lengths[a],i.lengths[a],2==a);o[0].push(l[0]),s[0].push(l[1]),r.push(l[2])}if(t.color&&i.color){var h=e.mergeColors(t.color,i.color);o[1]=h[0],s[1]=h[1],n=h[2]}return[o,s,function(e){for(var i=t.inset?"inset ":" ",o=0;o<r.length;o++)i+=r[o](e[0][o])+" ";return n&&(i+=n(e[1])),i}]}},", ");e.addPropertiesHandler(function(i){var n=e.consumeRepeated(t,/^,/,i);if(n&&""==n[1])return n[0]},i,["box-shadow","text-shadow"])}(d),function(e,t){function i(e){return e.toFixed(3).replace(".000","")}function n(e,t,i){return Math.min(t,Math.max(e,i))}function r(e){if(/^\s*[-+]?(\d*\.)?\d+\s*$/.test(e))return Number(e)}function o(e,t){return function(r,o){return[r,o,function(r){return i(n(e,t,r))}]}}e.clamp=n,e.addPropertiesHandler(r,o(0,1/0),["border-image-width","line-height"]),e.addPropertiesHandler(r,o(0,1),["opacity","shape-image-threshold"]),e.addPropertiesHandler(r,function(e,t){if(0!=e)return o(0,1/0)(e,t)},["flex-grow","flex-shrink"]),e.addPropertiesHandler(r,function(e,t){return[e,t,function(e){return Math.round(n(1,1/0,e))}]},["orphans","widows"]),e.addPropertiesHandler(r,function(e,t){return[e,t,Math.round]},["z-index"]),e.parseNumber=r,e.mergeNumbers=function(e,t){return[e,t,i]},e.numberToString=i}(d),d.addPropertiesHandler(String,function(e,t){if("visible"==e||"visible"==t)return[0,1,function(i){return i<=0?e:i>=1?t:"visible"}]},["visibility"]),function(e,t){function i(e){e=e.trim(),o.fillStyle="#000",o.fillStyle=e;var t=o.fillStyle;if(o.fillStyle="#fff",o.fillStyle=e,t==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(t,i){return[t,i,function(t){function i(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var n=0;n<3;n++)t[n]=Math.round(i(t[n]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var o=r.getContext("2d");e.addPropertiesHandler(i,n,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","outline-color","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,i),e.mergeColors=n}(d),function(a,b){function c(a,b){if(b=b.trim().toLowerCase(),"0"==b&&"px".search(a)>=0)return{px:0};if(/^[^(]*$|^calc/.test(b)){b=b.replace(/calc\(/g,"(");var c={};b=b.replace(a,function(e){return c[e]=null,"U"+e});for(var d="U("+a.source+")",e=b.replace(/[-+]?(\d*\.)?\d+/g,"N").replace(new RegExp("N"+d,"g"),"D").replace(/\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(e,t,i){var n,r=[];for(n in e)r.push(n);for(n in t)r.indexOf(n)<0&&r.push(n);return e=r.map(function(t){return e[t]||0}),t=r.map(function(e){return t[e]||0}),[e,t,function(e){var t=e.map(function(t,n){return 1==e.length&&i&&(t=Math.max(t,0)),a.numberToString(t)+r[n]}).join(" + ");return e.length>1?"calc("+t+")":t}]}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.consumeLengthOrPercent=a.consumeParenthesised.bind(null,h),a.parseAngle=i,a.mergeDimensions=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=function(e){var t=l(e);if(t&&""==t[1])return t[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,["border-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-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","text-indent","top","vertical-align","word-spacing"])}(d,f),function(e,t){function i(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function n(t){var n=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,i,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(n&&4==n[0].length)return n[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,i){return"auto"==t||"auto"==i?[!0,!1,function(n){var r=n?t:i;if("auto"==r)return"auto";var o=e.mergeDimensions(r,r);return o[2](o[0])}]:e.mergeDimensions(t,i)},", ");e.parseBox=n,e.mergeBoxes=r,e.addPropertiesHandler(n,r,["clip"])}(d),function(e,t){function i(e){return function(t){var i=0;return e.map(function(e){return e===l?t[i++]:e})}}function n(e){return e}function r(e){return e.toFixed(6).replace(".000000","")}function o(t,i){if(t.decompositionPair!==i){t.decompositionPair=i;var n=e.makeMatrixDecomposition(t)}if(i.decompositionPair!==t){i.decompositionPair=t;var o=e.makeMatrixDecomposition(i)}return null==n[0]||null==o[0]?[[!1],[!0],function(e){return e?i[0].d:t[0].d}]:(n[0].push(0),o[0].push(1),[n,o,function(t){var i=e.quat(n[0][3],o[0][3],t[5]);return e.composeMatrix(t[0],t[1],t[2],i,t[4]).map(r).join(",")}])}function s(e){return e.replace(/[xy]/,"")}function a(e){return e.replace(/(x|y|z|3d)?$/,"3d")}var l=null,h={px:0},c={deg:0},u={matrix:["NNNNNN",[l,l,0,0,l,l,0,0,0,0,1,0,l,l,0,1],n],matrix3d:["NNNNNNNNNNNNNNNN",n],rotate:["A"],rotatex:["A"],rotatey:["A"],rotatez:["A"],rotate3d:["NNNA"],perspective:["L"],scale:["Nn",i([l,l,1]),n],scalex:["N",i([l,1,1]),i([l,1])],scaley:["N",i([1,l,1]),i([1,l])],scalez:["N",i([1,1,l])],scale3d:["NNN",n],skew:["Aa",null,n],skewx:["A",null,i([l,c])],skewy:["A",null,i([c,l])],translate:["Tt",i([l,l,h]),n],translatex:["T",i([l,h,h]),i([l,h])],translatey:["T",i([h,l,h]),i([h,l])],translatez:["L",i([h,h,l])],translate3d:["TTL",n]};e.addPropertiesHandler(function(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var i,n=/\s*(\w+)\(([^)]*)\)/g,r=[],o=0;i=n.exec(t);){if(i.index!=o)return;o=i.index+i[0].length;var s=i[1],a=u[s];if(!a)return;var l=i[2].split(","),d=a[0];if(d.length<l.length)return;for(var f=[],p=0;p<d.length;p++){var _,m=l[p],y=d[p];if(void 0===(_=m?{A:function(t){return"0"==t.trim()?c:e.parseAngle(t)},N:e.parseNumber,T:e.parseLengthOrPercent,L:e.parseLength}[y.toUpperCase()](m):{a:c,n:f[0],t:h}[y]))return;f.push(_)}if(r.push({t:s,d:f}),n.lastIndex==t.length)return r}},function(t,i){var n=e.makeMatrixDecomposition&&!0,r=!1;if(!t.length||!i.length){t.length||(r=!0,t=i,i=[]);for(var l=0;l<t.length;l++){var h=t[l].t,c=t[l].d,d="scale"==h.substr(0,5)?1:0;i.push({t:h,d:c.map(function(e){if("number"==typeof e)return d;var t={};for(var i in e)t[i]=d;return t})})}}var f=function(e,t){return"perspective"==e&&"perspective"==t||("matrix"==e||"matrix3d"==e)&&("matrix"==t||"matrix3d"==t)},p=[],_=[],m=[];if(t.length!=i.length){if(!n)return;p=[(S=o(t,i))[0]],_=[S[1]],m=[["matrix",[S[2]]]]}else for(l=0;l<t.length;l++){var y=t[l].t,v=i[l].t,g=t[l].d,b=i[l].d,P=u[y],C=u[v];if(f(y,v)){if(!n)return;var S=o([t[l]],[i[l]]);p.push(S[0]),_.push(S[1]),m.push(["matrix",[S[2]]])}else{if(y==v)h=y;else if(P[2]&&C[2]&&s(y)==s(v))h=s(y),g=P[2](g),b=C[2](b);else{if(!P[1]||!C[1]||a(y)!=a(v)){if(!n)return;p=[(S=o(t,i))[0]],_=[S[1]],m=[["matrix",[S[2]]]];break}h=a(y),g=P[1](g),b=C[1](b)}for(var E=[],A=[],w=[],T=0;T<g.length;T++)S=("number"==typeof g[T]?e.mergeNumbers:e.mergeDimensions)(g[T],b[T]),E[T]=S[0],A[T]=S[1],w.push(S[2]);p.push(E),_.push(A),m.push([h,w])}}if(r){var x=p;p=_,_=x}return[p,_,function(e){return e.map(function(e,t){var i=e.map(function(e,i){return m[t][1][i](e)}).join(",");return"matrix"==m[t][0]&&16==i.split(",").length&&(m[t][0]="matrix3d"),m[t][0]+"("+i+")"}).join(" ")}]},["transform"])}(d),function(e,t){function i(e,t){t.concat([e]).forEach(function(t){t in document.documentElement.style&&(n[e]=t)})}var n={};i("transform",["webkitTransform","msTransform"]),i("transformOrigin",["webkitTransformOrigin"]),i("perspective",["webkitPerspective"]),i("perspectiveOrigin",["webkitPerspectiveOrigin"]),e.propertyName=function(e){return n[e]||e}}(d)}(),function(){if(void 0===document.createElement("div").animate([]).oncancel){if(window.performance&&performance.now)var e=function(){return performance.now()};else e=function(){return Date.now()};var t=window.Element.prototype.animate;window.Element.prototype.animate=function(i,n){var r=t.call(this,i,n);r._cancelHandlers=[],r.oncancel=null;var o=r.cancel;r.cancel=function(){o.call(this);var t=new function(e,t,i){this.target=e,this.currentTime=null,this.timelineTime=i,this.type="cancel",this.bubbles=!1,this.cancelable=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=Event.AT_TARGET,this.timeStamp=Date.now()}(this,null,e()),i=this._cancelHandlers.concat(this.oncancel?[this.oncancel]:[]);setTimeout(function(){i.forEach(function(e){e.call(t.target,t)})},0)};var s=r.addEventListener;r.addEventListener=function(e,t){"function"==typeof t&&"cancel"==e?this._cancelHandlers.push(t):s.call(this,e,t)};var a=r.removeEventListener;return r.removeEventListener=function(e,t){if("cancel"==e){var i=this._cancelHandlers.indexOf(t);i>=0&&this._cancelHandlers.splice(i,1)}else a.call(this,e,t)},r}}}(),function(e){var t=document.documentElement,i=null,n=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(i=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,n=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{i&&i.cancel()}if(!n){var o=window.Element.prototype.animate;window.Element.prototype.animate=function(t,i){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),o.call(this,t,i)}}}(c),function(e,t,i){function n(e){var i=t.timeline;i.currentTime=e,i._discardAnimations(),0==i._animations.length?o=!1:requestAnimationFrame(n)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(i){t.timeline._updateAnimationsPromises(),e(i),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var i=new t.Animation(e,this);return this._animations.push(i),t.restartWebAnimationsNextTick(),i._updatePromises(),i._animation.play(),i._updatePromises(),i},play:function(e){return e&&e.remove(),this._play(e)}};var o=!1;t.restartWebAnimationsNextTick=function(){o||(o=!0,requestAnimationFrame(n))};var s=new t.AnimationTimeline;t.timeline=s;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return s}})}catch(e){}try{window.document.timeline=s}catch(e){}}(0,e),function(e,t,i){t.animationsWithPromises=[],t.Animation=function(t,i){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!i)throw new Error("Animation with null timeline is not supported");this._timeline=i,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,i,n,r,o=!!this._animation;o&&(e=this.playbackRate,i=this._paused,n=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),o&&(1!=e&&(this.playbackRate=e),null!==n?this.startTime=n:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),i&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(i){this._arrangeChildren(i,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t<this.effect.children.length;t++)this.effect.children[t]._animation=e,this._childAnimations[t]._setExternalAnimation(e)},_constructChildAnimations:function(){if(this.effect&&this._isGroup){var e=this.effect._timing.delay;this._removeChildAnimations(),this.effect.children.forEach(function(i){var n=t.timeline._play(i);this._childAnimations.push(n),n.playbackRate=this.playbackRate,this._paused&&n.pause(),i._animation=this.effect._animation,this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(i))}.bind(this))}},_arrangeChildren:function(e,t){null===this.startTime?e.currentTime=this.currentTime-t/this.playbackRate:e.startTime!==this.startTime+t/this.playbackRate&&(e.startTime=this.startTime+t/this.playbackRate)},get timeline(){return this._timeline},get playState(){return this._animation?this._animation.playState:"idle"},get finished(){return window.Promise?(this._finishedPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._finishedPromise=new Promise(function(e,t){this._resolveFinishedPromise=function(){e(this)},this._rejectFinishedPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"finished"==this.playState&&this._resolveFinishedPromise()),this._finishedPromise):null},get ready(){return window.Promise?(this._readyPromise||(-1==t.animationsWithPromises.indexOf(this)&&t.animationsWithPromises.push(this),this._readyPromise=new Promise(function(e,t){this._resolveReadyPromise=function(){e(this)},this._rejectReadyPromise=function(){t({type:DOMException.ABORT_ERR,name:"AbortError"})}}.bind(this)),"pending"!==this.playState&&this._resolveReadyPromise()),this._readyPromise):null},get onfinish(){return this._animation.onfinish},set onfinish(e){this._animation.onfinish="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get oncancel(){return this._animation.oncancel},set oncancel(e){this._animation.oncancel="function"==typeof e?function(t){t.target=this,e.call(this,t)}.bind(this):e},get currentTime(){this._updatePromises();var e=this._animation.currentTime;return this._updatePromises(),e},set currentTime(e){this._updatePromises(),this._animation.currentTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.currentTime=e-i}),this._updatePromises()},get startTime(){return this._animation.startTime},set startTime(e){this._updatePromises(),this._animation.startTime=isFinite(e)?e:Math.sign(e)*Number.MAX_VALUE,this._register(),this._forEachChild(function(t,i){t.startTime=e+i}),this._updatePromises()},get playbackRate(){return this._animation.playbackRate},set playbackRate(e){this._updatePromises();var t=this.currentTime;this._animation.playbackRate=e,this._forEachChild(function(t){t.playbackRate=e}),null!==t&&(this.currentTime=t),this._updatePromises()},play:function(){this._updatePromises(),this._paused=!1,this._animation.play(),-1==this._timeline._animations.indexOf(this)&&this._timeline._animations.push(this),this._register(),t.awaitStartTime(this),this._forEachChild(function(e){var t=e.currentTime;e.play(),e.currentTime=t}),this._updatePromises()},pause:function(){this._updatePromises(),this.currentTime&&(this._holdTime=this.currentTime),this._animation.pause(),this._register(),this._forEachChild(function(e){e.pause()}),this._paused=!0,this._updatePromises()},finish:function(){this._updatePromises(),this._animation.finish(),this._register(),this._updatePromises()},cancel:function(){this._updatePromises(),this._animation.cancel(),this._register(),this._removeChildAnimations(),this._updatePromises()},reverse:function(){this._updatePromises();var e=this.currentTime;this._animation.reverse(),this._forEachChild(function(e){e.reverse()}),null!==e&&(this.currentTime=e),this._updatePromises()},addEventListener:function(e,t){var i=t;"function"==typeof t&&(i=function(e){e.target=this,t.call(this,e)}.bind(this),t._wrapper=i),this._animation.addEventListener(e,i)},removeEventListener:function(e,t){this._animation.removeEventListener(e,t&&t._wrapper||t)},_removeChildAnimations:function(){for(;this._childAnimations.length;)this._childAnimations.pop().cancel()},_forEachChild:function(t){var i=0;if(this.effect.children&&this._childAnimations.length<this.effect.children.length&&this._constructChildAnimations(),this._childAnimations.forEach(function(e){t.call(this,e,i),this.effect instanceof window.SequenceEffect&&(i+=e.effect.activeDuration)}.bind(this)),"pending"!=this.playState){var n=this.effect._timing,r=this.currentTime;null!==r&&(r=e.calculateIterationProgress(e.calculateActiveDuration(n),r,n)),(null==r||isNaN(r))&&this._removeChildAnimations()}}},window.Animation=t.Animation}(c,e),function(e,t,i){function n(){for(var e=!1;a.length;)a.shift()._updateChildren(),e=!0;return e}var r=function(e){if(e._animation=void 0,e instanceof window.SequenceEffect||e instanceof window.GroupEffect)for(var t=0;t<e.children.length;t++)r(e.children[t])};t.removeMulti=function(e){for(var t=[],i=0;i<e.length;i++){var n=e[i];n._parent?(-1==t.indexOf(n._parent)&&t.push(n._parent),n._parent.children.splice(n._parent.children.indexOf(n),1),n._parent=null,r(n)):n._animation&&n._animation.effect==n&&(n._animation.cancel(),n._animation.effect=new KeyframeEffect(null,[]),n._animation._callback&&(n._animation._callback._animation=null),n._animation._rebuildUnderlyingAnimation(),r(n))}for(i=0;i<t.length;i++)t[i]._rebuild()},t.KeyframeEffect=function(t,i,n,r){return this.target=t,this._parent=null,n=e.numericTimingToObject(n),this._timingInput=e.cloneTimingInput(n),this._timing=e.normalizeTimingInput(n),this.timing=e.makeTiming(n,!1,this),this.timing._effect=this,"function"==typeof i?(e.deprecated("Custom KeyframeEffect","2015-06-22","Use KeyframeEffect.onsample instead."),this._normalizedKeyframes=i):this._normalizedKeyframes=new function(t){this._frames=e.normalizeKeyframes(t)}(i),this._keyframes=i,this.activeDuration=e.calculateActiveDuration(this._timing),this._id=r,this},t.KeyframeEffect.prototype={getFrames:function(){return"function"==typeof this._normalizedKeyframes?this._normalizedKeyframes:this._normalizedKeyframes._frames},set onsample(e){if("function"==typeof this.getFrames())throw new Error("Setting onsample on custom effect KeyframeEffect is not supported.");this._onsample=e,this._animation&&this._animation._rebuildUnderlyingAnimation()},get parent(){return this._parent},clone:function(){if("function"==typeof this.getFrames())throw new Error("Cloning custom effects is not supported.");var t=new KeyframeEffect(this.target,[],e.cloneTimingInput(this._timingInput),this._id);return t._normalizedKeyframes=this._normalizedKeyframes,t._keyframes=this._keyframes,t},remove:function(){t.removeMulti([this])}};var o=Element.prototype.animate;Element.prototype.animate=function(e,i){var n="";return i&&i.id&&(n=i.id),t.timeline._play(new t.KeyframeEffect(this,e,i,n))};var s=document.createElementNS("http://www.w3.org/1999/xhtml","div");t.newUnderlyingAnimationForKeyframeEffect=function(e){if(e){var t=e.target||s;"function"==typeof(i=e._keyframes)&&(i=[]),(n=e._timingInput).id=e._id}else{t=s;var i=[],n=0}return o.apply(t,[i,n])},t.bindAnimationForKeyframeEffect=function(e){e.effect&&"function"==typeof e.effect._normalizedKeyframes&&t.bindAnimationForCustomEffect(e)};var a=[];t.awaitStartTime=function(e){null===e.startTime&&e._isGroup&&(0==a.length&&requestAnimationFrame(n),a.push(e))};var l=window.getComputedStyle;Object.defineProperty(window,"getComputedStyle",{configurable:!0,enumerable:!0,value:function(){t.timeline._updateAnimationsPromises();var e=l.apply(this,arguments);return n()&&(e=l.apply(this,arguments)),t.timeline._updateAnimationsPromises(),e}}),window.KeyframeEffect=t.KeyframeEffect,window.Element.prototype.getAnimations=function(){return document.timeline.getAnimations().filter(function(e){return null!==e.effect&&e.effect.target==this}.bind(this))}}(c,e),function(e,t,i){function n(e){e._registered||(e._registered=!0,s.push(e),a||(a=!0,requestAnimationFrame(r)))}function r(e){var t=s;s=[],t.sort(function(e,t){return e._sequenceNumber-t._sequenceNumber}),t=t.filter(function(e){e();var t=e._animation?e._animation.playState:"idle";return"running"!=t&&"pending"!=t&&(e._registered=!1),e._registered}),s.push.apply(s,t),s.length?(a=!0,requestAnimationFrame(r)):a=!1}var o=(document.createElementNS("http://www.w3.org/1999/xhtml","div"),0);t.bindAnimationForCustomEffect=function(t){var i,r=t.effect.target,s="function"==typeof t.effect.getFrames();i=s?t.effect.getFrames():t.effect._onsample;var a=t.effect.timing,l=null;a=e.normalizeTimingInput(a);var h=function(){var n=h._animation?h._animation.currentTime:null;null!==n&&(n=e.calculateIterationProgress(e.calculateActiveDuration(a),n,a),isNaN(n)&&(n=null)),n!==l&&(s?i(n,r,t.effect):i(n,t.effect,t.effect._animation)),l=n};h._animation=t,h._registered=!1,h._sequenceNumber=o++,t._callback=h,n(h)};var s=[],a=!1;t.Animation.prototype._register=function(){this._callback&&n(this._callback)}}(c,e),function(e,t,i){function n(e){return e._timing.delay+e.activeDuration+e._timing.endDelay}function r(t,i,n){this._id=n,this._parent=null,this.children=t||[],this._reparent(this.children),i=e.numericTimingToObject(i),this._timingInput=e.cloneTimingInput(i),this._timing=e.normalizeTimingInput(i,!0),this.timing=e.makeTiming(i,!0,this),this.timing._effect=this,"auto"===this._timing.duration&&(this._timing.duration=this.activeDuration)}window.SequenceEffect=function(){r.apply(this,arguments)},window.GroupEffect=function(){r.apply(this,arguments)},r.prototype={_isAncestor:function(e){for(var t=this;null!==t;){if(t==e)return!0;t=t._parent}return!1},_rebuild:function(){for(var e=this;e;)"auto"===e.timing.duration&&(e._timing.duration=e.activeDuration),e=e._parent;this._animation&&this._animation._rebuildUnderlyingAnimation()},_reparent:function(e){t.removeMulti(e);for(var i=0;i<e.length;i++)e[i]._parent=this},_putChild:function(e,t){for(var i=t?"Cannot append an ancestor or self":"Cannot prepend an ancestor or self",n=0;n<e.length;n++)if(this._isAncestor(e[n]))throw{type:DOMException.HIERARCHY_REQUEST_ERR,name:"HierarchyRequestError",message:i};for(n=0;n<e.length;n++)t?this.children.push(e[n]):this.children.unshift(e[n]);this._reparent(e),this._rebuild()},append:function(){this._putChild(arguments,!0)},prepend:function(){this._putChild(arguments,!1)},get parent(){return this._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 t=e.cloneTimingInput(this._timingInput),i=[],n=0;n<this.children.length;n++)i.push(this.children[n].clone());return this instanceof GroupEffect?new GroupEffect(i,t):new SequenceEffect(i,t)},remove:function(){t.removeMulti([this])}},window.SequenceEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.SequenceEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e+=n(t)}),Math.max(e,0)}}),window.GroupEffect.prototype=Object.create(r.prototype),Object.defineProperty(window.GroupEffect.prototype,"activeDuration",{get:function(){var e=0;return this.children.forEach(function(t){e=Math.max(e,n(t))}),e}}),t.newUnderlyingAnimationForGroup=function(i){var n,r=null,o=new KeyframeEffect(null,[],i._timing,i._id);return o.onsample=function(t){var i=n._wrapper;if(i&&"pending"!=i.playState&&i.effect)return null==t?void i._removeChildAnimations():0==t&&i.playbackRate<0&&(r||(r=e.normalizeTimingInput(i.effect.timing)),t=e.calculateIterationProgress(e.calculateActiveDuration(r),-1,r),isNaN(t)||null==t)?(i._forEachChild(function(e){e.currentTime=-1}),void i._removeChildAnimations()):void 0},n=t.timeline._play(o)},t.bindAnimationForGroup=function(e){e._animation._wrapper=e,e._isGroup=!0,t.awaitStartTime(e),e._constructChildAnimations(),e._setExternalAnimation(e)},t.groupChildDuration=n}(c,e),b.true=a}({},function(){return this}()),Polymer({is:"opaque-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"1"},{opacity:"1"}],this.timingFromConfig(e)),t.style.opacity="0",this._effect},complete:function(e){e.node.style.opacity=""}}),function(){"use strict";var e={pageX:0,pageY:0},t=null,i=[];Polymer.IronDropdownScrollManager={get currentLockingElement(){return this._lockingElements[this._lockingElements.length-1]},elementIsScrollLocked:function(e){var t,i=this.currentLockingElement;return void 0!==i&&(!!this._hasCachedLockedElement(e)||!this._hasCachedUnlockedElement(e)&&((t=!!i&&i!==e&&!this._composedTreeContains(i,e))?this._lockedElementCache.push(e):this._unlockedElementCache.push(e),t))},pushScrollLock:function(e){this._lockingElements.indexOf(e)>=0||(0===this._lockingElements.length&&this._lockScrollInteractions(),this._lockingElements.push(e),this._lockedElementCache=[],this._unlockedElementCache=[])},removeScrollLock:function(e){var t=this._lockingElements.indexOf(e);-1!==t&&(this._lockingElements.splice(t,1),this._lockedElementCache=[],this._unlockedElementCache=[],0===this._lockingElements.length&&this._unlockScrollInteractions())},_lockingElements:[],_lockedElementCache:null,_unlockedElementCache:null,_hasCachedLockedElement:function(e){return this._lockedElementCache.indexOf(e)>-1},_hasCachedUnlockedElement:function(e){return this._unlockedElementCache.indexOf(e)>-1},_composedTreeContains:function(e,t){var i,n,r,o;if(e.contains(t))return!0;for(i=Polymer.dom(e).querySelectorAll("content"),r=0;r<i.length;++r)for(n=Polymer.dom(i[r]).getDistributedNodes(),o=0;o<n.length;++o)if(this._composedTreeContains(n[o],t))return!0;return!1},_scrollInteractionHandler:function(t){if(t.cancelable&&this._shouldPreventScrolling(t)&&t.preventDefault(),t.targetTouches){var i=t.targetTouches[0];e.pageX=i.pageX,e.pageY=i.pageY}},_lockScrollInteractions:function(){this._boundScrollHandler=this._boundScrollHandler||this._scrollInteractionHandler.bind(this),document.addEventListener("wheel",this._boundScrollHandler,!0),document.addEventListener("mousewheel",this._boundScrollHandler,!0),document.addEventListener("DOMMouseScroll",this._boundScrollHandler,!0),document.addEventListener("touchstart",this._boundScrollHandler,!0),document.addEventListener("touchmove",this._boundScrollHandler,!0)},_unlockScrollInteractions:function(){document.removeEventListener("wheel",this._boundScrollHandler,!0),document.removeEventListener("mousewheel",this._boundScrollHandler,!0),document.removeEventListener("DOMMouseScroll",this._boundScrollHandler,!0),document.removeEventListener("touchstart",this._boundScrollHandler,!0),document.removeEventListener("touchmove",this._boundScrollHandler,!0)},_shouldPreventScrolling:function(e){var n=Polymer.dom(e).rootTarget;if("touchmove"!==e.type&&t!==n&&(t=n,i=this._getScrollableNodes(Polymer.dom(e).path)),!i.length)return!0;if("touchstart"===e.type)return!1;var r=this._getScrollInfo(e);return!this._getScrollingNode(i,r.deltaX,r.deltaY)},_getScrollableNodes:function(e){for(var t=[],i=e.indexOf(this.currentLockingElement),n=0;n<=i;n++)if(e[n].nodeType===Node.ELEMENT_NODE){var r=e[n],o=r.style;"scroll"!==o.overflow&&"auto"!==o.overflow&&(o=window.getComputedStyle(r)),"scroll"!==o.overflow&&"auto"!==o.overflow||t.push(r)}return t},_getScrollingNode:function(e,t,i){if(t||i)for(var n=Math.abs(i)>=Math.abs(t),r=0;r<e.length;r++){var o=e[r];if(n?i<0?o.scrollTop>0:o.scrollTop<o.scrollHeight-o.clientHeight:t<0?o.scrollLeft>0:o.scrollLeft<o.scrollWidth-o.clientWidth)return o}},_getScrollInfo:function(t){var i={deltaX:t.deltaX,deltaY:t.deltaY};if("deltaX"in t);else if("wheelDeltaX"in t)i.deltaX=-t.wheelDeltaX,i.deltaY=-t.wheelDeltaY;else if("axis"in t)i.deltaX=1===t.axis?t.detail:0,i.deltaY=2===t.axis?t.detail:0;else if(t.targetTouches){var n=t.targetTouches[0];i.deltaX=e.pageX-n.pageX,i.deltaY=e.pageY-n.pageY}return i}}}(),function(){"use strict";Polymer({is:"iron-dropdown",behaviors:[Polymer.IronControlState,Polymer.IronA11yKeysBehavior,Polymer.IronOverlayBehavior,Polymer.NeonAnimationRunnerBehavior],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1},_boundOnCaptureScroll:{type:Function,value:function(){return this._onCaptureScroll.bind(this)}}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},get _focusTarget(){return this.focusTarget||this.containedElement},ready:function(){this._scrollTop=0,this._scrollLeft=0,this._refitOnScrollRAF=null},attached:function(){this.sizingTarget&&this.sizingTarget!==this||(this.sizingTarget=this.containedElement||this)},detached:function(){this.cancelAnimation(),document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)},_openedChanged:function(){this.opened&&this.disabled?this.cancel():(this.cancelAnimation(),this._updateAnimationConfig(),this._saveScrollPosition(),this.opened?(document.addEventListener("scroll",this._boundOnCaptureScroll),!this.allowOutsideScroll&&Polymer.IronDropdownScrollManager.pushScrollLock(this)):(document.removeEventListener("scroll",this._boundOnCaptureScroll),Polymer.IronDropdownScrollManager.removeScrollLock(this)),Polymer.IronOverlayBehaviorImpl._openedChanged.apply(this,arguments))},_renderOpened:function(){!this.noAnimations&&this.animationConfig.open?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("open")):Polymer.IronOverlayBehaviorImpl._renderOpened.apply(this,arguments)},_renderClosed:function(){!this.noAnimations&&this.animationConfig.close?(this.$.contentWrapper.classList.add("animating"),this.playAnimation("close")):Polymer.IronOverlayBehaviorImpl._renderClosed.apply(this,arguments)},_onNeonAnimationFinish:function(){this.$.contentWrapper.classList.remove("animating"),this.opened?this._finishRenderOpened():this._finishRenderClosed()},_onCaptureScroll:function(){this.allowOutsideScroll?(this._refitOnScrollRAF&&window.cancelAnimationFrame(this._refitOnScrollRAF),this._refitOnScrollRAF=window.requestAnimationFrame(this.refit.bind(this))):this._restoreScrollPosition()},_saveScrollPosition:function(){document.scrollingElement?(this._scrollTop=document.scrollingElement.scrollTop,this._scrollLeft=document.scrollingElement.scrollLeft):(this._scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this._scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},_restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this._scrollTop,document.scrollingElement.scrollLeft=this._scrollLeft):(document.documentElement.scrollTop=this._scrollTop,document.documentElement.scrollLeft=this._scrollLeft,document.body.scrollTop=this._scrollTop,document.body.scrollLeft=this._scrollLeft)},_updateAnimationConfig:function(){for(var e=this.containedElement,t=[].concat(this.openAnimationConfig||[]).concat(this.closeAnimationConfig||[]),i=0;i<t.length;i++)t[i].node=e;this.animationConfig={open:this.openAnimationConfig,close:this.closeAnimationConfig}},_updateOverlayPosition:function(){this.isAttached&&this.notifyResize()},_applyFocus:function(){var e=this.focusTarget||this.containedElement;e&&this.opened&&!this.noAutoFocus?e.focus():Polymer.IronOverlayBehaviorImpl._applyFocus.apply(this,arguments)}})}(),Polymer({is:"fade-in-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"0"},{opacity:"1"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"fade-out-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node;return this._effect=new KeyframeEffect(t,[{opacity:"1"},{opacity:"0"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:i/2+"px"},{height:i+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-grow-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:i/2+"px"},{width:i+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-width-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:i+"px"},{width:i-i/20+"px"}],this.timingFromConfig(e)),this._effect}}),Polymer({is:"paper-menu-shrink-height-animation",behaviors:[Polymer.NeonAnimationBehavior],configure:function(e){var t=e.node,i=t.getBoundingClientRect(),n=i.height;return i.top,this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}}),function(){"use strict";var e={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},t=Polymer({is:"paper-menu-button",behaviors:[Polymer.IronA11yKeysBehavior,Polymer.IronControlState],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:e.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:e.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},toggle:function(){this.opened?this.close():this.open()},open:function(){this.disabled||this.$.dropdown.open()},close:function(){this.$.dropdown.close()},_onIronSelect:function(e){this.ignoreSelect||this.close()},_onIronActivate:function(e){this.closeOnActivate&&this.close()},_openedChanged:function(e,t){e?(this._dropdownContent=this.contentElement,this.fire("paper-dropdown-open")):null!=t&&this.fire("paper-dropdown-close")},_disabledChanged:function(e){Polymer.IronControlState._disabledChanged.apply(this,arguments),e&&this.opened&&this.close()},__onIronOverlayCanceled:function(e){var t=e.detail,i=(Polymer.dom(t).rootTarget,this.$.trigger);Polymer.dom(t).path.indexOf(i)>-1&&e.preventDefault()}});Object.keys(e).forEach(function(i){t[i]=e[i]}),Polymer.PaperMenuButton=t}(),function(){"use strict";Polymer({is:"paper-dropdown-menu",behaviors:[Polymer.IronButtonState,Polymer.IronControlState,Polymer.IronFormElementBehavior,Polymer.IronValidatableBehavior],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0,readOnly:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){return Polymer.dom(this.$.content).getDistributedNodes()[0]},open:function(){this.$.menuButton.open()},close:function(){this.$.menuButton.close()},_onIronSelect:function(e){this._setSelectedItem(e.detail.item)},_onIronDeselect:function(e){this._setSelectedItem(null)},_onTap:function(e){Polymer.Gestures.findOriginalTarget(e)===this&&this.open()},_selectedItemChanged:function(e){var t;t=e?e.label||e.getAttribute("label")||e.textContent.trim():"",this._setValue(t),this._setSelectedItemLabel(t)},_computeMenuVerticalOffset:function(e){return e?-4:8},_getValidity:function(e){return this.disabled||!this.required||this.required&&!!this.value},_openedChanged:function(){var e=this.opened?"true":"false",t=this.contentElement;t&&t.setAttribute("aria-expanded",e)}})}(),Polymer({is:"paper-toolbar",hostAttributes:{role:"toolbar"},properties:{bottomJustify:{type:String,value:""},justify:{type:String,value:""},middleJustify:{type:String,value:""}},attached:function(){this._observer=this._observe(this),this._updateAriaLabelledBy()},detached:function(){this._observer&&this._observer.disconnect()},_observe:function(e){var t=new MutationObserver(function(){this._updateAriaLabelledBy()}.bind(this));return t.observe(e,{childList:!0,subtree:!0}),t},_updateAriaLabelledBy:function(){for(var e,t=[],i=Polymer.dom(this.root).querySelectorAll("content"),n=0;e=i[n];n++)for(var r,o=Polymer.dom(e).getDistributedNodes(),s=0;r=o[s];s++)if(r.classList&&r.classList.contains("title"))if(r.id)t.push(r.id);else{var a="paper-toolbar-label-"+Math.floor(1e4*Math.random());r.id=a,t.push(a)}t.length>0&&this.setAttribute("aria-labelledby",t.join(" "))},_computeBarExtraClasses:function(e){return e?e+("justified"===e?"":"-justified"):""}}),Polymer.IronMenuBehaviorImpl={properties:{focusedItem:{observer:"_focusedItemChanged",readOnly:!0,type:Object},attrForItemTitle:{type:String}},_SEARCH_RESET_TIMEOUT_MS:1e3,hostAttributes:{role:"menu",tabindex:"0"},observers:["_updateMultiselectable(multi)"],listeners:{focus:"_onFocus",keydown:"_onKeydown","iron-items-changed":"_onIronItemsChanged"},keyBindings:{up:"_onUpKey",down:"_onDownKey",esc:"_onEscKey","shift+tab:keydown":"_onShiftTabDown"},attached:function(){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.IronMultiSelectableBehaviorImpl.select.apply(this,arguments))},_resetTabindices:function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this.items.forEach(function(t){t.setAttribute("tabindex",t===e?"0":"-1")},this)},_updateMultiselectable:function(e){e?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")},_focusWithKeyboardEvent:function(e){this.cancelDebouncer("_clearSearchText");for(var t,i=this._searchText||"",n=(i+=(e.key&&1==e.key.length?e.key:String.fromCharCode(e.keyCode)).toLocaleLowerCase()).length,r=0;t=this.items[r];r++)if(!t.hasAttribute("disabled")){var o=this.attrForItemTitle||"textContent",s=(t[o]||t.getAttribute(o)||"").trim();if(!(s.length<n)&&s.slice(0,n).toLocaleLowerCase()==i){this._setFocusedItem(t);break}}this._searchText=i,this.debounce("_clearSearchText",this._clearSearchText,this._SEARCH_RESET_TIMEOUT_MS)},_clearSearchText:function(){this._searchText=""},_focusPrevious:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t-i+e)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_focusNext:function(){for(var e=this.items.length,t=Number(this.indexOf(this.focusedItem)),i=1;i<e+1;i++){var n=this.items[(t+i)%e];if(!n.hasAttribute("disabled")){var r=Polymer.dom(n).getOwnerRoot()||document;if(this._setFocusedItem(n),Polymer.dom(r).activeElement==n)return}}},_applySelection:function(e,t){t?e.setAttribute("aria-selected","true"):e.removeAttribute("aria-selected"),Polymer.IronSelectableBehavior._applySelection.apply(this,arguments)},_focusedItemChanged:function(e,t){t&&t.setAttribute("tabindex","-1"),e&&(e.setAttribute("tabindex","0"),e.focus())},_onIronItemsChanged:function(e){e.detail.addedNodes.length&&this._resetTabindices()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");Polymer.IronMenuBehaviorImpl._shiftTabPressed=!0,this._setFocusedItem(null),this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1},1)},_onFocus:function(e){if(!Polymer.IronMenuBehaviorImpl._shiftTabPressed){var t=Polymer.dom(e).rootTarget;(t===this||void 0===t.tabIndex||this.isLightDescendant(t))&&(this._defaultFocusAsync=this.async(function(){var e=this.multi?this.selectedItems&&this.selectedItems[0]:this.selectedItem;this._setFocusedItem(null),e?this._setFocusedItem(e):this.items[0]&&this._focusNext()}))}},_onUpKey:function(e){this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onEscKey:function(e){this.focusedItem.blur()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down esc")||this._focusWithKeyboardEvent(e),e.stopPropagation()},_activateHandler:function(e){Polymer.IronSelectableBehavior._activateHandler.call(this,e),e.stopPropagation()}},Polymer.IronMenuBehaviorImpl._shiftTabPressed=!1,Polymer.IronMenuBehavior=[Polymer.IronMultiSelectableBehavior,Polymer.IronA11yKeysBehavior,Polymer.IronMenuBehaviorImpl],Polymer({is:"paper-listbox",behaviors:[Polymer.IronMenuBehavior],hostAttributes:{role:"listbox"}}),Polymer.IronMenubarBehaviorImpl={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?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.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},Polymer.IronMenubarBehavior=[Polymer.IronMenuBehavior,Polymer.IronMenubarBehaviorImpl],Polymer({is:"paper-tab",behaviors:[Polymer.IronControlState,Polymer.IronButtonState,Polymer.PaperRippleBehavior],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Polymer.dom(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}}),Polymer({is:"paper-tabs",behaviors:[Polymer.IronResizableBehavior,Polymer.IronMenubarBehavior],properties:{noink:{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:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Polymer.dom(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,i){return!t||i?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),Polymer.IronMenuBehaviorImpl._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var i=t&&-t.ddx||0;this._affectScroll(i)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var i=this.$.tabsContent.getBoundingClientRect(),n=i.width,r=e.getBoundingClientRect(),o=r.left-i.left;if(this._pos={width:this._calcPercent(r.width,n),left:this._calcPercent(o,n)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var s=t.getBoundingClientRect(),a=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var h=a<l;this._isRTL&&(h=!h),h?this._positionBar(this._calcPercent(r.left+r.width-s.left,n)-5,this._left):this._positionBar(this._calcPercent(s.left+s.width-r.left,n)-5,this._calcPercent(o,n)+5),this.scrollable&&this._scrollToSelectedIfNeeded(r.width,o)},_scrollToSelectedIfNeeded:function(e,t){var i=t-this.$.tabsContainer.scrollLeft;i<0?this.$.tabsContainer.scrollLeft+=i:(i+=e-this.$.tabsContainer.offsetWidth)>0&&(this.$.tabsContainer.scrollLeft+=i)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}}),function(e,t){"use strict";function i(e){this.i="a-z",this.a={tags:[]},this.g=e,this.c=e.querySelectorAll(".codelab-card");for(var t=e=0;t<this.c.length;t++){var i=this.c[t];i.j=(i.dataset.title||"").trim().toLowerCase(),i.h=o((i.dataset.category||"").split(",")),i.tags=o((i.dataset.tags||"").split(",")),i.f=new Date(i.dataset.updated),i.duration=parseInt(i.dataset.duration,10),i.dataset.pin&&(e+=1,i.b=e)}}function n(e){for(var t=Array.prototype.slice.call(e.c,0),i=t.length;i--;){var n=t[i];if(e.a.kioskTags&&0<e.a.kioskTags.length&&!a(e.a.kioskTags,n.tags))n=!1;else{var r=!e.a.cat;if(e.a.cat)for(var o=0;o<n.h.length;o++)e.a.cat===n.h[o]&&(r=!0);n=!(!r||e.a.text&&-1===n.j.indexOf(e.a.text)||0<e.a.tags.length&&!a(e.a.tags,n.tags))}n||t.splice(i,1)}for(function(e,t){switch(e.i){case"duration":t.sort(function(e,t){var i=s(e,t);return null!==i?i:e.duration-t.duration});break;case"recent":t.sort(function(e,t){var i=s(e,t);return null!==i?i:t.f<e.f?-1:t.f>e.f?1:0});break;default:t.sort(function(e,t){var i=s(e,t);return null!==i?i:e.dataset.title<t.dataset.title?-1:e.dataset.title>t.dataset.title?1:0})}}(e,t),i=0;i<e.c.length;i++)(n=e.c[i]).parentNode&&n.parentNode.removeChild(n);t.forEach(e.g.appendChild.bind(e.g))}function r(e){return(e||"").trim().toLowerCase()}function o(e){e=e||[];for(var t=[],i=0;i<e.length;i++){var n=r(e[i]);n&&t.push(n)}return t.sort(),t}function s(e,t){return e.b&&!t.b?-1:!e.b&&t.b?1:e.b&&t.b?e.b-t.b:null}function a(e,t){for(var i=0,n=0;i<e.length&&n<t.length;)if(e[i]<t[n])i++;else{if(!(e[i]>t[n]))return!0;n++}return!1}i.prototype.sort=function(e){this.i=e,n(this)},i.prototype.filter=function(e){this.a.cat=r(e.cat),this.a.text=r(e.text),this.a.tags=o(e.tags),this.a.kioskTags=o(e.kioskTags),n(this)},i.prototype.filterByCategory=function(e){this.a.cat=r(e),n(this)},i.prototype.filterByText=function(e){this.a.text=r(e),n(this)},i.prototype.filterByTags=function(e,t){this.a.tags=o(e),this.a.kioskTags=o(t),n(this)},i.prototype.clearFilters=function(){this.filter({tags:[],kioskTags:[]})},e.CardSorter=i}(window,document),Polymer({is:"card-sorter",properties:{sorter:{type:Object,readOnly:!0}},ready:function(){this._setSorter(new CardSorter(this))},sort:function(e){e=(e||"").trim().toLowerCase(),this.sorter.sort(e)},filter:function(e){this.sorter.filter(e)},filterByCategory:function(e){this.sorter.filterByCategory(e)},filterByTags:function(e){this.sorter.filterByTags(e)},filterByText:function(e){this.sorter.filterByText(e)},clearFilters:function(){this.sorter.clearFilter()}});
    \ No newline at end of file
    diff --git a/site/dist/favicon.ico b/site/dist/favicon.ico
    deleted file mode 100644
    index c4eb5c552050dcd236f6466f4fc49e6398e3fb26..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 15086
    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
    M@l18Z!}*E+3uM{kK>z>%
    
    diff --git a/site/dist/images/favicons/android-chrome-144x144.png b/site/dist/images/favicons/android-chrome-144x144.png
    deleted file mode 100644
    index 8548535c708751a1d8d6bee72bab60181349bb0f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2280
    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
    bPQTG6m9dU)UH!We_$ELoq?ul!E}HT$wuf|z
    
    diff --git a/site/dist/images/favicons/android-chrome-192x192.png b/site/dist/images/favicons/android-chrome-192x192.png
    deleted file mode 100644
    index 1ce94e96a330066b1ec61e086f51a55f7cf13495..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2817
    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
    DL`gj2
    
    diff --git a/site/dist/images/favicons/android-chrome-256x256.png b/site/dist/images/favicons/android-chrome-256x256.png
    deleted file mode 100644
    index 15690ebeaed300ce2c037a3519bc77b44d0a50b9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 3260
    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
    
    diff --git a/site/dist/images/favicons/android-chrome-36x36.png b/site/dist/images/favicons/android-chrome-36x36.png
    deleted file mode 100644
    index 56c6923f118d58e6bc882d38220bffdf86348439..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 548
    zcmV+<0^9wGP)<h;3K|Lk000e1NJLTq001Na001Ni0{{R3*4}8U00027P)t-sM{rDI
    zV`FG&Xl-q6e}8{fRaIYKUutS<W@ct(Wo2h)XJ}|>|NsB~{{BT;Wc&R5>Fn*&*V%iD
    zkz{s$Q)Y18;o?$eZ}9T-i<q89TV=Jr!hemF)7aWbU1o28hp4i*Okirq&CuQ9<A;@-
    zWOaV2v$tGtcTHhy`1$#Vl$%FfW}T?6ikF_e!^f?+yQi_W;pFCSeuhb2Xl;Il$j;GS
    zZ+Mubseg`@SZj22gNu=!qcEEfuK)l540KXXQveqh2Lb~S7zH&YF}hWeBme*b7D+@w
    zRCr#^)W>dxFc5~(Pz>bWvElaKd++uAA1uEED3UP<DOu!Oz=9($tQkK3X*TmxV|HXL
    zk&zWD=42s<eIw7zLZ%lYBMTW3a<h=DqVgM6tMXY+LlvKhN<x(I@+&DQ{y3Gm+tQ*f
    zp_$YJLQO5Y!vqV7h5=Bcu0e-qjpz~j4xx4uUHI<AuOey$#QQ2*<Cxd}7NhwRYTQ%M
    ziinP9fT#_jiGn7CHb3Zm1X?MmHwIeHV{_ZTh-zyEi9UxK#pudUJAO%CL7Pw~G!Go}
    zJcuN!H-LhnG>ZWKuD$Ulp@Bp*LR&3rb%Fe8JPp4Xl{`bI_V*~?O66Zp<`jybDHRLR
    mn%kCR8m>0ObSyjPujdOApgSp_m0)=Q0000<MNUMnLSTZ}WBR)Q
    
    diff --git a/site/dist/images/favicons/android-chrome-384x384.png b/site/dist/images/favicons/android-chrome-384x384.png
    deleted file mode 100644
    index b0e8df9d53c7e4f476b2315a2f86254f32d6f3be..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4319
    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
    YafF3>luNboGXY!7j8C1YJWjm%FQdAd00000
    
    diff --git a/site/dist/images/favicons/android-chrome-48x48.png b/site/dist/images/favicons/android-chrome-48x48.png
    deleted file mode 100644
    index 3fe283dd5ae82ff56f8f3a35e806863c176e105f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 704
    zcmV;x0zdtUP)<h;3K|Lk000e1NJLTq001xm001xu0{{R3VB86{0002(P)t-sM{rDN
    zXlQ9^X=Y|-e}8{wW@c4YRc&o;Vq#)sWMpV)Xk=t$W@cvp|Nli=WJX(MP-JcX{{Bf_
    zXL5py`1$#MjFbEP{Kn1DTyA&h>+HJ1#+|6GoTsdamYm?^<-5biYI}o`ouje3zH@_$
    zRcLYZ_4Q+Qec|Nh(AL<ev9*$(r0($XlAokhXmQxx->9;;X?lWWc7FZ+{qywoQDkn@
    z*xItYzjT9(ke#E&%g$?jgs-^0?eFmA=<0@)n&#>1TWxlBg^k(W-)MP(*W2Fv`}_R-
    z{iUz8VRL*;U}{WYX`803&eYcT`1s)C<@WBfnE(I)4RlgYQvenn3IYWN2Omc<LPq$+
    zEMouw0d+}4K~#8N?bg>$!!Q(pVKQ3^#~Iyw@4fe)%=dpB(qmO^QDQ<b5JLP{wxaLC
    zk&ctQ-<c@M4jajmNP#F2n+a4%oL#_42xQ(a;AI33r(NK5{7v8m%uk3PFfSWC1rc}x
    zgakYYf=^6P2P|^LVZe$k(DWgQ=|`aF5%_Wp&;`s*c^a?+0}K&_PCiaW)CzR^i#G$b
    zt0$1jA}FgCpf`VhF~9&dmIN$i4n`X6^>^4PXQ0#&XbCf*tN^wL_ijxtYP3+S6cbPZ
    zqgS#dSB(KHnSd!inUU+%34*C5n5dt`%o3CU8()JZc|C%P#i5N_jZ3iJxer^5Lz9Gt
    zqIUUOH}J0SK^vLRLkh6u84Lj6<$2yC=0GhY$YxHU+BU%3qTjIqBnnvk1VXqSGUlN`
    zMVbOP^<4(Y`4Hsk0L2janhZdSfQ64B0$BaVOThj$^8+{EKe*|mC~>Zb$NMjPd~k6R
    m0#V?2r;T_{5WoHFa6=yhRdM?)*y~jQ0000<MNUMnLSTZLu~YQ`
    
    diff --git a/site/dist/images/favicons/android-chrome-512x512.png b/site/dist/images/favicons/android-chrome-512x512.png
    deleted file mode 100644
    index f6f480a818b42b313f034ad3d9cfaddd8a3509b9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 5448
    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
    
    diff --git a/site/dist/images/favicons/android-chrome-72x72.png b/site/dist/images/favicons/android-chrome-72x72.png
    deleted file mode 100644
    index 80e7037a1337d92cb413afb416352bde1c18516d..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 962
    zcmV;z13mnSP)<h;3K|Lk000e1NJLTq002k;002k`0{{R3VlzW^0003yP)t-sM{rDM
    zXJ-Ha0BUM#RaI40RaIwaXJ21mXlQ6<Wo2Y!WM*b&MOtM4|Nll?W&ZyDp{%jf*xP1z
    ze@b6y{QUh+Vr$yo;FqGP`~3V{ZFc$k`d@K*SZj3a?e6yX_hEB;f{>Q0wYf)JX3Egh
    zS!{K>!o}q0>4ub=a)OFfXmRuO^=W#7{r&ye+}?PHkEO4)evFgp?Ct03>%hm#`1$$w
    z`1psEoBR9wVRL-l;o^6Pj>gT<e2bFp@9?j<y~WGU&(znz$IDD$X_1|yP-JafZg)*#
    zYj1ytw!Xsf^7B$=Z>h7ljG3Tic7K<nsc(RX)Y;oiU~1jr<EXN?YkY)cb$+b1y0W{!
    zqO7s&?(b1#Zi0}PiI$!3@$%8u*|faC-{a)I#mRSujaO=Oke#FS_4bpWrD}VF+1=mI
    z*$SQj000bhQchC<8vzUk10@J2SUpl(;h(es00JsWL_t(|UhUXbZ{t81h2eGMz_#bJ
    z!&qi!W@cvYBK-efup2o&Qo#14>GsO+U8Lxd?D2r+(+B5O=huTZr2Fd%kl%-z^7#vp
    zuA!zhy#NIRsHs5k6$+uILjN1`AP?$!VJ$$*3+t&4+M1NtA_ibY_;V^#6|_Jn9tD7C
    zoYG1)(5SFBOKuaks19w9(P>IpP@;*@__{K5AgmRIT7`|MLPu#j9bg@VW@c5Oq9MxW
    zz;anitBO#PP#6pd3!7GgaA}HFcMJ@ObrV|JRDe=3+=$gMikcU;><;}lZ*l)5`PNX<
    z1fjtJH^}&tf5VS?r@0X&H8xWkGF+fv)|fww$T7-F3EOanzW<beJ>V)W=j|w~eU4Cn
    zpCj~D^4%qHVV<BuJ0_(rC+M44UE?f_itP&Pb%4Hb?SM`DdxVnqP=<dxHDJ@Buufa3
    zQ`jMFGENmBBnj>9!=`B5{n5}XY!?*^pW#~JWuuFbxq}Lwm={Rgxeq`3`YFv-`XJ9G
    zeT4^w4-y-~QYh<KM4qk1@`u}`9U^2mX&;fxx=&gR3{sjvNo$ht=^nQZ%LrQ*Hjko)
    z#p(vJ6x^ZBB@ySP*1S|({HMij@lP5`5LVr`qlh9jJL9}TrjMWoVZ?dMK7cB;KJIjg
    z7~58cu;_HG8HGB875jtM0;+*BQ+7wc$*qq*j56=!??E2)-d7sBR^RaX%{A0(I<I}S
    kK<Lc{G@t+dE~4JAzxHDEI{~xHtN;K207*qoM6N<$g4-bO^8f$<
    
    diff --git a/site/dist/images/favicons/android-chrome-96x96.png b/site/dist/images/favicons/android-chrome-96x96.png
    deleted file mode 100644
    index 75dfd4849dd7b90bb2d303efa95ca5fd24da26ff..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1490
    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
    
    diff --git a/site/dist/images/favicons/apple-touch-icon-precomposed.png b/site/dist/images/favicons/apple-touch-icon-precomposed.png
    deleted file mode 100644
    index 17e3a745b352b703dee9660e3b6315b5c50259d0..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2622
    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
    
    diff --git a/site/dist/images/favicons/apple-touch-icon.png b/site/dist/images/favicons/apple-touch-icon.png
    deleted file mode 100644
    index 611024a41b7819bf6a79b99849967039b737ae00..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2105
    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
    
    diff --git a/site/dist/images/favicons/favicon-16x16.png b/site/dist/images/favicons/favicon-16x16.png
    deleted file mode 100644
    index f6d4769d3c9440ffe9ef2a8c7f221d6290389aba..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 292
    zcmV+<0o(qGP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0002%Nkl<ZcmZP=
    zhQK8%Im#t6<pKyhM<jcIFpLk9!>idlDpSxUD&>`HRLXzX$mCP?_4Q033=}&F5(CM(
    zg(eH(wmmY{9;oo2OJwq2x2P0jn7Dg%nh{70YRF6+n$v86&fE!708}^)Q$BeL$N-Q9
    zt`TYG7zO|(E<$a{0C@#n-abBF04V<g<~<ApK!Q*ko_a(_^I;1g*Qn$?oCbiL1#%w5
    zkmLziTsRHnJ)k%DIY+0OVhsn70;o6s0BHl5I4D4&f%p#;&^TiO6h*LT1jhLZpb#S{
    q8e!f8$$`8=R6>GccZ`HI`~U!=l!ugqX5Cf*0000<MNUMnLSTaZ@M^yR
    
    diff --git a/site/dist/images/favicons/favicon-194x194.png b/site/dist/images/favicons/favicon-194x194.png
    deleted file mode 100644
    index 369312b3e610c2cb39137ab63173cc34cb8927e8..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2487
    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
    DkStB1
    
    diff --git a/site/dist/images/favicons/favicon-32x32.png b/site/dist/images/favicons/favicon-32x32.png
    deleted file mode 100644
    index 4a979a93c4c86c59e4c56ee60397e13dca8da4e9..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 507
    zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyGXs1=T-^(NTw>E)Ba&SrQd}Za
    zT%wX)Ba>aCQY=CX-J()FJaR#TKopS#mQ8VsOaqG~yGErLrvcf?j!{4<AQvP8WH?8I
    zw7Z2TxJIM_87|>K15@0iQ=B4_?d|JbV`6|@uq`P-Ep9O&S)ekYULbOgP6ZhPHcC}>
    z(QBY1jY@+2f*IsuBEQ_<FoV;Fed2BJwx1gNzP7O5ldovKw$5R_todTirMBWM+~2R1
    zeo)zeCi|{w;}3)BS@VFp?|Zs9hFA#RJ;*B5#K6FEVDasD@6P@H|JX*t<%s+a?myzE
    zCu{I1`|JEM$nlbv2*_a$752K$Ueo?)ky3(IBa08~k8MkOCKPJ+^>4cQ((_huN|mk`
    zuWI+*zm9SfUI)M8t(jAK^WHb<Csxj0!mN{@m_{x%NIP{T+UL^_x07>(9_ubU6S&E4
    zQqRXUBU87;sWG0jG)y!P^A*khn_K-*Qoh$}Y5$$Znmgs(Q?6*Nl`{&ST{ACD<Fjm6
    z_nD4ON47VtWSC?iy5P`K3%dv9n!+KHW~mHYG`BU%Pg4(+aGMwLLtj5PRi*!MNBvBo
    PR~bBA{an^LB{Ts5TYtls
    
    diff --git a/site/dist/images/favicons/mstile-144x144.png b/site/dist/images/favicons/mstile-144x144.png
    deleted file mode 100644
    index 5fa7d0cd9419c24f9df25aaff814bc05bfa5609b..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1848
    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
    
    diff --git a/site/dist/images/favicons/mstile-150x150.png b/site/dist/images/favicons/mstile-150x150.png
    deleted file mode 100644
    index 546e74f1b3662e7318d31018bdfafffd58b8943b..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2133
    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
    N>9%_utr#ST`Y#P548Z^Z
    
    diff --git a/site/dist/images/favicons/mstile-310x150.png b/site/dist/images/favicons/mstile-310x150.png
    deleted file mode 100644
    index fcf71dbaaa84cae199e93a7dac4c31baa3346350..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 2278
    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
    N$O%ipRN0Xke*-L5F>(L^
    
    diff --git a/site/dist/images/favicons/mstile-310x310.png b/site/dist/images/favicons/mstile-310x310.png
    deleted file mode 100644
    index 203e87a2497aac9fd03961f2a71e38e673a5085f..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4121
    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
    
    diff --git a/site/dist/images/favicons/mstile-70x70.png b/site/dist/images/favicons/mstile-70x70.png
    deleted file mode 100644
    index ec2f0c655632a6e34c959edf6b4f00f7492f5f77..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1274
    zcmV<W1O@wvP)<h;3K|Lk000e1NJLTq004jh004jp1ONa4X*a1r000ERNkl<Zc-rlo
    zO>9*~6vwCKwUstSttPFev?P2a2E+u=m;kbZloj=3K>$~Ls4MV;1z3#>0vJt5K~}VB
    zH6fr$6Fyv7<BDobD7XN00b*!1K=??&U}_0J7w-y>*L&x@d+)s7d3t_bHJO<^=bU+W
    z&iwBgV-!VE6h%=KMNt$*Q4~c{6h%=KMNt$*Q4}Q+G|_JTYo#V=SwpMPwy6@$A7F&v
    zBL7C|ry*$DKtH3Fwj&HwoD0~@I5uw5QP6rNH?6J5*<4xX&*eOJ_K_=SpJSiU{ycLl
    z$NXA)1ar<YyQt4>&Ix@EP+KVu=;W5wlrc7i^m>E8t-Wrssxr)PW=M$TF{Xv|o5pdW
    z-wB#4!2w;|vzl>*r4c<};;OahJ+}LA{vt+%IPRi4qHi_3g}x&!^xOP;4htrnqRrC3
    zozp`9L)821fVJGQPX7*Tg%Q^AmoUN_f6Z?b<9Aq!AN71Gj4{k~UmdVj`~@#6VU*_?
    z6~@^a^%lw60n52=eTR3IIL-&+KC;A52TWm)W!gif?&7rYy|4z3(&(4z)l4<U7-n)N
    zGLP$wG2ScO7IMjremUS7KH)KAjA1=vp;PXSlgU#@pRfkbGRq(HbL?k49}^lm5;ENj
    z%!@hZv-~Q!U~l1hGFu1aPxC=cSj^?3sorHvf>Gb$uGIlISmB5HPx4(brEYS@P{od-
    zsSYO5b9mzZxKRvxp%d}m{YV8dp_P*^B1MOw6D3+%uFap%#fdRtbwNtpo%FX#j?aWO
    z5c}QY+WbfOJS-+m<)DkVHFNk`a6vD1Svue~{tVadSimJ<j14KD@TQ;>-HwxAxHkW3
    zehisXPkzT|n~RK%NBLS<14FcAV}2DMh34!*&PNLaEOYRjWui{hm5l>l<PUq+PxHUu
    zep05{AG<hZx;DRtFDx;6-|4g3`AKj=-=t@S%y?+~D|1YEUC@axGGnqG@Eq4BPrIXm
    zudGkI#(ck4fOGAR7x>+;6_67Ttiv|_H^H9sp+zU^%iv^~<_kc~*KK}Jd5RxA+67Fi
    zZ$L5gfPs9f!>beW&NA#dai-Ri>?>fbXEbsY*cRwS{b{tua=4(g+}a%*7y~Y`Amr>B
    zTWfUhfI51`N`N${!C9OQ#yJ?suJ0D<L_HZ-4KR-j<<joR(Os~ut}fD_e5o5@OS!Z=
    zR&b+WoRhSghwF*_s2rk+L17Jin@AI!IPMOrjG>18!T;ZQQae@@sW9#CZ6_=1GK&M9
    z=ojER%l%Nr4LSC@*6t$SEl2VK3vV%=Tx%?c3m&|!ooIK|M(i$QtT)CO9_Lf$7@uHc
    z#3!)_+TF{s@{6cCvop*LWY;Rc9FWi0oM?AKo!K6y7$0E?SKMfK!WqM#m)`{KZl|yY
    zMoX#?kx!Xhjh`@`VFxurQk~gpmpX%M7pzHLC6>C*EL#WEb0}4vU>m2>uA!`5uu%L3
    z@3vHm?(*;pKx`Lm7j&Ylk+s50UF{>;I-r>oLL84rREr-IGl@#57B_}fiS7$*5^~9G
    zwVzlHsO3NzZjAI)%#D%%{hc9G+O4sb1+6>&W4Ffi-k{zbRTM>06h%=KMNt$*Q4~c{
    k6h%=KMNt$*Q50YJ2RtG}W}lodWdHyG07*qoM6N<$f&`shF8}}l
    
    diff --git a/site/dist/images/favicons/safari-pinned-tab.svg b/site/dist/images/favicons/safari-pinned-tab.svg
    deleted file mode 100644
    index 20190caed..000000000
    --- a/site/dist/images/favicons/safari-pinned-tab.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg height="933.333" viewBox="0 0 700 700" width="933.333" xmlns="http://www.w3.org/2000/svg"><path d="M207.7 143.7c-19.2 31-50 81.9-50 82.7 0 1 3.8 7.3 23.9 39.8 4.4 7 8.4 13.6 8.9 14.5 2.3 4.2 25.5 42 26.7 43.6 1.3 1.7 1.9 1.2 6.9-6.9 3-4.9 5.6-9.3 5.8-9.9.2-.5.7-1.2 1-1.5.6-.4 11.8-18.9 13.1-21.5.5-1 4.2-6.8 8.5-13.5 2.2-3.5 39.6-64.6 42.6-69.8 7.1-12 17.5-28.8 18.1-29 .5-.2.8-.7.8-1.2 0-.4 4.1-7.4 9-15.5 5-8.1 9-14.9 9-15.1s-27.4-.4-61-.4h-61zm160.3-3.2c0 .3 1.2 2.4 2.7 4.8 1.5 2.3 3.3 5.1 3.9 6.2 1.6 3 59.2 97.4 61.9 101.5 2.1 3.3 60.4 98.7 105.3 172.5 5.4 8.8 11 18 12.6 20.3l2.7 4.4 7.6-12.4c4.2-6.7 8.4-13.7 9.3-15.3 1-1.7 8.8-14.5 17.5-28.5 18.3-29.6 20.3-33.7 20.7-41.7.3-8.7-.8-13.1-5.4-20.8-2.2-3.9-4.7-8.1-5.5-9.5s-2.2-3.7-3.1-5.2c-3-4.8-55.8-91.1-74.5-121.8-9.9-16.2-18.8-30.9-19.9-32.5-1-1.7-4.5-7.3-7.7-12.5l-5.8-9.5-61.1-.3c-33.7-.1-61.2 0-61.2.3zM135.5 261.7c-3.8 6.4-8.2 13.4-9.6 15.7-5.2 8-32.8 53.6-34.5 56.8-4.7 8.9-5 21.9-.7 30.2.9 1.7 13.3 22.2 27.6 45.6s26.7 43.6 27.4 45c.8 1.4 2.7 4.5 4.3 7s3.6 5.6 4.4 7c1.4 2.5 45.4 74.5 52.1 85.3l3.5 5.7h61c33.6 0 61-.2 61-.5 0-.2-5.8-9.9-13-21.6-7.1-11.6-13-21.3-13-21.6 0-.2-.8-1.6-1.8-3.1-3.3-4.8-36.4-58.6-42.1-68.4-.9-1.5-21.6-35.5-46.1-75.4s-45.2-73.8-46-75.2c-.9-1.5-2.3-3.8-3.2-5.2-.8-1.4-6.2-10.2-11.8-19.5-5.7-9.4-10.8-17.5-11.4-18.2-.8-.9-2.9 1.8-8.1 10.4zm341.3 119.5c-2.4 4-13.4 21.9-24.3 39.8s-21 34.4-22.4 36.6c-3.5 5.6-8 13-11.1 18.1-1.4 2.3-5.4 8.9-8.8 14.5-3.5 5.7-10.6 17.3-15.8 25.8-5.3 8.5-9.9 16.2-10.4 17-6.7 10.7-16 26.1-16 26.5 0 .3 27.5.4 61.2.3l61.1-.3 1.8-3c1-1.7 2.8-4.6 3.9-6.5s12.1-19.9 24.4-39.9l22.4-36.4-2.7-4.6c-1.5-2.5-7.1-11.6-12.3-20.1s-13.9-22.7-19.3-31.5-12.6-20.6-16.1-26.3-6.4-10.6-6.4-11c-.1-.4-1.1-2-2.4-3.5l-2.3-2.8z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/googdev192.png b/site/dist/images/googdev192.png
    deleted file mode 100644
    index 2e7221bc4a9c0996bb7dd8f1b649b4415ffa9a2e..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 6078
    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
    B8&LoN
    
    diff --git a/site/dist/images/icons/android-auto.svg b/site/dist/images/icons/android-auto.svg
    deleted file mode 100644
    index 32e41b35f..000000000
    --- a/site/dist/images/icons/android-auto.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 502 481"><defs><linearGradient id="a" x1="-21.471%" x2="84.198%" y1="37.806%" y2="97.817%"><stop offset="0%" stop-color="#1A237E" stop-opacity=".2"/><stop offset="100%" stop-color="#1A237E" stop-opacity=".02"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#03A9F4" d="M32.333 416.667c-17.68 0-32-14.32-32-32 0-5.814 1.547-11.28 4.267-15.974l202.667-352C212.787 7.12 223.133.667 235 .667s22.213 6.453 27.733 16.026l202.667 352c2.72 4.694 4.267 10.16 4.267 15.974 0 17.68-14.32 32-32 32H32.333z"/><path fill="url(#a)" d="M235 150v266.667h266.667z"/><path fill="#039BE5" d="M207.267 16.693L4.6 368.693c-2.72 4.694-4.267 10.16-4.267 15.974 0 17.68 14.32 32 32 32H235v-416c-11.867 0-22.213 6.453-27.733 16.026z"/><path fill="#F1F1F1" d="M235 150l181.333 320-10.666 10.667-170.667-64-170.667 64L53.667 470z"/><path fill="#E1E1E1" d="M235 150l181.333 320-10.666 10.667-170.667-64"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/android-things.svg b/site/dist/images/icons/android-things.svg
    deleted file mode 100644
    index 5f1b5d022..000000000
    --- a/site/dist/images/icons/android-things.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 244 219" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#6c6c6c" height="218.73" rx="23.78" width="218.79" x="24.79"/><rect fill="#aaa" height="174.16" rx="7.95" width="174.16" x="47.1" y="22.31"/><g fill="#6c6c6c"><rect height="22.92" rx="10.3" width="46.85" y="47.62"/><rect height="22.92" rx="10.3" width="118.55" y="151.49"/><rect height="22.92" rx="10.3" width="118.55" y="99.55"/></g><circle cx="148.42" cy="58.72" fill="#e8f7f7" r="11.46"/><path d="M148.42 138.67c-6.31-.022-11.415-5.14-11.42-11.45V95.39c0-6.33 5.13-11.46 11.46-11.46s11.46 5.13 11.46 11.46v31.83a11.46 11.46 0 0 1-11.5 11.45z" fill="#6c6c6c"/><circle cx="191.74" cy="58.72" fill="#e8f7f7" r="11.46"/><circle cx="148.19" cy="163.88" fill="#e8f7f7" r="11.46"/><path d="M24.79 151.49H10.3c-5.682.016-10.284 4.618-10.3 10.3v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49zM0 57.92v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49V47.62H10.3C4.618 47.636.016 52.238 0 57.92zm0 51.94v2.31c.016 5.682 4.618 10.284 10.3 10.3h14.49V99.55H10.3C4.614 99.567.011 104.174 0 109.86z" fill="#aaa"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/android.svg b/site/dist/images/icons/android.svg
    deleted file mode 100644
    index 7b7f74754..000000000
    --- a/site/dist/images/icons/android.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 294 345" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd" transform="translate(4 2)"><g fill="#a4c639"><g stroke="#fff"><ellipse cx="143" cy="109" rx="91" ry="84" stroke-width="14.4"/><rect height="182" rx="22" stroke-width="14.4" width="182" x="52" y="88"/><rect height="86" rx="6.5" stroke-width="7.2" transform="scale(-1 1) rotate(29 0 -371.045)" width="13" x="100" y="-2.24"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="238" y="109"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="153" y="206"/><rect height="86" rx="6.5" stroke-width="7.2" transform="rotate(29 179.5 40.76)" width="13" x="173" y="-2.24"/><rect height="133" rx="24" stroke-width="7.2" width="48" y="109"/><rect height="133" rx="24" stroke-width="7.2" width="48" x="85" y="206"/></g><ellipse cx="143" cy="109" rx="91" ry="84"/><rect height="182" rx="22" width="182" x="52" y="88"/></g><g fill="#fff" stroke="#fff" stroke-width="7.2"><path d="M48 112.5h190"/><circle cx="101" cy="68" r="4"/><circle cx="185" cy="68" r="4"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/angular-js.svg b/site/dist/images/icons/angular-js.svg
    deleted file mode 100644
    index fed82b9bc..000000000
    --- a/site/dist/images/icons/angular-js.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 673 713" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M337.5.562l334.807 117.826-52.904 438.657L337.145 712.18 53.433 554.942.545 116.303z" fill="#b3b3b3"/><path d="M33.937 141.653L338.283 37.87v637.245L83.227 533.96z" fill="#af2b2d"/><path d="M634.737 143.528l-45.334 392.305-251.118 139.282V37.857z" fill="#df2e31"/><path d="M267.738 354.825l69.99-146.16 61.614 146.16zm-26.685 61.458H426.58l41.505 103.814 77.205 1.428L338.28 61.01 124.055 521.525h71.558z" fill="#f2f2f2" fill-rule="nonzero"/><path d="M338.283 61.01l-.553 147.655-69.918 146.272h70.313l.158 61.25-97.225.096-45.443 105.259-73.873 1.37z" fill="#b3b3b3"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/ar-core.svg b/site/dist/images/icons/ar-core.svg
    deleted file mode 100644
    index faace9694..000000000
    --- a/site/dist/images/icons/ar-core.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 340 394"><defs><linearGradient id="a" x1="80.258%" x2="21.439%" y1="98.614%" y2="-10.489%"><stop offset="0%" stop-color="#1A237E" stop-opacity=".01"/><stop offset="100%" stop-color="#1A237E" stop-opacity=".3"/></linearGradient></defs><g fill="none" fill-rule="evenodd"><path fill="#E1BEE7" d="M174.3 121.2c-28.1 0-52.5 15.3-65.7 37.9l51.7 29.8c8.7 5 19.3 5 28 0l51.6-29.8c-13-22.7-37.5-37.9-65.6-37.9z"/><path fill="#FAFAFA" d="M160.3 188.9l-51.7-29.8c-6.5 11.2-10.2 24.1-10.2 37.9 0 41.9 33.9 75.8 75.8 75.8S250 238.9 250 197c0-13.8-3.7-26.8-10.2-37.9l-51.6 29.8c-8.5 5-19.2 5-27.9 0z"/><path fill="#7B1FA2" d="M334.6 289.6L240 234.9c-13.1 22.7-37.6 37.9-65.7 37.9v120.3c4.5 0 8.9-1.2 12.9-3.5l147.5-85.2s.1 0 .1-.1c5.7-3.2 5.5-11.5-.2-14.7z"/><path fill="#4A148C" d="M174.3 272.8c-28.1 0-52.6-15.2-65.7-37.9L4.4 295.1c2.2 3.9 5.5 7.1 9.4 9.4l147.5 85.2c4 2.3 8.4 3.5 12.9 3.5V272.8h.1z"/><path fill="#7B1FA2" d="M174.3 121.2V.9c-4.5 0-8.9 1.2-12.9 3.5L13.9 89.6c-4 2.3-7.2 5.6-9.4 9.4l104.2 60.2c13.1-22.8 37.6-38 65.6-38z"/><path fill="#4A148C" d="M334.8 89.6s-.1 0-.1-.1L187.2 4.3c-4-2.3-8.4-3.5-12.9-3.5v120.3c28.1 0 52.6 15.2 65.7 37.9l94.6-54.6c5.7-3.2 5.9-11.5.2-14.8z"/><path fill="#BA68C8" d="M98.5 197c0-13.8 3.7-26.8 10.1-37.9L4.4 98.9c-2.2 3.9-3.5 8.3-3.5 12.9v170.3c0 4.6 1.2 9 3.5 12.9l104.2-60.2c-6.4-11-10.1-24-10.1-37.8z"/><path fill="url(#a)" d="M240 234.9c-13.1 22.7-37.6 37.9-65.6 37.9-11.2 0-21.9-2.5-31.5-6.8l129.3 74.7 62.6-36.1c5.8-3.3 5.8-11.7 0-15L240 234.9z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/blockly.svg b/site/dist/images/icons/blockly.svg
    deleted file mode 100644
    index 626dd7d2b..000000000
    --- a/site/dist/images/icons/blockly.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 144"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M12.64.088C5.935.082.495 5.52.5 12.228v104.72c-.006 6.706 5.434 12.145 12.14 12.14h4.727a19.977 19.977 0 0 0 19.293 14.83 19.977 19.977 0 0 0 19.278-14.83h20.568a8 8 0 0 0 8-8v-113l-8-8H12.64z"/><path fill="#C8D1DB" d="M72.508.082c-.01 17.703-.008 35.402-.008 53.115L55.87 43.8c-2.398-1.353-5.365.376-5.37 3.129v40.62c.005 2.753 2.972 4.482 5.37 3.13l16.63-9.4v47.81h45.48c6.362 0 11.52-5.158 11.52-11.52v-106c-.022-6.346-5.173-11.48-11.52-11.48L72.508.082z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/brillo.png b/site/dist/images/icons/brillo.png
    deleted file mode 100644
    index 6ad5279e67cb72d78dc82ef3af99250e9573c577..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 1719
    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
    N002ovPDHLkV1hVq3^M=#
    
    diff --git a/site/dist/images/icons/cardboard.svg b/site/dist/images/icons/cardboard.svg
    deleted file mode 100644
    index 8986ba7f4..000000000
    --- a/site/dist/images/icons/cardboard.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 734 463"><path fill="#F16523" fill-rule="evenodd" d="M42 0h650c23.196 0 42 18.804 42 42v379c0 23.196-18.804 42-42 42H511.59a35 35 0 0 1-31.416-19.573l-72.015-146.65c-10.224-20.821-35.392-29.411-56.213-19.187a42 42 0 0 0-18.868 18.553L257.37 443.956A35 35 0 0 1 226.218 463H42c-23.196 0-42-18.804-42-42V42C0 18.804 18.804 0 42 0zm159.5 311c45.011 0 81.5-36.489 81.5-81.5S246.511 148 201.5 148 120 184.489 120 229.5s36.489 81.5 81.5 81.5zm333 0c45.011 0 81.5-36.489 81.5-81.5S579.511 148 534.5 148 453 184.489 453 229.5s36.489 81.5 81.5 81.5z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cast.svg b/site/dist/images/icons/cast.svg
    deleted file mode 100644
    index 9f6c7b007..000000000
    --- a/site/dist/images/icons/cast.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 18"><path fill="#5F6368" d="M0 15v3h3c0-1.66-1.34-3-3-3zm0-4v2c2.76 0 5 2.24 5 5h2c0-3.87-3.13-7-7-7zm0-4v2a9 9 0 0 1 9 9h2C11 11.92 6.07 7 0 7zm20-7H2C.9 0 0 .9 0 2v3h2V2h18v14h-7v2h7c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/chrome.svg b/site/dist/images/icons/chrome.svg
    deleted file mode 100644
    index e13c017c3..000000000
    --- a/site/dist/images/icons/chrome.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 176 176" xmlns="http://www.w3.org/2000/svg"><mask id="a" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><mask id="b" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><mask id="c" fill="#fff"><circle cx="88" cy="88" fill-rule="evenodd" r="88"/></mask><g fill="none" fill-rule="evenodd"><path d="M14 0v108h39l35-60h88V0z" fill="#ea4335" mask="url(#a)"/><path d="M0 176h84l39-39v-29H53L0 16z" fill="#34a853" mask="url(#b)"/><path d="M88 48l35 60-39 68h92V48z" fill="#fbbc05" mask="url(#c)"/><circle cx="88" cy="88" fill="#f1f1f1" r="40"/><circle cx="88" cy="88" fill="#4285f4" r="32"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-appengine.svg b/site/dist/images/icons/cloud-appengine.svg
    deleted file mode 100644
    index 1558cdb68..000000000
    --- a/site/dist/images/icons/cloud-appengine.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M101.27 56l-.69-.21-34.9-34.91-7.16 10.47 6 6-15.27 5.56-6 15.18-5.86-5.86-10.51 9.28 54 54h9.42a11.73 11.73 0 0 0 9.87-6.06l19.91-34.65L101.27 56z" opacity=".07"/><g fill="#FFF" fill-rule="nonzero"><path d="M64 35c-12.703 0-23 10.297-23 23s10.297 23 23 23 23-10.297 23-23-10.297-23-23-23m0 40.53c-9.656.005-17.489-7.814-17.5-17.47-.011-9.656 7.805-17.493 17.46-17.51 9.656-.017 17.498 7.794 17.52 17.45A17.48 17.48 0 0 1 64 75.49m36.14-20.22l-9.61-3a27.15 27.15 0 0 1 .32 9.78h9.3a1.69 1.69 0 0 0 1.43-1.57v-3.63a1.69 1.69 0 0 0-1.43-1.57M64 30.85c1.892.002 3.779.2 5.63.59l-3.45-9.57a1.69 1.69 0 0 0-1.58-1.43h-1.44a1.68 1.68 0 0 0-1.58 1.43l-3 9.53a27.26 27.26 0 0 1 5.4-.54M36.85 58a27.15 27.15 0 0 1 .61-5.75l-9.61 3a1.69 1.69 0 0 0-1.43 1.58v3.63a1.69 1.69 0 0 0 1.43 1.57h9.3a27.18 27.18 0 0 1-.3-4.05"/><path d="M72.23 50.48L70 52.66A8.3 8.3 0 0 0 58.31 64.4l-2.18 2.18a11.384 11.384 0 1 0 16.1-16.1m-4.5 11.25a5.28 5.28 0 1 1 0-7.46 5.24 5.24 0 0 1 0 7.46"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-bigquery.svg b/site/dist/images/icons/cloud-bigquery.svg
    deleted file mode 100644
    index 2ded0a718..000000000
    --- a/site/dist/images/icons/cloud-bigquery.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M100.17 109.44l17.53-30.49-37.08-37.07L64 37.43 49.07 43 43.3 58l4.64 16.73 40.77 40.77h1.59a11.73 11.73 0 0 0 9.87-6.06z" opacity=".07"/><g fill="#FFF" fill-rule="nonzero"><path d="M64 34.8c-12.806 0-23.188 10.38-23.19 23.187-.002 12.806 10.377 23.19 23.183 23.193C76.8 81.184 87.184 70.806 87.19 58A23.19 23.19 0 0 0 64 34.8m0 40.8A17.6 17.6 0 1 1 81.6 58c0 9.72-7.88 17.6-17.6 17.6"/><path d="M53 57.1v7.21a12.79 12.79 0 0 0 4.38 4.48V57.1H53zm8.67-6.1v19.44a11.78 11.78 0 0 0 4.38 0V51h-4.38zm9.1 9.1v8.56A12.78 12.78 0 0 0 75.15 64v-3.9h-4.38zm9.92 12.19l-2.4 2.41a1.09 1.09 0 0 0 0 1.53l9.11 9.11a1.09 1.09 0 0 0 1.54 0l2.4-2.4a1.09 1.09 0 0 0 0-1.53l-9.12-9.12a1.09 1.09 0 0 0-1.53 0z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-build.svg b/site/dist/images/icons/cloud-build.svg
    deleted file mode 100644
    index 7cd13f7af..000000000
    --- a/site/dist/images/icons/cloud-build.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M121.14 73l-32-32L64 32.75l-25.08 8.31L54 56.15v1l-5.47-5.47-11.78 22.14 41.68 41.68h11.91a11.73 11.73 0 0 0 9.87-6.06z" fill="#000" opacity=".07"/><g fill="#fff" fill-rule="nonzero"><path d="M64.04 70.86l11.09-6.4v-12.8l-3.73-2.15-11.09 19.2zm-11.09-19.2v12.8l3.73 2.15 11.09-19.2-3.73-2.15z"/><path d="M61.86 74.66l-13.29-7.67V51.66l-11.82-6.83v28.99l25.11 14.5zM50.74 47.88l13.3-7.68 13.3 7.68 11.83-6.82-25.13-14.51-25.13 14.51zm28.76 3.78v15.33l-13.28 7.67v13.66l25.11-14.5V44.84z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-compute-engine.svg b/site/dist/images/icons/cloud-compute-engine.svg
    deleted file mode 100644
    index b87eafdac..000000000
    --- a/site/dist/images/icons/cloud-compute-engine.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M118.92 76.82L75.64 33.53l-3.1 6.72-6.76-6.75-3.12 6.69L56 33.52l-1.66 8.08-5.94 1-1.23 5.28-7.68 1.84 6.88 6.88-6.81 3 6.81 6.81-6.85 2.99 46.1 46.1h4.68a11.73 11.73 0 0 0 9.87-6.06l18.75-32.62z" opacity=".07"/><path fill="#FFF" d="M69.83 51.1H58.42a1.22 1.22 0 0 0-1.21 1.21v11.41c0 .67.54 1.215 1.21 1.22h11.41A1.22 1.22 0 0 0 71 63.72V52.31a1.22 1.22 0 0 0-1.21-1.21"/><path fill="#FFF" fill-rule="nonzero" d="M87.89 50.18A1.09 1.09 0 0 0 89 49.09v-1.78a1.09 1.09 0 0 0-1.09-1.09h-5.57V41a1.22 1.22 0 0 0-1.21-1.21h-5.21v-5.54a1.09 1.09 0 0 0-1.09-1.09h-1.78A1.09 1.09 0 0 0 72 34.25v5.57h-5.9v-5.57a1.09 1.09 0 0 0-1.1-1.09h-1.76a1.09 1.09 0 0 0-1.09 1.09v5.57h-5.86v-5.57a1.09 1.09 0 0 0-1.09-1.09h-1.78a1.09 1.09 0 0 0-1.09 1.09v5.57h-5.2A1.22 1.22 0 0 0 45.91 41v5.19h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.78a1.09 1.09 0 0 0 1.09 1.09h5.55V56h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.81a1.09 1.09 0 0 0 1.09 1.1h5.55v5.86h-5.55a1.09 1.09 0 0 0-1.09 1.09v1.78a1.09 1.09 0 0 0 1.09 1.09h5.55V75a1.22 1.22 0 0 0 1.21 1.21h5.21v5.57c0 .602.488 1.09 1.09 1.09h1.78a1.09 1.09 0 0 0 1.09-1.09v-5.57h5.86v5.57c0 .602.488 1.09 1.09 1.09H65a1.09 1.09 0 0 0 1.09-1.09v-5.57H72v5.57c0 .602.488 1.09 1.09 1.09h1.78a1.09 1.09 0 0 0 1.09-1.09v-5.57h5.21A1.22 1.22 0 0 0 82.34 75v-5.19h5.55A1.09 1.09 0 0 0 89 68.72v-1.78a1.09 1.09 0 0 0-1.09-1.09h-5.57V60h5.55A1.09 1.09 0 0 0 89 58.9v-1.77A1.09 1.09 0 0 0 87.89 56h-5.55v-5.82h5.55zm-9.65 22H50V43.9h28.24v28.28z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-datalab.svg b/site/dist/images/icons/cloud-datalab.svg
    deleted file mode 100644
    index c150be760..000000000
    --- a/site/dist/images/icons/cloud-datalab.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="m126.47 52.12-26.3-45.74a11.56 11.56 0 0 0 -9.86-5.88h-52.61a11.55 11.55 0 0 0 -9.86 5.88l-26.31 45.62a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09h52.61a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="m64.59 19.74-3.45 3.5 8.65 8.65-4 .95 8.6 9.48-3.06.7-10.33-10.34-3.53 3.4 7.37 7.37-6.65-.08-4.39 2.57 4.36 4.36-14.33 24.89 4.17 11.08 29.2 29.23h13.1a11.73 11.73 0 0 0 9.87-6.06l19.76-34.37z" fill="#000" opacity=".07"/><g fill="#fff" transform="translate(42 18)"><circle cx="17.14" cy="16.26" r="2.45"/><circle cx="26.39" cy="12.22" r="3.68"/><circle cx="20.82" cy="3.43" r="2.45"/><path d="m31.14 58-1.73-3h11.86l-11.8-20.44h-.41l10.15 17.44h-26.4l-3.16 5.48c-.22.38-.22.85 0 1.23l3.85 6.67h25.35l4.2-7.28-.05-.1z"/><path d="m43.52 56.73-13.38-23.19a1.23 1.23 0 0 1 -.17-.61v-4.93h2a.5.5 0 0 0 .5-.5v-2.82a.5.5 0 0 0 -.5-.5h-19.89a.5.5 0 0 0 -.5.5v2.82a.5.5 0 0 0 .5.5h2v4.93a1.22 1.22 0 0 1 -.17.61l-13.44 23.19a2.46 2.46 0 0 0 0 2.45l4.89 8.47a2.46 2.46 0 0 0 2.12 1.22h29a2.45 2.45 0 0 0 2.12-1.22l4.89-8.47a2.44 2.44 0 0 0 .03-2.45zm-4.18 1.74-3.34 5.77a1.22 1.22 0 0 1 -1.06.61h-25.94a1.22 1.22 0 0 1 -1-.61l-3.34-5.77a1.23 1.23 0 0 1 0-1.23l13-22.47c.218-.37.336-.79.34-1.22v-5.55h8v5.55c.001.432.115.856.33 1.23l13 22.47c.222.374.23.838.02 1.22z" fill-rule="nonzero"/><path d="m21.55 41.95h11.97l-1.8-2.84h-11.81z"/><path d="m24 46 1.72 2.97h12.21l-1.77-2.97z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-iam.svg b/site/dist/images/icons/cloud-iam.svg
    deleted file mode 100644
    index ce4368b11..000000000
    --- a/site/dist/images/icons/cloud-iam.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M89 38.84L50 38l-3 34.5 2.27 7.8 35.2 35.2h5.83a11.73 11.73 0 0 0 9.87-6.06l21.7-37.73z" fill="#000" opacity=".07"/><path d="M64 27.73L39 38.84v16.67c0 15.42 10.67 29.83 25 33.33 14.33-3.5 25-17.92 25-33.33V38.84zm0 11.77a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm15 33.08a1 1 0 0 1-.17.56c-.18.27-.36.55-.56.81A27.87 27.87 0 0 1 64 84.18 27.87 27.87 0 0 1 49.73 74c-.2-.26-.38-.54-.56-.81a1 1 0 0 1-.17-.56v-4.49c0-6.13 10-9.22 15-9.22S79 62 79 68.14z" fill="#fff" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-iot-core.svg b/site/dist/images/icons/cloud-iot-core.svg
    deleted file mode 100644
    index 12bef64b8..000000000
    --- a/site/dist/images/icons/cloud-iot-core.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.1l-26.3-45.74A11.56 11.56 0 0 0 90.31.48H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.63z" fill="#4285f4"/><path d="M88.86 40.6l-7 .32-7.16-7.16-34 12.74-1.6 9.61 9.9 9.84-2.9 4.43-1.59 3.71.26 3.26 38.13 38.13h7.4a11.73 11.73 0 0 0 9.87-6.06l21-36.52z" fill="#000" opacity=".07"/><g fill="#fff" fill-rule="nonzero"><path d="M65.46 74.89V59.23h-3v15.66a5.88 5.88 0 1 0 3 0zm-1.54 8.56a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74zM80.5 67.56v-8.3h-3v8.31a5.88 5.88 0 1 0 3 0zM79 76.12a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74zm-28.52-8.46v-8.41h-3v8.32a5.88 5.88 0 1 0 7.38 5.68 5.71 5.71 0 0 0-4.38-5.59zM49 76.12a2.87 2.87 0 1 1 0-5.74 2.87 2.87 0 0 1 0 5.74z"/><path d="M81.21 37.45c-1.18 0-2.352.193-3.47.57a14.87 14.87 0 0 0-27 .19 10.89 10.89 0 1 0-4 21h.69v-8a3.24 3.24 0 1 1 3 0v8.06h27v-8a3.24 3.24 0 1 1 3 0v8h.71c6.014 0 10.89-4.876 10.89-10.89s-4.876-10.89-10.89-10.89zm-15.75 9.18v12.6h-3v-12.6a3.24 3.24 0 1 1 3 0z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-key-management-service.svg b/site/dist/images/icons/cloud-key-management-service.svg
    deleted file mode 100644
    index 8220a230c..000000000
    --- a/site/dist/images/icons/cloud-key-management-service.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M92.92 38.09L63.46 27.9 37.22 39.3 37 47.08v11.4l1.81 10.13 3.07 7.06 5.62 10.57L76.06 115h14.19a11.5 11.5 0 0 0 10-5.75l23.4-40.52z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M64 59.43a8.77 8.77 0 1 1 8.76-8.78A8.78 8.78 0 0 1 64 59.43zm0-13a4.22 4.22 0 1 0 4.22 4.22A4.23 4.23 0 0 0 64 46.44z" fill-rule="nonzero"/><path d="M64 95.3l-.54-.13C47.26 91.23 35 75 35 57.39V38.14l29-12.88 28.94 12.88V57.4c0 17.57-12.21 33.82-28.4 37.77zM39.6 41.08v16.31c0 15.35 10.45 29.53 24.4 33.23 14-3.7 24.4-17.88 24.4-33.23V41.08L64 30.23z" fill-rule="nonzero"/><path d="M61.73 56.62h4.54v22.13h-4.54z"/><path d="M54.78 64.44h8.24v4.54h-8.24zm3.01 6.5h6.86v4.54h-6.86z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-machine-learning.svg b/site/dist/images/icons/cloud-machine-learning.svg
    deleted file mode 100644
    index 8621afe3c..000000000
    --- a/site/dist/images/icons/cloud-machine-learning.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 116"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z"/><path fill="#000" d="M80.18 29L68 35l-6-6-21.14 12 4.64 4.64L33.9 63l7.1 7.06L47.82 87l28.5 28.5h14a11.73 11.73 0 0 0 9.87-6.06l22.07-38.38L80.18 29z" opacity=".07"/><path fill="#FFF" fill-rule="nonzero" d="M79.93 68l2.92-5H94.1l2.9-5-7.54-13H77.73l-3.4-6H71v-4h5.67l3.39 6h7.08l-6.96-12H66v17h6.02l2.33 4H66v8h7.6l3.46-6h9.32l2.31 4h-9.32l-3.47 6H66v15h12.49l-2.31 4H66v6h14.18l11.6-20h-6.63l-2.93 5H71v-4h8.93zm-31.86 0l-2.92-5H33.9L31 58l7.54-13h11.73l3.4-6H57v-4h-5.67l-3.39 6h-7.08l6.96-12H62v17h-6.02l-2.33 4H62v8h-7.6l-3.46-6h-9.32l-2.32 4h9.33l3.47 6H62v15H49.51l2.31 4H62v6H47.82l-11.6-20h6.63l2.93 5H57v-4h-8.93z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-monitoring.svg b/site/dist/images/icons/cloud-monitoring.svg
    deleted file mode 100644
    index 2ba9f575e..000000000
    --- a/site/dist/images/icons/cloud-monitoring.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M96.59 39l-47.28 8.88-18.4 15.38 6 6-5.46 5 41.26 41.24H90.3a11.73 11.73 0 0 0 9.87-6.06L124.59 67z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M74.2 83.3H54a1 1 0 0 1 0-2h20.2a1 1 0 0 1 0 2z"/><path d="M60.25 73.51h7.74v8.78h-7.74z"/><path d="M85.66 67a1.85 1.85 0 0 1-1.33-.56L70.75 52.33l-9.13 9.6a1.84 1.84 0 0 1-2.5.16l-6.9-5.57-7.31 9.71a1.85 1.85 0 0 1-1.47.74H30.9v5.69a2.47 2.47 0 0 0 2.46 2.46h61.53a2.47 2.47 0 0 0 2.46-2.46V67z"/><path d="M42.51 63.28l7.91-10.5a1.85 1.85 0 0 1 2.63-.33l7.06 5.7 9.29-9.77a1.85 1.85 0 0 1 2.66-.01l14.38 14.9h10.91V40.66a2.47 2.47 0 0 0-2.46-2.46H33.36a2.47 2.47 0 0 0-2.46 2.46v22.62z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-networking.svg b/site/dist/images/icons/cloud-networking.svg
    deleted file mode 100644
    index e21138873..000000000
    --- a/site/dist/images/icons/cloud-networking.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M68.1 34.19l-4-.73-4.1 8.7 3.47 3.47-1 5.62L68.22 57 52.7 58.57 48.11 54l-8 8.06 53.05 53.05a12.26 12.26 0 0 0 7.05-5.65L115.94 82z" fill="#000" opacity=".07"/><g fill="#fff" transform="translate(38 32)"><circle cx="26" cy="6.1" r="5.69"/><circle cx="26" cy="45.92" r="5.69"/><circle cx="6.09" cy="26.01" r="5.69"/><circle cx="45.91" cy="26.01" r="5.69"/><path d="M24.55 47.48L1.04 24.17h39.99L24.55 7.66l2.9-3.07 23.52 23.26h-40l16.48 16.56z"/><path d="M24.51 32.75h2.45v13.49h-2.45zm0-26.98h2.45v13.49h-2.45z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-platform.svg b/site/dist/images/icons/cloud-platform.svg
    deleted file mode 100644
    index aeed0aaa1..000000000
    --- a/site/dist/images/icons/cloud-platform.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 118 106" xmlns="http://www.w3.org/2000/svg"><radialGradient id="a" cx="14.378%" cy="6.752%" gradientTransform="matrix(.88895 0 0 1 .016 0)" r="115.45%"><stop offset="0" stop-color="#fff" stop-opacity=".1"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><g fill="none" fill-rule="evenodd" transform="translate(-5 -11)"><path d="M82.007 95.287l-12 20.86H38.58a7.824 7.824 0 0 1-6.787-3.934l-25.42-44.32a7.828 7.828 0 0 1 0-7.78l9.674-16.86L27.987 64l18 31.287z" fill="#fbbc05"/><path d="M121.627 67.893l-25.42 44.327a7.816 7.816 0 0 1-6.787 3.933H70l12-20.86L100.013 64 82 32.713h23.907l15.713 27.4a7.779 7.779 0 0 1 .007 7.78z" fill="#ea4335"/><path d="M105.913 32.713H45.987L27.987 64l-11.94-20.753 15.746-27.46a7.816 7.816 0 0 1 6.787-3.934h50.847a7.832 7.832 0 0 1 6.786 3.934z" fill="#4285f4"/><path d="M82.007 32.713l18 31.287L82 95.287H45.993L27.987 64l18-31.287z" fill="#e0e0e0"/><circle cx="64" cy="64" fill="#fff" r="15.647"/><path d="M31.793 16.433A7.816 7.816 0 0 1 38.58 12.5h50.847a7.832 7.832 0 0 1 6.786 3.933l9.334 16.28h.373l-9.707-16.926a7.816 7.816 0 0 0-6.786-3.934H38.58a7.824 7.824 0 0 0-6.787 3.934l-15.746 27.46.186.326z" fill="#fff" opacity=".2"/><path d="M27.987 64l18-31.287h59.926l-.373-.653H45.987l-18 31.287" fill="#1a237e" fill-opacity=".2"/><path d="M6.373 60.76l9.674-16.867 11.94 20.754 18 31.286h35.64l.38-.653h-36.02l-18-31.28-11.94-20.753-9.674 16.86a7.874 7.874 0 0 0-1.02 4.22 7.85 7.85 0 0 1 1.02-3.567z" fill="#fff" opacity=".2"/><path d="M70.38 115.493h-31.8a7.824 7.824 0 0 1-6.787-3.933L6.373 67.24a7.853 7.853 0 0 1-1.02-3.567 7.77 7.77 0 0 0 1.02 4.22l25.42 44.327a7.816 7.816 0 0 0 6.787 3.933h31.427z" fill="#bf360c" opacity=".2"/><path d="M100.38 64l-18-31.287h-.373L100.013 64zm21.247 3.24l-25.42 44.327a7.816 7.816 0 0 1-6.787 3.933H70.38l-.38.653h19.42a7.832 7.832 0 0 0 6.787-3.933l25.42-44.327a7.829 7.829 0 0 0 1.02-4.22 7.853 7.853 0 0 1-1.02 3.567z" fill="#3e2723" fill-rule="nonzero" opacity=".2"/><path d="M105.913 33.36l15.714 27.4a7.85 7.85 0 0 1 1.02 3.567 7.77 7.77 0 0 0-1.02-4.22l-15.714-27.4H82.007l.38.653zM82.007 95.94L100.38 64h-.367L82.007 95.287l-12 20.86h.373z" fill="#fff" fill-rule="nonzero" opacity=".2"/><path d="M121.627 60.107l-15.714-27.4-9.706-16.927a7.816 7.816 0 0 0-6.787-3.933H38.58a7.824 7.824 0 0 0-6.787 3.933L6.373 60.107a7.828 7.828 0 0 0 0 7.78l25.42 44.326a7.816 7.816 0 0 0 6.787 3.934h50.847a7.832 7.832 0 0 0 6.786-3.934l25.42-44.326a7.811 7.811 0 0 0-.006-7.78z" fill="url(#a)"/><path d="M0 0h128v128H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-security-command-center.svg b/site/dist/images/icons/cloud-security-command-center.svg
    deleted file mode 100644
    index caa95554b..000000000
    --- a/site/dist/images/icons/cloud-security-command-center.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.474 52.12L100.169 6.378A11.555 11.555 0 0 0 90.306.5h-52.61a11.549 11.549 0 0 0-9.864 5.876L1.527 52.026a11.475 11.475 0 0 0-.002 11.437l26.305 45.95a11.773 11.773 0 0 0 9.864 6.087h52.608a11.726 11.726 0 0 0 9.866-6.06l26.303-45.745a11.728 11.728 0 0 0 .003-11.575z" fill="#4285f4"/><path d="M93.122 35.092L79.9 44.734 59.168 24 34.214 53.5 46.42 65.706l-.103 18.233L77.879 115.5h12.423a11.726 11.726 0 0 0 9.866-6.06l24.57-42.731z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M68.168 40.633A17.958 17.958 0 0 1 81.035 53.5h12.087V35.092L68.168 24zM46.301 53.5a17.958 17.958 0 0 1 12.867-12.867V24.001L34.214 35.09V53.5zm12.867 21.867A17.958 17.958 0 0 1 46.301 62.5H34.986c2.647 13.433 11.93 25.19 24.182 30.058zM81.035 62.5a17.958 17.958 0 0 1-12.867 12.867v17.191C80.419 87.69 89.703 75.933 92.35 62.5z" fill-rule="nonzero"/><circle cx="63.668" cy="58" r="9"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud-sql.svg b/site/dist/images/icons/cloud-sql.svg
    deleted file mode 100644
    index 9dc968696..000000000
    --- a/site/dist/images/icons/cloud-sql.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 128 116" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M126.47 52.12l-26.3-45.74A11.56 11.56 0 0 0 90.31.5H37.7a11.55 11.55 0 0 0-9.86 5.88L1.53 52a11.48 11.48 0 0 0 0 11.44l26.3 46a11.77 11.77 0 0 0 9.86 6.09H90.3a11.73 11.73 0 0 0 9.87-6.06l26.3-45.74a11.73 11.73 0 0 0 0-11.61z" fill="#4285f4"/><path d="M84 39.88l-19.33-6.63-20.46 15.46L57 61.5l-12.83 1.25 12 12L44 76.25l39.27 39.25h7a11.73 11.73 0 0 0 9.87-6.06l19.48-33.88z" fill="#000" opacity=".07"/><g fill="#fff"><path d="M64 28.23L44 39.78v8.93l20 11.54 20-11.54v-8.93zm11.95 15.88L64 51l-11.94-6.89L64 37.21l11.94 6.89z" fill-rule="nonzero"/><path d="M44 53.75v8.93l20 11.55 20-11.55v-8.93L64 65.3z"/><path d="M44 67.29v8.93l20 11.55 20-11.55v-8.93L64 78.84z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/cloud.svg b/site/dist/images/icons/cloud.svg
    deleted file mode 100644
    index 2cb988967..000000000
    --- a/site/dist/images/icons/cloud.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 184 149"><g fill="none" fill-rule="evenodd"><path fill="#EA4335" d="M117.109 41.875l5.894.111 16.013-16.013.776-6.781C127.069 7.875 110.328.981 92 .981c-33.185 0-61.182 22.573-69.484 53.166 1.752-1.211 5.481-.309 5.481-.309l32.002-5.257s1.656-2.722 2.474-2.553C69.793 38.016 80.319 32.981 92 32.981c9.504 0 18.239 3.337 25.109 8.894"/><path fill="#4285F4" d="M161.496 54.189c-3.714-13.721-11.387-25.824-21.719-35.009l-22.683 22.683C126.176 49.202 132 60.422 132 72.981v4c11.028 0 20 8.972 20 20s-8.972 20-20.004 20H92l-4.003 4.02v24.001L92 148.981h40c28.673 0 52-23.327 52-52 0-17.726-8.922-33.401-22.504-42.792"/><path fill="#34A853" d="M51.998 148.981h39.969v-32H52.003c-2.939 0-5.723-.653-8.239-1.797l-5.765 1.762-16.021 16.021-1.403 5.406c8.735 6.649 19.624 10.607 31.423 10.608"/><path fill="#FBBC05" d="M52 44.981c-28.673 0-52 23.327-52 52 0 16.883 8.092 31.906 20.597 41.411l23.193-23.194C36.85 112.058 32 105.082 32 96.981c0-11.028 8.972-20 20-20 8.101 0 15.077 4.849 18.218 11.79l23.194-23.194C83.906 53.073 68.883 44.981 52 44.981"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/dart.svg b/site/dist/images/icons/dart.svg
    deleted file mode 100644
    index 576c76807..000000000
    --- a/site/dist/images/icons/dart.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 170 171" xmlns="http://www.w3.org/2000/svg"><mask id="a" fill="#fff"><path d="M0 170.667V0h169.536v170.667z" fill-rule="evenodd"/></mask><g fill="none" fill-rule="evenodd" mask="url(#a)" transform="matrix(1 0 0 -1 0 170.667)"><path d="M46.457 124.204l-11.03 11.03.047-79.733.132-3.727c.054-1.753.38-3.732.923-5.782l87.402-30.82 21.848 9.68.008.027z" fill="#55c5a9"/><path d="M145.779 24.852l-21.848-9.68-87.397 30.814c1.67-6.405 5.365-13.605 9.342-17.542L74.399.084 137.819 0l7.968 24.879zm-109.25 21.14l.005-.006c-.005.037-.023.077-.023.113a.27.27 0 0 1 .018-.107z" fill="#72cfb9" fill-rule="nonzero"/><path d="M35.427 135.24L1.457 83.924c-2.822-3.015-1.42-9.233 3.127-13.815l19.612-19.775 12.333-4.342c-.543 2.05-.869 4.03-.923 5.782l-.132 3.727-.047 79.734z" fill="#3a7fca"/><path d="M124.649 134.21c-2.051.525-4.017.847-5.801.905l-3.938.136-79.483-.011L145.799 24.879h.008l9.693 21.869-30.851 87.463" fill="#0f80cc"/><path d="M142.182 124.847c-4.007 4.038-11.112 7.708-17.529 9.36l30.847-87.46-9.693-21.868h-.008l23.687 7.565.05 64.943zm-17.634 9.385c.044-.01.076-.021.105-.025l-.004.004c-.025.01-.057.01-.1.021z" fill="#4ba5e0" fill-rule="nonzero"/><path d="M120.327 146.47l-19.77 19.623c-4.57 4.53-10.793 5.938-13.799 3.123l-51.33-33.976 79.482.01 3.938-.135c1.784-.058 3.75-.38 5.8-.904l-4.321 12.258" fill="#55c5a9"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/design.svg b/site/dist/images/icons/design.svg
    deleted file mode 100644
    index 060ab0578..000000000
    --- a/site/dist/images/icons/design.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><g fill="none" fill-rule="evenodd"><circle cx="18" cy="18" r="18" fill="#757575"/><path fill="#BDBDBD" d="M6 6H30V30H6z"/><path fill="#FFF" d="M30 6L18 30 6 6z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/firebase.svg b/site/dist/images/icons/firebase.svg
    deleted file mode 100644
    index c31596b4c..000000000
    --- a/site/dist/images/icons/firebase.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 111 151"><g fill="none" fill-rule="evenodd"><path fill="#FFA000" d="M.7 121.15L19.26 3c.52-3.24 4.88-4 6.42-1.1l19.16 35.63 7.61-14.5a3.42 3.42 0 0 1 3.04-1.83c1.28 0 2.45.7 3.04 1.84l51.67 98.11H.7z"/><path fill="#F57C00" d="M64.68 75.12L44.75 37.53.7 121.15z"/><path fill="#FFCA28" d="M110.2 121.15L96 33.6a3.44 3.44 0 0 0-2.34-2.7 3.45 3.45 0 0 0-3.48.83L.7 121.15l49.53 27.7a10.43 10.43 0 0 0 10 0l49.97-27.7z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/flutter.svg b/site/dist/images/icons/flutter.svg
    deleted file mode 100644
    index b125d76f3..000000000
    --- a/site/dist/images/icons/flutter.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 78 96" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M48.75 95.97L22.84 70.23l14.32-14.57 40.39 40.31z" fill="#02539a"/><g fill="#45d1fd"><path d="M22.52 70.25L48.2 44.57h28.87L37.12 84.52z" fill-opacity=".85"/><path d="M.29 47.85l14.58 14.57L77.07.22H48.05z"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/golang.svg b/site/dist/images/icons/golang.svg
    deleted file mode 100644
    index 9c1fcec10..000000000
    --- a/site/dist/images/icons/golang.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 207 78" xmlns="http://www.w3.org/2000/svg"><g fill="#00acd7" fill-rule="evenodd"><path d="M16.2 24.1c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h35.7c.4 0 .5.3.3.6l-1.7 2.6c-.2.3-.7.6-1 .6zM1.1 33.3c-.4 0-.5-.2-.3-.5l2.1-2.7c.2-.3.7-.5 1.1-.5h45.6c.4 0 .6.3.5.6l-.8 2.4c-.1.4-.5.6-.9.6l-47.3.1zm24.2 9.2c-.4 0-.5-.3-.3-.6l1.4-2.5c.2-.3.6-.6 1-.6h20c.4 0 .6.3.6.7l-.2 2.4c0 .4-.4.7-.7.7zm103.8-20.2c-6.3 1.6-10.6 2.8-16.8 4.4-1.5.4-1.6.5-2.9-1-1.5-1.7-2.6-2.8-4.7-3.8-6.3-3.1-12.4-2.2-18.1 1.5-6.8 4.4-10.3 10.9-10.2 19 .1 8 5.6 14.6 13.5 15.7 6.8.9 12.5-1.5 17-6.6.9-1.1 1.7-2.3 2.7-3.7H90.3c-2.1 0-2.6-1.3-1.9-3 1.3-3.1 3.7-8.3 5.1-10.9.3-.6 1-1.6 2.5-1.6h36.4c-.2 2.7-.2 5.4-.6 8.1-1.1 7.2-3.8 13.8-8.2 19.6-7.2 9.5-16.6 15.4-28.5 17-9.8 1.3-18.9-.6-26.9-6.6-7.4-5.6-11.6-13-12.7-22.2-1.3-10.9 1.9-20.7 8.5-29.3C71.1 9.6 80.5 3.7 92 1.6c9.4-1.7 18.4-.6 26.5 4.9 5.3 3.5 9.1 8.3 11.6 14.1.6.9.2 1.4-1 1.7z"/><path d="M162.2 77.6c-9.1-.2-17.4-2.8-24.4-8.8-5.9-5.1-9.6-11.6-10.8-19.3-1.8-11.3 1.3-21.3 8.1-30.2 7.3-9.6 16.1-14.6 28-16.7 10.2-1.8 19.8-.8 28.5 5.1 7.9 5.4 12.8 12.7 14.1 22.3 1.7 13.5-2.2 24.5-11.5 33.9-6.6 6.7-14.7 10.9-24 12.8-2.7.5-5.4.6-8 .9zM186 37.2c-.1-1.3-.1-2.3-.3-3.3-1.8-9.9-10.9-15.5-20.4-13.3-9.3 2.1-15.3 8-17.5 17.4-1.8 7.8 2 15.7 9.2 18.9 5.5 2.4 11 2.1 16.3-.6 7.9-4.1 12.2-10.5 12.7-19.1z" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-ads.svg b/site/dist/images/icons/google-ads.svg
    deleted file mode 100644
    index 364ab22ce..000000000
    --- a/site/dist/images/icons/google-ads.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 249 227" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M84.9 28.6c2.4-6.3 5.7-12.1 10.6-16.8 19.6-19.1 52-14.3 65.3 9.7 10 18.2 20.6 36 30.9 54 17.2 29.9 34.6 59.8 51.6 89.8 14.3 25.1-1.2 56.8-29.6 61.1-17.4 2.6-33.7-5.4-42.7-21-15.1-26.3-30.3-52.6-45.4-78.8-.3-.6-.7-1.1-1.1-1.6-1.6-1.3-2.3-3.2-3.3-4.9-6.7-11.8-13.6-23.5-20.3-35.2-4.3-7.6-8.8-15.1-13.1-22.7-3.9-6.8-5.7-14.2-5.5-22 .3-4 .8-8 2.6-11.6" fill="#4285f4"/><path d="M84.9 28.6c-.9 3.6-1.7 7.2-1.9 11-.3 8.4 1.8 16.2 6 23.5C100 82 111 101 121.9 120c1 1.7 1.8 3.4 2.8 5-6 10.4-12 20.7-18.1 31.1-8.4 14.5-16.8 29.1-25.3 43.6-.4 0-.5-.2-.6-.5-.1-.8.2-1.5.4-2.3 4.1-15 .7-28.3-9.6-39.7-6.3-6.9-14.3-10.8-23.5-12.1-12-1.7-22.6 1.4-32.1 8.9-1.7 1.3-2.8 3.2-4.8 4.2-.4 0-.6-.2-.7-.5 4.8-8.3 9.5-16.6 14.3-24.9C44.5 98.4 64.3 64 84.2 29.7c.2-.4.5-.7.7-1.1" fill="#fbbc05"/><path d="M10.8 158c1.9-1.7 3.7-3.5 5.7-5.1 24.3-19.2 60.8-5.3 66.1 25.1 1.3 7.3.6 14.3-1.6 21.3-.1.6-.2 1.1-.4 1.7-.9 1.6-1.7 3.3-2.7 4.9-8.9 14.7-22 22-39.2 20.9C19 225.4 3.5 210.6.8 191c-1.3-9.5.6-18.4 5.5-26.6 1-1.8 2.2-3.4 3.3-5.2.5-.4.3-1.2 1.2-1.2" fill="#34a853"/><path d="M10.8 158c-.4.4-.4 1.1-1.1 1.2-.1-.7.3-1.1.7-1.6z" fill="#fabc04"/><path d="M80.6 201c-.4-.7 0-1.2.4-1.7l.4.4z" fill="#e1c025"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-analytics.svg b/site/dist/images/icons/google-analytics.svg
    deleted file mode 100644
    index ad876f891..000000000
    --- a/site/dist/images/icons/google-analytics.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><clipPath id="a"><path d="M16.85 8.53h-3.27A1.44 1.44 0 0 0 12.15 10v4.23H7.42A1.41 1.41 0 0 0 6 15.6v4.73H1.75a1.41 1.41 0 0 0-1.41 1.41V25a1.44 1.44 0 0 0 1.41 1.43h15.1A1.44 1.44 0 0 0 18.29 25V10a1.44 1.44 0 0 0-1.44-1.47z"/></clipPath><linearGradient id="b" gradientUnits="userSpaceOnUse" x1="9.11" x2="17.86" y1="17.29" y2="26.04"><stop offset="0" stop-color="#bf360c" stop-opacity=".2"/><stop offset=".28" stop-color="#bf360c" stop-opacity=".12"/><stop offset=".67" stop-color="#bf360c" stop-opacity=".05"/><stop offset="1" stop-color="#bf360c" stop-opacity=".02"/></linearGradient><linearGradient id="c" gradientUnits="userSpaceOnUse" x2="17.95" y1="23.07" y2="23.07"><stop offset="0" stop-color="#fff" stop-opacity=".1"/><stop offset=".14" stop-color="#fff" stop-opacity=".08"/><stop offset=".61" stop-color="#fff" stop-opacity=".02"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><path d="M-334-139h1392v448H-334z" fill="none"/><g clip-path="url(#a)" transform="matrix(1.7827 0 0 1.7877 -.6 -15.25)"><path d="M16.85 8.53h-3.27A1.44 1.44 0 0 0 12.15 10v16.47h4.7A1.44 1.44 0 0 0 18.29 25V10a1.44 1.44 0 0 0-1.44-1.47z" fill="#f57c00"/><path d="M6 15.6v4.73H1.75a1.41 1.41 0 0 0-1.41 1.41V25a1.44 1.44 0 0 0 1.41 1.43h10.4V14.19H7.42A1.41 1.41 0 0 0 6 15.6z" fill="#ffc107"/><path d="M13.57 26.47h3.28A1.44 1.44 0 0 0 18.29 25v-4.65l-6.14-6.15v12.27z" fill="url(#b)"/><path d="M7.43 14.31h4.71v-.12H7.43A1.41 1.41 0 0 0 6 15.6v.12a1.41 1.41 0 0 1 1.43-1.41zm-5.68 6.14H6v-.12H1.75a1.41 1.41 0 0 0-1.41 1.41v.12a1.41 1.41 0 0 1 1.41-1.41zm15.1-11.92h-3.27A1.44 1.44 0 0 0 12.15 10v.12a1.44 1.44 0 0 1 1.44-1.44h3.26a1.44 1.44 0 0 1 1.44 1.44V10a1.44 1.44 0 0 0-1.44-1.47z" fill="#fff" opacity=".2"/><path d="M16.86 26.35H1.76a1.41 1.41 0 0 1-1.41-1.4v.12a1.41 1.41 0 0 0 1.41 1.41h15.1A1.44 1.44 0 0 0 18.29 25v-.08a1.44 1.44 0 0 1-1.43 1.43z" fill="#bf360c" opacity=".2"/></g><path d="M-2.02 3.17h22.67v22.67H-2.02z" fill="none"/><path d="M16.51 14.1h-3.27a1.44 1.44 0 0 0-1.43 1.47v4.23H7.08a1.41 1.41 0 0 0-1.42 1.37v4.73H1.41A1.41 1.41 0 0 0 0 27.31v3.26A1.44 1.44 0 0 0 1.41 32h15.1a1.44 1.44 0 0 0 1.44-1.43v-15a1.44 1.44 0 0 0-1.44-1.47z" fill="url(#c)"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-assistant.svg b/site/dist/images/icons/google-assistant.svg
    deleted file mode 100644
    index 549f5d202..000000000
    --- a/site/dist/images/icons/google-assistant.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 490"><g fill="none" fill-rule="evenodd"><circle cx="156.27" cy="156.71" r="156.27" fill="#4285F4"/><path fill="#34A853" d="M512 171.95a31.76 31.76 0 1 1-63.53 0 31.76 31.76 0 0 1 63.53 0z"/><path fill="#EA4335" d="M454.83 249.45a63.52 63.52 0 1 1-127.04 0 63.52 63.52 0 0 1 127.04 0z"/><path fill="#FBBC05" d="M467.53 413.34a76.22 76.22 0 0 1-76.22 76.22 76.22 76.22 0 1 1 0-152.45 76.23 76.23 0 0 1 76.22 76.23z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-docs.svg b/site/dist/images/icons/google-docs.svg
    deleted file mode 100644
    index 25475795a..000000000
    --- a/site/dist/images/icons/google-docs.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M12.534 0H0v27.079h21.277V8.743L16.441 0z" fill="#3980fc"/><path d="M16.441 4.836l4.836 4.835V4.836z" fill="#2054b2"/><path d="M16.441 4.836h4.836L16.441 0z" fill="#9ec2ff"/><path d="M4.062 9.381h12.96m-12.96 2.708h12.96M4.062 14.99h12.96m-12.96 2.708h7.737" stroke="#fff" stroke-width=".967"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-drive.svg b/site/dist/images/icons/google-drive.svg
    deleted file mode 100644
    index 0575c78c7..000000000
    --- a/site/dist/images/icons/google-drive.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 28 25" xmlns="http://www.w3.org/2000/svg"><radialGradient id="a" cx="5.644%" cy="-354.17%" gradientTransform="matrix(.31608 .5 -.18249 .86603 -.608 -.503)" r="646.47%"><stop offset="0" stop-color="#4387fd"/><stop offset=".65" stop-color="#3078f0"/><stop offset=".91" stop-color="#2b72ea"/><stop offset="1" stop-color="#286ee6"/></radialGradient><radialGradient id="b" cx="-15.599%" cy="-89.033%" gradientTransform="matrix(.72554 .5 -.41889 .86603 -.416 -.041)" r="345.036%"><stop offset="0" stop-color="#ffd24d"/><stop offset="1" stop-color="#f6c338"/></radialGradient><g fill="none" fill-rule="evenodd"><path d="M5.238 24.23L.557 16.125 9.319.942 14 9.046z" fill="#0da960"/><path d="M4.681 23.443l4.681-8.105h17.524l-4.681 8.105z" fill="url(#a)" transform="translate(.557 .787)"/><path d="M26.886 15.338h-9.362L8.762.155h9.362z" fill="url(#b)" transform="translate(.557 .787)"/><path d="M14 16.125H9.919l2.031-3.539L5.238 24.23z" fill="#2d6fdd"/><path d="M18.081 16.125h9.362L16.05 12.586z" fill="#e5b93c"/><path d="M11.95 12.586L14 9.046 9.319.942z" fill="#0c9b57"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-g.svg b/site/dist/images/icons/google-g.svg
    deleted file mode 100644
    index 125d1f9f5..000000000
    --- a/site/dist/images/icons/google-g.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 47 48"><g fill="none" fill-rule="evenodd"><path fill="#4285F4" d="M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18v6h7.73c4.51-4.18 7.09-10.36 7.09-17.65z"/><path fill="#34A853" d="M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91H2.56v6.19C6.51 42.62 14.62 48 24 48z"/><path fill="#FBBC05" d="M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59 0-1.6.27-3.14.76-4.59v-6.19H2.56C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z"/><path fill="#EA4335" d="M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-maps.svg b/site/dist/images/icons/google-maps.svg
    deleted file mode 100644
    index 46b80256d..000000000
    --- a/site/dist/images/icons/google-maps.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 67 68" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><rect fill="#34a853" height="58.905" rx="5.238" width="58.905" y="8.344"/><path d="M29.842 37.258L1.43 65.67a5.114 5.114 0 0 0 3.705 1.58H53.77c1.66 0 3.126-.784 4.064-1.998z" fill="#4285f4"/><path d="M49.703.1C40.622.1 33.26 7.127 33.26 15.796c.007 2.707.65 5.365 2.051 7.718.422.69.815 1.38 1.166 2.066.327.491.638.985.931 1.478.337.467.66.937.969 1.41 1.284 1.734 2.45 3.433 3.565 5.066.777 1.25 1.65 2.587 2.417 3.91 2.316 4.013 3.927 7.932 4.508 13.638v.012c.179.404.507.652.862.654.395-.001.753-.308.911-.783.591-5.642 2.194-9.536 4.494-13.52.767-1.324 1.64-2.661 2.417-3.911 1.114-1.633 2.28-3.332 3.565-5.066.308-.473.632-.943.969-1.41.293-.493.604-.987.93-1.478a31.55 31.55 0 0 1 1.167-2.066c1.397-2.354 1.96-5.012 1.964-7.718C66.146 7.127 58.784.1 49.703.1z" fill="#ea4335"/><ellipse cx="49.703" cy="15.796" fill="#811411" rx="5.712" ry="5.453"/><path d="M13.987 14.111c-4.578 0-8.29 3.777-8.29 8.435 0 4.659 3.712 8.435 8.29 8.435 2.982 0 4.71-.938 6.21-2.465 1.5-1.526 2.047-3.835 2.047-6.164 0-.356-.023-.709-.063-1.058h-8.093v2.982h4.753c-.193.743-.52 1.421-1.036 1.946-.924.94-1.988 1.518-3.824 1.518-2.819 0-5.104-2.326-5.104-5.194s2.285-5.193 5.104-5.193c1.37 0 2.566.398 3.513 1.267l2.334-2.334-.004-.004c-1.557-1.494-3.548-2.17-5.837-2.17z" fill="#fff"/><path d="M38.375 28.466l-7.82 7.82 27.91 27.91c.28-.636.44-1.34.44-2.082V31.569c-.46.661-.915 1.322-1.354 1.965-.777 1.25-1.65 2.587-2.417 3.91-2.3 3.985-3.903 7.88-4.494 13.521-.158.475-.516.781-.911.783-.355-.001-.683-.25-.861-.654l-.001-.012c-.58-5.706-2.192-9.625-4.508-13.637-.767-1.324-1.64-2.661-2.417-3.911-1.114-1.633-2.281-3.332-3.565-5.066l-.002-.003z" fill="#9aa0a6"/><path d="M35.252 37.438l-6.029 6.029 23.781 23.781h.766a5.123 5.123 0 0 0 5.135-5.134V61.09z" fill="#fff"/><path d="M0 61.32v.795a5.123 5.123 0 0 0 5.135 5.134h.994l34.957-34.957c-.86-1.25-1.745-2.52-2.71-3.823a36.829 36.829 0 0 0-.968-1.41 35.92 35.92 0 0 0-.93-1.478c-.083-.16-.174-.32-.26-.48z" fill="#fbbc05"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-sheets.svg b/site/dist/images/icons/google-sheets.svg
    deleted file mode 100644
    index c621818d0..000000000
    --- a/site/dist/images/icons/google-sheets.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M16.441 0l4.836 4.836v22.243H0V0z" fill="#029d55"/><path d="M16.344 4.836l4.836 4.835V4.836z" fill="#000" opacity=".2"/><path d="M16.344 0v4.836h4.836z" fill="#fff" opacity=".4"/><path d="M7.834 9.284v8.317m-2.805-5.512h10.832M4.933 9.381h11.025v8.317H4.933zm.096 5.609h10.832" stroke="#fff" stroke-width=".967"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-slides.svg b/site/dist/images/icons/google-slides.svg
    deleted file mode 100644
    index ad795b630..000000000
    --- a/site/dist/images/icons/google-slides.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 22 28" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M12.534 0H0v27.079h21.277V8.743L16.441 0z" fill="#f6b502"/><path d="M16.441 4.836l4.836 4.835V4.836z" fill="#d89f01"/><path d="M16.441 4.836h4.836L16.441 0z" fill="#ffe25e"/><path d="M17.215 18.762H8.511v-7.157h8.704zm-7.737-1.548h6.77v-4.061h-6.77z" fill="#fff" fill-rule="nonzero"/><path d="M5.029 9.478h7.544v4.836H5.029z" fill="#f6b502"/><path d="M13.153 15.474H4.449V8.317h8.704zm-7.737-1.548h6.77V9.864h-6.77v4.063z" fill="#fff" fill-rule="nonzero"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/google-wallet.svg b/site/dist/images/icons/google-wallet.svg
    deleted file mode 100644
    index fcd058447..000000000
    --- a/site/dist/images/icons/google-wallet.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 175 187" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M68.1 83.6C57.5 69 42.8 56.2 26.1 47.3c-2.5-1.4-5.4-2.1-8.3-2.1-6.5 0-12.4 3.5-15.5 9.3C-2.3 63 1 73.7 9.5 78.2c25.7 13.8 42.3 40 44.3 70.4v-.1c-.3-3.4.3-6.7 1.8-9.8.2-.4.5-.9.8-1.4 8-13.2 12.3-28.4 12.3-44 0-3.3-.3-6.5-.6-9.7" fill="#4285f4"/><path d="M169.9 50.6c-3.1-13.6-7.7-26.8-13.7-39.4C153 4.5 146.1.1 138.7.1c-2.9 0-5.7.6-8.3 1.9-9.7 4.6-13.8 16.2-9.2 25.8 9.8 20.8 14.7 42.7 14.7 65.5s-4.9 44.7-14.5 65.1c-.1.3-1.8 3.9-1.8 8.1 0 1.2.1 2.9.5 4.5 1.3 5.5 4.8 10.5 10.6 13.2 2.6 1.2 5.4 1.9 8.3 1.9 7.1 0 13.6-3.9 17-10.1 3.9-7.3 7.8-16.8 11.2-29.1 1.1-3.7 2-7.2 2.8-10.9 3.1-13.9 4.8-28.1 4.8-42.7-.1-14.4-1.8-28.9-4.9-42.7" fill="#34a853"/><path d="M88 30.3c-.3-.6-.7-1.1-1.1-1.6-1.3-1.7-2.8-3.1-4.6-4.2-2.9-1.9-6.4-3-10-3-3 0-4.5.4-6.6 1.2-2.2.9-4.5 2.1-6.6 4.3s-3.3 4.4-4.2 6.8c-1.8 4.7-1.5 10.8 1.5 15.8C62.8 59.9 66.6 71.7 68 83.8c.4 3.2.6 6.5.6 9.7 0 15.6-4.2 30.8-12.3 44-.3.5-.5.9-.8 1.4-1.6 3.1-2.1 6.6-1.8 9.9.5 5.6 3.6 10.9 8.8 14.1 1.3.8 2.8 1.4 4.2 1.9 1.7.5 3.5.8 5.3.8 6.5 0 12.4-3.3 15.8-8.9C98 140 103.9 121 105.2 101.5c.2-2.6.3-5.3.3-7.9.1-22.6-6-44.4-17.5-63.3" fill="#ea4335"/><path d="M121.3 158.4c9.7-20.4 14.6-42.3 14.6-65.1 0-7.8-.5-13.5-.9-17.2-12.7-20.3-31.1-38.5-52.7-51.7 0 0 .5.3.5.4 1.5 1.1 2.7 2.2 4.1 3.9.3.4.8 1 1.1 1.6 11.5 19 17.5 40.7 17.5 63 0 2.7-.1 5.3-.3 7.9 9.2 17.5 14.2 37.4 14.2 58.3v6.3c.1-2.2.6-4.5 1.4-6.5.3-.3.4-.6.5-.9" fill="#fbbc05"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/gsuite.svg b/site/dist/images/icons/gsuite.svg
    deleted file mode 100644
    index 7662dc754..000000000
    --- a/site/dist/images/icons/gsuite.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 77 78" xmlns="http://www.w3.org/2000/svg"><path d="M39.672 77.648c-7.073 0-13.579-1.665-19.518-4.995-5.94-3.33-10.661-7.931-14.163-13.803C2.489 52.98.738 46.405.738 39.126s1.751-13.853 5.253-19.724C9.493 13.53 14.214 8.93 20.154 5.598 26.094 2.27 32.599.604 39.672.604c5.768 0 11.038 1.013 15.81 3.038 4.773 2.026 8.876 4.893 12.309 8.601l-9.579 9.373c-2.472-2.61-5.201-4.566-8.189-5.871-2.987-1.305-6.471-1.957-10.454-1.957-4.532 0-8.686 1.047-12.463 3.142-3.777 2.094-6.78 5.08-9.013 8.96-2.231 3.88-3.347 8.292-3.347 13.236s1.133 9.356 3.399 13.236 5.304 6.866 9.116 8.96c3.81 2.095 7.982 3.142 12.514 3.142 6.867 0 12.497-2.026 16.892-6.077 1.373-1.236 2.575-2.815 3.605-4.738s1.785-4.017 2.266-6.283H39.363V35.521h36.153c.48 1.923.721 4.086.721 6.489 0 4.875-.738 9.407-2.215 13.596-1.476 4.189-3.725 7.862-6.746 11.021-3.296 3.57-7.279 6.3-11.948 8.189-4.67 1.888-9.888 2.832-15.656 2.832z" fill="#9aa0a6" fill-rule="evenodd"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/nest.svg b/site/dist/images/icons/nest.svg
    deleted file mode 100644
    index 677c85661..000000000
    --- a/site/dist/images/icons/nest.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 107 98"><g fill="#5F6368" fill-rule="evenodd"><path d="M64.7 68.1c0-6.3-5.2-11.5-11.5-11.5-6.4 0-11.5 5.1-11.5 11.5V98h23V68.1z"/><path d="M87.6 28.5V12.7h-11v6.7L53 0 0 43.7l8.9 10.7 9.6-7.9V98h13.4V68.1c0-11.7 9.5-21.2 21.3-21.2 11.7 0 21.3 9.5 21.3 21.2V98h13.2V46.5l9.6 7.9 8.9-10.7-18.6-15.2z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/openthread.svg b/site/dist/images/icons/openthread.svg
    deleted file mode 100644
    index 79690a545..000000000
    --- a/site/dist/images/icons/openthread.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 888 889"><path fill="#484848" fill-rule="evenodd" d="M434.18 888.394C193.5 883.17 0 686.433 0 444.5 0 199.286 198.786.5 444 .5s444 198.786 444 444c0 214.316-151.845 393.166-353.82 434.836V448.902h49.343l1.85-.137c46.493-3.454 84.639-23.295 110.44-55.536 21.905-27.371 33.278-61.91 33.343-95.73.052-6.152-.486-14.31-2.073-23.944-2.537-15.402-7.21-30.839-14.749-45.694-23.174-45.671-67.522-74.095-129.78-74.095-48.67 0-87.34 17.616-112.887 50.742-19.718 25.567-29.446 56.717-33.324 94.199-1.623 15.687-2.078 28.266-2.152 50.195H294.68c-97.742 0-176.977 79.235-176.977 176.977 0 48.432 15.05 89.685 45.621 120.802 29.198 29.718 77.004 52.298 137.252 55.985v-98.8c-31.886-4.984-53.398-14.524-65.918-27.268-11.147-11.345-16.955-27.265-16.955-50.72 0-42.512 34.464-76.976 76.977-76.976h139.5v439.492zm145.44-539.492h-45.428c.069-18.41.438-28.482 1.62-39.904 2.138-20.67 6.659-35.144 13.041-43.42 2.654-3.44 5.674-5.871 9.712-7.71 5.626-2.564 13.423-4.102 23.99-4.102 13.794 0 23.15 2.552 29.615 6.696 4.621 2.962 8.17 7.095 10.988 12.65 2.523 4.971 4.278 10.77 5.255 16.696.353 2.148.572 4.117.683 5.808.033.512.052.93.06 1.24v.351c0 11.874-4.115 24.413-11.42 33.54-8.073 10.088-20.063 16.498-38.116 18.155z"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/polymer.svg b/site/dist/images/icons/polymer.svg
    deleted file mode 100644
    index 413e50ceb..000000000
    --- a/site/dist/images/icons/polymer.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 414 286" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M83.157 143l-41.279 71.5L83.157 286l41.279-71.5z" fill="#303f9f"/><path d="M330.842 0l-41.281 71.5 41.281 71.5 41.279-71.5z" fill="#3f51b5"/><path d="M372.121 71.5L248.278 286h82.564L413.4 143z" fill="#7986cb"/><path d="M248.278 0L83.157 286h82.564L330.842 0z" fill="#ff4081"/><path d="M83.157 0L.596 143l41.282 71.5L165.721 0z" fill="#536dfe"/><path d="M248.278 0l41.283 71.5L330.842 0z" fill="#fff" fill-opacity=".2"/><path d="M207 71.5L248.278 0l41.283 71.5z" fill="#fff" fill-opacity=".1"/><path d="M207 71.5l41.278 71.5 41.283-71.5z"/><g fill="#000"><path d="M165.721 143L207 71.5l41.278 71.5z" fill-opacity=".1"/><path d="M165.721 143L207 214.5l41.278-71.5z" fill-opacity=".2"/><path d="M124.438 214.5l41.283-71.5L207 214.5z" fill-opacity=".3"/><path d="M124.438 214.5l41.283 71.5L207 214.5z" fill-opacity=".4"/><path d="M83.157 286l41.281-71.5 41.283 71.5z" fill-opacity=".5"/></g><path d="M83.157 0l41.281 71.5L165.721 0z" fill="#fff" fill-opacity=".2"/><path d="M41.878 71.5L83.157 0l41.281 71.5z" fill="#fff" fill-opacity=".1"/><path d="M41.878 71.5L83.157 143l41.281-71.5z"/><path d="M.598 143l41.28-71.5L83.157 143z" fill="#000" fill-opacity=".1"/><path d="M.598 143l41.28 71.5L83.157 143z" fill="#000" fill-opacity=".2"/><path d="M124.438 214.5L83.157 143l-41.279 71.5z"/><path d="M124.438 214.5L83.157 286l-41.279-71.5zm247.683-143L330.842 0l-41.281 71.5z" fill="#000" fill-opacity=".2"/><path d="M372.121 71.5L330.842 143l-41.281-71.5z"/><path d="M330.842 143l41.279-71.5L413.4 143z" fill="#fff" fill-opacity=".2"/><path d="M330.842 143l41.279 71.5L413.4 143z" fill="#fff" fill-opacity=".1"/><path d="M289.561 214.5l41.281-71.5 41.279 71.5z"/><g fill="#000"><path d="M289.561 214.5l41.281 71.5 41.279-71.5z" fill-opacity=".1"/><path d="M248.278 286l41.283-71.5 41.281 71.5z" fill-opacity=".2"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/slurm.svg b/site/dist/images/icons/slurm.svg
    deleted file mode 100644
    index bb506920e..000000000
    --- a/site/dist/images/icons/slurm.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 534 267" xmlns="http://www.w3.org/2000/svg"><path d="m248.519.356c-10.038 0-18.172 8.076-18.172 18.042v34.726c0 9.959 8.134 18.044 18.172 18.044h36.093c10.037 0 18.185-8.085 18.185-18.044v-34.726c0-9.966-8.148-18.042-18.185-18.042h-36.093zm88.715 54.946c-7.54 0-13.654 6.177-13.654 13.775v26.499c0 7.606 6.115 13.777 13.654 13.777h27.118c7.54 0 13.65-6.171 13.65-13.777v-26.5c0-7.597-6.11-13.774-13.65-13.774zm-168.457 0c-7.537 0-13.652 6.177-13.652 13.775v26.499c0 7.606 6.115 13.777 13.652 13.777h27.117c7.536 0 13.654-6.171 13.654-13.777v-26.5c0-7.597-6.118-13.774-13.654-13.774zm79.742 30.395c-10.038 0-18.172 8.072-18.172 18.043v34.724c0 9.964 8.134 18.047 18.172 18.047h36.093c10.037 0 18.185-8.083 18.185-18.047v-34.724c0-9.971-8.148-18.043-18.185-18.043zm158.475 16.279c-5.607 0-10.153 4.585-10.153 10.248v19.713c0 5.65 4.546 10.24 10.153 10.24h20.174c5.604 0 10.152-4.59 10.152-10.24v-19.713c0-5.663-4.548-10.248-10.152-10.248zm-300.14 0c-5.606 0-10.157 4.585-10.157 10.248v19.713c0 5.65 4.55 10.24 10.156 10.24h20.168c5.613 0 10.158-4.59 10.158-10.24v-19.713c0-5.663-4.545-10.248-10.158-10.248h-20.168zm230.38 20.747c-7.54 0-13.654 6.166-13.654 13.765v26.508c0 7.6 6.115 13.769 13.654 13.769h27.118c7.54 0 13.65-6.17 13.65-13.77v-26.507c0-7.599-6.11-13.765-13.65-13.765zm-168.457 0c-7.537 0-13.652 6.166-13.652 13.765v26.508c0 7.6 6.115 13.769 13.652 13.769h27.117c7.536 0 13.654-6.17 13.654-13.77v-26.507c0-7.599-6.118-13.765-13.654-13.765zm238.217 33.392c-5.607 0-10.153 4.583-10.153 10.239v19.713c0 5.652 4.546 10.242 10.153 10.242h20.174c5.604 0 10.152-4.59 10.152-10.242v-19.713c0-5.656-4.548-10.24-10.152-10.24h-20.174zm-300.14 0c-5.606 0-10.157 4.583-10.157 10.239v19.713c0 5.652 4.55 10.242 10.156 10.242h20.168c5.613 0 10.158-4.59 10.158-10.242v-19.713c0-5.656-4.545-10.24-10.158-10.24h-20.168zm141.665 14.18c-10.038 0-18.172 8.08-18.172 18.046v34.726c0 9.965 8.134 18.039 18.172 18.039h36.093c10.037 0 18.185-8.074 18.185-18.039v-34.726c0-9.966-8.148-18.046-18.185-18.046zm218.094 14.836c-4.17 0-7.543 3.408-7.543 7.606v14.633c0 4.198 3.373 7.6 7.543 7.6h14.974c4.158 0 7.528-3.402 7.528-7.6v-14.633c0-4.198-3.37-7.606-7.528-7.606zm-414.175 0c-4.164 0-7.537 3.408-7.537 7.606v14.633c0 4.198 3.373 7.6 7.537 7.6h14.967c4.167 0 7.539-3.402 7.539-7.6v-14.633c0-4.198-3.372-7.606-7.539-7.606h-14.967zm284.796 5.024c-7.54 0-13.654 6.162-13.654 13.763v26.502c0 7.607 6.115 13.774 13.654 13.774h27.118c7.54 0 13.65-6.167 13.65-13.774v-26.502c0-7.6-6.11-13.763-13.65-13.763zm-168.457 0c-7.537 0-13.652 6.162-13.652 13.763v26.502c0 7.607 6.115 13.774 13.652 13.774h27.117c7.536 0 13.654-6.167 13.654-13.774v-26.502c0-7.6-6.118-13.763-13.654-13.763zm238.217 20.503c-5.607 0-10.153 4.595-10.153 10.256v19.709c0 5.662 4.546 10.24 10.153 10.24h20.174c5.604 0 10.152-4.578 10.152-10.24v-19.709c0-5.66-4.548-10.256-10.152-10.256zm-300.14 0c-5.606 0-10.157 4.595-10.157 10.256v19.709c0 5.662 4.55 10.24 10.156 10.24h20.168c5.613 0 10.158-4.578 10.158-10.24v-19.709c0-5.66-4.545-10.256-10.158-10.256h-20.168zm359.76 19.041c-4.17 0-7.544 3.404-7.544 7.602v14.634c0 4.19 3.373 7.606 7.543 7.606h14.974c4.158 0 7.528-3.416 7.528-7.606v-14.633c0-4.199-3.37-7.603-7.528-7.603h-14.974zm-414.176 0c-4.164 0-7.537 3.404-7.537 7.602v14.634c0 4.19 3.373 7.606 7.537 7.606h14.967c4.167 0 7.539-3.416 7.539-7.606v-14.633c0-4.199-3.372-7.603-7.539-7.603h-14.967zm463.61 14.622c-3.143 0-5.697 2.567-5.697 5.736v11.04c0 3.16 2.554 5.732 5.697 5.732h11.295c3.13 0 5.682-2.573 5.682-5.732v-11.04c0-3.169-2.552-5.736-5.682-5.736zm-509.365 0c-3.141 0-5.691 2.567-5.691 5.736v11.04c0 3.16 2.55 5.732 5.69 5.732h11.288c3.142 0 5.685-2.573 5.685-5.732v-11.04c0-3.169-2.543-5.736-5.685-5.736h-11.287z" fill="#42afeb"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/tensorflow.svg b/site/dist/images/icons/tensorflow.svg
    deleted file mode 100644
    index a750ab71f..000000000
    --- a/site/dist/images/icons/tensorflow.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 115 123" xmlns="http://www.w3.org/2000/svg"><g fill="none"><path d="M65.461 18.898v18.897l32.73 18.898V37.795zM0 37.795v18.898l16.365 9.449V47.244zm49.096 9.449l-16.365 9.449v56.693l16.365 9.448V85.04l16.365 9.449V75.59l-16.365-9.448z" fill="#e55b2d"/><path d="M65.461 18.898L16.365 47.244v18.898l32.731-18.898v18.898l16.365-9.45V18.899zm49.096 9.448l-16.365 9.45v18.897l16.365-9.449zm-32.73 37.796L65.46 75.59v18.898l16.366-9.449V66.142zM65.46 94.488l-16.365-9.449v37.795l16.365-9.448z" fill="#ed8e24"/><path d="M65.461 0L0 37.795l16.365 9.449 49.096-28.346 32.73 18.897 16.366-9.449zm0 56.693l-16.365 9.449 16.365 9.448 16.366-9.448-16.366-9.45z" fill="#f8bf3c"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/unity.svg b/site/dist/images/icons/unity.svg
    deleted file mode 100644
    index 4d6ad6f80..000000000
    --- a/site/dist/images/icons/unity.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 107 110" xmlns="http://www.w3.org/2000/svg"><path d="M69.495 54.878l19.118 33.015 9.238-33.015-9.238-33.006zm-9.32-5.36l19.122-33.01-33.3 8.532-24.059 24.478h38.239-.001zm19.119 43.74L60.176 60.244H21.937l24.06 24.478zm27.293-27.144l-11.664 43.392-43.536-11.63-6.444-11.328-13.077.093L0 54.876l31.866-31.758 13.072.096 6.454-11.329L94.922.255l11.665 43.388-6.624 11.235z" fill="#222c37"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/wear-os.svg b/site/dist/images/icons/wear-os.svg
    deleted file mode 100644
    index 52be5322a..000000000
    --- a/site/dist/images/icons/wear-os.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 70"><g fill="none" fill-rule="evenodd" transform="translate(0 -1)"><path fill="#4285F4" fill-rule="nonzero" d="M6.74 1.831c4.92-2.052 10.603.203 12.692 5.039l21.93 50.764c2.09 4.836-.206 10.419-5.127 12.471-4.921 2.053-10.604-.203-12.692-5.038L1.612 14.302C-.477 9.467 1.819 3.883 6.74 1.83z"/><path fill="#FBBC05" fill-rule="nonzero" d="M37.93 1.831c4.92-2.052 10.603.203 12.692 5.039l21.93 50.764c2.09 4.836-.206 10.419-5.127 12.471-4.921 2.053-10.604-.203-12.692-5.038L32.802 14.302c-2.089-4.835.207-10.419 5.128-12.471z"/><ellipse cx="89.783" cy="11.035" fill="#EA4335" rx="10.217" ry="10.039"/><ellipse cx="80.102" cy="33.228" fill="#34A853" rx="10.217" ry="10.039"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/weave.svg b/site/dist/images/icons/weave.svg
    deleted file mode 100644
    index 1c327df83..000000000
    --- a/site/dist/images/icons/weave.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 96 76" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M56.47.82c.17-.45.7-.82 1.18-.82h4.72c.48 0 .74.37.57.82L34.9 75.18c-.17.45-.7.82-1.19.82h-4.15c-.48 0-.74-.37-.57-.82zm32.73 0c.17-.45.7-.82 1.18-.82h4.72c.48 0 .74.37.57.82L67.63 75.18c-.17.45-.7.82-1.19.82H62.3c-.48 0-.74-.37-.57-.82z" fill="#8bc34a"/><g fill="#0f9d58"><path d="M34.28 75.18c.17.45-.09.82-.57.82h-4.14c-.48 0-1.02-.37-1.19-.82L.34.82C.17.37.42 0 .91 0h4.72c.48 0 1.01.37 1.18.82z"/><path d="M43.5 26.99c-.17.45-.44.45-.61 0L33.07.82c-.18-.45.08-.82.56-.82h4.72c.48 0 1.01.37 1.18.82l6.52 17.67c.17.45.17 1.19 0 1.64zm9.08 10.77c.18-.45.46-.44.63.01l13.8 37.41c.17.45-.09.82-.57.82h-4.15c-.48 0-1.02-.37-1.19-.82L50.03 45.79c-.17-.45-.16-1.19.01-1.64z" fill-rule="nonzero"/></g></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/icons/web.svg b/site/dist/images/icons/web.svg
    deleted file mode 100644
    index 205ed3154..000000000
    --- a/site/dist/images/icons/web.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 119 82" xmlns="http://www.w3.org/2000/svg"><path d="M108.565 37.797l-25.096-17.42 4.852-6.99 30.131 20.915v6.99L88.321 62.209l-4.852-6.99zM35.316 55.219l-4.852 6.99L.332 41.292v-6.99l30.131-20.915 4.852 6.99-25.096 17.42zM71.024.518l7.87 3.236L46.976 81.35l-7.87-3.236z" fill="#4285f4"/></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/lockup_developers_color_color.svg b/site/dist/images/lockup_developers_color_color.svg
    deleted file mode 100644
    index 155e2287d..000000000
    --- a/site/dist/images/lockup_developers_color_color.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 357 47" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M112 1.43h4.93v33.53H112z" fill="#34a853"/><g fill-rule="nonzero"><path d="M48.5 13.04c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46S59.95 31.1 59.95 24.5c0-6.64-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.08-2.98 6.94-6.44 6.94z" fill="#ea4335"/><path d="M73.5 13.09c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46s11.45-4.86 11.45-11.46c0-6.65-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.07-2.98 6.94-6.44 6.94z" fill="#fbbc05"/><path d="M104.23 15.65h-.17c-1.13-1.34-3.3-2.56-6.03-2.56-5.73 0-10.98 5.03-10.98 11.5C87.05 31.01 92.3 36 98.03 36c2.73 0 4.9-1.22 6.03-2.6h.17v1.65c0 4.38-2.34 6.73-6.12 6.73-3.08 0-4.99-2.21-5.77-4.08l-4.38 1.82c1.26 3.04 4.6 6.77 10.15 6.77 5.9 0 10.89-3.47 10.89-11.93V14h-4.77zm-5.78 15.84c-3.47 0-6.38-2.91-6.38-6.9 0-4.04 2.91-6.99 6.38-6.99 3.43 0 6.12 2.95 6.12 6.99 0 3.99-2.69 6.9-6.12 6.9zm-71.22-4.08c1.39-1.39 2.32-3.42 2.67-6.41H18.22v-4.76H34.6c.17.87.3 2.06.3 3.2 0 3.66-1 8.19-4.22 11.41-3.14 3.27-7.14 5.01-12.46 5.01C8.38 35.86.1 27.84.1 18S8.38.14 18.22.14c5.44 0 9.32 2.13 12.24 4.92L27.02 8.5c-2.09-1.96-4.92-3.48-8.8-3.48-7.19 0-12.81 5.79-12.81 12.98s5.62 12.98 12.81 12.98c4.66 0 7.32-1.87 9.01-3.57z" fill="#4285f4"/><path d="M130.77 31.49c-2.56 0-4.38-1.17-5.55-3.47l15.32-6.34-.52-1.3c-.95-2.56-3.86-7.29-9.81-7.29-5.9 0-10.81 4.64-10.81 11.46 0 6.42 4.86 11.46 11.37 11.46 5.25 0 8.29-3.21 9.55-5.08l-3.91-2.6c-1.3 1.9-3.08 3.16-5.64 3.16zm-.39-13.98c2 0 3.69 1 4.25 2.43l-10.24 4.25c-.13-4.42 3.43-6.68 5.99-6.68z" fill="#ea4335"/><path d="M151 34.96h9.36c9.53 0 15.51-6.32 15.51-15.3 0-8.93-5.98-15.3-15.51-15.3H151zm3.93-3.76V8.13h5.43c7.01 0 11.49 4.23 11.49 11.54 0 7.35-4.49 11.54-11.49 11.54h-5.43zm34.06 4.44c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm13.59 12.99h3.93l8.55-20.94h-4.19l-6.24 16.24h-.09l-6.15-16.24h-4.27zm24.1.68c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm11.71 12.99V4.37h-3.93v30.59zm14.14-21.62c-6.28 0-10.77 4.79-10.77 11.15s4.49 11.15 10.77 11.15 10.77-4.79 10.77-11.15-4.49-11.15-10.77-11.15zm0 18.71c-3.5 0-6.84-2.78-6.84-7.56s3.33-7.56 6.84-7.56c3.5 0 6.84 2.78 6.84 7.56s-3.34 7.56-6.84 7.56zm25.21 3.59c5.3 0 9.96-4.74 9.96-11.15s-4.66-11.15-9.96-11.15c-3.33 0-5.94 1.67-7.14 3.59h-.17v-2.91h-3.76v30.17h3.93v-9.23l-.17-2.91h.17c1.2 1.92 3.81 3.59 7.14 3.59zm-.64-3.59c-3.5 0-6.67-2.78-6.67-7.56s3.16-7.56 6.67-7.56c3.5 0 6.67 2.86 6.67 7.56s-3.17 7.56-6.67 7.56zm23.67 3.59c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.5 0 6.04 3.2 6.16 5.04zm11.71 12.99V23.51c0-3.85 2.73-6.11 5.43-6.11.85 0 1.54.09 2.09.3l1.5-3.67c-.81-.34-1.67-.51-2.95-.51-2.18 0-5.21 1.54-6.07 3.93h-.17v-3.42h-3.76v20.94h3.93zm19.14.68c4.91 0 8.25-2.86 8.25-6.58 0-2.56-1.62-5.13-5.77-6.11l-4.14-.98c-1.67-.38-2.78-1.11-2.78-2.44 0-1.71 1.92-2.69 4.14-2.69 2.05 0 3.97.81 4.79 2.78l3.42-1.41c-1.28-3.2-4.44-4.87-8.08-4.87-4.36 0-8.29 2.44-8.29 6.24 0 3.67 3.67 5.34 5.6 5.81l4.23 1.03c2.22.56 2.86 1.71 2.86 2.78 0 1.75-1.75 2.95-4.19 2.95-2.52 0-4.57-1.28-5.68-3.93l-3.5 1.45c1.24 2.98 4.1 5.97 9.14 5.97z" fill="#000" opacity=".54"/></g><path d="M0-1h357v48H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/lockup_developers_light_color.svg b/site/dist/images/lockup_developers_light_color.svg
    deleted file mode 100644
    index 6df8d43be..000000000
    --- a/site/dist/images/lockup_developers_light_color.svg
    +++ /dev/null
    @@ -1 +0,0 @@
    -<svg viewBox="0 0 357 47" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M112 1.43h4.93v33.53H112zM48.5 13.04c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46S59.95 31.1 59.95 24.5c0-6.64-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.08-2.98 6.94-6.44 6.94zm25-18.35c-6.31 0-11.45 4.82-11.45 11.46 0 6.6 5.14 11.46 11.45 11.46s11.45-4.86 11.45-11.46c0-6.65-5.14-11.46-11.45-11.46zm0 18.4c-3.46 0-6.44-2.86-6.44-6.94 0-4.12 2.98-6.94 6.44-6.94s6.44 2.82 6.44 6.94c0 4.07-2.98 6.94-6.44 6.94zm30.73-15.84h-.17c-1.13-1.34-3.3-2.56-6.03-2.56-5.73 0-10.98 5.03-10.98 11.5C87.05 31.01 92.3 36 98.03 36c2.73 0 4.9-1.22 6.03-2.6h.17v1.65c0 4.38-2.34 6.73-6.12 6.73-3.08 0-4.99-2.21-5.77-4.08l-4.38 1.82c1.26 3.04 4.6 6.77 10.15 6.77 5.9 0 10.89-3.47 10.89-11.93V14h-4.77zm-5.78 15.84c-3.47 0-6.38-2.91-6.38-6.9 0-4.04 2.91-6.99 6.38-6.99 3.43 0 6.12 2.95 6.12 6.99 0 3.99-2.69 6.9-6.12 6.9zm-71.22-4.08c1.39-1.39 2.32-3.42 2.67-6.41H18.22v-4.76H34.6c.17.87.3 2.06.3 3.2 0 3.66-1 8.19-4.22 11.41-3.14 3.27-7.14 5.01-12.46 5.01C8.38 35.86.1 27.84.1 18S8.38.14 18.22.14c5.44 0 9.32 2.13 12.24 4.92L27.02 8.5c-2.09-1.96-4.92-3.48-8.8-3.48-7.19 0-12.81 5.79-12.81 12.98s5.62 12.98 12.81 12.98c4.66 0 7.32-1.87 9.01-3.57zm103.54 4.08c-2.56 0-4.38-1.17-5.55-3.47l15.32-6.34-.52-1.3c-.95-2.56-3.86-7.29-9.81-7.29-5.9 0-10.81 4.64-10.81 11.46 0 6.42 4.86 11.46 11.37 11.46 5.25 0 8.29-3.21 9.55-5.08l-3.91-2.6c-1.3 1.9-3.08 3.16-5.64 3.16zm-.39-13.98c2 0 3.69 1 4.25 2.43l-10.24 4.25c-.13-4.42 3.43-6.68 5.99-6.68zM151 34.96h9.36c9.53 0 15.51-6.32 15.51-15.3 0-8.93-5.98-15.3-15.51-15.3H151zm3.93-3.76V8.13h5.43c7.01 0 11.49 4.23 11.49 11.54 0 7.35-4.49 11.54-11.49 11.54h-5.43zm34.06 4.44c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm13.59 12.99h3.93l8.55-20.94h-4.19l-6.24 16.24h-.09l-6.15-16.24h-4.27zm24.1.68c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.49 0 6.03 3.2 6.16 5.04zm11.71 12.99V4.37h-3.93v30.59zm14.14-21.62c-6.28 0-10.77 4.79-10.77 11.15s4.49 11.15 10.77 11.15 10.77-4.79 10.77-11.15-4.49-11.15-10.77-11.15zm0 18.71c-3.5 0-6.84-2.78-6.84-7.56s3.33-7.56 6.84-7.56c3.5 0 6.84 2.78 6.84 7.56s-3.34 7.56-6.84 7.56zm25.21 3.59c5.3 0 9.96-4.74 9.96-11.15s-4.66-11.15-9.96-11.15c-3.33 0-5.94 1.67-7.14 3.59h-.17v-2.91h-3.76v30.17h3.93v-9.23l-.17-2.91h.17c1.2 1.92 3.81 3.59 7.14 3.59zm-.64-3.59c-3.5 0-6.67-2.78-6.67-7.56s3.16-7.56 6.67-7.56c3.5 0 6.67 2.86 6.67 7.56s-3.17 7.56-6.67 7.56zm23.67 3.59c4.83 0 7.91-2.73 9.14-5.73l-3.5-1.45c-1.11 2.65-3.42 3.59-5.73 3.59-3.25 0-6.45-2.39-6.67-6.84h16.54s.04-.43.04-.73c0-6.75-4.02-11.15-10.26-11.15-6.15 0-10.26 5.21-10.26 11.15.02 6.33 4.29 11.16 10.7 11.16zm5.64-13.67h-12.14c.77-3.08 3.08-5.04 5.98-5.04 4.5 0 6.04 3.2 6.16 5.04zm11.71 12.99V23.51c0-3.85 2.73-6.11 5.43-6.11.85 0 1.54.09 2.09.3l1.5-3.67c-.81-.34-1.67-.51-2.95-.51-2.18 0-5.21 1.54-6.07 3.93h-.17v-3.42h-3.76v20.94h3.93zm19.14.68c4.91 0 8.25-2.86 8.25-6.58 0-2.56-1.62-5.13-5.77-6.11l-4.14-.98c-1.67-.38-2.78-1.11-2.78-2.44 0-1.71 1.92-2.69 4.14-2.69 2.05 0 3.97.81 4.79 2.78l3.42-1.41c-1.28-3.2-4.44-4.87-8.08-4.87-4.36 0-8.29 2.44-8.29 6.24 0 3.67 3.67 5.34 5.6 5.81l4.23 1.03c2.22.56 2.86 1.71 2.86 2.78 0 1.75-1.75 2.95-4.19 2.95-2.52 0-4.57-1.28-5.68-3.93l-3.5 1.45c1.24 2.98 4.1 5.97 9.14 5.97z" fill="#fff" fill-rule="nonzero"/><path d="M0-1h357v48H0z"/></g></svg>
    \ No newline at end of file
    diff --git a/site/dist/images/logo.png b/site/dist/images/logo.png
    deleted file mode 100644
    index 5777f2bcfc5821da014689eac0594e947d505584..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 29499
    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
    
    diff --git a/site/dist/images/og-image.png b/site/dist/images/og-image.png
    deleted file mode 100644
    index c9bb5a09564fda654e5074bb4d7ca5081a963594..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 10470
    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
    ADgXcg
    
    diff --git a/site/dist/index.html b/site/dist/index.html
    deleted file mode 100644
    index f79d4482c..000000000
    --- a/site/dist/index.html
    +++ /dev/null
    @@ -1,156 +0,0 @@
    -
    -<!doctype html>
    -<html lang="en">
    -<head>
    -<meta charset="utf-8">
    -<meta name="description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    -<meta name="viewport" content="width=device-width,initial-scale=1">
    -<meta name="generator" content="Codelabs">
    -<meta name="application-name" content="Codelabs">
    -<link rel="canonical" href="https://scott3142.uk/codelabs-landing/">
    -<link rel="preconnect" href="https://www.google-analytics.com">
    -<script>
    -window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
    -    ga('create', 'UA-49880327-14', 'auto');
    -    ga('send', 'pageview');
    -</script>
    -<script async src="https://www.google-analytics.com/analytics.js"></script>
    -<title>Codelabs</title>
    -<link rel="stylesheet" href="https://scott3142.uk/codelabs-landing/styles/main.css">
    -<link rel="import" href="https://scott3142.uk/codelabs-landing/elements/elements.html">
    -<style is="custom-style">
    -:root{--paper-tabs-selection-bar-color:currentcolor;--paper-input-container-underline:{display:none};--paper-input-container-underline-focus:{display:none};}.dropdown-filter{--paper-input-container:{padding:8px}} </style>
    -<meta name="apple-mobile-web-app-capable" content="yes">
    -<meta name="apple-mobile-web-app-status-bar-style" content="#455a64">
    -<meta name="apple-mobile-web-app-title" content="Codelabs">
    -<link rel="apple-touch-icon" sizes="180x180" href="https://scott3142.uk/codelabs-landing/images/favicons/apple-touch-icon.png">
    -<link rel="icon" type="image/png" sizes="32x32" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-32x32.png">
    -<link rel="icon" type="image/png" sizes="194x194" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-194x194.png">
    -<link rel="icon" type="image/png" sizes="192x192" href="https://scott3142.uk/codelabs-landing/images/favicons/android-chrome-192x192.png">
    -<link rel="icon" type="image/png" sizes="16x16" href="https://scott3142.uk/codelabs-landing/images/favicons/favicon-16x16.png">
    -<link rel="manifest" href="site.webmanifest">
    -<link rel="mask-icon" href="https://scott3142.uk/codelabs-landing/images/favicons/safari-pinned-tab.svg" color="#455a64">
    -<meta name="msapplication-TileColor" content="#455a64">
    -<meta name="msapplication-TileImage" content="https://scott3142.uk/codelabs-landing/images/favicons/mstile-144x144.png">
    -<meta name="theme-color" content="#455a64">
    -<meta name="og:type" property="og:type" content="website">
    -<meta name="og:title" property="og:title" content="Codelabs">
    -<meta name="og:description" property="og:description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    -<meta name="og:url" property="og:url" content="https://scott3142.uk/codelabs-landing/">
    -<meta name="og:site_name" property="og:site_name" content="Codelabs">
    -<meta name="og:determiner" property="og:determiner" content="the">
    -<meta name="og:locale" property="og:locale" content="en_US">
    -<meta name="og:image" property="og:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:url" property="og:image:url" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="og:image:type" property="og:image:type" content="image/png">
    -<meta name="og:image:width" property="og:image:width" content="1200">
    -<meta name="og:image:height" property="og:image:height" content="1200">
    -<meta name="og:image:alt" property="og:image:alt" content="Codelabs">
    -<meta name="twitter:card" property="twitter:card" content="summary_large_image">
    -<meta name="twitter:title" property="twitter:title" content="Codelabs">
    -<meta name="twitter:description" property="twitter:description" content="Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.">
    -<meta name="twitter:image" property="twitter:image" content="https://scott3142.uk/codelabs-landing/images/og-image.png">
    -<meta name="twitter:url" property="twitter:url" content="https://scott3142.uk/codelabs-landing/">
    -</head>
    -<body id="app" is="body-bind" class="loading fullbleed">
    -<paper-header-panel id="main" mode="standard" main>
    -<div id="mainToolbar" class="paper-header">
    -<div class="site-width layout horizontal">
    -<a href="{{baseUrl}}">
    -<img src="{{baseUrl}}/images/logo.png" class="logo-devs" alt="Codelabs Logo">
    -</a>
    -<div id="searchbar">
    -<paper-input-container no-label-float>
    -<paper-icon-button prefix icon="search"></paper-icon-button>
    -<label>Search</label>
    -<input is="iron-input" bind-value="{{searchVal}}" on-keydown="onSearchKeyDown">
    -</paper-input-container>
    -</div>
    -</div>
    -</div>
    -<header id="banner" down$="[[_toBoolean(selectedFilter)]]">
    -<div class="site-width">
    -<h2 class="banner-title">Welcome to Codelabs!</h2>
    -<div class="banner-description" data-filter-selected$="[[_toBoolean(selectedFilter)]]">
    -<p class="banner-info">
    -Codelabs provide a guided, tutorial, hands-on coding experience. Most codelabs will step you through the process of building a small application, or adding a new feature to an existing application.
    -<br>
    -<a href="https://github.com/googlecodelabs/tools">Codelab tools on GitHub</a>
    -</p>
    -</div>
    -</div>
    -</header>
    -<main>
    -<div id="filters" class="site-width layout horizontal center justified">
    -<div id="sortby">
    -<paper-tabs selected="0" noink on-iron-activate="sortBy">
    -<paper-tab>A-Z</paper-tab>
    -<paper-tab>Recent</paper-tab>
    -<paper-tab>Duration</paper-tab>
    -</paper-tabs>
    -</div>
    -<paper-dropdown-menu label="Choose an event" class="dropdown-filter" no-label-float noink no-animations>
    -<paper-listbox id="eventList" slot="dropdown-content" class="dropdown-content"><a href="https://scott3142.uk/codelabs-landing/btec-unit4/" tabindex="-1">
    -<paper-item>BTEC Programming</paper-item>
    -</a>
    -</paper-listbox>
    -</paper-dropdown-menu>
    -</div>
    -<card-sorter id="cards" class="site-width">
    -<a href="https://scott3142.uk/codelabs-landing/codelabs/sound-of-the-bees/index.html?index=..%2F..index" on-tap="navigate" class="codelab-card category-python" data-category="Python" data-title="Sound of the Bees" data-duration="44" data-updated="2020-04-14T11:15:24Z" data-tags="web" data-pin="">
    -<div class="description">Sound of the Bees</div>
    -<div class="card-duration">
    -<span>44 min </span>
    -<span>Updated Apr 14, 2020</span>
    -</div>
    -<div class="card-footer">
    -<div class="category-icon python-icon"></div>
    -<paper-button class="python-bg">Start</paper-button>
    -</div>
    -</a>
    -</card-sorter>
    -<div id="loading-placeholder" class="site-width">
    -Loading Codelabs, please wait...
    -</div>
    -</main>
    -<footer id="footer">
    -<div class="footer-wrapper site-width">
    -<div class="link-list">
    -<label>Connect</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Programs</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Developer Consoles</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -<div class="link-list">
    -<label>Explore</label>
    -<ul>
    -<li><a href="https://www.example.com/">Example</a></li>
    -</ul>
    -</div>
    -</div>
    -</footer>
    -<div class="footerbar">
    -<div class="site-width layout horizontal center justified">
    -<span>
    -<a href="https://example.com">Terms</a>
    -&nbsp; | &nbsp;
    -<a href="https://example.com">Privacy</a>
    -</span>
    -</div>
    -</div>
    -</paper-header-panel>
    -<script src="scripts/main.js"></script>
    -</body>
    -</html>
    diff --git a/site/dist/robots.txt b/site/dist/robots.txt
    deleted file mode 100644
    index 4d521f952..000000000
    --- a/site/dist/robots.txt
    +++ /dev/null
    @@ -1,4 +0,0 @@
    -# robotstxt.org
    -
    -User-agent: *
    -Disallow:
    diff --git a/site/dist/scripts/main.js b/site/dist/scripts/main.js
    deleted file mode 100644
    index 908891b0f..000000000
    --- a/site/dist/scripts/main.js
    +++ /dev/null
    @@ -1 +0,0 @@
    -"use strict";var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},URLSearchParams=URLSearchParams||function(){function t(t){return encodeURIComponent(t).replace(a,s)}function e(t){return decodeURIComponent(t.replace(i," "))}function n(t){if(this[l]=Object.create(null),t)for(var n,r,a=(t||"").split("&"),i=0,o=a.length;i<o;i++)-1<(n=(r=a[i]).indexOf("="))&&this.append(e(r.slice(0,n)),e(r.slice(n+1)))}var r=n.prototype,a=/[!'\(\)~]|%20|%00/g,i=/\+/g,o={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"},s=function(t){return o[t]},c=function(){try{return!!Symbol.iterator}catch(t){return!1}}(),l="__URLSearchParams__:"+Math.random();r.append=function(t,e){var n=this[l];t in n?n[t].push(""+e):n[t]=[""+e]},r.delete=function(t){delete this[l][t]},r.get=function(t){var e=this[l];return t in e?e[t][0]:null},r.getAll=function(t){var e=this[l];return t in e?e[t].slice(0):[]},r.has=function(t){return t in this[l]},r.set=function(t,e){this[l][t]=[""+e]},r.forEach=function(t,e){var n=this[l];Object.getOwnPropertyNames(n).forEach(function(r){n[r].forEach(function(n){t.call(e,n,r,this)},this)},this)},r.keys=function(){var t=[];this.forEach(function(e,n){t.push(n)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},r.values=function(){var t=[];this.forEach(function(e){t.push(e)});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},r.entries=function(){var t=[];this.forEach(function(e,n){t.push([n,e])});var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return c&&(e[Symbol.iterator]=function(){return e}),e},c&&(r[Symbol.iterator]=r.entries),r.toJSON=function(){return{}},r.toString=function(){var e,n,r,a,i=this[l],o=[];for(n in i)for(r=t(n),e=0,a=i[n];e<a.length;e++)o.push(r+"="+t(a[e]));return o.join("&")};var u=Object.defineProperty,f=Object.getOwnPropertyDescriptor,h=function(t){function e(e,n){r.append.call(this,e,n),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function n(e){r.delete.call(this,e),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}function a(e,n){r.set.call(this,e,n),e=this.toString(),t.set.call(this._usp,e?"?"+e:"")}return function(t,r){return t.append=e,t.delete=n,t.set=a,u(t,"_usp",{configurable:!0,writable:!0,value:r})}},d=function(t){var e=t.append;t.append=r.append,n.call(t,t._usp.search.slice(1)),t.append=e},p=function(t,e){if(!(t instanceof e))throw new TypeError("'searchParams' accessed on an object that does not implement interface "+e.name)},v=function(t){var e,r=t.prototype,a=f(r,"searchParams"),i=f(r,"href"),o=f(r,"search");!a&&o&&o.set&&(e=function(t){return function(e,n){return u(e,"_searchParams",{configurable:!0,writable:!0,value:t(n,e)}),n}}(h(o)),Object.defineProperties(r,{href:{get:function(){return i.get.call(this)},set:function(t){var e=this._searchParams;i.set.call(this,t),e&&d(e)}},search:{get:function(){return o.get.call(this)},set:function(t){var e=this._searchParams;o.set.call(this,t),e&&d(e)}},searchParams:{get:function(){return p(this,t),this._searchParams||e(this,new n(this.search.slice(1)))},set:function(n){p(this,t),e(this,n)}}}))};return v(HTMLAnchorElement),/^function|object$/.test("undefined"==typeof URL?"undefined":_typeof(URL))&&v(URL),n}();!function(t,e){var n=function(){"serviceWorker"in navigator&&navigator.serviceWorker.ready.then(function(t){t.unregister()}),function(){if("registerElement"in e&&"import"in e.createElement("link")&&"content"in e.createElement("template"))e.dispatchEvent(new Event("WebComponentsReady"));else{var t=e.createElement("script");t.async=!0,t.src="https://scott3142.uk/codelabs-landing/bower_components/webcomponentsjs/webcomponents-lite.min.js",e.head.appendChild(t)}}()};e.addEventListener("AppReady",function(){e.body.classList.remove("loading")}),e.addEventListener("WebComponentsReady",function(){var n=function(){var n=e.querySelector("#app");function r(){var t=e.querySelector(".js-lucky-link");if(t){var r=n.$.cards.querySelectorAll(".codelab-card");if(r.length<2)return t.href="#",void(t.parentNode.style.display="none");var a=Math.floor(Math.random()*r.length);t.href=r[a].href,t.parentNode.style.display=null}}n.categoryStartCards={},n.kioskTags=[],n.addEventListener("dom-change",function(t){if(!n._readied){var r=e.querySelectorAll(".codelab-card");Array.prototype.forEach.call(r,function(t,e){var r=t.getAttribute("data-category");void 0===n.categoryStartCards[r]&&(n.categoryStartCards[r]=t)})}}),n.codelabUrl=function(t,e){var n="index="+encodeURIComponent("../.."+t.url);return t.ga&&(n+="&viewga="+t.ga),e.url+"?"+n},n.sortBy=function(t,e){var n=e.item.textContent.trim().toLowerCase();this.$.cards.sort(n)},n.filterBy=function(t,e){e.hasOwnProperty("selected")?this.$.cards.filterByCategory(e.selected):(e.kioskTags=n.kioskTags,this.$.cards.filter(e))},n.onCategoryActivate=function(e,n){var a=e.target.selectedItem;a&&a.getAttribute("filter")===n.selected&&(n.selected=null),n.selected||this.async(function(){e.target.selected=null}),this.filterBy(e,{selected:n.selected});var i=new URLSearchParams(t.location.search.slice(1));i.delete("cat"),n.selected&&i.set("cat",n.selected);var o=t.location.pathname,s="?"+i;"?"!==s&&(o+=s),t.history.pushState({},"",o),r()};var a=e.querySelector("#chips");return a&&a.addEventListener("click",function(t){if(t.preventDefault(),t.stopPropagation(),t.target.getAttribute("filter")){t.target.classList.toggle("selected");for(var e=[],i=a.querySelectorAll(".js-chips__item.selected"),o=0;o<i.length;o++){var s=i[o].getAttribute("filter");s&&e.push(s)}n.filterBy(null,{tags:e}),r()}}),n.reconstructFromURL=function(){for(var e=new URLSearchParams(t.location.search.slice(1)),i=e.get("cat"),o=e.getAll("tags"),s=e.get("filter"),c=o.length;c--;)"kiosk"!==o[c]&&"kiosk-"!==o[c].substr(0,6)||(n.kioskTags.push(o[c]),o.splice(c,1));this.$.categorylist&&(this.$.categorylist.selected=i),this.$.sidelist&&(this.$.sidelist.selected=i),o&&function(t){if(a){t=Array.isArray(t)?t:[t];for(var e=a.querySelectorAll(".js-chips__item"),n=0;n<e.length;n++){var r=e[n];-1!=t.indexOf(r.getAttribute("filter"))?r.classList.add("selected"):r.classList.remove("selected")}}}(o),this.filterBy(null,{cat:i,tags:o}),s&&(n.searchVal=s,n.onSearchKeyDown()),r()},n.navigate=function(e){e.preventDefault();var n=function(e){t.location.href=e},r=e.currentTarget;r.hasAttribute("data-wait-for-ripple")?r.addEventListener("transitionend",n.bind(r,r.href)):n(r.href)},n.clearSearch=function(t,e){this.searchVal=null,this.$.cards.filterByText(null)},n.onSearchKeyDown=function(t,e){this.debounce("search",function(){this.$.cards.filterByText(n.searchVal)},250)},n}();t.addEventListener("popstate",function(){n.reconstructFromURL()}),n._setupDebouncers&&n._setupDebouncers(),n.reconstructFromURL(),e.dispatchEvent(new Event("AppReady"))}),"complete"===e.readyState||"loaded"===e.readyState||"interactive"===e.readyState?n():e.addEventListener("DOMContentLoaded",n)}(window,document);
    \ No newline at end of file
    diff --git a/site/dist/site.webmanifest b/site/dist/site.webmanifest
    deleted file mode 100644
    index ffdf81974..000000000
    --- a/site/dist/site.webmanifest
    +++ /dev/null
    @@ -1,54 +0,0 @@
    -{
    -  "name": "Google Codelabs",
    -  "short_name": "Codelabs",
    -  "theme_color": "#455a64",
    -  "background_color": "#455a64",
    -  "display": "standalone",
    -  "icons": [
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-36x36.png",
    -      "sizes": "36x36",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-48x48.png",
    -      "sizes": "48x48",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-72x72.png",
    -      "sizes": "72x72",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-96x96.png",
    -      "sizes": "96x96",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-144x144.png",
    -      "sizes": "144x144",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-192x192.png",
    -      "sizes": "192x192",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-256x256.png",
    -      "sizes": "256x256",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-384x384.png",
    -      "sizes": "384x384",
    -      "type": "image/png"
    -    },
    -    {
    -      "src": "{{baseUrl}}/images/favicons/android-chrome-512x512.png",
    -      "sizes": "512x512",
    -      "type": "image/png"
    -    }
    -  ]
    -}
    diff --git a/site/dist/styles/main.css b/site/dist/styles/main.css
    deleted file mode 100644
    index 8c5cf9ac1..000000000
    --- a/site/dist/styles/main.css
    +++ /dev/null
    @@ -1 +0,0 @@
    -.layout.horizontal,.layout.horizontal-reverse,.layout.vertical,.layout.vertical-reverse{display:-webkit-flex;display:-ms-flexbox;display:flex}.layout.horizontal{-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.layout.vertical{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.layout.wrap{-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.flex,.flex-1{-ms-flex:1;-webkit-flex:1;flex:1}.layout.start{-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start}.layout.center,.layout.center-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-end}.layout.start-justified{-ms-flex-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout.center-center,.layout.center-justified{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.layout.end-justified{-ms-flex-pack:end;-webkit-justify-content:flex-end;justify-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:space-between}.self-start{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start}.self-center{-ms-flex-item-align:center;-webkit-align-self:center;align-self:center}.self-end{-ms-flex-item-align:end;-webkit-align-self:flex-end;align-self:flex-end}.self-stretch{-ms-flex-item-align:stretch;-webkit-align-self:stretch;align-self:stretch}.block{display:block}[hidden]{display:none!important}.invisible{visibility:hidden!important}.relative{position:relative}.fit{bottom:0;left:0;position:absolute;right:0;top:0}body.fullbleed{height:100vh;margin:0}.scroll{-webkit-overflow-scrolling:touch;overflow:auto}body{color:#5c5c5c;font-size:16px;line-height:24px}body,h1{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-weight:400}h1{font-size:56px;letter-spacing:-.026em;line-height:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}h2{font-size:45px;letter-spacing:-.018em;line-height:48px}h2,h3{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-weight:400}h3{font-size:34px;letter-spacing:-.01em;line-height:40px}h4{-webkit-font-smoothing:antialiased;font-family:Roboto,Noto,sans-serif;font-size:24px;font-weight:400;letter-spacing:-.012em;line-height:32px}*{box-sizing:border-box;margin:0;outline:none}body{background:#eceff1}body.view #banner{padding-bottom:24px;padding-top:80px;position:relative}body #loading-placeholder{display:none;padding:40px 0;text-align:center}body.loading card-sorter#cards,body.loading div#filters,body.loading div#searchbar{display:none}body.loading div#loading-placeholder{display:block}b{font-weight:500}a{color:currentcolor;text-decoration:none}li,ul{list-style:none;padding:0}.site-width{margin:0 auto;max-width:1024px;width:90vw}#banner{background-color:#fff;box-shadow:0 3px 6px -3px #bdbdbd;padding:40px 0 48px}#banner[down] .banner-slider{-webkit-transform:none;transform:none}#banner[down] .banner-title{visibility:hidden}#banner h2,#banner h3{font-weight:300}#banner #logo{height:125px;max-width:100%;width:auto}#banner .banner-slider{-webkit-transform:translateY(-100%);background-color:#eceff1;color:#546e7a;max-width:100%;padding:8px 0;position:absolute;top:0;transform:translateY(-100%);transition:-webkit-transform .4s cubic-bezier(0,0,.2,1);transition:transform .4s cubic-bezier(0,0,.2,1);transition:transform .4s cubic-bezier(0,0,.2,1),-webkit-transform .4s cubic-bezier(0,0,.2,1);width:100%;will-change:transform}#banner .banner-slider h3{font-size:30px}#banner .banner_arrows{margin-left:16px}#banner .banner-title{margin-bottom:8px}#banner .banner-description .banner-meta{padding:0 32px}#banner .banner-description .banner-meta h3{margin-bottom:8px}#banner paper-button{-webkit-font-smoothing:antialiased;background-color:#607d8b;color:#fff;font-family:Roboto,Noto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;line-height:normal;min-width:150px;padding:8px 16px;text-align:center;text-transform:uppercase}#banner paper-button.iron-selected{background-color:#455a64}#sortby{-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;padding:24px 0}#sortby paper-tabs{text-transform:uppercase}#sortby paper-tabs paper-tab{margin:auto 7px;padding:0 5px}.paper-button-0,.paper-menu-button-0{border-radius:3px!important}.dropdown-filter{background-color:#fff;border-radius:3px}.dropdown-content{border-radius:3px!important}.dropdown-content paper-item:hover{background:#eee;cursor:pointer}@media (max-width:767px){#banner{line-height:16px;padding:16px 0}#banner paper-button{display:inline-block;margin:16px 0 0}#filters{height:20px;margin:0;padding:0;visibility:hidden}.banner-info{-ms-flex-item-align:start;-webkit-align-self:flex-start;align-self:flex-start;line-height:24px;width:100%}.banner-description{-ms-flex-align:center;-ms-flex-direction:column;-webkit-align-items:center;-webkit-flex-direction:column;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;flex-direction:column}.banner-technologies{left:0;position:absolute;width:100%;z-index:1}.banner-title{font-size:7vw}.banner-meta{display:none}#logo{margin-bottom:16px}.filters{width:100%}}@media (min-width:768px){#banner .banner-title,#banner paper-button{margin-bottom:16px}.banner-info{line-height:32px;margin-right:32px}.banner-info a{text-decoration:underline}.banner-description{display:-webkit-flex;display:-ms-flexbox;display:flex}.banner-description .banner-info{-ms-flex:1;-webkit-flex:1;flex:1}}#mainToolbar{-ms-flex-align:center;-webkit-align-items:center;align-items:center;background-color:#455a64;color:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;height:64px;padding:16px}#mainToolbar paper-icon-button[icon=menu]{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}#mainToolbar a{-ms-flex-align:center;-webkit-align-items:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}#mainToolbar .logo-icon{height:24px;margin-right:16px;width:30px}#mainToolbar .logo-devs{height:36px;margin-top:5px;width:216px}#searchbar{border-radius:3px}#searchbar paper-input-container{padding:0}#searchbar paper-input-container input,#searchbar paper-input-container label{color:#fff}#searchbar paper-input-container label{opacity:.5}@media (min-width:768px){#searchbar{background-color:#546e7a;transition:background-color .4s cubic-bezier(0,0,.2,1);width:100%}#searchbar:hover{background-color:#78909c}.logo-devs{margin:5px 32px 0 0}}@media (max-width:767px){#searchbar paper-input-container{display:none}#mainToolbar{height:56px}#mainToolbar paper-icon-button[icon=menu]{margin-right:8px;width:40px}}.ads-icon{background-image:url(/images/icons/google-ads.svg)}.analytics-bg{background-color:#f37c22}.codelab-card.category-analytics{border-bottom-color:#f37c22}.analytics-icon{background-image:url(/images/icons/google-analytics.svg)}.android-bg,.android-kotlin-bg,.android-tv-bg{background-color:#a4c639}.codelab-card.category-android,.codelab-card.category-android-kotlin,.codelab-card.category-android-tv{border-bottom-color:#a4c639}.android-icon,.android-kotlin-icon,.android-tv-icon{background-image:url(/images/icons/android.svg)}.android-auto-bg{background-color:#03a9f4}.codelab-card.category-android-auto{border-bottom-color:#03a9f4}.android-auto-icon{background-image:url(/images/icons/android-auto.svg)}.android-things-bg{background-color:#6c6c6c}.codelab-card.category-android-things{border-bottom-color:#6c6c6c}.android-things-icon{background-image:url(/images/icons/android-things.svg)}.assistant-icon{background-image:url(/images/icons/google-assistant.svg)}.ar-bg,.ar-core-bg,.augmented-reality-bg,.augmented-reality-core-bg{background-color:#4a148c}.codelab-card.category-ar,.codelab-card.category-ar-core,.codelab-card.category-augmented-reality,.codelab-card.category-augmented-reality-core{border-bottom-color:#4a148c}.ar-core-icon,.ar-icon,.augmented-reality-core-icon,.augmented-reality-icon{background-image:url(/images/icons/ar-core.svg)}.cardboard-bg,.games-bg,.play-games-bg,.virtual-reality-bg,.virtual-reality-games-bg,.virtualreality-bg,.virtualreality-games-bg,.vr-bg{background-color:#f16523}.codelab-card.category-cardboard,.codelab-card.category-games,.codelab-card.category-play-games,.codelab-card.category-virtual-reality,.codelab-card.category-virtual-reality-games,.codelab-card.category-virtualreality,.codelab-card.category-virtualreality-games,.codelab-card.category-vr{border-bottom-color:#f16523}.cardboard-icon,.games-icon,.play-games-icon,.virtual-reality-games-icon,.virtual-reality-icon,.virtualreality-games-icon,.virtualreality-icon,.vr-icon{background-image:url(/images/icons/cardboard.svg)}.apps-bg,.g-suite-bg,.gsuite-bg{background-color:#9aa0a6}.codelab-card.category-apps,.codelab-card.category-g-suite,.codelab-card.category-gsuite{border-bottom-color:#9aa0a6}.apps-icon,.g-suite-icon,.gsuite-icon{background-image:url(/images/icons/gsuite.svg)}.docs-icon{background-image:url(/images/icons/google-docs.svg)}.drive-icon{background-image:url(/images/icons/google-drive.svg)}.sheets-icon{background-image:url(/images/icons/google-sheets.svg)}.slides-bg{background-color:#fbbc05}.codelab-card.category-slides{border-bottom-color:#fbbc05}.slides-icon{background-image:url(/images/icons/google-slides.svg)}.blockly-icon{background-image:url(/images/icons/blockly.svg)}.brillo-bg{background-color:#3bbaf3}.codelab-card.category-brillo{border-bottom-color:#3bbaf3}.brillo-icon{background-image:url(/images/icons/brillo.svg)}.cast-icon,.chrome-cast-icon,.chromecast-icon{background-image:url(/images/icons/cast.svg)}.chrome-icon,.google-chrome-icon,.googlechrome-icon{background-image:url(/images/icons/chrome.svg)}.cloud-about-icon,.cloud-cloud-tools-icon,.cloud-general-icon,.cloud-icon,.cloud-other-icon,.cloud-others-icon,.cloud-platform-icon,.cloud-tools-icon{background-image:url(/images/icons/cloud-platform.svg)}.cloud-app-engine-icon,.cloud-appengine-icon{background-image:url(/images/icons/cloud-appengine.svg)}.big-query-icon,.bigquery-icon,.cloud-big-query-icon,.cloud-bigquery-icon{background-image:url(/images/icons/cloud-bigquery.svg)}.cloud-build-icon{background-image:url(/images/icons/cloud-build.svg)}.cloud-compute-engine-icon,.cloud-compute-icon{background-image:url(/images/icons/cloud-compute-engine.svg)}.cloud-data-lab-icon,.cloud-datalab-icon{background-image:url(/images/icons/cloud-datalab.svg)}.cloud-iam-icon{background-image:url(/images/icons/cloud-iam.svg)}.cloud-iot-core-icon,.cloud-iot-icon,.iot-core-icon,.iot-icon{background-image:url(/images/icons/cloud-iot-core.svg)}.cloud-key-management-service-icon,.cloud-kms-icon{background-image:url(/images/icons/cloud-key-management-service.svg)}.cloud-machine-learning-icon,.cloud-ml-icon{background-image:url(/images/icons/cloud-machine-learning.svg)}.cloud-monitor-icon,.cloud-monitoring-icon{background-image:url(/images/icons/cloud-monitoring.svg)}.cloud-network-icon,.cloud-networking-icon{background-image:url(/images/icons/cloud-networking.svg)}.cloud-security-command-center-icon,.cloud-security-icon{background-image:url(/images/icons/cloud-security-command-center.svg)}.cloud-data-icon,.cloud-sql-icon{background-image:url(/images/icons/cloud-sql.svg)}.design-bg{background-color:#757575}.codelab-card.category-design{border-bottom-color:#757575}.design-icon{background-image:url(/images/icons/design.svg)}.firebase-bg,.firebase-web-bg{background-color:#f57c00}.codelab-card.category-firebase,.codelab-card.category-firebase-web{border-bottom-color:#f57c00}.firebase-icon,.firebase-web-icon{background-image:url(/images/icons/firebase.svg)}.design-flutter-bg,.flutter-android-bg,.flutter-bg,.flutter-firebase-bg{background-color:#45d1fd}.codelab-card.category-design-flutter,.codelab-card.category-flutter,.codelab-card.category-flutter-android,.codelab-card.category-flutter-firebase{border-bottom-color:#45d1fd}.design-flutter-icon,.flutter-android-icon,.flutter-firebase-icon,.flutter-icon{background-image:url(/images/icons/flutter.svg)}.geo-bg,.google-maps-bg,.googlemaps-bg,.maps-bg,.sheets-bg{background-color:#34a853}.codelab-card.category-geo,.codelab-card.category-google-maps,.codelab-card.category-googlemaps,.codelab-card.category-maps,.codelab-card.category-sheets{border-bottom-color:#34a853}.geo-icon,.google-maps-icon,.googlemaps-icon,.maps-icon{background-image:url(/images/icons/google-maps.svg)}.cast-bg,.chrome-cast-bg,.chromecast-bg,.nest-bg{background-color:#5f6368}.codelab-card.category-cast,.codelab-card.category-chrome-cast,.codelab-card.category-chromecast,.codelab-card.category-nest{border-bottom-color:#5f6368}.nest-icon{background-image:url(/images/icons/nest.svg)}.open-thread-bg,.openthread-bg{background-color:#484848}.codelab-card.category-open-thread,.codelab-card.category-openthread{border-bottom-color:#484848}.open-thread-icon,.openthread-icon{background-image:url(/images/icons/openthread.svg)}.about-icon,.search-icon{background-image:url(/images/icons/google-g.svg)}.cloud-hpc-bg,.hpc-bg,.slurm-bg{background-color:#42afeb}.codelab-card.category-cloud-hpc,.codelab-card.category-hpc,.codelab-card.category-slurm{border-bottom-color:#42afeb}.cloud-hpc-icon,.hpc-icon,.slurm-icon{background-image:url(/images/icons/slurm.svg)}.tensor-flow-bg,.tensorflow-bg{background-color:#ed8e24}.codelab-card.category-tensor-flow,.codelab-card.category-tensorflow{border-bottom-color:#ed8e24}.tensor-flow-icon,.tensorflow-icon{background-image:url(/images/icons/tensorflow.svg)}.unity-bg{background-color:#222c37}.codelab-card.category-unity{border-bottom-color:#222c37}.unity-icon{background-image:url(/images/icons/unity.svg)}.weave-bg{background-color:#0f9d58}.codelab-card.category-weave{border-bottom-color:#0f9d58}.weave-icon{background-image:url(/images/icons/weave.svg)}.android-wear-icon,.wear-icon,.wear-os-icon{background-image:url(/images/icons/wear-os.svg)}.about-bg,.ads-bg,.android-wear-bg,.assistant-bg,.big-query-bg,.bigquery-bg,.blockly-bg,.chrome-bg,.cloud-about-bg,.cloud-app-engine-bg,.cloud-appengine-bg,.cloud-bg,.cloud-big-query-bg,.cloud-bigquery-bg,.cloud-build-bg,.cloud-cloud-tools-bg,.cloud-compute-bg,.cloud-compute-engine-bg,.cloud-data-bg,.cloud-data-lab-bg,.cloud-datalab-bg,.cloud-general-bg,.cloud-iam-bg,.cloud-iot-bg,.cloud-iot-core-bg,.cloud-key-management-service-bg,.cloud-kms-bg,.cloud-machine-learning-bg,.cloud-ml-bg,.cloud-monitor-bg,.cloud-monitoring-bg,.cloud-network-bg,.cloud-networking-bg,.cloud-other-bg,.cloud-others-bg,.cloud-platform-bg,.cloud-security-bg,.cloud-security-command-center-bg,.cloud-sql-bg,.cloud-tools-bg,.cloud-web-bg,.docs-bg,.drive-bg,.google-chrome-bg,.googlechrome-bg,.iot-bg,.iot-core-bg,.search-bg,.wear-bg,.wear-os-bg,.web-bg{background-color:#4285f4}.codelab-card.category-about,.codelab-card.category-ads,.codelab-card.category-android-wear,.codelab-card.category-assistant,.codelab-card.category-big-query,.codelab-card.category-bigquery,.codelab-card.category-blockly,.codelab-card.category-chrome,.codelab-card.category-cloud,.codelab-card.category-cloud-about,.codelab-card.category-cloud-app-engine,.codelab-card.category-cloud-appengine,.codelab-card.category-cloud-big-query,.codelab-card.category-cloud-bigquery,.codelab-card.category-cloud-build,.codelab-card.category-cloud-cloud-tools,.codelab-card.category-cloud-compute,.codelab-card.category-cloud-compute-engine,.codelab-card.category-cloud-data,.codelab-card.category-cloud-data-lab,.codelab-card.category-cloud-datalab,.codelab-card.category-cloud-general,.codelab-card.category-cloud-iam,.codelab-card.category-cloud-iot,.codelab-card.category-cloud-iot-core,.codelab-card.category-cloud-key-management-service,.codelab-card.category-cloud-kms,.codelab-card.category-cloud-machine-learning,.codelab-card.category-cloud-ml,.codelab-card.category-cloud-monitor,.codelab-card.category-cloud-monitoring,.codelab-card.category-cloud-network,.codelab-card.category-cloud-networking,.codelab-card.category-cloud-other,.codelab-card.category-cloud-others,.codelab-card.category-cloud-platform,.codelab-card.category-cloud-security,.codelab-card.category-cloud-security-command-center,.codelab-card.category-cloud-sql,.codelab-card.category-cloud-tools,.codelab-card.category-cloud-web,.codelab-card.category-docs,.codelab-card.category-drive,.codelab-card.category-google-chrome,.codelab-card.category-googlechrome,.codelab-card.category-iot,.codelab-card.category-iot-core,.codelab-card.category-search,.codelab-card.category-wear,.codelab-card.category-wear-os,.codelab-card.category-web{border-bottom-color:#4285f4}.cloud-web-icon,.web-icon{background-image:url(/images/icons/web.svg)}#cards{-ms-flex-pack:start;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;-webkit-justify-content:flex-start;flex-wrap:wrap;justify-content:flex-start;margin-bottom:24px}#cards,.codelab-card{display:-webkit-flex;display:-ms-flexbox;display:flex}.codelab-card{-ms-flex:1 0 330px;-ms-flex-direction:column;-webkit-flex:1 0 330px;-webkit-flex-direction:column;background-color:#fff;border-bottom:2px solid transparent;border-radius:3px;box-shadow:0 1px rgba(0,0,0,.15);flex:1 0 330px;flex-direction:column;margin:0 16px 16px 0;max-width:330px;position:relative}.codelab-card:nth-of-type(3n){margin-right:0}.codelab-card img{margin-right:4px}.codelab-card .card-header{padding:16px 16px 0}.codelab-card .card-duration,.codelab-card .card-header{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between}.codelab-card .card-duration{color:#aaa;font-size:11px;mix-blend-mode:normal;padding:0 16px}.codelab-card .card-duration img{opacity:.24}.codelab-card .card-author,.codelab-card .card-updated{color:#bdbdbd;font-size:12px;line-height:16px;text-align:right}.codelab-card .description{-ms-flex:1 0 auto;-webkit-flex:1 0 auto;-webkit-font-smoothing:antialiased;color:#212121;flex:1 0 auto;padding:16px 16px 0}.card-footer{-ms-flex-align:center;-ms-flex-pack:justify;-webkit-align-items:center;-webkit-justify-content:space-between;align-items:center;border-top:0;display:-webkit-flex;display:-ms-flexbox;display:flex;justify-content:space-between;padding:8px 16px}.card-footer paper-button{-webkit-font-smoothing:antialiased;color:#fff;font-family:Roboto,Noto,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1;padding:13px 25px;text-transform:uppercase;text-transform:none}.card-footer .category-icon{background-position:0 50%;background-repeat:no-repeat;background-size:32px;height:42px;width:42px}.card-pin{background-image:url('data:image/svg+xml;utf8,<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M0 0h18v18H0"/><path fill="#888" d="M13 4V2H5v2h1v5l-1.5 1.5V12H8v4l1 1 1-1v-4h3.5v-1.5L12 9V4"/></g></svg>');background-repeat:no-repeat;bottom:14px;height:20px;left:7px;position:absolute;width:15px}@media (max-width:767px){#cards{-ms-flex-align:center;-ms-flex-direction:column;-webkit-align-items:center;-webkit-flex-direction:column;align-items:center;flex-direction:column}.codelab-card{-ms-flex:1 0 200px;-webkit-flex:1 0 200px;flex:1 0 200px;margin:0 0 16px;max-width:100%;min-width:330px;width:100%}.codelab-card .card-header{-ms-flex-align:center;-webkit-align-items:center;align-items:center}.codelab-card .card-header .category-icon{margin:0}}@media (min-width:767px) and (max-width:1136px){.codelab-card{-ms-flex:0 0 32%;-webkit-flex:0 0 32%;flex:0 0 32%;margin:0 2% 2% 0}}#footer{background-color:#424242;font-size:13px;padding:40px 0}#footer li,#footer ul{list-style:none;margin:0;padding:0}#footer a{color:#9e9e9e}#footer .footer-wrapper{display:-webkit-flex;display:-ms-flexbox;display:flex}#footer .link-list{-ms-flex:1;-webkit-flex:1;border-top:1px solid #616161;flex:1;margin-right:32px}#footer .link-list:last-child{margin-bottom:0;margin-right:0}#footer .link-list label{color:#fff;display:block;margin:8px 0 16px}.footerbar{background-color:#616161;color:#fff;font-size:13px;padding:10px 0}.footerbar a{color:currentcolor}@media (max-width:767px){#footer{padding:24px 0}#footer .footer-wrapper{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}#footer .link-list{margin:0 0 24px}}
    \ No newline at end of file
    diff --git a/site/gulpfile.js b/site/gulpfile.js
    index 66c98f623..87ee37b37 100644
    --- a/site/gulpfile.js
    +++ b/site/gulpfile.js
    @@ -954,12 +954,23 @@ gulp.task('publish:prod:views', (callback) => {
     
     
     /*
    -Deploy distribution site to Github pages
    +Deploy site to Github pages
     */
     
     // Deploys production website to gh-pages branch
     var deploy = require('gulp-gh-pages-gift');
    -gulp.task('deploy', gulp.series(
    +gulp.task('deploy:stage', gulp.series(
    +  'build',
    +  function () {
    +    return gulp.src("./build/**/*")
    +     .pipe(deploy({
    +        remoteUrl: "https://github.com/Scott3142/codelabs-landing.git",
    +        branch: "gh-pages"
    +      }))
    +  }
    +));
    +
    +gulp.task('deploy:prod', gulp.series(
       'dist',
       function () {
         return gulp.src("./dist/**/*")
    
    From 7b227a99cf5ab8eae60d83ed7c8963e839aeb318 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 14:11:10 +0100
    Subject: [PATCH 17/19] Changes to Github ssh repo
    
    ---
     site/gulpfile.js | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/site/gulpfile.js b/site/gulpfile.js
    index 87ee37b37..7857753b6 100644
    --- a/site/gulpfile.js
    +++ b/site/gulpfile.js
    @@ -975,7 +975,7 @@ gulp.task('deploy:prod', gulp.series(
       function () {
         return gulp.src("./dist/**/*")
          .pipe(deploy({
    -        remoteUrl: "https://github.com/Scott3142/codelabs-landing.git",
    +        remoteUrl: "git@github.com:Scott3142/codelabs-landing.git",
             branch: "gh-pages"
           }))
       }
    
    From 90035b86885452d86b6a80bd770e249c80335416 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 14:19:12 +0100
    Subject: [PATCH 18/19] Testing deployment
    
    ---
     site/.publish | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/site/.publish b/site/.publish
    index ecee4cc5d..bb2376f0c 160000
    --- a/site/.publish
    +++ b/site/.publish
    @@ -1 +1 @@
    -Subproject commit ecee4cc5deef272988dc0c07c95775d658083d33
    +Subproject commit bb2376f0c3759092c36f46c9df616b11c0151087
    
    From 781921ac25c386081af88936d989b82b082d1586 Mon Sep 17 00:00:00 2001
    From: Scott Morgan <smorgan@bridgend.ac.uk>
    Date: Tue, 14 Apr 2020 14:33:06 +0100
    Subject: [PATCH 19/19] Fixes github ssh link
    
    ---
     site/gulpfile.js | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/site/gulpfile.js b/site/gulpfile.js
    index 7857753b6..14a887ce2 100644
    --- a/site/gulpfile.js
    +++ b/site/gulpfile.js
    @@ -964,7 +964,7 @@ gulp.task('deploy:stage', gulp.series(
       function () {
         return gulp.src("./build/**/*")
          .pipe(deploy({
    -        remoteUrl: "https://github.com/Scott3142/codelabs-landing.git",
    +        remoteUrl: "git@github.com:Scott3142/codelabs-landing.git",
             branch: "gh-pages"
           }))
       }