From 277ea163034565bb72f37ec5912ccfa41604bbec Mon Sep 17 00:00:00 2001 From: "Scott J. Miles" Date: Fri, 31 May 2013 14:06:43 -0700 Subject: [PATCH 1/6] remove platform submodule --- .gitmodules | 6 +----- platform | 1 - 2 files changed, 1 insertion(+), 6 deletions(-) delete mode 160000 platform diff --git a/.gitmodules b/.gitmodules index 07f1b7c968..8fd3b3359e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,8 +3,4 @@ url = https://github.com/Polymer/buildbot.git [submodule "tools"] path = tools - url = https://github.com/Polymer/tools.git -[submodule "platform"] - path = platform - url = https://github.com/Polymer/platform.git - branch = master + url = https://github.com/Polymer/tools.git \ No newline at end of file diff --git a/platform b/platform deleted file mode 160000 index 8028cc300f..0000000000 --- a/platform +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8028cc300f3c8eddcb0332434b03fe0ec22ad6d2 From 36ffd01e98f0c7e2ef0cd1e78dcaf1a690f30512 Mon Sep 17 00:00:00 2001 From: "Scott J. Miles" Date: Fri, 31 May 2013 14:07:16 -0700 Subject: [PATCH 2/6] update paths for flattened repos --- gruntfile.js | 6 +++--- polymer.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gruntfile.js b/gruntfile.js index a04cbd685d..c086ab6aeb 100644 --- a/gruntfile.js +++ b/gruntfile.js @@ -5,15 +5,15 @@ */ module.exports = function(grunt) { Platform = [ - 'platform/platform.min.js' + '../platform/platform.min.js' ]; PlatformNative = [ - 'platform/platform.native.min.js' + '../platform/platform.native.min.js' ]; PlatformSandbox = [ - 'platform/platform.sandbox.min.js' + '../platform/platform.sandbox.min.js' ]; Polymer = [ diff --git a/polymer.js b/polymer.js index 380a54dc69..efb2567b9e 100644 --- a/polymer.js +++ b/polymer.js @@ -15,7 +15,7 @@ var thisFile = 'polymer.js'; var scopeName = 'Polymer'; var modules = [ - 'platform/platform.js', + '../platform/platform.js', 'src/lang.js', 'src/oop.js', 'src/register.js', From 51d97d3cbe05651bc6548897a297b10cf0f51400 Mon Sep 17 00:00:00 2001 From: "Scott J. Miles" Date: Wed, 5 Jun 2013 18:05:25 -0700 Subject: [PATCH 3/6] modify to use Platform.mixin instead of window.mixin --- polymer.min.js | 12 +- polymer.min.js.map | 2 +- polymer.native.min.js | 10 +- polymer.native.min.js.map | 2 +- polymer.sandbox.min.js | 405 +++++++++++++++++++------------------ polymer.sandbox.min.js.map | 2 +- src/attrs.js | 4 +- src/base.js | 3 + src/events.js | 3 +- src/oop.js | 25 --- src/register.js | 2 +- 11 files changed, 230 insertions(+), 240 deletions(-) diff --git a/polymer.min.js b/polymer.min.js index 3f1aa39b4d..c086a7563e 100644 --- a/polymer.min.js +++ b/polymer.min.js @@ -1,6 +1,8 @@ function PointerGestureEvent(a,b){var c=b||{},d=document.createEvent("Event"),e={bubbles:!0,cancelable:!0};return Object.keys(e).forEach(function(a){a in c&&(e[a]=c[a])}),d.initEvent(a,e.bubbles,e.cancelable),Object.keys(c).forEach(function(a){d[a]=b[a]}),d.preventTap=this.preventTap,d}if(window.Platform=window.Platform||{},window.logFlags=window.logFlags||{},function(a){var b=a.flags||{};location.search.slice(1).split("&").forEach(function(a){a=a.split("="),a[0]&&(b[a[0]]=a[1]||!0)}),b.shadow=(b.shadowdom||b.shadow||b.polyfill||!HTMLElement.prototype.webkitCreateShadowRoot)&&"polyfill",a.flags=b}(Platform),"polyfill"===Platform.flags.shadow){var SideTable;"undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0?SideTable=WeakMap:function(){var a=Object.defineProperty,b=Object.hasOwnProperty,c=(new Date).getTime()%1e9;SideTable=function(){this.name="__st"+(1e9*Math.random()>>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}();var ShadowDOMPolyfill={};!function(a){"use strict";function b(a){if(!a)throw new Error("Assertion failed")}function c(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function d(a,b){return Object.getOwnPropertyNames(b).forEach(function(c){switch(c){case"arguments":case"caller":case"length":case"name":case"prototype":case"toString":return}Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))}),a}function e(a){var b=a.__proto__||Object.getPrototypeOf(a),c=y.get(b);if(c)return c;var d=e(b),f=m(d);return j(b,f,a),f}function f(a,b){h(a,b,!0)}function g(a,b){h(b,a,!1)}function h(a,b,c){Object.getOwnPropertyNames(a).forEach(function(d){if(!(d in b)){A&&a.__lookupGetter__(d);var e;try{e=Object.getOwnPropertyDescriptor(a,d)}catch(f){e=B}var g,h;if(c&&"function"==typeof e.value)return b[d]=function(){return this.impl[d].apply(this.impl,arguments)},void 0;g=function(){return this.impl[d]},(e.writable||e.set)&&(h=function(a){this.impl[d]=a}),Object.defineProperty(b,d,{get:g,set:h,configurable:e.configurable,enumerable:e.enumerable})}})}function i(a,b,c){var e=a.prototype;j(e,b,c),d(b,a)}function j(a,c,d){var e=c.prototype;b(void 0===y.get(a)),y.set(a,c),f(a,e),d&&g(e,d)}function k(a,b){return y.get(b.prototype)===a}function l(a){var b=Object.getPrototypeOf(a),c=e(b),d=m(c);return j(b,d,a),d}function m(a){function b(b){a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}function n(a){return a instanceof z.EventTarget||a instanceof z.Event||a instanceof z.DOMImplementation}function o(a){return a instanceof E||a instanceof D||a instanceof F||a instanceof C}function p(a){if(null===a)return null;b(o(a));var c=x.get(a);if(!c){var d=e(a);c=new d(a),x.set(a,c)}return c}function q(a){return null===a?null:(b(n(a)),a.impl)}function r(a){return a&&n(a)?q(a):a}function s(a){return a&&!n(a)?p(a):a}function t(a,c){null!==c&&(b(o(a)),b(void 0===c||n(c)),x.set(a,c))}function u(a,b,c){Object.defineProperty(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function v(a,b){u(a,b,function(){return p(this.impl[b])})}function w(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=p(this);return a[b].apply(a,arguments)}})})}var x=new SideTable,y=new SideTable,z=Object.create(null);Object.getOwnPropertyNames(window);var A=/Firefox/.test(navigator.userAgent),B={get:function(){},set:function(){},configurable:!0,enumerable:!0},C=DOMImplementation,D=Event,E=Node,F=Window;a.assert=b,a.defineGetter=u,a.defineWrapGetter=v,a.forwardMethodsToWrapper=w,a.isWrapperFor=k,a.mixin=c,a.registerObject=l,a.registerWrapper=i,a.rewrap=t,a.unwrap=q,a.unwrapIfNeeded=r,a.wrap=p,a.wrapIfNeeded=s,a.wrappers=z}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof J.ShadowRoot}function c(a){var b=a.localName;return"content"===b||"shadow"===b}function d(a){return!!a.shadowRoot}function e(a){var b;return a.parentNode||(b=a.defaultView)&&I(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return f.insertionParent||a.getHostForShadowRoot(f);var i=a.eventParentsTable.get(f);if(i){for(var j=1;j=0;b--)if(!c(a[b]))return a[b];return null}function i(d,e){for(var g=[];d;){for(var i=[],k=e,m=void 0;k;){var n=null;if(i.length){if(c(k)&&(n=h(i),j(m))){var o=i[i.length-1];i.push(o)}}else i.push(k);if(l(k,d))return i[i.length-1];b(k)&&i.pop(),m=k,k=f(k,n,g)}d=b(d)?a.getHostForShadowRoot(d):d.parentNode}}function j(a){return a.insertionParent}function k(a){for(var b;b=a.parentNode;)a=b;return a}function l(a,b){return k(a)===k(b)}function m(a){switch(a){case"DOMAttrModified":case"DOMAttributeNameChanged":case"DOMCharacterDataModified":case"DOMElementNameChanged":case"DOMNodeInserted":case"DOMNodeInsertedIntoDocument":case"DOMNodeRemoved":case"DOMNodeRemovedFromDocument":case"DOMSubtreeModified":return!0}return!1}function n(b){if(!L.get(b)){L.set(b,!0),m(b.type)||a.renderAllPending();var c=I(b.target),d=I(b);return o(d,c)}}function o(a,b){var c=g(b);return"load"===a.type&&2===c.length&&c[0].target instanceof J.Document&&c.shift(),p(a,c)&&q(a,c)&&r(a,c),P.set(a,u.NONE),N.set(a,null),a.defaultPrevented}function p(a,b){for(var c,d=b.length-1;d>0;d--){var e=b[d].target,f=b[d].currentTarget;if(e!==f&&(c=u.CAPTURING_PHASE,!s(b[d],a,c)))return!1}return!0}function q(a,b){var c=u.AT_TARGET;return s(b[0],a,c)}function r(a,b){for(var c,d=a.bubbles,e=1;ed;d++)b[d]=f(a[d]);return b.length=e,b}function e(a,b){a.prototype[b]=function(){return d(this.impl[b].apply(this.impl,arguments))}}var f=a.wrap;c.prototype={item:function(a){return this[a]}},b(c.prototype,"item"),a.wrappers.NodeList=c,a.addWrapNodeListMethod=e,a.wrapNodeList=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){j(a instanceof f)}function c(a,b,c,d){if(a.nodeType!==f.DOCUMENT_FRAGMENT_NODE)return a.parentNode&&a.parentNode.removeChild(a),a.parentNode_=b,a.previousSibling_=c,a.nextSibling_=d,c&&(c.nextSibling_=a),d&&(d.previousSibling_=a),[a];for(var e,g=[];e=a.firstChild;)a.removeChild(e),g.push(e),e.parentNode_=b;for(var h=0;h";case Node.TEXT_NODE:return c(a.nodeValue);case Node.COMMENT_NODE:return"";default:throw console.error(a),new Error("not implemented")}}function e(a){for(var b="",c=a.firstChild;c;c=c.nextSibling)b+=d(c);return b}function f(a,b,c){var d=c||"div";a.textContent="";var e=n(a.ownerDocument.createElement(d));e.innerHTML=b;for(var f;f=e.firstChild;)a.appendChild(o(f))}function g(a){j.call(this,a)}function h(b){k(g,b,function(){return a.renderAllPending(),this.impl[b]})}function i(b){Object.defineProperty(g.prototype,b,{value:function(){return a.renderAllPending(),this.impl[b].apply(this.impl,arguments)},configurable:!0,enumerable:!0})}var j=a.wrappers.Element,k=a.defineGetter,l=a.mixin,m=a.registerWrapper,n=a.unwrap,o=a.wrap,p=/&|<|"/g,q={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},r=window.HTMLElement;g.prototype=Object.create(j.prototype),l(g.prototype,{get innerHTML(){return e(this)},set innerHTML(a){f(this,a,this.tagName)},get outerHTML(){return d(this)},set outerHTML(a){if(this.invalidateShadowRenderer())throw new Error("not implemented");this.impl.outerHTML=a}}),["clientHeight","clientLeft","clientTop","clientWidth","offsetHeight","offsetLeft","offsetTop","offsetWidth","scrollHeight","scrollLeft","scrollTop","scrollWidth"].forEach(h),["getBoundingClientRect","getClientRects","scrollIntoView"].forEach(i),m(r,g,document.createElement("b")),a.wrappers.HTMLElement=g,a.getInnerHTML=e,a.setInnerHTML=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a)}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLContentElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get select(){return this.getAttribute("select")},set select(a){this.setAttribute("select",a)},setAttribute:function(a,b){c.prototype.setAttribute.call(this,a,b),"select"===String(a).toLowerCase()&&this.invalidateShadowRenderer(!0)}}),f&&e(f,b),a.wrappers.HTMLContentElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){c.call(this,a),this.olderShadowRoot_=null}var c=a.wrappers.HTMLElement,d=a.mixin,e=a.registerWrapper,f=window.HTMLShadowElement;b.prototype=Object.create(c.prototype),d(b.prototype,{get olderShadowRoot(){return this.olderShadowRoot_},invalidateShadowRenderer:function(){c.prototype.invalidateShadowRenderer.call(this,!0)}}),f&&e(f,b),a.wrappers.HTMLShadowElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){if(!a.defaultView)return a;var b=l.get(a);if(!b){for(b=a.implementation.createHTMLDocument("");b.lastChild;)b.removeChild(b.lastChild);l.set(a,b)}return b}function c(a){for(var c,d=b(a.ownerDocument),e=d.createDocumentFragment();c=a.firstChild;)e.appendChild(c);return e}function d(a){e.call(this,a)}var e=a.wrappers.HTMLElement,f=a.getInnerHTML,g=a.mixin,h=a.registerWrapper,i=a.setInnerHTML,j=a.wrap,k=new SideTable,l=new SideTable,m=window.HTMLTemplateElement;d.prototype=Object.create(e.prototype),g(d.prototype,{get content(){if(m)return j(this.impl.content);var a=k.get(this);return a||(a=c(this),k.set(this,a)),a},get innerHTML(){return f(this.content)},set innerHTML(a){i(this.content,a),this.invalidateShadowRenderer()}}),m&&h(m,d),a.wrappers.HTMLTemplateElement=d}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){switch(a.localName){case"content":return new c(a);case"shadow":return new e(a);case"template":return new f(a)}d.call(this,a)}var c=a.wrappers.HTMLContentElement,d=a.wrappers.HTMLElement,e=a.wrappers.HTMLShadowElement,f=a.wrappers.HTMLTemplateElement;a.mixin;var g=a.registerWrapper,h=window.HTMLUnknownElement;b.prototype=Object.create(d.prototype),g(h,b),a.wrappers.HTMLUnknownElement=b}(this.ShadowDOMPolyfill),function(a){"use strict";var b=a.GetElementsByInterface,c=a.ParentNodeInterface,d=a.SelectorsInterface,e=a.mixin,f=a.registerObject,g=f(document.createDocumentFragment());e(g.prototype,c),e(g.prototype,d),e(g.prototype,b);var h=f(document.createTextNode("")),i=f(document.createComment(""));a.wrappers.Comment=i,a.wrappers.DocumentFragment=g,a.wrappers.Text=h}(this.ShadowDOMPolyfill),function(a){"use strict";function b(b){var d=i(b.impl.ownerDocument.createDocumentFragment());c.call(this,d),g(d,this);var e=b.shadowRoot;a.nextOlderShadowTreeTable.set(this,e),j.set(this,b)}var c=a.wrappers.DocumentFragment,d=a.elementFromPoint,e=a.getInnerHTML,f=a.mixin,g=a.rewrap,h=a.setInnerHTML,i=a.unwrap,j=new SideTable;b.prototype=Object.create(c.prototype),f(b.prototype,{get innerHTML(){return e(this)},set innerHTML(a){h(this,a),this.invalidateShadowRenderer()},invalidateShadowRenderer:function(){return j.get(this).invalidateShadowRenderer()},elementFromPoint:function(a,b){return d(this,this.ownerDocument,a,b)},getElementById:function(a){return this.querySelector("#"+a)}}),a.wrappers.ShadowRoot=b,a.getHostForShadowRoot=function(a){return j.get(a)}}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){a.previousSibling_=a.previousSibling,a.nextSibling_=a.nextSibling,a.parentNode_=a.parentNode}function c(a){a.firstChild_=a.firstChild,a.lastChild_=a.lastChild}function d(a){F(a instanceof E);for(var d=a.firstChild;d;d=d.nextSibling)b(d);c(a)}function e(a){var b=H(a);d(a),b.textContent=""}function f(a,c){var e=H(a),f=H(c);f.nodeType===E.DOCUMENT_FRAGMENT_NODE?d(c):(h(c),b(c)),a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var g=I(e.lastChild);g&&(g.nextSibling_=g.nextSibling),e.appendChild(f)}function g(a,c){var d=H(a),e=H(c);b(c),c.previousSibling&&(c.previousSibling.nextSibling_=c),c.nextSibling&&(c.nextSibling.previousSibling_=c),a.lastChild===c&&(a.lastChild_=c),a.firstChild===c&&(a.firstChild_=c),d.removeChild(e)}function h(a){var b=H(a),c=b.parentNode;c&&g(I(c),a)}function i(a,b){k(b).push(a),L.set(a,b);var c=K.get(a);c||K.set(a,c=[]),c.push(b)}function j(a){J.set(a,[])}function k(a){return J.get(a)}function l(a){for(var b=[],c=0,d=a.firstChild;d;d=d.nextSibling)b[c++]=d;return b}function m(a,b,c){for(var d=l(a),e=0;e>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0; -else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}()}if(function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];nb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?pb||(sb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",xb))}function N(a,b){this.type=a,this.value=b}function O(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new N(zb,a.slice(e)));break}if(d>0&&d>e&&b.push(new N(zb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==zb?g.value+=f:b.push(new N(zb,f));break}var h=a.slice(e,d).trim();b.push(new N(Ab,h)),e=d+2}return b}function P(a,b,c,d,e){var f,g=e&&e[lb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function Q(a,b,c,d,e){var f=O(c);if(f.length&&(1!=f.length||f[0].type!=zb)){if(1==f.length&&f[0].type==Ab)return P(a,b,d,f[0].value,e),void 0;for(var g=new X,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},bb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var cb=new bb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var db=new bb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var eb,fb=new bb("valueBinding"),gb=new bb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),eb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=ab({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=ab({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=gb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=ab({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?rb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;rb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var hb="bind",ib="repeat",jb="if",kb="syntax",lb="getBinding",mb="getInstanceModel",nb={template:!0,repeat:!0,bind:!0,ref:!0},ob={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},pb="undefined"!=typeof HTMLTemplateElement,qb="template, "+Object.keys(ob).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),rb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return!b(a)&&a.parentNode&&!d(a)}function b(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function c(a){return"link"===a.localName&&a.getAttribute("rel")===e}function d(a){return a.parentNode&&"element"===a.parentNode.localName?!0:void 0}var e="import",f={selectors:["link[rel="+e+"]","link[rel=stylesheet]","script[src]","script","style","element"],map:{link:"parseLink",script:"parseScript",element:"parseElement",style:"parseStyle"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){c(b)?b.content&&g.parse(b.content):a(b)&&document.head.appendChild(b)},parseScript:function(b){if(a(b)){var c=b.__resource||b.textContent;c&&(c+="\n//@ sourceURL="+b.__nodeUrl+"\n",eval.call(window,c))}},parseStyle:function(b){a(b)&&document.head.appendChild(b)},parseElement:function(a){new HTMLElementElement(a)}},g=f,h=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=f}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),window.HTMLImports?document.addEventListener("HTMLImportsLoaded",a):window.addEventListener("load",a)}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this); +d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=Platform.mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();return d.push.apply(d,arguments),b.apply(a,d)}}),a.mixin=window.mixin}(window.Platform),function(a){"use strict";function b(a,b,c){var d="string"==typeof a?document.createElement(a):a.cloneNode(!0);if(d.innerHTML=b,c)for(var e in c)d.setAttribute(e,c[e]);return d}var c=DOMTokenList.prototype.add,d=DOMTokenList.prototype.remove;if(DOMTokenList.prototype.add=function(){for(var a=0;a",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];ob[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?qb||(tb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",yb))}function N(a){var b=a.ref;return b?b.content:a.content}function O(a,b){this.type=a,this.value=b}function P(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new O(Ab,a.slice(e)));break}if(d>0&&d>e&&b.push(new O(Ab,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==Ab?g.value+=f:b.push(new O(Ab,f));break}var h=a.slice(e,d).trim();b.push(new O(Bb,h)),e=d+2}return b}function Q(a,b,c,d,e){var f,g=e&&e[mb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function R(a,b,c,d,e){var f=P(c);if(f.length&&(1!=f.length||f[0].type!=Ab)){if(1==f.length&&f[0].type==Bb)return Q(a,b,d,f[0].value,e),void 0;for(var g=new Y,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},cb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var db=new cb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var eb=new cb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var fb,gb=new cb("valueBinding"),hb=new cb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),fb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=bb({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=hb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=bb({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?sb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;sb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var ib="bind",jb="repeat",kb="if",lb="syntax",mb="getBinding",nb="getInstanceModel",ob={template:!0,repeat:!0,bind:!0,ref:!0},pb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},qb="undefined"!=typeof HTMLTemplateElement,rb="template, "+Object.keys(pb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),sb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a){for(var b=a||{},c=1;c-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID);if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a); -b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=mixin(c,g)),b[i]=mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b>>0)+(c++ +"__")},SideTable.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},window.createShadowRoot=function(a){return a.webkitCreateShadowRoot()},window.templateContent=function(a){if(window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a),!a.content&&!a._content){for(var b=document.createDocumentFragment();a.firstChild;)b.appendChild(a.firstChild);a._content=b}return a.content||a._content}}(),function(a){function b(a){for(var b=a||{},d=1;d",""," "," ShadowDOM Inspector"," "," "," ",'
    ',"
",'
'," ",""].join("\n"),d=[],e=function(){var a=b.document,c=a.querySelector("#crumbs");c.textContent="";for(var e,g=0;e=d[g];g++){var h=a.createElement("a");h.href="#",h.textContent=e.localName,h.idx=g,h.onclick=function(a){for(var b;d.length>this.idx;)b=d.pop();f(b.shadow||b,b),a.preventDefault()},c.appendChild(a.createElement("li")).appendChild(h)}},f=function(a,c){var f=b.document;k=[];var g=c||a;d.push(g),e(),f.body.querySelector("#tree").innerHTML="
"+j(a,a.childNodes)+"
"},g=Array.prototype.forEach.call.bind(Array.prototype.forEach),h={STYLE:1,SCRIPT:1,"#comment":1,TEMPLATE:1},i=function(a){return h[a.nodeName]},j=function(a,b,c){if(i(a))return"";var d=c||"";if(a.localName||11==a.nodeType){var e=a.localName||"shadow-root",f=d+l(a);"content"==e&&(b=a.getDistributedNodes()),f+="
";var h=d+"  ";g(b,function(a){f+=j(a,a.childNodes,h)}),f+=d,{br:1}[e]||(f+="</"+e+">",f+="
")}else{var k=a.textContent.trim();f=k?d+'"'+k+'"'+"
":""}return f},k=[],l=function(a){var b="<",c=a.localName||"shadow-root";return a.webkitShadowRoot||a.shadowRoot?(b+=' ",k.push(a)):b+=c||"shadow-root",a.attributes&&g(a.attributes,function(a){b+=" "+a.name+(a.value?'="'+a.value+'"':"")}),b+=">"};shadowize=function(){var a=Number(this.attributes.idx.value),b=k[a];b?f(b.webkitShadowRoot||b.shadowRoot,b):(console.log("bad shadowize node"),console.dir(this))},a.output=j}(window.Inspector),function(a){"use strict";function b(a){return+a===a>>>0}function c(a){return+a}function d(a){return a===Object(a)}function e(a,b){return a===b?0!==a||1/a===1/b:K(a)&&K(b)?!0:a!==a&&b!==b}function f(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:N.test(a))}function g(a){return""==a.trim()?this:b(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function h(a){for(var b=0;O>b&&a.check();)a.report(),b++}function i(a){for(var b in a)return!1;return!0}function j(a){return i(a.added)&&i(a.removed)&&i(a.changed)}function k(a,b){var c={},d={},e={};for(var f in b){var g=a[f];(void 0===g||g!==b[f])&&(f in a?g!==b[f]&&(e[f]=g):d[f]=void 0)}for(var f in a)f in b||(c[f]=a[f]);return Array.isArray(a)&&a.length!==b.length&&(e.length=a.length),{added:c,removed:d,changed:e}}function l(a,b){var c=b||(Array.isArray(a)?[]:{});for(var d in a)c[d]=a[d];return Array.isArray(a)&&(c.length=a.length),c}function m(a){this.callback=a,this.reporting=!0,G&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,n(this),this.connect(),this.sync(!0)}function n(a){Q&&(P.push(a),m._allObserversCount++)}function o(a){if(Q)for(var b=0;be;e++){var f='["'+a[e]+'"]';c+=f,b+=" && "+c}return b+=") ",c+='["'+a[d-1]+'"]',b+="return "+c+"; else return undefined;",new Function("obj",b)}function u(a,b){var c=b.toString();return S[c]||(S[c]=t(b)),S[c](a)}function v(b,c,e,f,g){var h=void 0;return c.walkPropertiesFrom(b,function(b,i,j){if(j===c.length)return h=i,void 0;var k=e[j];if(!k||i!==k[0]){if(k)for(var l=0;lj;j++)i[j]=new Array(h),i[j][0]=j;for(var k=0;h>k;k++)i[0][k]=k;for(var j=1;g>j;j++)for(var k=1;h>k;k++)if(d[e+j-1]===a[b+k-1])i[j][k]=i[j-1][k-1];else{var l=i[j-1][k]+1,m=i[j][k-1]+1;i[j][k]=m>l?l:m}return i}function A(a){for(var b=a.length-1,c=a[0].length-1,d=a[b][c],e=[];b>0||c>0;)if(0!=b)if(0!=c){var f,g=a[b-1][c-1],h=a[b-1][c],i=a[b][c-1];f=i>h?g>h?h:g:g>i?i:g,f==g?(g==d?e.push(U):(e.push(V),d=g),b--,c--):f==h?(e.push(X),b--,d=h):(e.push(W),c--,d=i)}else e.push(X),b--;else e.push(W),c--;return e.reverse(),e}function B(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function C(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function D(a,b,c,d,e,f){function g(a,b,c){return{index:a,removed:b,addedCount:c}}var h=0,i=0,j=Math.min(c-b,f-e);if(0==b&&0==e&&(h=B(a,d,j)),c==a.length&&f==d.length&&(i=C(a,d,j-h)),b+=h,e+=h,c-=i,f-=i,0==c-b&&0==f-e)return[];if(b==c){for(var k=g(b,[],0);f>e;)k.removed.push(d[e++]);return[k]}if(e==f)return[g(b,[],c-b)];for(var l=A(z(a,b,c,d,e,f)),k=void 0,m=[],n=b,o=e,p=0;pe||e>=g)){var i=d[e];eg?f={index:g,removed:[],addedCount:a.length-g}:a.lengtha&&b.anyChanged);m._allObserversCount=P.length,R=!1}},Q&&(a.Platform.clearObservers=function(){P=[]}),p.prototype=L({__proto__:m.prototype,connect:function(){G&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){G||(this.oldObject=l(this.object))},check:function(a){var b,c;if(G){if(!a)return!1;c={},b=y(this.object,a,c)}else c=this.oldObject,b=k(this.object,this.oldObject);return j(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){G?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),q.prototype=L({__proto__:p.prototype,sync:function(){G||(this.oldObject=this.object.slice())},check:function(a){var b;if(G){if(!a)return!1;var c={},d=y(this.object,a,c);b=F(this.object,d,c)}else b=D(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),q.applySplices=function(a,b,c){c.forEach(function(c){for(var d=[c.index,c.removed.length],e=c.index;e0;){var e=c[d];nb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function L(a,b,c){var d=a.content;if(c)return d.appendChild(b),void 0;for(var e;e=b.firstChild;)d.appendChild(e)}function M(a){"TEMPLATE"===a.tagName?pb||(sb?a.__proto__=HTMLTemplateElement.prototype:I(a,HTMLTemplateElement.prototype)):(I(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",xb))}function N(a,b){this.type=a,this.value=b}function O(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new N(zb,a.slice(e)));break}if(d>0&&d>e&&b.push(new N(zb,a.slice(e,d))),e=d+2,d=a.indexOf("}}",e),0>d){var f=a.slice(e-2),g=b[b.length-1];g&&g.type==zb?g.value+=f:b.push(new N(zb,f));break}var h=a.slice(e,d).trim();b.push(new N(Ab,h)),e=d+2}return b}function P(a,b,c,d,e){var f,g=e&&e[lb];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function Q(a,b,c,d,e){var f=O(c);if(f.length&&(1!=f.length||f[0].type!=zb)){if(1==f.length&&f[0].type==Ab)return P(a,b,d,f[0].value,e),void 0;for(var g=new X,h=0;hc?(this.keys.push(a),this.values.push(b)):this.values[c]=b},get:function(a){var b=this.keys.indexOf(a);return 0>b?void 0:this.values[b]},"delete":function(a){var b=this.keys.indexOf(a);return 0>b?!1:(this.keys.splice(b,1),this.values.splice(b,1),!0)},forEach:function(a,b){for(var c=0;c>>0)+(c++ +"__")},bb.prototype={set:function(b,c){a(b,this.name,{value:c,writable:!0})},get:function(a){return b.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}(),Node.prototype.bind=e,Node.prototype.unbind=f,Node.prototype.unbindAll=g;var cb=new bb("textContentBinding");h.prototype={dispose:function(){this.model&&"function"==typeof this.model.dispose&&this.model.dispose(),this.observer.close()},set value(a){PathObserver.setValueAtPath(this.model,this.path,a)},reset:function(){this.observer.reset()}},Text.prototype.bind=j,Text.prototype.unbind=k,Text.prototype.unbindAll=l;var db=new bb("attributeBindings");n.prototype={add:function(a,b,c,d){a.removeAttribute(b);var e="?"==b[b.length-1];e&&(b=b.slice(0,-1)),this.remove(b);var f=new h(c,d,m(a,b,e));this.bindingMap[b]=f},remove:function(a){var b=this.bindingMap[a];b&&(b.dispose(),delete this.bindingMap[a])},removeAll:function(){Object.keys(this.bindingMap).forEach(function(a){this.remove(a)},this)}},Element.prototype.bind=o,Element.prototype.unbind=p,Element.prototype.unbindAll=q;var eb,fb=new bb("valueBinding"),gb=new bb("checkedBinding");!function(){var a=document.createElement("div"),b=a.appendChild(document.createElement("input"));b.setAttribute("type","checkbox");var c,d=0;b.addEventListener("click",function(){d++,c=c||"click"}),b.addEventListener("change",function(){d++,c=c||"change"});var e=document.createEvent("MouseEvent");e.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),b.dispatchEvent(e),eb=1==d?"change":c}(),s.prototype={valueChanged:function(a){this.element[this.valueProperty]=this.produceElementValue(a)},updateBinding:function(){this.binding.value=this.element[this.valueProperty],this.binding.reset(),this.postUpdateBinding&&this.postUpdateBinding(),Platform.performMicrotaskCheckpoint()},unbind:function(){this.binding.dispose(),this.element.removeEventListener(r(this.element),this.boundUpdateBinding,!0)}},t.prototype=ab({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=ab({__proto__:s.prototype,produceElementValue:function(a){return Boolean(a)},postUpdateBinding:function(){"INPUT"===this.element.tagName&&"radio"===this.element.type&&u(this.element).forEach(function(a){var b=gb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=ab({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?rb(b):d.element[d.valueProperty]=a}var a=this.produceElementValue(a);if(a<=this.element.length)return this.element[this.valueProperty]=a,void 0;var c=2,d=this;rb(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=A,HTMLSelectElement.prototype.unbind=B,HTMLSelectElement.prototype.unbindAll=C;var hb="bind",ib="repeat",jb="if",kb="syntax",lb="getBinding",mb="getInstanceModel",nb={template:!0,repeat:!0,bind:!0,ref:!0},ob={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},pb="undefined"!=typeof HTMLTemplateElement,qb="template, "+Object.keys(ob).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),rb=function(){function a(){var a=this;this.value=!1;var b=this.value,e=[],f=!1;this.schedule=function(c){return e.indexOf(c)>=0?!0:f?!1:(e.push(c),b===a.value&&(a.value=!a.value),!0)},new PathObserver(this,"value",function(){f=!0;for(var g=0;ge;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a){var b=j.documentUrlFromNode(a.body);window.HTMLTemplateElement&&HTMLTemplateElement.bootstrap&&HTMLTemplateElement.bootstrap(a);var c=a.body;j._resolvePathsInHTML(c,b)},_resolvePathsInHTML:function(a,b){if(j.resolveAttributes(a,b),j.resolveStyleElts(a,b),window.templateContent){var c=a.querySelectorAll("template");c&&o(c,function(a){j._resolvePathsInHTML(templateContent(a),b)})}},resolvePathsInStylesheet:function(a){var b=j.nodeUrl(a);a.__resource=j.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&o(c,function(a){a.textContent=j.resolveCssText(a.textContent,b)})},resolveCssText:function(a,b){return a.replace(/url\([^)]*\)/g,function(a){var c=a.replace(/["']/g,"").slice(4,-1);return c=j.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(l);c&&o(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){k.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(m)<0){var e=j.resolveUrl(b,d.value,!0);d.value=e}})}},k=["href","src","action"],l="["+k.join("],[")+"]",m="{{.*}}",n=a.xhr||{async:!0,ok:function(a){return a.status>=200&&a.status<300||304===a.status||0===a.status},load:function(b,c,d){var e=new XMLHttpRequest;(a.flags.debug||a.flags.bust)&&(b+="?"+Math.random()),e.open("GET",b,n.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!n.ok(e)&&e,e.response,b)}),e.send()}},o=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=n,a.importer=h,a.getDocumentUrl=j.getDocumentUrl,"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),document.addEventListener("DOMContentLoaded",function(){h.load(document,function(){var a=window.ShadowDOMPolyfill?ShadowDOMPolyfill.wrap(document):document;HTMLImports.readyTime=(new Date).getTime(),a.body.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})})}(window.HTMLImports),function(a){function b(a){u.push(a),t||(t=!0,q(d))}function c(a){return window.ShadowDOMPolyfill&&window.ShadowDOMPolyfill.wrapIfNeeded(a)||a}function d(){t=!1;var a=u;u=[],a.sort(function(a,b){return a.uid_-b.uid_});var b=!1;a.forEach(function(a){var c=a.takeRecords();e(a),c.length&&(a.callback_(c,a),b=!0)}),b&&d()}function e(a){a.nodes_.forEach(function(b){var c=p.get(b);c&&c.forEach(function(b){b.observer===a&&b.removeTransientObservers()})})}function f(a,b){for(var c=a;c;c=c.parentNode){var d=p.get(c);if(d)for(var e=0;e0){var e=c[d-1],f=n(e,a);if(f)return c[d-1]=f,void 0}else b(this.observer);c[d]=a},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(a){var b=this.options;b.attributes&&a.addEventListener("DOMAttrModified",this,!0),b.characterData&&a.addEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.addEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(a){var b=this.options;b.attributes&&a.removeEventListener("DOMAttrModified",this,!0),b.characterData&&a.removeEventListener("DOMCharacterDataModified",this,!0),b.childList&&a.removeEventListener("DOMNodeInserted",this,!0),(b.childList||b.subtree)&&a.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(a){if(a!==this.target){this.addListeners_(a),this.transientObservedNodes.push(a);var b=p.get(a);b||p.set(a,b=[]),b.push(this)}},removeTransientObservers:function(){var a=this.transientObservedNodes;this.transientObservedNodes=[],a.forEach(function(a){this.removeListeners_(a);for(var b=p.get(a),c=0;c1?logFlags.dom&&console.warn("inserted:",a.localName,"insert/remove count:",a.__inserted):a.insertedCallback&&(logFlags.dom&&console.log("inserted:",a.localName),a.insertedCallback())),logFlags.dom&&console.groupEnd())}function j(a){k(a),c(a,function(a){k(a)})}function k(a){(a.removedCallback||a.__upgraded__&&logFlags.dom)&&(logFlags.dom&&console.log("removed:",a.localName),l(a)||(a.__inserted=(a.__inserted||0)-1,a.__inserted>0&&(a.__inserted=0),a.__inserted<0?logFlags.dom&&console.warn("removed:",a.localName,"insert/remove count:",a.__inserted):a.removedCallback&&a.removedCallback()))}function l(a){for(var b=a;b;){if(b==a.ownerDocument)return!0;b=b.parentNode||b.host}}function m(a){a.webkitShadowRoot&&!a.webkitShadowRoot.__watched&&(logFlags.dom&&console.log("watching shadow-root for: ",a.localName),r(a.webkitShadowRoot),a.webkitShadowRoot.__watched=!0)}function n(a){m(a),c(a,function(){m(a)})}function o(a){switch(a.localName){case"style":case"script":case"template":case void 0:return!0}}function p(a){if(logFlags.dom){var b=a[0];if(b&&"childList"===b.type&&b.addedNodes&&b.addedNodes){for(var c=b.addedNodes[0];c&&c!==document&&!c.host;)c=c.parentNode;var d=c&&(c.URL||c._URL||c.host&&c.host.localName)||"";d=d.split("/?").shift().split("/").pop()}console.group("mutations (%d) [%s]",a.length,d||"")}a.forEach(function(a){"childList"===a.type&&(v(a.addedNodes,function(a){o(a)||f(a)}),v(a.removedNodes,function(a){o(a)||j(a)}))}),logFlags.dom&&console.groupEnd()}function q(){p(u.takeRecords())}function r(a){u.observe(a,{childList:!0,subtree:!0})}function s(a){r(a)}function t(a){logFlags.dom&&console.group("upgradeDocument: ",(a.URL||a._URL||"").split("/").pop()),f(a),logFlags.dom&&console.groupEnd()}var u=new MutationObserver(p),v=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.watchShadow=m,a.watchAllShadows=n,a.upgradeAll=f,a.upgradeSubtree=e,a.observeDocument=s,a.upgradeDocument=t,a.takeRecords=q}(window.CustomElements),function(){function parseElementElement(a){var b={name:"","extends":null};takeAttributes(a,b);var c=HTMLElement.prototype;if(b.extends){var d=document.createElement(b.extends);c=d.__proto__||Object.getPrototypeOf(d)}b.prototype=Object.create(c),a.options=b;var e=a.querySelector("script,scripts");e&&executeComponentScript(e.textContent,a,b.name);var f=document.register(b.name,b);a.ctor=f;var g=a.getAttribute("constructor");g&&(window[g]=f)}function takeAttributes(a,b){for(var c in b){var d=a.attributes[c];d&&(b[c]=d.value)}}function executeComponentScript(inScript,inContext,inName){context=inContext;var owner=context.ownerDocument,url=owner._URL||owner.URL||owner.impl&&(owner.impl._URL||owner.impl.URL),match=url.match(/.*\/([^.]*)[.]?.*$/);if(match){var name=match[1];url+=name!=inName?":"+inName:""}var code="__componentScript('"+inName+"', function(){"+inScript+"});"+"\n//@ sourceURL="+url+"\n";eval(code)}function mixin(a,b){a=a||{};try{Object.getOwnPropertyNames(b).forEach(function(c){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)})}catch(c){}return a}var HTMLElementElement=function(a){return a.register=HTMLElementElement.prototype.register,parseElementElement(a),a};HTMLElementElement.prototype={register:function(a){a&&(this.options.lifecycle=a.lifecycle,a.prototype&&mixin(this.options.prototype,a.prototype))}};var context;window.__componentScript=function(a,b){b.call(context)},window.HTMLElementElement=HTMLElementElement}(),function(){function a(a){return!b(a)&&a.parentNode&&!d(a)}function b(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function c(a){return"link"===a.localName&&a.getAttribute("rel")===e}function d(a){return a.parentNode&&"element"===a.parentNode.localName?!0:void 0}var e="import",f={selectors:["link[rel="+e+"]","link[rel=stylesheet]","script[src]","script","style","element"],map:{link:"parseLink",script:"parseScript",element:"parseElement",style:"parseStyle"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){c(b)?b.content&&g.parse(b.content):a(b)&&document.head.appendChild(b)},parseScript:function(b){if(a(b)){var c=b.__resource||b.textContent;c&&(c+="\n//@ sourceURL="+b.__nodeUrl+"\n",eval.call(window,c))}},parseStyle:function(b){a(b)&&document.head.appendChild(b)},parseElement:function(a){new HTMLElementElement(a)}},g=f,h=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=f}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.ready=!0,CustomElements.readyTime=(new Date).getTime(),window.HTMLImports&&(CustomElements.elapsed=CustomElements.readyTime-HTMLImports.readyTime),document.body.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))},0)}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),window.HTMLImports?document.addEventListener("HTMLImportsLoaded",a):window.addEventListener("load",a)}(),function(){function a(){}var b=document.createElement("style");b.textContent="element {display: none;} /* injected by platform.js */";var c=document.querySelector("head");if(c.insertBefore(b,c.firstChild),window.ShadowDOMPolyfill){CustomElements.watchShadow=a,CustomElements.watchAllShadows=a;var d=["upgradeAll","upgradeSubtree","observeDocument","upgradeDocument"],e={};d.forEach(function(a){e[a]=CustomElements[a]}),d.forEach(function(a){CustomElements[a]=function(b){return e[a](wrap(b))}})}}(),function(a){a=a||{};var b={shadow:function(a){return a?a.shadowRoot||a.webkitShadowRoot:void 0},canTarget:function(a){return a&&Boolean(a.elementFromPoint)},targetingShadow:function(a){var b=this.shadow(a);return this.canTarget(b)?b:void 0},searchRoot:function(a,b,c){if(a){var d,e,f,g=a.elementFromPoint(b,c);for(e=this.targetingShadow(g);e;){if(d=e.elementFromPoint(b,c)){var h=this.targetingShadow(d);return this.searchRoot(h,b,c)||d}f=e.querySelector("shadow"),e=f&&f.olderShadowRoot}return g}},findTarget:function(a){var b=a.clientX,c=a.clientY;return this.searchRoot(document,b,c)}};a.targetFinding=b,a.findTarget=b.findTarget.bind(b),window.PointerEventsPolyfill=a}(window.PointerEventsPolyfill),function(){function a(a){return'[touch-action="'+a+'"]'}function b(a){return"{ -ms-touch-action: "+a+"; touch-action: "+a+"; }"}var c=["none","pan-x","pan-y",{rule:"pan-x pan-y",selectors:["scroll","pan-x pan-y","pan-y pan-x"]}],d="";c.forEach(function(c){d+=String(c)===c?a(c)+b(c):c.selectors.map(a)+b(c.rule)});var e=document.createElement("style");e.textContent=d;var f=document.querySelector("head");f.insertBefore(e,f.firstChild)}(),function(a){function b(a,b){var b=b||{},e=b.buttons;if(void 0===e)switch(b.which){case 1:e=1;break;case 2:e=4;break;case 3:e=2;break;default:e=0}var f;if(c)f=new MouseEvent(a,b);else{f=document.createEvent("MouseEvent");var g={bubbles:!1,cancelable:!1,view:null,detail:null,screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null};Object.keys(g).forEach(function(a){a in b&&(g[a]=b[a])}),f.initMouseEvent(a,g.bubbles,g.cancelable,g.view,g.detail,g.screenX,g.screenY,g.clientX,g.clientY,g.ctrlKey,g.altKey,g.shiftKey,g.metaKey,g.button,g.relatedTarget)}d||Object.defineProperty(f,"buttons",{get:function(){return e},enumerable:!0});var h=0;return h=b.pressure?b.pressure:e?.5:0,Object.defineProperties(f,{pointerId:{value:b.pointerId||0,enumerable:!0},width:{value:b.width||0,enumerable:!0},height:{value:b.height||0,enumerable:!0},pressure:{value:h,enumerable:!0},tiltX:{value:b.tiltX||0,enumerable:!0},tiltY:{value:b.tiltY||0,enumerable:!0},pointerType:{value:b.pointerType||"",enumerable:!0},hwTimestamp:{value:b.hwTimestamp||0,enumerable:!0},isPrimary:{value:b.isPrimary||!1,enumerable:!0}}),f}var c=!1,d=!1;try{var e=new MouseEvent("click",{buttons:1});c=!0,d=1===e.buttons}catch(f){}a.PointerEvent=b}(window),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},a.PointerMap=b}(window.PointerEventsPolyfill),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerEventsPolyfill),function(a){var b={targets:new a.SideTable,handledEvents:new a.SideTable,scrollType:new a.SideTable,pointermap:new a.PointerMap,events:[],eventMap:{},eventSources:{},registerSource:function(a,b){var c=b,d=c.events;d&&(this.events=this.events.concat(d),d.forEach(function(a){c[a]&&(this.eventMap[a]=c[a].bind(c))},this),this.eventSources[a]=c)},registerTarget:function(a,b){this.scrollType.set(a,b||"none"),this.listen(this.events,a,this.boundHandler)},unregisterTarget:function(a){this.scrollType.set(a,null),this.unlisten(this.events,a,this.boundHandler)},down:function(a){this.fireEvent("pointerdown",a)},move:function(a){this.fireEvent("pointermove",a)},up:function(a){this.fireEvent("pointerup",a)},enter:function(a){a.bubbles=!1,this.fireEvent("pointerenter",a)},leave:function(a){a.bubbles=!1,this.fireEvent("pointerleave",a)},over:function(a){a.bubbles=!0,this.fireEvent("pointerover",a)},out:function(a){a.bubbles=!0,this.fireEvent("pointerout",a)},cancel:function(a){this.fireEvent("pointercancel",a)},leaveOut:function(a){a.target.contains(a.relatedTarget)||this.leave(a),this.out(a)},enterOver:function(a){a.target.contains(a.relatedTarget)||this.enter(a),this.over(a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b=a.type,c=this.eventMap&&this.eventMap[b];c&&c(a),this.handledEvents.set(a,!0)}},listen:function(a,b,c){a.forEach(function(a){this.addEvent(a,c,!1,b)},this)},unlisten:function(a,b,c){a.forEach(function(a){this.removeEvent(a,c,!1,b)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){var c=new PointerEvent(a,b);return this.targets.set(c,this.targets.get(b)||b.target),c},fireEvent:function(a,b){var c=this.makeEvent(a,b);return this.dispatchEvent(c)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},getTarget:function(a){return this.captureInfo&&this.captureInfo.id===a.pointerId?this.captureInfo.target:this.targets.get(a)},setCapture:function(a,b){this.captureInfo&&this.releaseCapture(this.captureInfo.id),this.captureInfo={id:a,target:b};var c=new PointerEvent("gotpointercapture",{bubbles:!0});this.implicitRelease=this.releaseCapture.bind(this,a),document.addEventListener("pointerup",this.implicitRelease),document.addEventListener("pointercancel",this.implicitRelease),this.targets.set(c,b),this.asyncDispatchEvent(c)},releaseCapture:function(a){if(this.captureInfo&&this.captureInfo.id===a){var b=new PointerEvent("lostpointercapture",{bubbles:!0}),c=this.captureInfo.target;this.captureInfo=null,document.removeEventListener("pointerup",this.implicitRelease),document.removeEventListener("pointercancel",this.implicitRelease),this.targets.set(b,c),this.asyncDispatchEvent(b)}},dispatchEvent:function(a){var b=this.getTarget(a);return b?b.dispatchEvent(a):void 0},asyncDispatchEvent:function(a){setTimeout(this.dispatchEvent.bind(this,a),0)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=Array.prototype.forEach.call.bind(Array.prototype.forEach),d=Array.prototype.map.call.bind(Array.prototype.map),e={ATTRIB:"touch-action",SELECTOR:"[touch-action]",EMITTER:"none",XSCROLLER:"pan-x",YSCROLLER:"pan-y",SCROLLER:/^(?:pan-x pan-y)|(?:pan-y pan-x)|scroll$/,OBSERVER_INIT:{subtree:!0,childList:!0,attributes:!0,attributeFilter:["touch-action"]},watchSubtree:function(b){a.targetFinding.canTarget(b)&&h.observe(b,this.OBSERVER_INIT)},enableOnSubtree:function(a){var b=a||document;this.watchSubtree(a),b===document&&"complete"!==document.readyState?this.installOnLoad():this.installNewSubtree(b)},installNewSubtree:function(a){c(this.findElements(a),this.addElement,this)},findElements:function(a){var b=a||document;return b.querySelectorAll?b.querySelectorAll(this.SELECTOR):[]},touchActionToScrollType:function(a){var b=a;return b===this.EMITTER?"none":b===this.XSCROLLER?"X":b===this.YSCROLLER?"Y":this.SCROLLER.exec(b)?"XY":void 0},removeElement:function(c){b.unregisterTarget(c);var d=a.targetFinding.shadow(c);d&&b.unregisterTarget(d)},addElement:function(c){var d=c.getAttribute&&c.getAttribute(this.ATTRIB),e=this.touchActionToScrollType(d);if(e){b.registerTarget(c,e);var f=a.targetFinding.shadow(c);f&&b.registerTarget(f,e)}},elementChanged:function(a){this.removeElement(a),this.addElement(a)},concatLists:function(a,b){for(var c,d=0,e=b.length;e>d&&(c=b[d]);d++)a.push(c);return a},installOnLoad:function(){document.addEventListener("DOMContentLoaded",this.installNewSubtree.bind(this,document))},flattenMutationTree:function(a){var b=d(a,this.findElements,this);return b.push(a),b.reduce(this.concatLists,[])},mutationWatcher:function(a){a.forEach(this.mutationHandler,this)},mutationHandler:function(a){var b=a;if("childList"===b.type){var c=this.flattenMutationTree(b.addedNodes);c.forEach(this.addElement,this);var d=this.flattenMutationTree(b.removedNodes);d.forEach(this.removeElement,this)}else"attributes"===b.type&&this.elementChanged(b.target)}},f=e.mutationWatcher.bind(e);a.installer=e,a.register=e.enableOnSubtree.bind(e),a.setTouchAction=function(a,c){var d=this.touchActionToScrollType(c);d?b.registerTarget(a,d):b.unregisterTarget(a)}.bind(e);var g=window.MutationObserver||window.WebKitMutationObserver;if(g)var h=new g(f);else e.watchSubtree=function(){console.warn("PointerEventsPolyfill: MutationObservers not found, touch-action will not be dynamically detected")}}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer,d=a.findTarget,e=b.pointermap,f=b.scrollType,g=Array.prototype.map.call.bind(Array.prototype.map),h=2500,i=25,j={events:["touchstart","touchmove","touchend","touchcancel"],POINTER_TYPE:"touch",firstTouch:null,isPrimaryTouch:function(a){return this.firstTouch===a.identifier},setPrimaryTouch:function(a){null===this.firstTouch&&(this.firstTouch=a.identifier,this.firstXY={X:a.clientX,Y:a.clientY},this.scrolling=!1)},removePrimaryTouch:function(a){this.isPrimaryTouch(a)&&(this.firstTouch=null,this.firstXY=null)},touchToPointer:function(a){var c=b.cloneEvent(a);return c.pointerId=a.identifier+2,c.target=d(c),c.bubbles=!0,c.cancelable=!0,c.button=0,c.buttons=1,c.width=a.webkitRadiusX||a.radiusX,c.height=a.webkitRadiusY||a.radiusY,c.pressure=a.webkitForce||a.force,c.isPrimary=this.isPrimaryTouch(a),c.pointerType=this.POINTER_TYPE,c},processTouches:function(a,b){var c=a.changedTouches,d=g(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=f.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],e=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+e]-this.firstXY[e]),i=Math.abs(d["client"+g]-this.firstXY[g]);b=h>=i}return this.firstXY=null,b}},findTouch:function(a,b){for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)if(c.identifier===b)return!0},vacuumTouches:function(a){var b=a.touches;if(e.size>=b.length){var c=[];e.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var d=e.get(a).out;c.push(this.touchToPointer(d))}},this),c.forEach(this.cancelOut,this)}},touchstart:function(a){this.vacuumTouches(a),this.setPrimaryTouch(a.changedTouches[0]),this.dedupSynthMouse(a),this.scrolling||this.processTouches(a,this.overDown)},overDown:function(a){e.set(a.pointerId,{target:a.target,out:a,outTarget:a.target}),b.over(a),b.down(a)},touchmove:function(a){this.scrolling||(this.shouldScroll(a)?(this.scrolling=!0,this.touchcancel(a)):(a.preventDefault(),this.processTouches(a,this.moveOverOut)))},moveOverOut:function(a){var c=a,d=e.get(c.pointerId),f=d.out,g=d.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,b.leaveOut(f),b.enterOver(c)),d.out=c,d.outTarget=c.target},touchend:function(a){this.dedupSynthMouse(a),this.processTouches(a,this.upOut)},upOut:function(a){this.scrolling||(b.up(a),b.out(a)),this.cleanUpPointer(a)},touchcancel:function(a){this.processTouches(a,this.cancelOut)},cancelOut:function(a){b.cancel(a),b.out(a),this.cleanUpPointer(a)},cleanUpPointer:function(a){e.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(a){var b=k.lastTouches,c=a.changedTouches[0];if(this.isPrimaryTouch(c)){var d={x:c.clientX,y:c.clientY};b.push(d);var e=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,b,d);setTimeout(e,h)}}},k={POINTER_ID:1,POINTER_TYPE:"mouse",events:["mousedown","mousemove","mouseup","mouseover","mouseout"],global:["mousedown","mouseup","mouseover","mouseout"],lastTouches:[],mouseHandler:b.eventHandler.bind(b),isEventSimulatedFromTouch:function(a){for(var b,c=this.lastTouches,d=a.clientX,e=a.clientY,f=0,g=c.length;g>f&&(b=c[f]);f++){var h=Math.abs(d-b.x),j=Math.abs(e-b.y);if(i>=h&&i>=j)return!0}},prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerId=this.POINTER_ID,c.isPrimary=!0,c.pointerType=this.POINTER_TYPE,c},mousedown:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.has(this.POINTER_ID); +if(c&&(this.cancel(a),c=!1),!c){var d=this.prepareEvent(a);e.set(this.POINTER_ID,a),b.down(d),b.listen(this.global,document,this.mouseHandler)}}},mousemove:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.move(c)}},mouseup:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=e.get(this.POINTER_ID);if(c&&c.button===a.button){var d=this.prepareEvent(a);b.up(d),this.cleanupMouse()}}},mouseover:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.enterOver(c)}},mouseout:function(a){if(!this.isEventSimulatedFromTouch(a)){var c=this.prepareEvent(a);b.leaveOut(c)}},cancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanupMouse()},cleanupMouse:function(){e.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}},l={events:["MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSGotPointerCapture","MSLostPointerCapture"],POINTER_TYPES:["","unavailable","touch","pen","mouse"],prepareEvent:function(a){var c=b.cloneEvent(a);return c.pointerType=this.POINTER_TYPES[a.pointerType],c},cleanup:function(a){e.delete(a)},MSPointerDown:function(a){e.set(a.pointerId,a);var c=this.prepareEvent(a);b.down(c)},MSPointerMove:function(a){var c=this.prepareEvent(a);b.move(c)},MSPointerUp:function(a){var c=this.prepareEvent(a);b.up(c),this.cleanup(a.pointerId)},MSPointerOut:function(a){var c=this.prepareEvent(a);b.leaveOut(c)},MSPointerOver:function(a){var c=this.prepareEvent(a);b.enterOver(c)},MSPointerCancel:function(a){var c=this.prepareEvent(a);b.cancel(c),this.cleanup(a.pointerId)},MSLostPointerCapture:function(a){var c=b.makeEvent("lostpointercapture",a);b.dispatchEvent(c)},MSGotPointerCapture:function(a){var c=b.makeEvent("gotpointercapture",a);b.dispatchEvent(c)}};if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var m=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:m,enumerable:!0}),b.registerSource("ms",l),b.registerTarget(document)}else b.registerSource("mouse",k),"ontouchstart"in window&&b.registerSource("touch",j),c.enableOnSubtree(document),b.listen(["mousemove"],document,b.boundHandler);Object.defineProperty(window.navigator,"pointerEnabled",{value:!0,enumerable:!0})}}(window.PointerEventsPolyfill),function(a){function b(a){if(!e.pointermap.has(a))throw new Error("InvalidPointerId")}var c,d,e=a.dispatcher,f=window.navigator;f.msPointerEnabled?(c=function(a){b(a),this.msSetPointerCapture(a)},d=function(a){b(a),this.msReleasePointerCapture(a)}):(c=function(a){b(a),e.setCapture(a,this)},d=function(a){b(a),e.releaseCapture(a,this)}),Element.prototype.setPointerCapture||Object.defineProperties(Element.prototype,{setPointerCapture:{value:c},releasePointerCapture:{value:d}})}(window.PointerEventsPolyfill),PointerGestureEvent.prototype.preventTap=function(){this.tapPrevented=!0},function(a){a=a||{},a.utils={LCA:{find:function(a,b){if(a===b)return a;if(a.contains){if(a.contains(b))return a;if(b.contains(a))return b}var c=this.depth(a),d=this.depth(b),e=c-d;for(e>0?a=this.walk(a,e):b=this.walk(b,-e);a&&b&&a!==b;)a=this.walk(a,1),b=this.walk(b,1);return a},walk:function(a,b){for(var c=0;b>c;c++)a=a.parentNode;return a},depth:function(a){for(var b=0;a;)b++,a=a.parentNode;return b}}},a.findLCA=function(b,c){return a.utils.LCA.find(b,c)},window.PointerGestures=a}(window.PointerGestures),function(a){var b;if("undefined"!=typeof WeakMap&&navigator.userAgent.indexOf("Firefox/")<0)b=WeakMap;else{var c=Object.defineProperty,d=Object.hasOwnProperty,e=(new Date).getTime()%1e9;b=function(){this.name="__st"+(1e9*Math.random()>>>0)+(e++ +"__")},b.prototype={set:function(a,b){c(a,this.name,{value:b,writable:!0})},get:function(a){return d.call(a,this.name)?a[this.name]:void 0},"delete":function(a){this.set(a,void 0)}}}a.SideTable=b}(window.PointerGestures),function(a){function b(){this.ids=[],this.pointers=[]}b.prototype={set:function(a,b){var c=this.ids.indexOf(a);c>-1?this.pointers[c]=b:(this.ids.push(a),this.pointers.push(b))},has:function(a){return this.ids.indexOf(a)>-1},"delete":function(a){var b=this.ids.indexOf(a);b>-1&&(this.ids.splice(b,1),this.pointers.splice(b,1))},get:function(a){var b=this.ids.indexOf(a);return this.pointers[b]},get size(){return this.pointers.length},clear:function(){this.ids.length=0,this.pointers.length=0}},window.Map&&(b=window.Map),a.PointerMap=b}(window.PointerGestures),function(a){var b={handledEvents:new a.SideTable,targets:new a.SideTable,handlers:{},recognizers:{},events:["pointerdown","pointermove","pointerup","pointerover","pointerout","pointercancel"],registerRecognizer:function(a,b){var c=b;this.recognizers[a]=c,this.events.forEach(function(a){if(c[a]){var b=c[a].bind(c);this.addHandler(a,b)}},this)},addHandler:function(a,b){var c=a;this.handlers[c]||(this.handlers[c]=[]),this.handlers[c].push(b)},registerTarget:function(a){this.listen(this.events,a)},unregisterTarget:function(a){this.unlisten(this.events,a)},eventHandler:function(a){if(!this.handledEvents.get(a)){var b,c=a.type;(b=this.handlers[c])&&this.makeQueue(b,a),this.handledEvents.set(a,!0)}},makeQueue:function(a,b){var c=this.cloneEvent(b);setTimeout(this.runQueue.bind(this,a,c),0)},runQueue:function(a,b){this.currentPointerId=b.pointerId;for(var c,d=0,e=a.length;e>d&&(c=a[d]);d++)c(b);this.currentPointerId=0},listen:function(a,b){a.forEach(function(a){this.addEvent(a,this.boundHandler,!1,b)},this)},unlisten:function(a){a.forEach(function(a){this.removeEvent(a,this.boundHandler,!1,inTarget)},this)},addEvent:function(a,b,c,d){d.addEventListener(a,b,c)},removeEvent:function(a,b,c,d){d.removeEventListener(a,b,c)},makeEvent:function(a,b){return new PointerGestureEvent(a,b)},cloneEvent:function(a){var b={};for(var c in a)b[c]=a[c];return b},dispatchEvent:function(a,b){var c=b||this.targets.get(a);c&&(c.dispatchEvent(a),a.tapPrevented&&this.preventTap(this.currentPointerId))},asyncDispatchEvent:function(a,b){var c=function(){this.dispatchEvent(a,b)}.bind(this);setTimeout(c,0)},preventTap:function(a){var b=this.recognizers.tap;b&&b.preventTap(a)}};b.boundHandler=b.eventHandler.bind(b),a.dispatcher=b,a.register=function(b){var c=window.PointerEventsPolyfill;c&&c.register(b),a.dispatcher.registerTarget(b)},b.registerTarget(document)}(window.PointerGestures),function(a){var b=a.dispatcher,c={HOLD_DELAY:200,WIGGLE_THRESHOLD:16,events:["pointerdown","pointermove","pointerup","pointercancel"],heldPointer:null,holdJob:null,pulse:function(){var a=Date.now()-this.heldPointer.timeStamp,b=this.held?"holdpulse":"hold";this.fireHold(b,a),this.held=!0},cancel:function(){clearInterval(this.holdJob),this.held&&this.fireHold("release"),this.held=!1,this.heldPointer=null,this.target=null,this.holdJob=null},pointerdown:function(a){a.isPrimary&&!this.heldPointer&&(this.heldPointer=a,this.target=a.target,this.holdJob=setInterval(this.pulse.bind(this),this.HOLD_DELAY))},pointerup:function(a){this.heldPointer&&this.heldPointer.pointerId===a.pointerId&&this.cancel()},pointercancel:function(){this.cancel()},pointermove:function(a){if(this.heldPointer&&this.heldPointer.pointerId===a.pointerId){var b=a.clientX-this.heldPointer.clientX,c=a.clientY-this.heldPointer.clientY;b*b+c*c>this.WIGGLE_THRESHOLD&&this.cancel()}},fireHold:function(a,c){var d={pointerType:this.heldPointer.pointerType};c&&(d.holdTime=c);var e=b.makeEvent(a,d);b.dispatchEvent(e,this.target),e.tapPrevented&&b.preventTap(this.heldPointer.pointerId)}};b.registerRecognizer("hold",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],WIGGLE_THRESHOLD:4,clampDir:function(a){return a>0?1:-1},calcPositionDelta:function(a,b){var c=0,d=0;return a&&b&&(c=b.pageX-a.pageX,d=b.pageY-a.pageY),{x:c,y:d}},fireTrack:function(a,c,d){var e=d,f=this.calcPositionDelta(e.downEvent,c),g=this.calcPositionDelta(e.lastMoveEvent,c);g.x&&(e.xDirection=this.clampDir(g.x)),g.y&&(e.yDirection=this.clampDir(g.y));var h={dx:f.x,dy:f.y,ddx:g.x,ddy:g.y,clientX:c.clientX,clientY:c.clientY,pageX:c.pageX,pageY:c.pageY,screenX:c.screenX,screenY:c.screenY,xDirection:e.xDirection,yDirection:e.yDirection,trackInfo:e.trackInfo,pointerType:c.pointerType};"trackend"===a&&(h._releaseTarget=c.target);var i=b.makeEvent(a,h);e.lastMoveEvent=c,b.dispatchEvent(i,e.downTarget)},pointerdown:function(a){if(a.isPrimary&&("mouse"===a.pointerType?1===a.buttons:!0)){var b={downEvent:a,downTarget:a.target,trackInfo:{},lastMoveEvent:null,xDirection:0,yDirection:0,tracking:!1};c.set(a.pointerId,b)}},pointermove:function(a){var b=c.get(a.pointerId);if(b)if(b.tracking)this.fireTrack("track",a,b);else{var d=this.calcPositionDelta(b.downEvent,a),e=d.x*d.x+d.y*d.y;e>this.WIGGLE_THRESHOLD&&(b.tracking=!0,this.fireTrack("trackstart",b.downEvent,b),this.fireTrack("track",a,b))}},pointerup:function(a){var b=c.get(a.pointerId);b&&(b.tracking&&this.fireTrack("trackend",a,b),c.delete(a.pointerId))},pointercancel:function(a){this.pointerup(a)}};b.registerRecognizer("track",d)}(window.PointerGestures),function(a){var b=a.dispatcher,c={MIN_VELOCITY:.5,MAX_QUEUE:4,moveQueue:[],target:null,pointerId:null,events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!this.pointerId&&(this.pointerId=a.pointerId,this.target=a.target,this.addMove(a))},pointermove:function(a){a.pointerId===this.pointerId&&this.addMove(a)},pointerup:function(a){a.pointerId===this.pointerId&&this.fireFlick(a),this.cleanup()},pointercancel:function(){this.cleanup()},cleanup:function(){this.moveQueue=[],this.target=null,this.pointerId=null},addMove:function(a){this.moveQueue.length>=this.MAX_QUEUE&&this.moveQueue.shift(),this.moveQueue.push(a)},fireFlick:function(a){for(var c,d,e,f,g,h,i,j=a,k=this.moveQueue.length,l=0,m=0,n=0,o=0;k>o&&(i=this.moveQueue[o]);o++)c=j.timeStamp-i.timeStamp,d=j.clientX-i.clientX,e=j.clientY-i.clientY,f=d/c,g=e/c,h=Math.sqrt(f*f+g*g),h>n&&(l=f,m=g,n=h);var p=Math.abs(l)>Math.abs(m)?"x":"y",q=this.calcAngle(l,m);if(Math.abs(n)>=this.MIN_VELOCITY){var r=b.makeEvent("flick",{xVelocity:l,yVelocity:m,velocity:n,angle:q,majorAxis:p,pointerType:a.pointerType});b.dispatchEvent(r,this.target)}},calcAngle:function(a,b){return 180*Math.atan2(b,a)/Math.PI}};b.registerRecognizer("flick",c)}(window.PointerGestures),function(a){var b=a.dispatcher,c=new a.PointerMap,d={events:["pointerdown","pointermove","pointerup","pointercancel"],pointerdown:function(a){a.isPrimary&&!a.tapPrevented&&c.set(a.pointerId,{target:a.target,x:a.clientX,y:a.clientY})},pointermove:function(a){if(a.isPrimary){var b=c.get(a.pointerId);b&&a.tapPrevented&&c.delete(a.pointerId)}},pointerup:function(d){var e=c.get(d.pointerId);if(e&&!d.tapPrevented){var f=a.findLCA(e.target,d.target);if(f){var g=b.makeEvent("tap",{x:d.clientX,y:d.clientY,pointerType:d.pointerType});b.dispatchEvent(g,f)}}c.delete(d.pointerId)},pointercancel:function(a){c.delete(a.pointerId)},preventTap:function(a){c.delete(a)}};b.registerRecognizer("tap",d)}(window.PointerGestures),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(){function a(a,c){1==arguments.length&&(c=a,a=null),c&&c.hasOwnProperty("constructor")||(c.constructor=function(){this.super()});var d=c.constructor,f=a&&a.prototype||Object.prototype;return d.prototype=b(f,c),"super"in d.prototype||(d.prototype.super=e),d}function b(a,b){return Object.create(a,c(b))}function c(a){var b={};for(var c in a)b[c]=d(a,c);return b}function d(a,b){return a&&Object.getOwnPropertyDescriptor(a,b)||d(Object.getPrototypeOf(a),b)}function e(a){var b=e.caller,c=b._nom;if(!c&&(c=b._nom=h.call(this,b),!c))return console.warn('called super() on a method not in "this"'),void 0;"_super"in b||g(b,c,Object.getPrototypeOf(this));var d=b._super;if(d){var f=d[c];return"_super"in f||g(f,c,d),f.apply(this,a||[])}}function f(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function g(a,b,c){a._super=f(c,b,a),a._super&&(a._super[b]._nom=b)}function h(a){for(var b in this){var c=d(this,b);if(c.value==a)return b}}window.$class=a,window.extend=b,window.$super=e}(),function(){function a(a,d){if(a!=window){if(!(a&&a instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var e=Platform.mixin({},Polymer.base,d);e.elementElement=a,Polymer.addResolvePath(e,a),e.installTemplate=function(){this.super(),c.call(this,a)},e.readyCallback=b,Polymer.parseHostEvents(a.attributes,e),Polymer.publishAttributes(a,e),Polymer.installSheets(a),Polymer.shimStyling(a),a.register({prototype:e}),logFlags.comps&&console.log("Polymer: element registered"+a.options.name)}}function b(){this.installTemplate(),e.call(this)}function c(a){var b=a.querySelector("template");if(b){b.setAttribute("syntax","Polymer");var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,"Polymer")),d.call(this,c),c}}function d(a){CustomElements.takeRecords(),Polymer.marshalNodeReferences.call(this,a);var b=Polymer.accumulateEvents(a);Polymer.bindAccumulatedLocalEvents.call(this,a,b),PointerGestures.register(a),PointerEventsPolyfill.setTouchAction(a,this.getAttribute("touch-action"))}function e(){Polymer.observeProperties.call(this),Polymer.installInstanceAttributes.call(this),Polymer.takeAttributes.call(this);var a=Polymer.accumulateHostEvents.call(this);Polymer.bindAccumulatedHostEvents.call(this,a),this.ready&&this.ready()}function f(a,b){for(var c=a;c&&c!=this;){var d=Array.prototype.indexOf.call(b,c);if(d>=0)return d;c=c.parentNode}}window.logFlags||{},window.Polymer={register:a,findDistributedTarget:f,instanceReady:e}}(),function(a){var b=window.logFlags||{},c={"super":$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},job:function(){return Polymer.job.apply(this,arguments)},asyncMethod:function(a,b,c){Platform.flush();var d=b&&b.length?b:[b],e=function(){(this[a]||a).apply(this,d)}.bind(this);return c?window.setTimeout(e,c):requestAnimationFrame(e)},dispatch:function(a,b){this[a]&&this[a].apply(this,b)},fire:function(a,c,d){var e=d||this;return b.events&&console.log("[%s]: sending [%s]",e.localName,a),e.dispatchEvent(new CustomEvent(a,{bubbles:!0,detail:c})),c},asyncFire:function(){this.asyncMethod("fire",arguments)},classFollows:function(a,b,c){b&&b.classList.remove(c),a&&a.classList.add(c)}};c.send=c.fire,c.asend=c.asyncFire,a.base=c}(window.Polymer),function(){function a(a,b,c,e){var f=d(a,b,!0);f[c.toLowerCase()]=e}function b(a,b,c){var e=d(a,b),f=c.toLowerCase();return e&&e[f]?(e[f].close(),e[f]=null,!0):void 0}function c(a,c){var e=d(a,c);e&&Object.keys(e).forEach(function(d){b(a,c,d)})}function d(a,b,c){var d=e.get(a);return c&&(d||e.set(a,d={}),d[b]||(d[b]={})),d&&d[b]}var e=new SideTable;Polymer.registerObserver=a,Polymer.unregisterObserver=b,Polymer.unregisterObserversOfType=c}(),function(){function a(a,c,d,e){b.bind&&console.log("[%s]: bindProperties: [%s] to [%s].[%s]",d.localName||"object",e,a.localName,c);var f=PathObserver.getValueAtPath(d,e);return(null===f||void 0===f)&&PathObserver.setValueAtPath(d,e,a[c]),PathObserver.defineProperty(a,c,{object:d,path:e})}var b=window.logFlags||{};Polymer.bindProperties=a}(),function(){function a(a,b,c){var d=j.get(a);d||j.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=j.get(a);c&&delete c[b.toLowerCase()]}function c(c){var d=c.prototype,e=d.bind,f=d.unbind;d.bind=function(b,c,d){e.apply(this,arguments),a(this,b,d)},d.unbind=function(a){f.apply(this,arguments),b(this,a)}}function d(a){return a&&j.get(a)||k}function e(a,b){return d(a)[b.toLowerCase()]}function f(b,c,d){var e=Polymer.propertyForAttribute.call(this,b);e?(a(this,e,d),Polymer.registerObserver(this,"binding",e,Polymer.bindProperties(this,e,c,d))):HTMLElement.prototype.bind.apply(this,arguments)}function g(a){a.unbindAll();for(var b=a.firstChild;b;b=b.nextSibling)g(b)}function h(a){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function i(){Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments)}window.logFlags||{};var j=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var k={},l=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=h,Polymer.unbindAll=i,Polymer.getBinding=e,Polymer.unbindModel=g,Polymer.bindPattern=l}(),function(){"use strict";function a(){}function b(a,b,c,g){var h,i,j=b.match(e);if(j)h=j[1],i=j[2];else{if(j=b.match(d),!j)return;h=j[2],i=j[1]}var k=new CompoundBinding(function(a){return a.value});return k.bind("value",a,i),f.set(g,{model:a,scope:h}),k}function c(a,b,c){var d=new CompoundBinding(function(a){return a.value?b:""});return d.bind("value",a,c),d}var d=/([\w\.\$]*)[\s]+as[\s]+([\w]*)/,e=/([\w]*)[\s]+in[\s]+([\w\.\$]*)/,f=new SideTable;HTMLTemplateElement.syntax.Polymer={getBinding:function(a,d,e,f){if(f.nodeType===Node.ELEMENT_NODE&&("bind"===e||"repeat"===e)&&"TEMPLATE"===f.tagName)return b(a,d,e,f);var g=d.match(/([\w]+):[\W]*([\w\.\$]*)/);return g?c(a,g[1],g[2]):void 0},getInstanceModel:function(b,c){var d=f.get(b);if(!d)return c;var e;return e=d.model?Object.create(d.model):new a,e[d.scope]=c,e}}}(this),function(){function a(a,d){b(a,d),c(a,d)}function b(a,b){var c={},d=a.getAttribute(j);if(d){var e=d.split(d.indexOf(",")>=0?",":" ");e.forEach(function(a){a=a.trim(),a&&(c[a]=null)})}var f=a.options.prototype;Object.keys(c).forEach(function(a){a in b||a in f||(b[a]=c[a])});var g=b[k];g&&(Object.keys(g).forEach(function(a){b[a]=g[a]}),c=Platform.mixin(c,g)),b[i]=Platform.mixin({},f[i],c)}function c(a,b){for(var c,d=a.options.prototype,e=a.attributes,f=b.instanceAttributes=Object.create(d.instanceAttributes||null),g=0,h=e.length;h>g&&(c=e[g]);g++)switch(c.name){case"name":case"extends":case j:break;default:"on-"!==c.name.slice(0,3)&&(f[c.name]=c.value)}}function d(){var a=this.instanceAttributes;Object.keys(a).forEach(function(b){this.setAttribute(b,a[b])},this)}function e(){forEach(this.attributes,function(a){var b=f.call(this,a.name);if(b){if(a.value.search(h)>=0)return;var c=this[b],d=g(a.value,c);d!==c&&(this[b]=d)}},this)}function f(a){var b=Object.keys(this[i]);return b[b.map(l).indexOf(a.toLowerCase())]}function g(a,b){var c=typeof b;switch(b instanceof Date&&(c="date"),c){case"string":return a;case"date":return new Date(Date.parse(a)||Date.now());case"boolean":if(""==a)return!0}switch(a){case"true":return!0;case"false":return!1}var d=parseFloat(a);return String(d)===a?d:a}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish",l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase);Polymer.takeAttributes=e,Polymer.publishAttributes=a,Polymer.propertyForAttribute=f,Polymer.installInstanceAttributes=d}(),Polymer.marshalNodeReferences=function(a){var b=this.$=this.$||{};if(a){var c=a.querySelectorAll("[id]");forEach(c,function(a){b[a.id]=a})}},function(){function a(a,b,c){var d=c.bind(this);for(var e in b)j.events&&console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)',a.localName||"root",e),a.addEventListener(e,d)}function b(b){a.call(this,this,b,f)}function c(b,c){a.call(this,b,c,d)}function d(a){if(!a.cancelBubble){a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on);var b=a.path&&a.path();if(!b||window.ShadowDOMPolyfill)e(a);else{var c=null;Array.prototype.some.call(b,function(b){return b===this?!0:(c=c===this?c:v(b),c&&h.call(c,b,a)?!0:void 0)},this)}j.events&&console.groupEnd()}}function e(a){j.events&&console.log("event.path() not supported for",a.type);for(var b=a.target,c=null;b&&b!=this;){if(c=c===this?c:v(b),c&&h.call(c,b,a))return;b=b.parentNode}}function f(a){a.cancelBubble||(j.events&&console.group("[%s]: listenHost [%s]",this.localName,a.type),i.call(this,this,a),j.events&&console.groupEnd())}function g(a){var b=x.get(a);return b||(b=[],x.set(a,b)),b}function h(a,b){if(a.attributes){var c=g(b);if(c.indexOf(a)<0){c.push(a);var d=a.getAttribute(b.on);d&&(j.events&&console.log("[%s] found handler name [%s]",this.localName,d),w(this,d,[b,b.detail,a]))}}return b.cancelBubble}function i(a,b){var c=y.call(a,b.type);return c&&(j.events&&console.log("[%s] found host handler name [%s]",a.localName,c),w(a,c,[b,b.detail,a])),b.cancelBubble}var j=window.logFlags||{},k="on-",l=function(a,b){b.eventDelegates=m(a)},m=function(a){var b={};if(a)for(var c,d=0;c=a[d];d++)c.name.slice(0,k.length)==k&&(b[c.name.slice(k.length)]=c.value);return b},n=function(a,b){var c=b||{};return o(a,c),r(a,c),s(a,c),c},o=function(a,b){var c=a.attributes;if(c)for(var d,e=0;d=c[e];e++)d.name.slice(0,k.length)===k&&q(d.name.slice(k.length),b)},p={webkitanimationstart:"webkitAnimationStart",webkitanimationend:"webkitAnimationEnd",webkittransitionend:"webkitTransitionEnd",domfocusout:"DOMFocusOut",domfocusin:"DOMFocusIn"},q=function(a,b){var c=p[a]||a;b[c]=1},r=function(a,b){for(var c,d=a.childNodes,e=0;c=d[e];e++)n(c,b)},s=function(a,b){if("template"==a.localName){var c=t(a);c&&r(c,b)}},t=function(a){return a.ref?a.ref.content:a.content},u=function(a){for(var b=a||{},c=this.__proto__;c&&c!==HTMLElement.prototype;){if(c.hasOwnProperty("eventDelegates"))for(var d in c.eventDelegates)q(d,b);c=c.__proto__}return b},v=function(a){for(var b=a;b.parentNode&&"shadow-root"!==b.localName;)b=b.parentNode;return b.host},w=function(a,b,c){a&&(j.events&&console.group("[%s] dispatch [%s]",a.localName,b),a.dispatch(b,c),j.events&&console.groupEnd())},x=new SideTable("handledList"),y=function(a){for(var b=this;b;){if(b.hasOwnProperty("eventDelegates")){var c=b.eventDelegates[a]||b.eventDelegates[a.toLowerCase()];if(c)return c}b=b.__proto__}};Polymer.parseHostEvents=l,Polymer.accumulateEvents=n,Polymer.accumulateHostEvents=u,Polymer.bindAccumulatedHostEvents=b,Polymer.bindAccumulatedLocalEvents=c}(),function(){function a(){for(var a in this)b.call(this,a)}function b(a){if(c.call(this,a)){e.observe&&console.log("["+this.localName+"] watching ["+a+"]");var b=new PathObserver(this,a,function(b,c){e.data&&console.log("[%s#%s] watch: [%s] now [%s] was [%s]",this.localName,this.node.id||"",a,this[a],c),d.call(this,a,c)}.bind(this));Polymer.registerObserver(this,"property",a,b)}}function c(a){return"_"!=a[0]&&!(a in Object.prototype)&&Boolean(this[a+f])}function d(a,b){var c=a+f;this[c]&&this[c](b)}var e=window.logFlags||{},f="Changed";Polymer.observeProperties=a}(),function(){function a(a){b(a),c(a)}function b(a){var b=j(a,r,function(a){return!a.hasAttribute(s)}),c=k(a);if(c){b.forEach(function(a){a.parentNode.removeChild(a)});var d=document.createDocumentFragment();b.forEach(function(a){var b=f(a);b&&d.appendChild(b)}),c.insertBefore(d,c.firstChild)}}function c(a){g(i(a,"global"),m.head)}function d(a,b){b.controllerStyles||(b.controllerStyles=i(b,"controller"));var c=b.controllerStyles;n.queue(function(){var b=e(a);b&&(Polymer.shimPolyfillDirectives(c,a.localName),g(c,b))})}function e(a){for(var b=a;b.parentNode&&"shadow-root"!=b.localName;)b=b.parentNode;return b==m?m.head:b}function f(a){if(a.__resource){var b=m.createElement("style");return b.textContent=a.__resource,b}console.warn("Could not find content for stylesheet",a)}function g(a,b){a.forEach(function(a){b.appendChild(a.cloneNode(!0))})}function h(a,b){return p?p.call(a,b):void 0}function i(a,b){var c=[],d="["+s+"="+b+"]",e=function(a){return h(a,d)},g=j(a,r,e);g.forEach(function(a){a.parentNode.removeChild(a),c.push(f(a))});var i=j(a,q,e);return i.forEach(function(a){a.parentNode.removeChild(a),c.push(a)}),c}function j(a,b,c){var d=l(a.querySelectorAll(b)),e=k(a);if(e){var f=l(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function k(a){var b=a.querySelector("template");return b&&templateContent(b)}function l(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var m=wrap(document),n={list:[],queue:function(a){a&&n.list.push(a),n.queueFlush()},queueFlush:function(){n.flushing||(n.flushing=!0,requestAnimationFrame(n.flush))},flush:function(){n.list.forEach(function(a){a()}),n.list=[],n.flushing=!1}},o=HTMLElement.prototype,p=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector,q="style",r="[rel=stylesheet]",s="polymer-scope";Polymer.installSheets=a,Polymer.installControllerStyles=d}(),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach),b=Array.prototype.concat.call.bind(Array.prototype.concat),c=Array.prototype.slice.call.bind(Array.prototype.slice),d={hostRuleRe:/@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim,selectorRe:/([^{]*)({[\s\S]*?})/gim,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,selectorReSuffix:"([>\\s~+[.,{:][\\s\\S]*)?$",hostRe:/@host/gim,cache:{},shimStyling:function(a){if(window.ShadowDOMPolyfill&&a){var b=a.options.name;d.cacheDefinition(a),d.shimPolyfillDirectives(a.styles,b),d.applyShimming(d.stylesForElement(a),b)}},shimShadowDOMStyling:function(a,b){window.ShadowDOMPolyfill&&(d.shimPolyfillDirectives(a,b),d.applyShimming(a,b))},applyShimming:function(a,b){this.shimAtHost(a,b),this.shimScoping(a,b)},cacheDefinition:function(a){var b=a.options.name,e=a.querySelector("template"),f=e&&templateContent(e),g=f&&f.querySelectorAll("style");a.styles=g?c(g):[],a.templateContent=f,d.cache[b]=a},stylesForElement:function(a){var d=a.styles,e=a.templateContent&&a.templateContent.querySelector("shadow");if(e||null===a.templateContent){var f=this.findExtendee(a.options.name);if(f){var g=this.stylesForElement(f);d=b(c(g),c(d))}}return d},findExtendee:function(a){var b=this.cache[a];return b&&this.cache[b.options.extends]},shimPolyfillDirectives:function(b,c){window.ShadowDOMPolyfill&&b&&a(b,function(a){a.textContent=this.convertPolyfillDirectives(a.textContent,c)},this)},shimAtHost:function(a,b){if(a){var c=this.convertAtHostStyles(a,b);this.addCssToDocument(c)}},shimScoping:function(a,b){a&&this.applyPseudoScoping(a,b)},convertPolyfillDirectives:function(a){for(var b,c="",d=0;b=this.cssPolyfillCommentRe.exec(a);)c+=a.substring(d,b.index),c+=b[1].slice(0,-2)+"{",d=this.cssPolyfillCommentRe.lastIndex;return c+=a.substring(d,a.length)},findAtHostRules:function(a,b){return Array.prototype.filter.call(a,this.isHostRule.bind(this,b))},isHostRule:function(a,b){return b.selectorText&&b.selectorText.match(a)||b.cssRules&&this.findAtHostRules(b.cssRules,a).length||b.type==CSSRule.WEBKIT_KEYFRAMES_RULE},convertAtHostStyles:function(a,b){for(var c,d=this.stylesToCssText(a),e="",f=0;c=this.hostRuleRe.exec(d);)e+=d.substring(f,c.index),e+=this.scopeHostCss(c[1],b),f=this.hostRuleRe.lastIndex;e+=d.substring(f,d.length);var g=new RegExp("^"+b+this.selectorReSuffix,"m"),d=this.rulesToCss(this.findAtHostRules(this.cssToRules(e),g));return d},scopeHostCss:function(a,b){for(var c,d="";c=this.selectorRe.exec(a);)d+=this.scopeHostSelector(c[1],b)+" "+c[2]+"\n ";return d},scopeHostSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){a=a.trim(),a.indexOf("*")>=0?a=a.replace("*",b):a.match(this.hostFixableRe)&&(a=b+a),c.push(a)},this),c.join(", ")},applyPseudoScoping:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,""),e=this.cssToRules(d),d=this.pseudoScopeRules(e,c);this.addCssToDocument(d)},pseudoScopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.pseudoScopeSelector(a.selectorText,c)+" {\n ",d+=a.style.cssText+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.pseudoScopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},pseudoScopeSelector:function(a,b){var c=[],d=a.split(",");return d.forEach(function(a){c.push(b+" "+a.trim())}),c.join(", ")},stylesToCssText:function(b,c){var d="";return a(b,function(a){d+=a.textContent+"\n\n"}),c||(d=this.stripCssComments(d)),d},stripCssComments:function(a){return a.replace(this.cssCommentRe,"")},cssToRules:function(a){var b=document.createElement("style");b.textContent=a,document.head.appendChild(b);var c=b.sheet.cssRules;return b.parentNode.removeChild(b),c},rulesToCss:function(a){for(var b=0,c=[];b 0; ) { var e = c[d]; - ob[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); + nb[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); } return b; } @@ -2233,49 +2252,45 @@ if (function(a) { for (var e; e = b.firstChild; ) d.appendChild(e); } function M(a) { - "TEMPLATE" === a.tagName ? qb || (tb ? a.__proto__ = HTMLTemplateElement.prototype : I(a, HTMLTemplateElement.prototype)) : (I(a, HTMLTemplateElement.prototype), - Object.defineProperty(a, "content", yb)); - } - function N(a) { - var b = a.ref; - return b ? b.content : a.content; + "TEMPLATE" === a.tagName ? pb || (sb ? a.__proto__ = HTMLTemplateElement.prototype : I(a, HTMLTemplateElement.prototype)) : (I(a, HTMLTemplateElement.prototype), + Object.defineProperty(a, "content", xb)); } - function O(a, b) { + function N(a, b) { this.type = a, this.value = b; } - function P(a) { + function O(a) { for (var b = [], c = a.length, d = 0, e = 0; c > e; ) { if (d = a.indexOf("{{", e), 0 > d) { - b.push(new O(Ab, a.slice(e))); + b.push(new N(zb, a.slice(e))); break; } - if (d > 0 && d > e && b.push(new O(Ab, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), + if (d > 0 && d > e && b.push(new N(zb, a.slice(e, d))), e = d + 2, d = a.indexOf("}}", e), 0 > d) { var f = a.slice(e - 2), g = b[b.length - 1]; - g && g.type == Ab ? g.value += f : b.push(new O(Ab, f)); + g && g.type == zb ? g.value += f : b.push(new N(zb, f)); break; } var h = a.slice(e, d).trim(); - b.push(new O(Bb, h)), e = d + 2; + b.push(new N(Ab, h)), e = d + 2; } return b; } - function Q(a, b, c, d, e) { - var f, g = e && e[mb]; + function P(a, b, c, d, e) { + var f, g = e && e[lb]; g && "function" == typeof g && (f = g(c, d, b, a), f && (c = f, d = "value")), a.bind(b, c, d); } - function R(a, b, c, d, e) { - var f = P(c); - if (f.length && (1 != f.length || f[0].type != Ab)) { - if (1 == f.length && f[0].type == Bb) return Q(a, b, d, f[0].value, e), void 0; - for (var g = new Y(), h = 0; h < f.length; h++) { + function Q(a, b, c, d, e) { + var f = O(c); + if (f.length && (1 != f.length || f[0].type != zb)) { + if (1 == f.length && f[0].type == Ab) return P(a, b, d, f[0].value, e), void 0; + for (var g = new X(), h = 0; h < f.length; h++) { var i = f[h]; - i.type == Bb && Q(g, h, d, i.value, e); + i.type == Ab && P(g, h, d, i.value, e); } g.combinator = function(a) { for (var b = "", c = 0; c < f.length; c++) { var d = f[c]; - if (d.type === Ab) b += d.value; else { + if (d.type === zb) b += d.value; else { var e = a[c]; void 0 !== e && (b += e); } @@ -2284,58 +2299,58 @@ if (function(a) { }, a.bind(b, g, "value"); } } - function S(a, c, d) { + function R(a, c, d) { b(a); for (var e = {}, f = 0; f < a.attributes.length; f++) { var g = a.attributes[f]; e[g.name] = g.value; } - E(a) && ("" === e[ib] && (e[ib] = "{{}}"), "" === e[jb] && (e[jb] = "{{}}")), Object.keys(e).forEach(function(b) { - R(a, b, e[b], c, d); + E(a) && ("" === e[hb] && (e[hb] = "{{}}"), "" === e[ib] && (e[ib] = "{{}}")), Object.keys(e).forEach(function(b) { + Q(a, b, e[b], c, d); }); } - function T(a, c, d) { - b(a), a.nodeType === Node.ELEMENT_NODE ? S(a, c, d) : a.nodeType === Node.TEXT_NODE && R(a, "textContent", a.data, c, d); - for (var e = a.firstChild; e; e = e.nextSibling) T(e, c, d); + function S(a, c, d) { + b(a), a.nodeType === Node.ELEMENT_NODE ? R(a, c, d) : a.nodeType === Node.TEXT_NODE && Q(a, "textContent", a.data, c, d); + for (var e = a.firstChild; e; e = e.nextSibling) S(e, c, d); } - function U(a) { - if (Cb.delete(a), E(a)) { - var b = Db.get(a); - b && (b.abandon(), Db.delete(a)); + function T(a) { + if (Bb.delete(a), E(a)) { + var b = Cb.get(a); + b && (b.abandon(), Cb.delete(a)); } a.unbindAll(); - for (var c = a.firstChild; c; c = c.nextSibling) U(c); + for (var c = a.firstChild; c; c = c.nextSibling) T(c); } - function V(a, b) { + function U(a, b) { var c = a.cloneNode(!1); - E(c) && (HTMLTemplateElement.decorate(c, a), b && !c.hasAttribute(lb) && c.setAttribute(lb, b)); - for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(V(d, b)); + E(c) && (HTMLTemplateElement.decorate(c, a), b && !c.hasAttribute(kb) && c.setAttribute(kb, b)); + for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(U(d, b)); return c; } - function W(a, b, c) { + function V(a, b, c) { this.firstNode = a, this.lastNode = b, this.model = c; } - function X(a, b) { - if (a.firstChild) for (var c = new W(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Cb.set(d, c), + function W(a, b) { + if (a.firstChild) for (var c = new V(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Bb.set(d, c), d = d.nextSibling; } - function Y(a) { + function X(a) { this.bindings = {}, this.values = {}, this.value = void 0, this.size = 0, this.combinator_ = a, this.boundResolve = this.resolve.bind(this), this.disposed = !1; } - function Z(a) { + function Y(a) { this.templateElement_ = a, this.terminators = [], this.iteratedValue = void 0, this.arrayObserver = void 0, - this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new Y(this.resolveInputs.bind(this)); + this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new X(this.resolveInputs.bind(this)); var b = this.valueChanged.bind(this); Object.defineProperty(this.inputs, "value", { configurable: !0, set: b }); } - var $, _ = Array.prototype.forEach.call.bind(Array.prototype.forEach), ab = Array.prototype.filter.call.bind(Array.prototype.filter); - a.Map && "function" == typeof a.Map.prototype.forEach ? $ = a.Map : ($ = function() { + var Z, $ = Array.prototype.forEach.call.bind(Array.prototype.forEach), _ = Array.prototype.filter.call.bind(Array.prototype.filter); + a.Map && "function" == typeof a.Map.prototype.forEach ? Z = a.Map : (Z = function() { this.keys = [], this.values = []; - }, $.prototype = { + }, Z.prototype = { set: function(a, b) { var c = this.keys.indexOf(a); 0 > c ? (this.keys.push(a), this.values.push(b)) : this.values[c] = b; @@ -2352,7 +2367,7 @@ if (function(a) { for (var c = 0; c < this.keys.length; c++) a.call(b || this, this.values[c], this.keys[c], this); } }); - var bb = "__proto__" in {} ? function(a) { + var ab = "__proto__" in {} ? function(a) { return a; } : function(a) { var b = a.__proto__; @@ -2365,12 +2380,12 @@ if (function(a) { "function" != typeof document.contains && (Document.prototype.contains = function(a) { return a === this || a.parentNode === this ? !0 : this.documentElement.contains(a); }); - var cb; - "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? cb = WeakMap : function() { + var bb; + "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? bb = WeakMap : function() { var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; - cb = function() { + bb = function() { this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); - }, cb.prototype = { + }, bb.prototype = { set: function(b, c) { a(b, this.name, { value: c, @@ -2385,7 +2400,7 @@ if (function(a) { } }; }(), Node.prototype.bind = e, Node.prototype.unbind = f, Node.prototype.unbindAll = g; - var db = new cb("textContentBinding"); + var cb = new bb("textContentBinding"); h.prototype = { dispose: function() { this.model && "function" == typeof this.model.dispose && this.model.dispose(), this.observer.close(); @@ -2397,7 +2412,7 @@ if (function(a) { this.observer.reset(); } }, Text.prototype.bind = j, Text.prototype.unbind = k, Text.prototype.unbindAll = l; - var eb = new cb("attributeBindings"); + var db = new bb("attributeBindings"); n.prototype = { add: function(a, b, c, d) { a.removeAttribute(b); @@ -2416,7 +2431,7 @@ if (function(a) { }, this); } }, Element.prototype.bind = o, Element.prototype.unbind = p, Element.prototype.unbindAll = q; - var fb, gb = new cb("valueBinding"), hb = new cb("checkedBinding"); + var eb, fb = new bb("valueBinding"), gb = new bb("checkedBinding"); !function() { var a = document.createElement("div"), b = a.appendChild(document.createElement("input")); b.setAttribute("type", "checkbox"); @@ -2428,7 +2443,7 @@ if (function(a) { }); var e = document.createEvent("MouseEvent"); e.initMouseEvent("click", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), - b.dispatchEvent(e), fb = 1 == d ? "change" : c; + b.dispatchEvent(e), eb = 1 == d ? "change" : c; }(), s.prototype = { valueChanged: function(a) { this.element[this.valueProperty] = this.produceElementValue(a); @@ -2440,45 +2455,45 @@ if (function(a) { unbind: function() { this.binding.dispose(), this.element.removeEventListener(r(this.element), this.boundUpdateBinding, !0); } - }, t.prototype = bb({ + }, t.prototype = ab({ __proto__: s.prototype, produceElementValue: function(a) { return String(null == a ? "" : a); } - }), v.prototype = bb({ + }), v.prototype = ab({ __proto__: s.prototype, produceElementValue: function(a) { return Boolean(a); }, postUpdateBinding: function() { "INPUT" === this.element.tagName && "radio" === this.element.type && u(this.element).forEach(function(a) { - var b = hb.get(a); + var b = gb.get(a); b && (b.binding.value = !1); }); } }), HTMLInputElement.prototype.bind = w, HTMLInputElement.prototype.unbind = x, - HTMLInputElement.prototype.unbindAll = y, z.prototype = bb({ + HTMLInputElement.prototype.unbindAll = y, z.prototype = ab({ __proto__: s.prototype, valueChanged: function(a) { function b() { - a > d.element.length && c-- ? sb(b) : d.element[d.valueProperty] = a; + a > d.element.length && c-- ? rb(b) : d.element[d.valueProperty] = a; } var a = this.produceElementValue(a); if (a <= this.element.length) return this.element[this.valueProperty] = a, void 0; var c = 2, d = this; - sb(b); + rb(b); }, produceElementValue: function(a) { return Number(a); } }), HTMLSelectElement.prototype.bind = A, HTMLSelectElement.prototype.unbind = B, HTMLSelectElement.prototype.unbindAll = C; - var ib = "bind", jb = "repeat", kb = "if", lb = "syntax", mb = "getBinding", nb = "getInstanceModel", ob = { + var hb = "bind", ib = "repeat", jb = "if", kb = "syntax", lb = "getBinding", mb = "getInstanceModel", nb = { template: !0, repeat: !0, bind: !0, ref: !0 - }, pb = { + }, ob = { THEAD: !0, TBODY: !0, TFOOT: !0, @@ -2490,9 +2505,9 @@ if (function(a) { CAPTION: !0, OPTION: !0, OPTGROUP: !0 - }, qb = "undefined" != typeof HTMLTemplateElement, rb = "template, " + Object.keys(pb).map(function(a) { + }, pb = "undefined" != typeof HTMLTemplateElement, qb = "template, " + Object.keys(ob).map(function(a) { return a.toLowerCase() + "[template]"; - }).join(", "), sb = function() { + }).join(", "), rb = function() { function a() { var a = this; this.value = !1; @@ -2517,10 +2532,10 @@ if (function(a) { }(); document.addEventListener("DOMContentLoaded", function() { H(document), Platform.performMicrotaskCheckpoint(); - }, !1), qb || (a.HTMLTemplateElement = function() { + }, !1), pb || (a.HTMLTemplateElement = function() { throw TypeError("Illegal constructor"); }); - var tb = "__proto__" in {}, ub = new cb("templateContents"), vb = new cb("templateContentsOwner"), wb = new cb("templateInstanceRef"); + var sb = "__proto__" in {}, tb = new bb("templateContents"), ub = new bb("templateContentsOwner"), vb = new bb("templateInstanceRef"); HTMLTemplateElement.decorate = function(a, c) { if (a.templateIsDecorated_) return !1; var d = a, e = F(d), f = e, g = !e, h = !1; @@ -2528,27 +2543,27 @@ if (function(a) { !e) { M(d); var i = J(d.ownerDocument); - ub.set(d, i.createDocumentFragment()); + tb.set(d, i.createDocumentFragment()); } - return c ? wb.set(d, c) : g ? L(d, a, h) : f && H(d.content), !0; + return c ? vb.set(d, c) : g ? L(d, a, h) : f && H(d.content), !0; }, HTMLTemplateElement.bootstrap = H; - var xb = a.HTMLUnknownElement || HTMLElement, yb = { + var wb = a.HTMLUnknownElement || HTMLElement, xb = { get: function() { - return ub.get(this); + return tb.get(this); }, enumerable: !0, configurable: !0 }; - qb || (HTMLTemplateElement.prototype = Object.create(xb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", yb)); - var zb = new cb("templateModel"); + pb || (HTMLTemplateElement.prototype = Object.create(wb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", xb)); + var yb = new bb("templateModel"); I(HTMLTemplateElement.prototype, { bind: function(a, b, c) { switch (a) { + case hb: case ib: case jb: - case kb: - var d = Db.get(this); - d || (d = new Z(this), Db.set(this, d)), d.inputs.bind(a, b, c || ""); + var d = Cb.get(this); + d || (d = new Y(this), Cb.set(this, d)), d.inputs.bind(a, b, c || ""); break; default: @@ -2557,10 +2572,10 @@ if (function(a) { }, unbind: function(a, b, c) { switch (a) { + case hb: case ib: case jb: - case kb: - var d = Db.get(this); + var d = Cb.get(this); if (!d) break; d.inputs.unbind(a); break; @@ -2570,19 +2585,19 @@ if (function(a) { } }, unbindAll: function() { - this.unbind(ib), this.unbind(jb), this.unbind(kb), Element.prototype.unbindAll.call(this); + this.unbind(hb), this.unbind(ib), this.unbind(jb), Element.prototype.unbindAll.call(this); }, createInstance: function(a, b) { - var c = N(this), d = V(c, b); - return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(d), - T(d, a, HTMLTemplateElement.syntax[b]), X(d, a), d; + var c = U(this.ref.content, b); + return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(c), + S(c, a, HTMLTemplateElement.syntax[b]), W(c, a), c; }, get model() { - return zb.get(this); + return yb.get(this); }, set model(a) { - var b = HTMLTemplateElement.syntax[this.getAttribute(lb)]; - zb.set(this, a), T(this, a, b); + var b = HTMLTemplateElement.syntax[this.getAttribute(kb)]; + yb.set(this, a), S(this, a, b); }, get ref() { var a, b = this.getAttribute("ref"); @@ -2590,16 +2605,18 @@ if (function(a) { var d = c(this); d && (a = d.getElementById(b)); } - return a || (a = wb.get(this)), a || null; + if (a || (a = vb.get(this)), !a) return this; + var e = a.ref; + return e ? e : a; } }); - var Ab = 0, Bb = 1, Cb = new cb("templateInstance"); + var zb = 0, Ab = 1, Bb = new bb("templateInstance"); Object.defineProperty(Node.prototype, "templateInstance", { get: function() { - var a = Cb.get(this); + var a = Bb.get(this); return a ? a : this.parentNode ? this.parentNode.templateInstance : void 0; } - }), Y.prototype = { + }), X.prototype = { set combinator(a) { this.combinator_ = a, this.scheduleResolve(); }, @@ -2613,7 +2630,7 @@ if (function(a) { delete this.values[a], b || this.scheduleResolve()); }, scheduleResolve: function() { - sb(this.boundResolve); + rb(this.boundResolve); }, resolve: function() { if (!this.disposed) { @@ -2626,9 +2643,9 @@ if (function(a) { this.unbind(a, !0); }, this), this.disposed = !0, this.value = void 0; } - }, Z.prototype = { + }, Y.prototype = { resolveInputs: function(a) { - return kb in a && !a[kb] ? void 0 : jb in a ? a[jb] : ib in a ? [ a[ib] ] : void 0; + return jb in a && !a[jb] ? void 0 : ib in a ? a[ib] : hb in a ? [ a[hb] ] : void 0; }, valueChanged: function(a) { var b = this.iteratedValue; @@ -2638,14 +2655,14 @@ if (function(a) { addedCount: this.iteratedValue.length, removed: Array.isArray(b) ? b : [] }; - (c.addedCount || c.removed.length) && this.handleSplices([ c ]), this.inputs.size || (Db.delete(this), + (c.addedCount || c.removed.length) && this.handleSplices([ c ]), this.inputs.size || (Cb.delete(this), this.abandon()); }, getTerminatorAt: function(a) { if (-1 == a) return this.templateElement_; var b = this.terminators[a]; - if (b.nodeType !== Node.ELEMENT_NODE) return b; - var c = Db.get(b); + if (b.nodeType !== Node.ELEMENT_NODE || this.templateElement_ === b) return b; + var c = Cb.get(b); return c ? c.getTerminatorAt(c.terminators.length - 1) : b; }, insertInstanceAt: function(a, b) { @@ -2663,7 +2680,7 @@ if (function(a) { return b; }, getInstanceModel: function(a, b, c) { - var d = HTMLTemplateElement.syntax[c], e = d && d[nb]; + var d = HTMLTemplateElement.syntax[c], e = d && d[mb]; return e && "function" == typeof e ? e(a, b) : b; }, getInstanceNodes: function(a, b, c) { @@ -2675,9 +2692,9 @@ if (function(a) { }, handleSplices: function(a) { var b = this.templateElement_; - if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Db.delete(this), + if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Cb.delete(this), void 0; - var c = b.getAttribute(lb), d = new $(), e = 0; + var c = b.getAttribute(kb), d = new Z(), e = 0; a.forEach(function(a) { a.removed.forEach(function(b) { var c = this.extractInstanceAt(a.index + e, c); @@ -2689,7 +2706,7 @@ if (function(a) { this.insertInstanceAt(e, g); } }, this), d.forEach(function(a) { - for (var b = 0; b < a.length; b++) U(a[b]); + for (var b = 0; b < a.length; b++) T(a[b]); }); }, unobserve: function() { @@ -2703,12 +2720,12 @@ if (function(a) { }), this.inputs.dispose(); } }; - var Db = new cb("templateIterator"); - a.CompoundBinding = Y, Object.defineProperty(HTMLTemplateElement, lb, { + var Cb = new bb("templateIterator"); + a.CompoundBinding = X, Object.defineProperty(HTMLTemplateElement, kb, { value: {}, enumerable: !0 - }), HTMLTemplateElement.forAllTemplatesFrom_ = G, HTMLTemplateElement.bindAllMustachesFrom_ = T, - HTMLTemplateElement.parseAndBind_ = R; + }), HTMLTemplateElement.forAllTemplatesFrom_ = G, HTMLTemplateElement.bindAllMustachesFrom_ = S, + HTMLTemplateElement.parseAndBind_ = Q; }(this), function(a) { function b() { logFlags.data && console.group("Model.dirtyCheck()"), c(), logFlags.data && console.groupEnd(); @@ -2766,8 +2783,8 @@ if (function(a) { var c = document.implementation.createHTMLDocument(g); c._URL = b; var d = c.createElement("base"); - return d.setAttribute("href", document.baseURI), c.head.appendChild(d), c.body.innerHTML = a, - c; + return d.setAttribute("rel", "import"), d.setAttribute("href", document.baseURI), + c.head.appendChild(d), c.body.innerHTML = a, c; } a || (a = window.HTMLImports = { flags: {} @@ -2776,8 +2793,11 @@ if (function(a) { documents: {}, cache: {}, preloadSelectors: [ "link[rel=" + g + "]", "script[src]", "link[rel=stylesheet]" ].join(","), + loader: function(a) { + return f = new i(h.loaded, a), f.cache = h.cache, f; + }, load: function(a, b) { - f = new i(h.loaded, b), f.cache = h.cache, h.preload(a); + f = h.loader(b), h.preload(a); }, preload: function(a) { var c = a.querySelectorAll(h.preloadSelectors); @@ -3128,12 +3148,12 @@ if (function(a) { var g = f || {}; if (!b) throw new Error("Name argument must not be empty"); if (g.name = b, !g.prototype) throw new Error("Options missing required prototype property"); - return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), g.prototype.setAttribute = k, - g.prototype.removeAttribute = l, n(b, g), g.ctor = o(g), g.ctor.prototype = g.prototype, - a.ready && a.upgradeAll(document), g.ctor; + return g.lifecycle = g.lifecycle || {}, g.ancestry = c(g.extends), d(g), e(g), k(g.prototype), + m(b, g), g.ctor = n(g), g.ctor.prototype = g.prototype, a.ready && a.upgradeAll(document), + g.ctor; } function c(a) { - var b = v[a]; + var b = s[a]; return b ? c(b.extends).concat([ b ]) : []; } function d(a) { @@ -3141,11 +3161,17 @@ if (function(a) { a.tag = c || a.name, c && (a.is = a.name); } function e(a) { - if (!Object.__proto__) if (a.is) var b = document.createElement(a.tag), c = Object.getPrototypeOf(b); else c = HTMLElement.prototype; - a.native = c; + if (!Object.__proto__) { + var b = HTMLElement.prototype; + if (a.is) { + var c = document.createElement(a.tag); + b = Object.getPrototypeOf(c); + } + } + a.native = b; } function f(a) { - return g(w(a.tag), a); + return g(t(a.tag), a); } function g(b, c) { return c.is && b.setAttribute("is", c.is), h(b, c), b.__upgraded__ = !0, a.upgradeSubtree(b), @@ -3164,36 +3190,40 @@ if (function(a) { function j(a) { a.readyCallback && a.readyCallback(); } - function k(a, b) { - m.call(this, a, b, t); - } - function l(a, b) { - m.call(this, a, b, u); + function k(a) { + var b = a.setAttribute; + a.setAttribute = function(a, c) { + l.call(this, a, c, b); + }; + var c = a.removeAttribute; + a.removeAttribute = function(a, b) { + l.call(this, a, b, c); + }; } - function m(a, b, c) { + function l(a, b, c) { var d = this.getAttribute(a); c.apply(this, arguments), this.attributeChangedCallback && this.getAttribute(a) !== d && this.attributeChangedCallback(a, d); } - function n(a, b) { - v[a] = b; + function m(a, b) { + s[a] = b; } - function o(a) { + function n(a) { return function() { return f(a); }; } - function p(a) { - var b = v[a]; - return b ? new b.ctor() : w(a); + function o(a) { + var b = s[a]; + return b ? new b.ctor() : t(a); } - function q(a) { + function p(a) { if (!a.__upgraded__ && a.nodeType === Node.ELEMENT_NODE) { - var b = a.getAttribute("is") || a.localName, c = v[b]; + var b = a.getAttribute("is") || a.localName, c = s[b]; return c && g(a, c); } } - function r(b) { - var c = x.call(this, b); + function q(b) { + var c = u.call(this, b); return a.upgradeAll(c), c; } if (a || (a = window.CustomElements = { @@ -3201,12 +3231,12 @@ if (function(a) { }), a.hasNative = (document.webkitRegister || document.register) && "native" === a.flags.register, a.hasNative) { document.register = document.register || document.webkitRegister; - var s = function() {}; - a.registry = {}, a.upgradeElement = s; + var r = function() {}; + a.registry = {}, a.upgradeElement = r; } else { - var t = HTMLElement.prototype.setAttribute, u = HTMLElement.prototype.removeAttribute, v = {}, w = document.createElement.bind(document), x = Node.prototype.cloneNode; - document.register = b, document.createElement = p, Node.prototype.cloneNode = r, - a.registry = v, a.upgrade = q; + var s = {}, t = document.createElement.bind(document), u = Node.prototype.cloneNode; + document.register = b, document.createElement = o, Node.prototype.cloneNode = q, + a.registry = s, a.upgrade = p; } }(window.CustomElements), function(a) { function b(a, c, d) { @@ -3356,24 +3386,15 @@ if (function(a) { var code = "__componentScript('" + inName + "', function(){" + inScript + "});" + "\n//@ sourceURL=" + url + "\n"; eval(code); } - function mixin(a) { - for (var b = a || {}, c = 1; c < arguments.length; c++) { - var d = arguments[c]; - try { - for (var e in d) copyProperty(e, d, b); - } catch (f) {} - } - return b; - } - function copyProperty(a, b, c) { - var d = getPropertyDescriptor(b, a); - Object.defineProperty(c, a, d); - } - function getPropertyDescriptor(a, b) { - if (a) { - var c = Object.getOwnPropertyDescriptor(a, b); - return c || getPropertyDescriptor(Object.getPrototypeOf(a), b); - } + function mixin(a, b) { + a = a || {}; + try { + Object.getOwnPropertyNames(b).forEach(function(c) { + var d = Object.getOwnPropertyDescriptor(b, c); + d && Object.defineProperty(a, c, d); + }); + } catch (c) {} + return a; } var HTMLElementElement = function(a) { return a.register = HTMLElementElement.prototype.register, parseElementElement(a), @@ -3387,7 +3408,7 @@ if (function(a) { var context; window.__componentScript = function(a, b) { b.call(context); - }, window.HTMLElementElement = HTMLElementElement, window.mixin = mixin; + }, window.HTMLElementElement = HTMLElementElement; }(), function() { function a(a) { return !b(a) && a.parentNode && !d(a); @@ -4543,21 +4564,6 @@ if (function(a) { } } } - function mixin(inObj) { - var obj = inObj || {}; - for (var i = 1; i < arguments.length; i++) { - var p = arguments[i]; - try { - for (var n in p) { - copyProperty(n, p, obj); - } - } catch (x) {} - } - return obj; - } - function copyProperty(inName, inSource, inTarget) { - Object.defineProperty(inTarget, inName, getPropertyDescriptor(inSource, inName)); - } window.$class = $class; window.extend = extend; window.$super = $super; @@ -4572,7 +4578,7 @@ if (function(a) { if (!inElement || !(inElement instanceof HTMLElement)) { throw "First argument to Polymer.register must be an HTMLElement"; } - var prototype = mixin({}, Polymer.base, inPrototype); + var prototype = Platform.mixin({}, Polymer.base, inPrototype); prototype.elementElement = inElement; Polymer.addResolvePath(prototype, inElement); prototype.installTemplate = function() { @@ -4659,6 +4665,7 @@ if (function(a) { return Polymer.job.apply(this, arguments); }, asyncMethod: function(inMethod, inArgs, inTimeout) { + Platform.flush(); var args = inArgs && inArgs.length ? inArgs : [ inArgs ]; var fn = function() { (this[inMethod] || inMethod).apply(this, args); @@ -4914,9 +4921,9 @@ if (function(a) { Object.keys(imperative).forEach(function(p) { inPrototype[p] = imperative[p]; }); - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } - inPrototype[published$] = mixin({}, inherited[published$], published); + inPrototype[published$] = Platform.mixin({}, inherited[published$], published); } function publishInstanceAttributes(element, prototype) { var inherited = element.options.prototype, attributes = element.attributes; @@ -5642,4 +5649,6 @@ Polymer.marshalNodeReferences = function(inRoot) { document.body.style.opacity = 1; }); })(); -//# sourceMappingURL=polymer.sandbox.min.js.map +/* +//@ sourceMappingURL=polymer.sandbox.min.js.map +*/ \ No newline at end of file diff --git a/polymer.sandbox.min.js.map b/polymer.sandbox.min.js.map index 37c5002140..9b6f11687c 100644 --- a/polymer.sandbox.min.js.map +++ b/polymer.sandbox.min.js.map @@ -1 +1 @@ -{"version":3,"file":"polymer.sandbox.min.js","sources":["platform/platform.sandbox.min.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/polymerSyntaxMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","y","f","m","j","h","g","A","__lookupGetter__","B","impl","apply","arguments","configurable","enumerable","i","k","l","create","constructor","n","z","EventTarget","Event","DOMImplementation","o","E","D","F","C","p","x","q","r","s","t","u","v","w","test","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","J","ShadowRoot","localName","shadowRoot","parentNode","defaultView","I","length","shift","insertionParent","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","L","type","renderAllPending","Document","P","NONE","N","defaultPrevented","CAPTURING_PHASE","AT_TARGET","R","BUBBLING_PHASE","K","H","relatedTarget","O","M","removed","capture","handler","handleEvent","onerror","message","console","error","Q","Boolean","S","G","ab","_","db","eb","equals","remove","eventPhase","stopPropagation","stopImmediatePropagation","T","U","V","W","initMouseEvent","X","initFocusEvent","Y","Z","$","initMutationEvent","relatedNode","MouseEvent","bb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","cb","Element","addEventListener","addEventListener_","removeEventListener","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","NodeList","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","ownerDocument","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","preventDefault","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","path","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","isNaN","concat","testingResults","anyChanged","close","deliver","deliverChangeRecords","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","splice","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","ArrayObserver","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","fb","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","gb","hb","pb","hasAttribute","qb","rb","decorate","vb","ob","tb","yb","ref","Ab","Bb","mb","combinator","ib","jb","Cb","Db","abandon","lb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","sb","HTMLSelectElement","kb","nb","template","repeat","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","ub","wb","templateIsDecorated_","xb","zb","createInstance","__instanceCreated","syntax","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","documents","cache","preloadSelectors","loaded","preload","addNodes","resolvePathsInHTML","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","_resolvePathsInHTML","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","match","code","eval","copyProperty","getPropertyDescriptor","HTMLElementElement","__componentScript","selectors","parse","__parsed","parseLink","parseScript","parseStyle","parseElement","parser","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_TYPE","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","abs","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","lastTouches","POINTER_ID","global","mouseHandler","isEventSimulatedFromTouch","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","pointerEnabled","msPointerEnabled","msMaxTouchPoints","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","$class","inExtends","inProperties","super","basePrototype","extend","$super","inBasePrototype","getPropertyDescriptors","inObject","descriptors","inArgs","caller","nom","_nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","inValue","inObj","obj","inSource","inElement","inPrototype","Polymer","elementElement","addResolvePath","installTemplate","staticInstallTemplate","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","findDistributedTarget","inNodes","scope","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","key","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","getBinding","property","propertyForAttribute","unbindModel","child","mustachePattern","bindPattern","Scope","repeatPattern","createBindRepeatBinding","scopeName","scopePath","templateScopeTable","createStringIfTruthyBinding","scopeInfo","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","defaultValue","deserializeValue","properties","lowerCase","inferredType","float","parseFloat","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalPolyfill","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","sheet","fragment","createStyleElementFromSheet","applyStylesToScope","findStyles","installControllerStyles","controllerStyles","styles","queue","findStyleController","shimPolyfillDirectives","list","inFn","queueFlush","flushing","eltProto","matchesSelector","inSelector","descriptor","styleList","selector","matcher","STYLE_SELECTOR","arrayFromNodeList","templateNodes","nodeList","stylizer","hostRuleRe","selectorRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","selectorReSuffix","hostRe","cacheDefinition","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","cssText","convertAtHostStyles","addCssToDocument","applyPseudoScoping","substring","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","rules","pseudoScopeRules","pseudoScopeSelector","media","mediaText","preserveComments","stripCssComments","css","getSheet","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","stop","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"polymer.sandbox.min.js","sources":["../platform/platform.sandbox.min.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.js","src/polymerSyntaxMDV.js","src/attrs.js","src/marshal.js","src/events.js","src/observeProperties.js","src/styling.js","src/shimStyling.js","src/path.js","src/job.js","src/boot.js"],"names":["PointerGestureEvent","a","b","c","d","document","createEvent","e","bubbles","cancelable","Object","keys","forEach","initEvent","preventTap","this","window","Platform","logFlags","flags","location","search","slice","split","shadow","shadowdom","polyfill","HTMLElement","prototype","webkitCreateShadowRoot","SideTable","WeakMap","navigator","userAgent","indexOf","defineProperty","hasOwnProperty","Date","getTime","name","Math","random","set","value","writable","get","call","delete","ShadowDOMPolyfill","Error","getOwnPropertyNames","getOwnPropertyDescriptor","__proto__","getPrototypeOf","y","f","m","j","h","g","A","__lookupGetter__","B","impl","apply","arguments","configurable","enumerable","i","k","l","create","constructor","n","z","EventTarget","Event","DOMImplementation","o","E","D","F","C","p","x","q","r","s","t","u","v","w","test","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","J","ShadowRoot","localName","shadowRoot","parentNode","defaultView","I","length","shift","insertionParent","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","L","type","renderAllPending","Document","P","NONE","N","defaultPrevented","CAPTURING_PHASE","AT_TARGET","R","BUBBLING_PHASE","K","H","relatedTarget","O","M","removed","capture","handler","handleEvent","onerror","message","console","error","Q","Boolean","S","G","ab","_","db","eb","equals","remove","eventPhase","stopPropagation","stopImmediatePropagation","T","U","V","W","initMouseEvent","X","initFocusEvent","Y","Z","$","initMutationEvent","relatedNode","MouseEvent","bb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","cb","Element","addEventListener","addEventListener_","removeEventListener","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","NodeList","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","ownerDocument","createTextNode","childNodes","cloneNode","querySelector","querySelectorAll","firstElementChild","matches","nextElementSibling","getElementsByTagName","getElementsByClassName","getElementsByTagNameNS","namespaceURI","GetElementsByInterface","SelectorsInterface","lastElementChild","childElementCount","children","previousElementSibling","ChildNodeInterface","ParentNodeInterface","CharacterData","data","mozMatchesSelector","msMatchesSelector","webkitMatchesSelector","createShadowRoot","getRendererForHost","setAttribute","replace","tagName","toLowerCase","attributes","TEXT_NODE","nodeValue","COMMENT_NODE","createElement","innerHTML","area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr","outerHTML","getInnerHTML","setInnerHTML","HTMLContentElement","select","getAttribute","String","olderShadowRoot_","HTMLShadowElement","olderShadowRoot","implementation","createHTMLDocument","HTMLTemplateElement","content","HTMLUnknownElement","createComment","Comment","DocumentFragment","Text","nextOlderShadowTreeTable","getElementById","filter","trim","render","host","dirty","associateNode","RegExp","join","treeComposition","removeAllChildNodes","renderNode","invalidate","renderInsertionPoint","renderShadowInsertionPoint","renderAsAnyDomTree","renderFallbackContent","getDistributedNodes","visual","adoptNode","write","HTMLBodyElement","HTMLDocument","HTMLHeadElement","getComputedStyle","map","MutationObserver","WebKitMutationObserver","MutationRecord","addedNodes","removedNodes","observe","disconnect","takeRecords","applet","audio","body","canvas","dl","datalist","dir","div","fieldset","font","form","frame","frameset","head","h1","html","iframe","li","label","legend","menu","menuitem","meter","del","ol","object","optgroup","option","output","pre","progress","script","span","style","caption","table","tr","thead","tbody","textarea","title","ul","video","knownElements","defineProperties","webkitShadowRoot","templateContent","bootstrap","_content","Function","bind","Array","DOMTokenList","add","toggle","HTMLCollection","performance","now","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","setTimeout","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","clearTimeout","createDOM","Inspector","sinspect","open","api","shadowize","href","idx","onclick","preventDefault","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","path","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","isNaN","concat","testingResults","anyChanged","close","deliver","deliverChangeRecords","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","splice","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","ArrayObserver","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","fb","gb","ob","hasAttribute","pb","qb","decorate","ub","nb","sb","xb","zb","Ab","lb","combinator","hb","ib","Bb","Cb","abandon","kb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","rb","HTMLSelectElement","jb","mb","template","repeat","ref","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","tb","vb","templateIsDecorated_","wb","yb","createInstance","__instanceCreated","syntax","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","HTMLImports","callbacks","load","next","nextContext","parent","postMessage","url","bust","debug","receive","err","resource","xhr","_URL","baseURI","documents","cache","preloadSelectors","loader","loaded","preload","addNodes","resolvePathsInHTML","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","_resolvePathsInHTML","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","attrName","attrChange","ADDITION","prevValue","JsMutationObserver","lifecycle","ancestry","extends","ctor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","dom","insertedCallback","__inserted","warn","removedCallback","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","match","code","eval","HTMLElementElement","__componentScript","selectors","parse","__parsed","parseLink","parseScript","parseStyle","parseElement","parser","elapsed","canTarget","targetingShadow","searchRoot","findTarget","targetFinding","PointerEventsPolyfill","rule","buttons","which","pressure","pointerId","width","height","tiltX","tiltY","pointerType","hwTimestamp","isPrimary","PointerEvent","ids","pointers","has","clear","PointerMap","targets","handledEvents","scrollType","pointermap","events","eventMap","eventSources","registerSource","registerTarget","listen","boundHandler","unregisterTarget","unlisten","down","fireEvent","move","up","enter","leave","over","out","cancel","leaveOut","enterOver","eventHandler","addEvent","removeEvent","makeEvent","cloneEvent","getTarget","captureInfo","id","setCapture","releaseCapture","implicitRelease","asyncDispatchEvent","dispatcher","ATTRIB","SELECTOR","EMITTER","XSCROLLER","YSCROLLER","SCROLLER","OBSERVER_INIT","watchSubtree","enableOnSubtree","installOnLoad","installNewSubtree","findElements","addElement","touchActionToScrollType","exec","removeElement","elementChanged","concatLists","flattenMutationTree","reduce","mutationWatcher","mutationHandler","installer","setTouchAction","POINTER_TYPE","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","abs","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","lastTouches","POINTER_ID","global","mouseHandler","isEventSimulatedFromTouch","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","pointerEnabled","msPointerEnabled","msMaxTouchPoints","msSetPointerCapture","msReleasePointerCapture","setPointerCapture","releasePointerCapture","tapPrevented","utils","LCA","find","depth","walk","findLCA","PointerGestures","handlers","recognizers","registerRecognizer","addHandler","makeQueue","runQueue","currentPointerId","inTarget","tap","HOLD_DELAY","WIGGLE_THRESHOLD","heldPointer","holdJob","pulse","timeStamp","held","fireHold","clearInterval","pointerdown","pointerup","pointercancel","pointermove","holdTime","clampDir","calcPositionDelta","pageX","pageY","fireTrack","downEvent","lastMoveEvent","xDirection","yDirection","dx","dy","ddx","ddy","trackInfo","_releaseTarget","downTarget","tracking","MIN_VELOCITY","MAX_QUEUE","moveQueue","addMove","fireFlick","sqrt","calcAngle","xVelocity","yVelocity","velocity","angle","majorAxis","atan2","PI","$class","inExtends","inProperties","super","basePrototype","extend","$super","inBasePrototype","getPropertyDescriptors","inObject","descriptors","getPropertyDescriptor","inArgs","caller","nom","_nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","inValue","inElement","inPrototype","Polymer","elementElement","addResolvePath","installTemplate","staticInstallTemplate","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","findDistributedTarget","inNodes","scope","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","trackingTable","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","key","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","getBinding","property","propertyForAttribute","unbindModel","child","mustachePattern","bindPattern","Scope","repeatPattern","createBindRepeatBinding","scopeName","scopePath","templateScopeTable","createStringIfTruthyBinding","scopeInfo","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","defaultValue","deserializeValue","properties","lowerCase","inferredType","float","parseFloat","nodes","prefix","inAttributes","eventDelegates","parseEvents","inNode","inEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","bindAccumulatedEvents","inListener","listenHost","listenLocal","findController","inHandlerName","inEvent","cancelBubble","on","listenLocalPolyfill","some","handleHostEvent","eventHandledTable","getHandledListForEvent","handledList","findHostHandler","inEventName","OBSERVE_SUFFIX","observeProperty","isObservable","inNew","inOld","propertyChanged","inOldValue","doc","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","sheet","fragment","createStyleElementFromSheet","applyStylesToScope","findStyles","installControllerStyles","controllerStyles","styles","queue","findStyleController","shimPolyfillDirectives","list","inFn","queueFlush","flushing","eltProto","matchesSelector","inSelector","descriptor","styleList","selector","matcher","STYLE_SELECTOR","arrayFromNodeList","templateNodes","nodeList","stylizer","hostRuleRe","selectorRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","selectorReSuffix","hostRe","cacheDefinition","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","cssText","convertAtHostStyles","addCssToDocument","applyPseudoScoping","substring","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","rules","pseudoScopeRules","pseudoScopeSelector","media","mediaText","preserveComments","stripCssComments","css","getSheet","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","stop","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/src/attrs.js b/src/attrs.js index ac6a325425..6d7f035e10 100644 --- a/src/attrs.js +++ b/src/attrs.js @@ -54,10 +54,10 @@ inPrototype[p] = imperative[p]; }); // combine declaratively and imperatively published properties - published = mixin(published, imperative); + published = Platform.mixin(published, imperative); } // combine with inherited published properties - inPrototype[published$] = mixin( + inPrototype[published$] = Platform.mixin( {}, inherited[published$], published diff --git a/src/base.js b/src/base.js index 8fa8bdf350..a55eff094f 100644 --- a/src/base.js +++ b/src/base.js @@ -74,6 +74,9 @@ * @param {number} timeout */ asyncMethod: function(inMethod, inArgs, inTimeout) { + // when polyfilling Object.observe, ensure changes + // propagate before executing the async method + Platform.flush(); var args = (inArgs && inArgs.length) ? inArgs : [inArgs]; var fn = function() { (this[inMethod] || inMethod).apply(this, args); diff --git a/src/events.js b/src/events.js index 1d21fe5be8..e964de1da8 100644 --- a/src/events.js +++ b/src/events.js @@ -17,7 +17,7 @@ var prefix = "on-"; var parseHostEvents = function(inAttributes, inPrototype) { -// inDefinition.eventDelegates = mixin(inDefinition.eventDelegates, +// inDefinition.eventDelegates = Platform.mixin(inDefinition.eventDelegates, // parseEvents(inAttributes)); inPrototype.eventDelegates = parseEvents(inAttributes); }; @@ -156,7 +156,6 @@ } }; - function listenLocal(inEvent) { if (inEvent.cancelBubble) { return; diff --git a/src/oop.js b/src/oop.js index d2611c7038..e2b65671e4 100644 --- a/src/oop.js +++ b/src/oop.js @@ -140,31 +140,6 @@ } } } - - // mixin - - function mixin(inObj/*, inProps, inMoreProps, ...*/) { - var obj = inObj || {}; - for (var i=1; i Date: Wed, 5 Jun 2013 20:01:12 -0700 Subject: [PATCH 4/6] add 'constructor' to cloned-attribute blacklist, make that blacklist available via exports, whitespace changes --- src/attrs.js | 29 ++++++++++++++--------------- test/html/attr-mustache.html | 1 + 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/attrs.js b/src/attrs.js index 6d7f035e10..8a024fd140 100644 --- a/src/attrs.js +++ b/src/attrs.js @@ -39,8 +39,8 @@ } // our suffix prototype chain (inPrototype is 'own') var inherited = inElement.options.prototype; - // install 'attributes' properties on the prototype, unless they - // are already defaulted + // install 'attributes' as properties on the prototype, but don't + // override Object.keys(published).forEach(function(p) { if (!(p in inPrototype) && !(p in inherited)) { inPrototype[p] = published[p]; @@ -66,22 +66,22 @@ function publishInstanceAttributes(element, prototype) { // our suffix prototype chain (prototype is 'own') - var inherited = element.options.prototype, attributes = element.attributes; - var a$ = prototype.instanceAttributes = Object.create(inherited.instanceAttributes || null); + var inherited = element.options.prototype; + var attributes = element.attributes; + var a$ = prototype.instanceAttributes = + Object.create(inherited.instanceAttributes || null); for (var i=0, l=attributes.length, a; (i +