From cc1a5c3d9c3c8ff6f0f552a730f61c4d4c852ec9 Mon Sep 17 00:00:00 2001 From: "Scott J. Miles" Date: Fri, 14 Jun 2013 00:18:27 -0700 Subject: [PATCH 01/53] slight refactoring --- src/attrs.js | 21 ++++++------------ src/oop.js | 57 +++++++++++++++++++++++++------------------------ src/register.js | 3 ++- 3 files changed, 37 insertions(+), 44 deletions(-) diff --git a/src/attrs.js b/src/attrs.js index 7616a6a21b..569a6a9dc1 100644 --- a/src/attrs.js +++ b/src/attrs.js @@ -65,18 +65,16 @@ } function publishInstanceAttributes(element, prototype) { + var attributes = element.attributes; // our suffix prototype chain (prototype is 'own') var inherited = element.options.prototype; - var attributes = element.attributes; - var a$ = prototype.instanceAttributes = - Object.create(inherited.instanceAttributes || null); + var a$ = Object.create(inherited.instanceAttributes || null); for (var i=0, l=attributes.length, a; (i Date: Wed, 19 Jun 2013 11:30:06 -0700 Subject: [PATCH 02/53] refactor polymer into polymer-element --- polymer.js | 42 +- polymer.min.js | 35 - polymer.min.js.map | 1 - polymer.native.min.js | 34 - polymer.native.min.js.map | 1 - polymer.sandbox.min.js | 6566 ------------------------------------ polymer.sandbox.min.js.map | 1 - smoke/index.html | 20 - smoke/x-bar.html | 21 - smoke/x-foo.html | 23 - smoke/x-zot.html | 14 - src/attrs.js | 173 - src/base.js | 191 -- src/bindMDV.js | 182 - src/bindProperties.js | 27 - src/boot.js | 20 - src/build.js | 8 - src/events.js | 276 -- src/job.js | 28 +- src/lang.js | 33 +- src/marshal.js | 22 - src/observeProperties.js | 52 - src/oop.js | 101 - src/path.js | 33 - src/register.js | 186 - src/shimStyling.js | 31 +- src/styling.js | 204 -- src/trackObservers.js | 55 - 28 files changed, 80 insertions(+), 8300 deletions(-) delete mode 100644 polymer.min.js delete mode 100644 polymer.min.js.map delete mode 100644 polymer.native.min.js delete mode 100644 polymer.native.min.js.map delete mode 100644 polymer.sandbox.min.js delete mode 100644 polymer.sandbox.min.js.map delete mode 100644 smoke/index.html delete mode 100644 smoke/x-bar.html delete mode 100644 smoke/x-foo.html delete mode 100644 smoke/x-zot.html delete mode 100644 src/attrs.js delete mode 100644 src/base.js delete mode 100644 src/bindMDV.js delete mode 100644 src/bindProperties.js delete mode 100644 src/boot.js delete mode 100644 src/build.js delete mode 100644 src/events.js delete mode 100644 src/marshal.js delete mode 100644 src/observeProperties.js delete mode 100644 src/oop.js delete mode 100644 src/path.js delete mode 100644 src/register.js delete mode 100644 src/styling.js delete mode 100644 src/trackObservers.js diff --git a/polymer.js b/polymer.js index 6bfd596799..f7c4f2ba56 100644 --- a/polymer.js +++ b/polymer.js @@ -8,25 +8,31 @@ var thisFile = 'polymer.js'; var scopeName = 'Polymer'; + var modules = [ - '../platform/platform.js', - 'src/lang.js', - 'src/oop.js', - 'src/register.js', - 'src/base.js', - 'src/trackObservers.js', - 'src/bindProperties.js', - 'src/bindMDV.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' -]; + "../platform/platform.js" +].concat([ + "shimStyling.js", + "lang.js", + "dom.js", + "deserialize.js", + "job.js", + "super.js", + "api.js", + "instance-events.js", + "instance-attributes.js", + "instance-properties.js", + "instance-mdv.js", + "instance-base.js", + "instance-styles.js", + "declarative-path.js", + "declarative-events.js", + "declarative-attributes.js", + "declarative-styles.js", + "polymer-element.js" +].map(function(n) { + return "src/" + n; +})); // export diff --git a/polymer.min.js b/polymer.min.js deleted file mode 100644 index 93dc0d2a6a..0000000000 --- a/polymer.min.js +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright (c) 2012 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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=z.get(b);if(c)return c;var d=e(b),f=n(d);return k(b,f,a),f}function f(a,b){i(a,b,!0)}function g(a,b){i(b,a,!1)}function h(a){return/^on[a-z]+$/.test(a)}function i(b,c,d){Object.getOwnPropertyNames(b).forEach(function(e){if(!(e in c)){B&&b.__lookupGetter__(e);var f;try{f=Object.getOwnPropertyDescriptor(b,e)}catch(g){f=C}var i,j;if(d&&"function"==typeof f.value)return c[e]=function(){return this.impl[e].apply(this.impl,arguments)},void 0;var k=h(e);i=k?a.getEventHandlerGetter(e):function(){return this.impl[e]},(f.writable||f.set)&&(j=k?a.getEventHandlerSetter(e):function(a){this.impl[e]=a}),Object.defineProperty(c,e,{get:i,set:j,configurable:f.configurable,enumerable:f.enumerable})}})}function j(a,b,c){var e=a.prototype;k(e,b,c),d(b,a)}function k(a,c,d){var e=c.prototype;b(void 0===z.get(a)),z.set(a,c),f(a,e),d&&g(e,d)}function l(a,b){return z.get(b.prototype)===a}function m(a){var b=Object.getPrototypeOf(a),c=e(b),d=n(c);return k(b,d,a),d}function n(a){function b(b){a.call(this,b)}return b.prototype=Object.create(a.prototype),b.prototype.constructor=b,b}function o(a){return a instanceof A.EventTarget||a instanceof A.Event||a instanceof A.DOMImplementation}function p(a){return a instanceof F||a instanceof E||a instanceof G||a instanceof D}function q(a){if(null===a)return null;b(p(a));var c=y.get(a);if(!c){var d=e(a);c=new d(a),y.set(a,c)}return c}function r(a){return null===a?null:(b(o(a)),a.impl)}function s(a){return a&&o(a)?r(a):a}function t(a){return a&&!o(a)?q(a):a}function u(a,c){null!==c&&(b(p(a)),b(void 0===c||o(c)),y.set(a,c))}function v(a,b,c){Object.defineProperty(a.prototype,b,{get:c,configurable:!0,enumerable:!0})}function w(a,b){v(a,b,function(){return q(this.impl[b])})}function x(a,b){a.forEach(function(a){b.forEach(function(b){a.prototype[b]=function(){var a=q(this);return a[b].apply(a,arguments)}})})}var y=new SideTable,z=new SideTable,A=Object.create(null);Object.getOwnPropertyNames(window);var B=/Firefox/.test(navigator.userAgent),C={get:function(){},set:function(){},configurable:!0,enumerable:!0},D=DOMImplementation,E=Event,F=Node,G=Window;a.assert=b,a.defineGetter=v,a.defineWrapGetter=w,a.forwardMethodsToWrapper=x,a.isWrapperFor=l,a.mixin=c,a.registerObject=m,a.registerWrapper=j,a.rewrap=u,a.unwrap=r,a.unwrapIfNeeded=s,a.wrap=q,a.wrapIfNeeded=t,a.wrappers=A}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a){return a instanceof M.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)&&L(b)||null}function f(f,g,h){if(h.length)return h.shift();if(b(f))return j(f)||a.getHostForShadowRoot(f);var i=a.eventParentsTable.get(f);if(i){for(var k=1;k=0;b--)if(!c(a[b]))return a[b];return null}function i(d,e){for(var g=[];d;){for(var i=[],j=e,l=void 0;j;){var n=null;if(i.length){if(c(j)&&(n=h(i),k(l))){var o=i[i.length-1];i.push(o)}}else i.push(j);if(m(j,d))return i[i.length-1];b(j)&&i.pop(),l=j,j=f(j,n,g)}d=b(d)?a.getHostForShadowRoot(d):d.parentNode}}function j(b){return a.insertionParentTable.get(b)}function k(a){return j(a)}function l(a){for(var b;b=a.parentNode;)a=b;return a}function m(a,b){return l(a)===l(b)}function n(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 o(b){if(!O.get(b)){O.set(b,!0),n(b.type)||a.renderAllPending();var c=L(b.target),d=L(b);return p(d,c)}}function p(a,b){var c=g(b);return"load"===a.type&&2===c.length&&c[0].target instanceof M.Document&&c.shift(),W.set(a,c),q(a,c)&&r(a,c)&&s(a,c),S.set(a,v.NONE),Q.set(a,null),a.defaultPrevented}function q(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=v.CAPTURING_PHASE,!t(b[d],a,c)))return!1}return!0}function r(a,b){var c=v.AT_TARGET;return t(b[0],a,c)}function s(a,b){for(var c,d=a.bubbles,e=1;e=g;g++)if(d||(d=b[g].currentTarget===e),d){var h=b[g].currentTarget;(g!==f||h instanceof M.Node)&&(a[c++]=h)}a.length=c}return a},stopPropagation:function(){T.set(this,!0)},stopImmediatePropagation:function(){T.set(this,!0),U.set(this,!0)}},J(X,v,document.createEvent("Event"));var Y=x("UIEvent",v),Z=x("CustomEvent",v),$={get relatedTarget(){return R.get(this)||L(K(this).relatedTarget)}},_=I({initMouseEvent:y("initMouseEvent",14)},$),ab=I({initFocusEvent:y("initFocusEvent",5)},$),bb=x("MouseEvent",Y,_),cb=x("FocusEvent",Y,ab),db=x("MutationEvent",v,{initMutationEvent:y("initMutationEvent",3),get relatedNode(){return L(this.impl.relatedNode)}}),eb=Object.create(null),fb=function(){try{new window.MouseEvent("click")}catch(a){return!1}return!0}();if(!fb){var gb=function(a,b,c){if(c){var d=eb[c];b=I(I({},d),b)}eb[a]=b};gb("Event",{bubbles:!1,cancelable:!1}),gb("CustomEvent",{detail:null},"Event"),gb("UIEvent",{view:null,detail:0},"Event"),gb("MouseEvent",{screenX:0,screenY:0,clientX:0,clientY:0,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null},"UIEvent"),gb("FocusEvent",{relatedTarget:null},"UIEvent")}var hb=window.EventTarget,ib=["addEventListener","removeEventListener","dispatchEvent"];[Element,Window,Document].forEach(function(a){var b=a.prototype;ib.forEach(function(a){Object.defineProperty(b,a+"_",{value:b[a]})})}),B.prototype={addEventListener:function(a,b,c){if(A(b)){var d=new u(a,b,c),e=N.get(this);if(e){for(var f=0;fd;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;he;e++)d.appendChild(m(b[e]));return d}function e(a){for(var b=a.firstChild;b;){j(b.parentNode===a);var c=b.nextSibling,d=m(b),e=d.parentNode;e&&s.call(e,d),b.previousSibling_=b.nextSibling_=b.parentNode_=null,b=c}a.firstChild_=a.lastChild_=null}function f(a){j(a instanceof o),g.call(this,a),this.parentNode_=void 0,this.firstChild_=void 0,this.lastChild_=void 0,this.nextSibling_=void 0,this.previousSibling_=void 0}var g=a.wrappers.EventTarget,h=a.wrappers.NodeList,i=a.defineWrapGetter,j=a.assert,k=a.mixin,l=a.registerWrapper,m=a.unwrap,n=a.wrap,o=window.Node,p=o.prototype.appendChild,q=o.prototype.insertBefore,r=o.prototype.replaceChild,s=o.prototype.removeChild,t=o.prototype.compareDocumentPosition;f.prototype=Object.create(g.prototype),k(f.prototype,{appendChild:function(a){b(a),this.invalidateShadowRenderer();var e=this.lastChild,f=null,g=c(a,this,e,f);return this.lastChild_=g[g.length-1],e||(this.firstChild_=g[0]),p.call(this.impl,d(this,g)),a},insertBefore:function(a,e){if(!e)return this.appendChild(a);b(a),b(e),j(e.parentNode===this),this.invalidateShadowRenderer();var f=e.previousSibling,g=e,h=c(a,this,f,g);this.firstChild===e&&(this.firstChild_=h[0]);var i=m(e),k=i.parentNode;return k&&q.call(k,d(this,h),i),a},removeChild:function(a){if(b(a),a.parentNode!==this)throw new Error("NotFoundError");this.invalidateShadowRenderer();var c=this.firstChild,d=this.lastChild,e=a.nextSibling,f=a.previousSibling,g=m(a),h=g.parentNode;return h&&s.call(h,g),c===a&&(this.firstChild_=e),d===a&&(this.lastChild_=f),f&&(f.nextSibling_=e),e&&(e.previousSibling_=f),a.previousSibling_=a.nextSibling_=a.parentNode_=null,a},replaceChild:function(a,e){if(b(a),b(e),e.parentNode!==this)throw new Error("NotFoundError");this.invalidateShadowRenderer();var f=e.previousSibling,g=e.nextSibling;g===a&&(g=a.nextSibling);var h=c(a,this,f,g);this.firstChild===e&&(this.firstChild_=h[0]),this.lastChild===e&&(this.lastChild_=h[h.length-1]),e.previousSibling_=null,e.nextSibling_=null,e.parentNode_=null;var i=m(e);return i.parentNode&&r.call(i.parentNode,d(this,h),i),e},hasChildNodes:function(){return null===this.firstChild},get parentNode(){return void 0!==this.parentNode_?this.parentNode_:n(this.impl.parentNode)},get firstChild(){return void 0!==this.firstChild_?this.firstChild_:n(this.impl.firstChild)},get lastChild(){return void 0!==this.lastChild_?this.lastChild_:n(this.impl.lastChild)},get nextSibling(){return void 0!==this.nextSibling_?this.nextSibling_:n(this.impl.nextSibling)},get previousSibling(){return void 0!==this.previousSibling_?this.previousSibling_:n(this.impl.previousSibling)},get parentElement(){for(var a=this.parentNode;a&&a.nodeType!==f.ELEMENT_NODE;)a=a.parentNode;return a},get textContent(){for(var a="",b=this.firstChild;b;b=b.nextSibling)a+=b.textContent;return a},set textContent(a){if(e(this),this.invalidateShadowRenderer(),""!==a){var b=this.impl.ownerDocument.createTextNode(a);this.appendChild(b)}},get childNodes(){for(var a=new h,b=0,c=this.firstChild;c;c=c.nextSibling)a[b++]=c;return a.length=b,a},cloneNode:function(a){if(!this.invalidateShadowRenderer())return n(this.impl.cloneNode(a));var b=n(this.impl.cloneNode(!1));if(a)for(var c=this.firstChild;c;c=c.nextSibling)b.appendChild(c.cloneNode(!0));return b},contains:function(a){if(!a)return!1;if(a===this)return!0;var b=a.parentNode;return b?this.contains(b):!1},compareDocumentPosition:function(a){return t.call(this.impl,m(a))}}),i(f,"ownerDocument"),l(o,f,document.createDocumentFragment()),delete f.prototype.querySelector,delete f.prototype.querySelectorAll,f.prototype=k(Object.create(g.prototype),f.prototype),a.wrappers.Node=f}(this.ShadowDOMPolyfill),function(a){"use strict";function b(a,c){for(var d,e=a.firstElementChild;e;){if(e.matches(c))return e;if(d=b(e,c))return d;e=e.nextElementSibling}return null}function c(a,b,d){for(var e=a.firstElementChild;e;)e.matches(b)&&(d[d.length++]=e),c(e,b,d),e=e.nextElementSibling;return d}var d={querySelector:function(a){return b(this,a)},querySelectorAll:function(a){return c(this,a,new NodeList)}},e={getElementsByTagName:function(a){return this.querySelectorAll(a)},getElementsByClassName:function(a){return this.querySelectorAll("."+a)},getElementsByTagNameNS:function(a,b){if("*"===a)return this.getElementsByTagName(b);for(var c=new NodeList,d=this.getElementsByTagName(b),e=0,f=0;e";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){E(a instanceof D);for(var d=a.firstChild;d;d=d.nextSibling)b(d);c(a)}function e(a){var b=G(a);d(a),b.textContent=""}function f(a,c){var e=G(a),f=G(c);f.nodeType===D.DOCUMENT_FRAGMENT_NODE?d(c):(h(c),b(c)),a.lastChild_=a.lastChild,a.lastChild===a.firstChild&&(a.firstChild_=a.firstChild);var g=H(e.lastChild);g&&(g.nextSibling_=g.nextSibling),e.appendChild(f)}function g(a,c){var d=G(a),e=G(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=G(a),c=b.parentNode;c&&g(H(c),a)}function i(a,b){k(b).push(a),A(a,b);var c=J.get(a);c||J.set(a,c=[]),c.push(b)}function j(a){I.set(a,[])}function k(a){return I.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},Object.defineProperties(HTMLElement.prototype,{shadowRoot:{get:function(){return this.webkitShadowRoot}},createShadowRoot:{value:function(){return this.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(){function a(a){"splice"===a[0].type&&"splice"===a[1].type&&(b=!0)}if("function"!=typeof Object.observe&&"function"!=typeof Array.observe)return!1;var b=!1,c=[0];return Array.observe(c,a),c[1]=1,c.length=0,Object.deliverChangeRecords(a),b}function c(a){return+a===a>>>0}function d(a){return+a}function e(a){return a===Object(a)}function f(a,b){return a===b?0!==a||1/a===1/b:O(a)&&O(b)?!0:a!==a&&b!==b}function g(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:W.test(a))}function h(a){return""==a.trim()?this:c(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function i(a){for(var b=0;X>b&&a.check();)a.report(),b++}function j(a){for(var b in a)return!1;return!0}function k(a){return j(a.added)&&j(a.removed)&&j(a.changed)}function l(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 m(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 n(a){this.callback=a,this.reporting=!0,K&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,o(this),this.connect(),this.sync(!0)}function o(a){Z&&(Y.push(a),n._allObserversCount++)}function p(a){if(Z)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 v(a,b){var c=b.toString();return _[c]||(_[c]=u(b)),_[c](a)}function w(b,c,d,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=d[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 B(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(bb):(e.push(cb),d=g),b--,c--):f==h?(e.push(eb),b--,d=h):(e.push(db),c--,d=i)}else e.push(eb),b--;else e.push(db),c--;return e.reverse(),e}function C(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function D(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function E(a,b,c){return{index:a,removed:b,addedCount:c}}function F(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=C(a,d,i)),c==a.length&&f==d.length&&(h=D(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=E(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[E(b,[],c-b)];for(var k=B(A(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function H(a,b,c,d){for(var e=E(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;H(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function J(a,b){var c=[];return I(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(F(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var K=b(),L=!1;try{var M=new Function("","return true;");L=M()}catch(N){}var O=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},P="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},Q="[$_a-zA-Z]",R="[$_a-zA-Z0-9]",S=Q+"+"+R+"*",T="(?:[0-9]|[1-9]+[0-9]+)",U="(?:"+S+"|"+T+")",V="(?:"+U+")(?:\\."+U+")*",W=new RegExp("^"+V+"$");h.prototype=P({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);n._allObserversCount=Y.length,$=!1}},Z&&(a.Platform.clearObservers=function(){Y=[]}),q.prototype=P({__proto__:n.prototype,connect:function(){K&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=m(this.object))},check:function(a){var b,c;if(K){if(!a)return!1;c={},b=z(this.object,a,c)}else c=this.oldObject,b=l(this.object,this.oldObject);return k(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){K?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),r.prototype=P({__proto__:q.prototype,connect:function(){K&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=this.object.slice())},check:function(a){var b;if(K){if(!a)return!1;b=J(this.object,a)}else b=F(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),r.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];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(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 J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a){var b=xb.get(a);b||(b=function(){Q(a,a.model,a.bindingDelegate)},xb.set(a,b)),ob(b)}function L(a,b){this.type=a,this.value=b}function M(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new L(yb,a.slice(e)));break}if(d>0&&d>e&&b.push(new L(yb,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==yb?g.value+=f:b.push(new L(yb,f));break}var h=a.slice(e,d).trim();b.push(new L(zb,h)),e=d+2}return b}function N(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function O(a,b,c,d,e){var f=M(c);if(f.length&&(1!=f.length||f[0].type!=yb)){if(1==f.length&&f[0].type==zb)return N(a,b,d,f[0].value,e),void 0;for(var g=new V,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++ +"__")},_.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 ab=new _;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 bb=new _;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 cb,db=new _,eb=new _;!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),cb=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=$({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=$({__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=eb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=$({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(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;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var fb="bind",gb="repeat",hb="if",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=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;g=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;bb>ab&&d(_.charCodeAt(ab));)++ab}function j(){var a,b;for(a=ab++;bb>ab&&(b=_.charCodeAt(ab),g(b));)++ab;return _.slice(a,ab)}function k(){var a,b,c;return a=ab,b=j(),c=1===b.length?X.Identifier:h(b)?X.Keyword:"null"===b?X.NullLiteral:"true"===b||"false"===b?X.BooleanLiteral:X.Identifier,{type:c,value:b,range:[a,ab]}}function l(){var a,b,c,d,e=ab,f=_.charCodeAt(ab),g=_[ab];switch(f){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ab,{type:X.Punctuator,value:String.fromCharCode(f),range:[e,ab]};default:if(a=_.charCodeAt(ab+1),61===a)switch(f){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 94:case 124:return ab+=2,{type:X.Punctuator,value:String.fromCharCode(f)+String.fromCharCode(a),range:[e,ab]};case 33:case 61:return ab+=2,61===_.charCodeAt(ab)&&++ab,{type:X.Punctuator,value:_.slice(e,ab),range:[e,ab]}}}return b=_[ab+1],c=_[ab+2],d=_[ab+3],">"===g&&">"===b&&">"===c&&"="===d?(ab+=4,{type:X.Punctuator,value:">>>=",range:[e,ab]}):">"===g&&">"===b&&">"===c?(ab+=3,{type:X.Punctuator,value:">>>",range:[e,ab]}):"<"===g&&"<"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:"<<=",range:[e,ab]}):">"===g&&">"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:">>=",range:[e,ab]}):g===b&&"+-<>&|".indexOf(g)>=0?(ab+=2,{type:X.Punctuator,value:g+b,range:[e,ab]}):"<>=!+-*%&|^/".indexOf(g)>=0?(++ab,{type:X.Punctuator,value:g,range:[e,ab]}):(s({},$.UnexpectedToken,"ILLEGAL"),void 0)}function m(){var a,d,e;if(e=_[ab],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=ab,a="","."!==e){for(a=_[ab++],e=_[ab],"0"===a&&e&&c(e.charCodeAt(0))&&s({},$.UnexpectedToken,"ILLEGAL");c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("."===e){for(a+=_[ab++];c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("e"===e||"E"===e)if(a+=_[ab++],e=_[ab],("+"===e||"-"===e)&&(a+=_[ab++]),c(_.charCodeAt(ab)))for(;c(_.charCodeAt(ab));)a+=_[ab++];else s({},$.UnexpectedToken,"ILLEGAL");return f(_.charCodeAt(ab))&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.NumericLiteral,value:parseFloat(a),range:[d,ab]}}function n(){var a,c,d,f="",g=!1;for(a=_[ab],b("'"===a||'"'===a,"String literal must starts with a quote"),c=ab,++ab;bb>ab;){if(d=_[ab++],d===a){a="";break}if("\\"===d)if(d=_[ab++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===_[ab]&&++ab;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.StringLiteral,value:f,octal:g,range:[c,ab]}}function o(a){return a.type===X.Identifier||a.type===X.Keyword||a.type===X.BooleanLiteral||a.type===X.NullLiteral}function p(){var a;return i(),ab>=bb?{type:X.EOF,range:[ab,ab]}:(a=_.charCodeAt(ab),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(_.charCodeAt(ab+1))?m():l():c(a)?m():l())}function q(){var a;return a=db,ab=a.range[1],db=p(),ab=a.range[1],a}function r(){var a;a=ab,db=p(),ab=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(cab&&(a.push(O()),!v(")"));)u(",");return u(")"),a}function F(){var a;return a=q(),o(a)||t(a),cb.createIdentifier(a.value)}function G(){return u("."),F()}function H(){var a;return u("["),a=P(),u("]"),a}function I(){var a,b,c;for(a=D();v(".")||v("[")||v("(");)v("(")?(b=E(),a=cb.createCallExpression(a,b)):v("[")?(c=H(),a=cb.createMemberExpression("[",a,c)):(c=G(),a=cb.createMemberExpression(".",a,c));return a}function J(){var a;return a=I(),db.type===X.Punctuator&&(v("++")||v("--"))&&s({},$.UnexpectedToken),a}function K(){var a,b;return db.type!==X.Punctuator&&db.type!==X.Keyword?b=J():v("++")||v("--")?s({},$.UnexpectedToken):v("+")||v("-")||v("~")||v("!")?(a=q(),b=K(),b=cb.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},$.UnexpectedToken):b=J(),b}function L(a,b){var c=0;if(a.type!==X.Punctuator&&a.type!==X.Keyword)return 0;switch(a.value){case"||":c=1;break;case"&&":c=2;break;case"|":c=3;break;case"^":c=4;break;case"&":c=5;break;case"==":case"!=":case"===":case"!==":c=6;break;case"<":case">":case"<=":case">=":case"instanceof":c=7;break;case"in":c=b?7:0;break;case"<<":case">>":case">>>":c=8;break;case"+":case"-":c=9;break;case"*":case"/":case"%":c=11}return c}function M(){var a,b,c,d,e,f,g,h,i;if(d=eb.allowIn,eb.allowIn=!0,h=K(),b=db,c=L(b,d),0===c)return h;for(b.prec=c,q(),f=K(),e=[h,b,f];(c=L(db,d))>0;){for(;e.length>2&&c<=e[e.length-2].prec;)f=e.pop(),g=e.pop().value,h=e.pop(),a=cb.createBinaryExpression(g,h,f),e.push(a);b=q(),b.prec=c,e.push(b),a=K(),e.push(a)}for(eb.allowIn=d,i=e.length-1,a=e[i];i>1;)a=cb.createBinaryExpression(e[i-1].value,e[i-2],a),i-=2;return a}function N(){var a,b,c,d;return a=M(),v("?")&&(q(),b=eb.allowIn,eb.allowIn=!0,c=O(),eb.allowIn=b,u(":"),d=O(),a=cb.createConditionalExpression(a,c,d)),a}function O(){var a,b,c;return a=db,c=b=N()}function P(){var a;return a=O()}function Q(){return u(";"),cb.createEmptyStatement()}function R(){var a=P();return x(),cb.createExpressionStatement(a)}function S(){var a,b,c,d=db.type;if(d===X.EOF&&t(db),i(),d===X.Punctuator)switch(db.value){case";":return Q();case"(":return R()}return a=P(),a.type===Z.Identifier&&v(":")?(q(),c="$"+a.name,Object.prototype.hasOwnProperty.call(eb.labelSet,c)&&s({},$.Redeclaration,"Label",a.name),eb.labelSet[c]=!0,b=S(),delete eb.labelSet[c],cb.createLabeledStatement(a,b)):(x(),cb.createExpressionStatement(a))}function T(){return db.type===X.Keyword?S():db.type!==X.EOF?S():void 0}function U(){for(var a,b=[];bb>ab&&(a=T(),"undefined"!=typeof a);)b.push(a);return b}function V(){var a;return i(),r(),a=U(),cb.createProgram(a)}function W(a,b){var c;return c=String,"string"==typeof a||a instanceof String||(a=c(a)),cb=b,_=a,ab=0,bb=_.length,db=null,eb={allowIn:!0,labelSet:{}},bb>0&&"undefined"==typeof _[0]&&a instanceof String&&(_=a.valueOf()),V()}var X,Y,Z,$,_,ab,bb,cb,db,eb;X={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},Y={},Y[X.BooleanLiteral]="Boolean",Y[X.EOF]="",Y[X.Identifier]="Identifier",Y[X.Keyword]="Keyword",Y[X.NullLiteral]="Null",Y[X.NumericLiteral]="Numeric",Y[X.Punctuator]="Punctuator",Y[X.StringLiteral]="String",Z={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},$={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"},a.parse=W}),function(a){"use strict";function b(a,b,d,e){if(e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.tagName&&("bind"===d||"repeat"===d)){var f,g,h=b.match(r);if(h?(f=h[1],g=h[2]):(h=b.match(s),h&&(f=h[2],g=h[1])),h){var i;if(g=g.trim(),g.match(q))i=new CompoundBinding(function(a){return a.path}),i.bind("path",a,g);else try{i=c(a,g)}catch(j){console.error("Invalid expression syntax: "+g,j)}if(i)return t.set(e,f),i}}}function c(a,b){try{var c=new f;if(esprima.parse(b,c),!c.statements.length&&!c.labeledStatements.length)return;if(!c.labeledStatements.length&&c.statements.length>1)throw Error("Multiple unlabelled statements are not allowed.");var e=c.labeledStatements.length?d(c.labeledStatements):e=c.statements[0],g=[];for(var h in c.deps)g.push(h);if(!g.length)return{value:e({})};for(var i=new CompoundBinding(e),j=0;j>>0)+(c++ +"__")},i.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 j="[$_a-zA-Z]",k="[$_a-zA-Z0-9]",l=j+"+"+k+"*",m="("+l+")",n="(?:[0-9]|[1-9]+[0-9]+)",o="(?:"+l+"|"+n+")",p="(?:"+o+")(?:\\."+o+")*",q=new RegExp("^"+p+"$"),r=new RegExp("^"+m+"\\s* in (.*)$"),s=new RegExp("^(.*) as \\s*"+m+"$"),t=new i;e.prototype={getPath:function(){return this.last?this.last.getPath()+"."+this.name:this.name},valueFn:function(){var a=this.getPath();return this.deps[a]=!0,function(b){return b[a]}}};var u={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},v={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};f.prototype={getFn:function(a){return a instanceof e?a.valueFn():a},createProgram:function(){},createExpressionStatement:function(a){return this.statements.push(a),a},createLabeledStatement:function(a,b){return this.labeledStatements.push({label:a.getPath(),body:b instanceof e?b.valueFn():b}),b},createUnaryExpression:function(a,b){if(!u[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),function(c){return u[a](b(c))}},createBinaryExpression:function(a,b,c){if(!v[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),c=this.getFn(c),function(d){return v[a](b(d),c(d))}},createConditionalExpression:function(a,b,c){return a=this.getFn(a),b=this.getFn(b),c=this.getFn(c),function(d){return a(d)?b(d):c(d)}},createIdentifier:function(a){var b=new e(this.deps,a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){return new e(this.deps,c.name,b)},createLiteral:function(a){return function(){return a.value}},createArrayExpression:function(a){for(var b=0;be;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a,b){b=b||p.documentUrlFromNode(a),p.resolveAttributes(a,b),p.resolveStyleElts(a,b);var c=a.querySelectorAll("template");c&&q(c,function(a){a.content&&p.resolvePathsInHTML(a.content,b)})},resolvePathsInStylesheet:function(a){var b=p.nodeUrl(a);a.__resource=p.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&q(c,function(a){a.textContent=p.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=p.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(n);c&&q(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){m.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(o)<0){var e=p.resolveUrl(b,d.value,!0);d.value=e}})}};h=h||{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,h.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!h.ok(e)&&e,e.response,b)}),e.send()}};var q=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=h,a.importer=k,a.getDocumentUrl=p.getDocumentUrl,a.IMPORT_LINK_TYPE=i}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===f}function c(a){return a.parentNode&&!d(a)&&!e(a)}function d(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function e(a){return a.parentNode&&"element"===a.parentNode.localName}var f="import",g={selectors:["link[rel="+f+"]","link[rel=stylesheet]","style","script"],map:{link:"parseLink",script:"parseScript",style:"parseGeneric"},parse:function(a){if(!a.__importParsed){a.__importParsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)})}},parseLink:function(a){b(a)?a.content&&g.parse(a.content):this.parseGeneric(a)},parseGeneric:function(a){c(a)&&document.head.appendChild(a)},parseScript:function(a){if(c(a)){var b=a.__resource||a.textContent;b&&(b+="\n//# sourceURL="+(a.__nodeUrl||"inline["+Math.floor(1e3*(Math.random()+1))+"]")+"\n",eval.call(window,b))}}},h=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=g}(HTMLImports),function(){function a(){HTMLImports.importer.load(document,function(){HTMLImports.parser.parse(document),HTMLImports.readyTime=(new Date).getTime(),document.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?a():window.addEventListener("DOMContentLoaded",a)}(),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"link"===a.localName&&a.getAttribute("rel")===b}var b=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",c={selectors:["link[rel="+b+"]","element"],map:{link:"parseLink",element:"parseElement"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(c.selectors);d(b,function(a){c[c.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){a(b)&&this.parseImport(b)},parseImport:function(a){a.content&&c.parse(a.content)},parseElement:function(a){new HTMLElementElement(a)}},d=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=c}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(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)}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState)a();else{var b=window.HTMLImports?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(b,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=b.pointermap,d=25,e={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,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=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 d=c.has(this.POINTER_ID);if(d&&(this.cancel(a),d=!1),!d){var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e),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 d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),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(){c.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}};b.listen(["mousemove"],document,b.boundHandler),a.mouseEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.findTarget,d=b.pointermap,e=b.scrollType,f=Array.prototype.map.call.bind(Array.prototype.map),g=2500,h={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 d=b.cloneEvent(a);return d.pointerId=a.identifier+2,d.target=c(d),d.bubbles=!0,d.cancelable=!0,d.button=0,d.buttons=1,d.width=a.webkitRadiusX||a.radiusX,d.height=a.webkitRadiusY||a.radiusY,d.pressure=a.webkitForce||a.force,d.isPrimary=this.isPrimaryTouch(a),d.pointerType=this.POINTER_TYPE,d},processTouches:function(a,b){var c=a.changedTouches,d=f(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=e.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],f=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+f]-this.firstXY[f]),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(d.size>=b.length){var c=[];d.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var e=d.get(a).out;c.push(this.touchToPointer(e))}},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){d.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,e=d.get(c.pointerId);if(e){var f=e.out,g=e.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,c.target?(b.leaveOut(f),b.enterOver(c)):(c.target=g,c.relatedTarget=null,this.cancelOut(c))),e.out=c,e.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){d.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,g)}}};a.touchEvents=h}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d={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){c.delete(a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},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)}};a.msEvents=d}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer;if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var d=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:d,enumerable:!0}),b.registerSource("ms",a.msEvents),b.registerTarget(document)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents),c.enableOnSubtree(document);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),window.Polymer||(window.Polymer={}),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(a){function b(a){var c=b.caller,f=c.nom;f||(f=e.call(this,c)),f||console.warn("called super() on a method not installed declaratively (has no .nom property)"),"_super"in c||d(c,f,Object.getPrototypeOf(this));var g=c._super;if(g){var h=g[f];return"_super"in h||d(h,f,g),h.apply(this,a||[])}}function c(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function d(a,b,d){a._super=c(d,b,a),a._super&&(a._super[b]._nom=b)}function e(a){console.group("nameInThis");for(var b=this;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){console.log(c);var g=Object.getOwnPropertyDescriptor(b,c);if(g.value==a)return c}b=Object.getPrototypeOf(b)}console.groupEnd("nameInThis")}a.$super=b}(Polymer),function(a){function b(b,e){if(b!=window){if(!(b&&b instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var f=Platform.mixin({},a.base,e);f.elementElement=b,a.addResolvePath(f,b),f.installTemplate=function(){this.super(),d.call(this,b)},f.installTemplate.nom="installTemplate",f.readyCallback=c,f.insertedCallback=g,f.removedCallback=h,f.attributeChangedCallback=i,j(f),a.parseHostEvents(b.attributes,f),a.publishAttributes(b,f),a.installSheets(b),a.shimStyling(b),b.register({prototype:f}),logFlags.comps&&console.log("Polymer: element registered"+b.options.name) -}}function c(){this.installTemplate(),f.call(this)}function d(a){var b=a.querySelector("template");if(b){var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,Polymer.expressionSyntax)),e.call(this,c),c}}function e(b){CustomElements.takeRecords(),a.marshalNodeReferences.call(this,b);var c=a.accumulateEvents(b);a.bindAccumulatedLocalEvents.call(this,b,c),PointerGestures.register(b),PointerEventsPolyfill.setTouchAction(b,this.getAttribute("touch-action"))}function f(){a.observeProperties.call(this),a.installInstanceAttributes.call(this),a.takeAttributes.call(this);var b=a.accumulateHostEvents.call(this);a.bindAccumulatedHostEvents.call(this,b),this.asyncUnbindAll(),this.ready&&this.ready()}function g(){this.cancelUnbindAll(!0),this.inserted&&this.inserted()}function h(){this.asyncUnbindAll(),this.removed&&this.removed()}function i(){this.attributeChanged&&this.attributeChanged.apply(this,arguments)}function j(a){Object.getOwnPropertyNames(a).forEach(function(b){var c=Object.getOwnPropertyDescriptor(a,b);"function"==typeof c.value&&(c.value.nom=b)})}function k(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||{},a.register=b,a.findDistributedTarget=k,a.instanceReady=f}(Polymer),function(a){var b=window.logFlags||{},c={"super":Polymer.$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},cancelUnbindAll:function(){Polymer.cancelUnbindAll.apply(this,arguments)},asyncUnbindAll:function(){Polymer.asyncUnbindAll.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=r.get(a);d||r.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=r.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&&r.get(a)||s}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){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function h(){l(this)||(Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments),i(this.webkitShadowRoot,!0),k(this))}function i(a,b){j(a,b,function(a){a.unbindAll&&a.unbindAll()})}function j(a,b,c){if(a){c(a),b&&a.olderShadowRoot&&j(a.olderShadowRoot,b,c);for(var d=a.firstChild;d;d=d.nextSibling)j(d,b,c)}}function k(a){t.set(a,!0)}function l(a){return t.get(a)}function m(){l(this)||(p.bind&&console.log("asyncUnbindAll",this.localName),u.set(this,this.job(u.get(this),this.unbindAll)))}function n(a){if(l(this))return p.bind&&console.warn(this.localName,"is unbound, cannot cancel unbindAll"),void 0;p.bind&&console.log("cancelUnbindAll",this.localName);var b=u.get(this);b&&(b.stop(),u.set(this,null)),a||j(this.webkitShadowRoot,!0,function(a){a.cancelUnbindAll&&a.cancelUnbindAll()})}function o(a,b){var c=document.createElement("template");return c.innerHTML=a,c.createInstance(b,q)}var p=window.logFlags||{},q=new ExpressionSyntax,r=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var s={},t=new SideTable,u=new SideTable,v=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=g,Polymer.unbindAll=h,Polymer.getBinding=e,Polymer.asyncUnbindAll=m,Polymer.cancelUnbindAll=n,Polymer.isElementUnbound=l,Polymer.unbindNodeTree=i,Polymer.parseAndBindHTML=o,Polymer.bindPattern=v,Polymer.expressionSyntax=q}(),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 d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.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;return b instanceof Date&&(c="date"),m[c](a,b)}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase),m={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return String(b)===a?b:a},object:function(a,b){if(!b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}}};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){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,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=h(a,t,function(a){return!a.hasAttribute(x)}),c=n(a);if(c){var d="";b.forEach(function(a){a.parentNode.removeChild(a),d+=k(a)+"\n"}),d&&c.insertBefore(j(d),c.firstChild)}}function c(a){l(g(a,v),p.head)}function d(a,b){b.controllerStyle||(b.controllerStyle=g(b,w));var c=b.controllerStyle,d=i(a);d&&!e(d,a,w)&&(Polymer.shimPolyfillDirectives([c],a.localName),l(c,d))}function e(a,b,c){return a.querySelector("style["+u+"="+b.localName+"-"+c+"]")}function f(a,b){var c="",d="["+x+"="+b+"]",e=function(a){return m(a,d)},f=h(a,t,e);f.forEach(function(a){a.parentNode.removeChild(a),c+=k(a)+"\n\n"});var g=h(a,s,e);return g.forEach(function(a){a.parentNode.removeChild(a),c+=a.textContent+"\n\n"}),c}function g(a,b){var c=f(a,b);if(c){var d=j(c);return d.setAttribute(u,a.options.name+"-"+b),d}}function h(a,b,c){var d=o(a.querySelectorAll(b)),e=n(a);if(e){var f=o(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function i(a){for(var b=a;b.parentNode;)b=b.parentNode;return b==p?p.head:b}function j(a){var b=document.createElement("style");return b.textContent=a,b}function k(a){return a&&a.__resource||""}function l(a,b){if(a){var c=a.cloneNode(!0);c.textContent=a.textContent,b.appendChild(c)}}function m(a,b){return r?r.call(a,b):void 0}function n(a){var b=a.querySelector("template");return b&&templateContent(b)}function o(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var p=wrap(document),q=HTMLElement.prototype,r=q.matches||q.matchesSelector||q.webkitMatchesSelector||q.mozMatchesSelector,s="style",t="[rel=stylesheet]",u="element",v="global",w="controller",x="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,hostElementRe:/(.*)((?:\*)|(?:\:scope))(.*)/,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,cssPseudoRe:/::(x-[^\s{,(]*)/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),Polymer.strictPolyfillStyling&&d.applyScopeToContent(a.templateContent,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){var c=this.shimAtHost(a,b);c+=this.shimScoping(a,b),this.addCssToDocument(c)},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},applyScopeToContent:function(b,c){b&&(a(b.querySelectorAll("*"),function(a){a.setAttribute(c,"")}),a(b.querySelectorAll("template"),function(a){this.applyScopeToContent(templateContent(a),c)},this))},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){return a?this.convertAtHostStyles(a,b):void 0},shimScoping:function(a,b){return a?this.convertScopedStyles(a,b):void 0},convertPolyfillDirectives:function(a,b){for(var c,d,e="",f=0;c=this.cssPolyfillCommentRe.exec(a);)e+=a.substring(f,c.index),d=c[1].slice(0,-2).replace(this.hostRe,b),e+=this.scopeSelector(d,b)+"{",f=this.cssPolyfillCommentRe.lastIndex;return e+=a.substring(f,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(","),e="[is="+b+"]";return d.forEach(function(a){a=a.trim(),a.match(this.hostElementRe)?a=a.replace(this.hostElementRe,b+"$1$3, "+e+"$1$3"):a.match(this.hostFixableRe)&&(a=b+a+", "+e+a),c.push(a)},this),c.join(", ")},convertScopedStyles:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,"");d=this.convertPseudos(d);var e=this.cssToRules(d);return d=this.scopeRules(e,c)},convertPseudos:function(a){return a.replace(this.cssPseudoRe," [pseudo=$1]")},scopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.scopeSelector(a.selectorText,c,Polymer.strictPolyfillStyling)+" {\n ",d+=this.propertiesFromRule(a)+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.scopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},propertiesFromRule:function(a){var b=a.style.cssText;return a.style.content&&!a.style.content.match(/['"]+/)&&(b="content: '"+a.style.content+"';\n"+a.style.cssText.replace(/content:[^;]*;/g,"")),b},selectorNeedsScoping:function(a,b){var c="("+b+"|\\[is="+b+"\\])",d=new RegExp("^"+c+this.selectorReSuffix,"m");return!a.match(d)},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},applySimpleSelectorScope:function(a,b){return b+" "+a+", "+"[is="+b+"] "+a},applyStrictSelectorScope:function(a,b){var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim();return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},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","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","group","groupEnd","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","_URL","baseURI","HTMLImports","xhr","documents","cache","preloadSelectors","loader","loaded","load","preload","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","receive","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","debug","bust","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","readyTime","sort","uid_","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","postMessage","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","url","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","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_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","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","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","b$","trackingTable","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","getBindings","emptyBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","preventCascade","unbindJob","stop","parseAndBindHTML","mustachePattern","bindPattern","publishAttributesAttributes","publishInstanceAttributes","published","attributes$","names","inherited","imperative","attrProps$","published$","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","inferredType","typeHandlers","string","date","boolean","number","floatVal","nodes","bindAccumulatedEvents","inNode","inEvents","inListener","listenHost","listenLocal","inEvent","cancelBubble","on","prefix","listenLocalNoEventPath","some","findController","handleHostEvent","getHandledListForEvent","handledList","eventHandledTable","findHostHandler","inAttributes","eventDelegates","parseEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","inHandlerName","inEventName","observeProperty","isObservable","inNew","inOld","propertyChanged","OBSERVE_SUFFIX","inOldValue","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","doc","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","inSelector","nodeList","eltProto","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","addSheetToDocument","calcElementPath","resolvePath","inUrl","inJob","inCallback","inWait","Job","go","handle","complete","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/polymer.native.min.js b/polymer.native.min.js deleted file mode 100644 index d7dc8cde7d..0000000000 --- a/polymer.native.min.js +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2012 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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}var SideTable;if("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)}}}(),function(){window.templateContent=window.templateContent||function(a){return a.content},window.wrap=window.unwrap=function(a){return a},Object.defineProperties(HTMLElement.prototype,{shadowRoot:{get:function(){return this.webkitShadowRoot}},createShadowRoot:{value:function(){return this.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(){function a(a){"splice"===a[0].type&&"splice"===a[1].type&&(b=!0)}if("function"!=typeof Object.observe&&"function"!=typeof Array.observe)return!1;var b=!1,c=[0];return Array.observe(c,a),c[1]=1,c.length=0,Object.deliverChangeRecords(a),b}function c(a){return+a===a>>>0}function d(a){return+a}function e(a){return a===Object(a)}function f(a,b){return a===b?0!==a||1/a===1/b:O(a)&&O(b)?!0:a!==a&&b!==b}function g(a){return"string"!=typeof a?!1:(a=a.replace(/\s/g,""),""==a?!0:"."==a[0]?!1:W.test(a))}function h(a){return""==a.trim()?this:c(a)?(this.push(String(a)),this):(a.split(/\./).filter(function(a){return a}).forEach(function(a){this.push(a)},this),void 0)}function i(a){for(var b=0;X>b&&a.check();)a.report(),b++}function j(a){for(var b in a)return!1;return!0}function k(a){return j(a.added)&&j(a.removed)&&j(a.changed)}function l(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 m(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 n(a){this.callback=a,this.reporting=!0,K&&(this.boundInternalCallback=this.internalCallback.bind(this)),this.valid=!0,o(this),this.connect(),this.sync(!0)}function o(a){Z&&(Y.push(a),n._allObserversCount++)}function p(a){if(Z)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 v(a,b){var c=b.toString();return _[c]||(_[c]=u(b)),_[c](a)}function w(b,c,d,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=d[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 B(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(bb):(e.push(cb),d=g),b--,c--):f==h?(e.push(eb),b--,d=h):(e.push(db),c--,d=i)}else e.push(eb),b--;else e.push(db),c--;return e.reverse(),e}function C(a,b,c){for(var d=0;c>d;d++)if(a[d]!==b[d])return d;return c}function D(a,b,c){for(var d=a.length,e=b.length,f=0;c>f&&a[--d]===b[--e];)f++;return f}function E(a,b,c){return{index:a,removed:b,addedCount:c}}function F(a,b,c,d,e,f){var g=0,h=0,i=Math.min(c-b,f-e);if(0==b&&0==e&&(g=C(a,d,i)),c==a.length&&f==d.length&&(h=D(a,d,i-g)),b+=g,e+=g,c-=h,f-=h,0==c-b&&0==f-e)return[];if(b==c){for(var j=E(b,[],0);f>e;)j.removed.push(d[e++]);return[j]}if(e==f)return[E(b,[],c-b)];for(var k=B(A(a,b,c,d,e,f)),j=void 0,l=[],m=b,n=e,o=0;ob||a>d?-1:b==c||d==a?0:c>a?d>b?b-c:d-c:b>d?d-a:b-a}function H(a,b,c,d){for(var e=E(b,c,d),f=!1,g=0,h=0;h=0){a.splice(h,1),h--,g-=i.addedCount-i.removed.length,e.addedCount+=i.addedCount-j;var k=e.removed.length+i.removed.length-j;if(e.addedCount||k){var c=i.removed;if(e.indexi.index+i.addedCount){var m=e.removed.slice(i.index+i.addedCount-e.index);Array.prototype.push.apply(c,m)}e.removed=c,i.indexh)continue;H(e,h,[g.oldValue],1);break;default:console.error("Unexpected record type: "+JSON.stringify(g))}}return e}function J(a,b){var c=[];return I(a,b).forEach(function(b){return 1==b.addedCount&&1==b.removed.length?(b.removed[0]!==a[b.index]&&c.push(b),void 0):(c=c.concat(F(a,b.index,b.index+b.addedCount,b.removed,0,b.removed.length)),void 0)}),c}var K=b(),L=!1;try{var M=new Function("","return true;");L=M()}catch(N){}var O=a.Number.isNaN||function(b){return"number"==typeof b&&a.isNaN(b)},P="__proto__"in{}?function(a){return a}:function(a){var b=a.__proto__;if(!b)return a;var c=Object.create(b);return Object.getOwnPropertyNames(a).forEach(function(b){Object.defineProperty(c,b,Object.getOwnPropertyDescriptor(a,b))}),c},Q="[$_a-zA-Z]",R="[$_a-zA-Z0-9]",S=Q+"+"+R+"*",T="(?:[0-9]|[1-9]+[0-9]+)",U="(?:"+S+"|"+T+")",V="(?:"+U+")(?:\\."+U+")*",W=new RegExp("^"+V+"$");h.prototype=P({__proto__:[],toString:function(){return this.join(".")},walkPropertiesFrom:function(a,b,c){for(var d,e=0;ea&&b.anyChanged);n._allObserversCount=Y.length,$=!1}},Z&&(a.Platform.clearObservers=function(){Y=[]}),q.prototype=P({__proto__:n.prototype,connect:function(){K&&Object.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=m(this.object))},check:function(a){var b,c;if(K){if(!a)return!1;c={},b=z(this.object,a,c)}else c=this.oldObject,b=l(this.object,this.oldObject);return k(b)?!1:(this.reportArgs=[b.added||{},b.removed||{},b.changed||{}],this.reportArgs.push(function(a){return c[a]}),!0)},disconnect:function(){K?this.object&&Object.unobserve(this.object,this.boundInternalCallback):this.oldObject=void 0,this.object=void 0}}),r.prototype=P({__proto__:q.prototype,connect:function(){K&&Array.observe(this.object,this.boundInternalCallback)},sync:function(){K||(this.oldObject=this.object.slice())},check:function(a){var b;if(K){if(!a)return!1;b=J(this.object,a)}else b=F(this.object,0,this.object.length,this.oldObject,0,this.oldObject.length);return b&&b.length?(this.reportArgs=[b],!0):!1}}),r.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];kb[e.name]&&("template"!==e.name&&b.setAttribute(e.name,e.value),a.removeAttribute(e.name))}return b}function I(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 J(a){"TEMPLATE"===a.tagName?mb||(pb?a.__proto__=HTMLTemplateElement.prototype:F(a,HTMLTemplateElement.prototype)):(F(a,HTMLTemplateElement.prototype),Object.defineProperty(a,"content",ub))}function K(a){var b=xb.get(a);b||(b=function(){Q(a,a.model,a.bindingDelegate)},xb.set(a,b)),ob(b)}function L(a,b){this.type=a,this.value=b}function M(a){for(var b=[],c=a.length,d=0,e=0;c>e;){if(d=a.indexOf("{{",e),0>d){b.push(new L(yb,a.slice(e)));break}if(d>0&&d>e&&b.push(new L(yb,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==yb?g.value+=f:b.push(new L(yb,f));break}var h=a.slice(e,d).trim();b.push(new L(zb,h)),e=d+2}return b}function N(a,b,c,d,e){var f,g=e&&e[ib];g&&"function"==typeof g&&(f=g(c,d,b,a),f&&(c=f,d="value")),a.bind(b,c,d)}function O(a,b,c,d,e){var f=M(c);if(f.length&&(1!=f.length||f[0].type!=yb)){if(1==f.length&&f[0].type==zb)return N(a,b,d,f[0].value,e),void 0;for(var g=new V,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++ +"__")},_.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 ab=new _;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 bb=new _;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 cb,db=new _,eb=new _;!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),cb=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=$({__proto__:s.prototype,produceElementValue:function(a){return String(null==a?"":a)}}),v.prototype=$({__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=eb.get(a);b&&(b.binding.value=!1)})}}),HTMLInputElement.prototype.bind=w,HTMLInputElement.prototype.unbind=x,HTMLInputElement.prototype.unbindAll=y,z.prototype=$({__proto__:s.prototype,valueChanged:function(a){function b(){a>d.element.length&&c--?ob(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;ob(b)},produceElementValue:function(a){return Number(a)}}),HTMLSelectElement.prototype.bind=w,HTMLSelectElement.prototype.unbind=x,HTMLSelectElement.prototype.unbindAll=y,HTMLTextAreaElement.prototype.bind=w,HTMLTextAreaElement.prototype.unbind=x,HTMLTextAreaElement.prototype.unbindAll=y;var fb="bind",gb="repeat",hb="if",ib="getBinding",jb="getInstanceModel",kb={template:!0,repeat:!0,bind:!0,ref:!0},lb={THEAD:!0,TBODY:!0,TFOOT:!0,TH:!0,TR:!0,TD:!0,COLGROUP:!0,COL:!0,CAPTION:!0,OPTION:!0,OPTGROUP:!0},mb="undefined"!=typeof HTMLTemplateElement,nb="template, "+Object.keys(lb).map(function(a){return a.toLowerCase()+"[template]"}).join(", "),ob=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;g=48&&57>=a}function d(a){return 32===a||9===a||11===a||12===a||160===a||a>=5760&&" ᠎              ".indexOf(String.fromCharCode(a))>0}function e(a){return 10===a||13===a||8232===a||8233===a}function f(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a}function g(a){return 36===a||95===a||a>=65&&90>=a||a>=97&&122>=a||a>=48&&57>=a}function h(a){return"this"===a}function i(){for(;bb>ab&&d(_.charCodeAt(ab));)++ab}function j(){var a,b;for(a=ab++;bb>ab&&(b=_.charCodeAt(ab),g(b));)++ab;return _.slice(a,ab)}function k(){var a,b,c;return a=ab,b=j(),c=1===b.length?X.Identifier:h(b)?X.Keyword:"null"===b?X.NullLiteral:"true"===b||"false"===b?X.BooleanLiteral:X.Identifier,{type:c,value:b,range:[a,ab]}}function l(){var a,b,c,d,e=ab,f=_.charCodeAt(ab),g=_[ab];switch(f){case 46:case 40:case 41:case 59:case 44:case 123:case 125:case 91:case 93:case 58:case 63:case 126:return++ab,{type:X.Punctuator,value:String.fromCharCode(f),range:[e,ab]};default:if(a=_.charCodeAt(ab+1),61===a)switch(f){case 37:case 38:case 42:case 43:case 45:case 47:case 60:case 62:case 94:case 124:return ab+=2,{type:X.Punctuator,value:String.fromCharCode(f)+String.fromCharCode(a),range:[e,ab]};case 33:case 61:return ab+=2,61===_.charCodeAt(ab)&&++ab,{type:X.Punctuator,value:_.slice(e,ab),range:[e,ab]}}}return b=_[ab+1],c=_[ab+2],d=_[ab+3],">"===g&&">"===b&&">"===c&&"="===d?(ab+=4,{type:X.Punctuator,value:">>>=",range:[e,ab]}):">"===g&&">"===b&&">"===c?(ab+=3,{type:X.Punctuator,value:">>>",range:[e,ab]}):"<"===g&&"<"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:"<<=",range:[e,ab]}):">"===g&&">"===b&&"="===c?(ab+=3,{type:X.Punctuator,value:">>=",range:[e,ab]}):g===b&&"+-<>&|".indexOf(g)>=0?(ab+=2,{type:X.Punctuator,value:g+b,range:[e,ab]}):"<>=!+-*%&|^/".indexOf(g)>=0?(++ab,{type:X.Punctuator,value:g,range:[e,ab]}):(s({},$.UnexpectedToken,"ILLEGAL"),void 0)}function m(){var a,d,e;if(e=_[ab],b(c(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point"),d=ab,a="","."!==e){for(a=_[ab++],e=_[ab],"0"===a&&e&&c(e.charCodeAt(0))&&s({},$.UnexpectedToken,"ILLEGAL");c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("."===e){for(a+=_[ab++];c(_.charCodeAt(ab));)a+=_[ab++];e=_[ab]}if("e"===e||"E"===e)if(a+=_[ab++],e=_[ab],("+"===e||"-"===e)&&(a+=_[ab++]),c(_.charCodeAt(ab)))for(;c(_.charCodeAt(ab));)a+=_[ab++];else s({},$.UnexpectedToken,"ILLEGAL");return f(_.charCodeAt(ab))&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.NumericLiteral,value:parseFloat(a),range:[d,ab]}}function n(){var a,c,d,f="",g=!1;for(a=_[ab],b("'"===a||'"'===a,"String literal must starts with a quote"),c=ab,++ab;bb>ab;){if(d=_[ab++],d===a){a="";break}if("\\"===d)if(d=_[ab++],d&&e(d.charCodeAt(0)))"\r"===d&&"\n"===_[ab]&&++ab;else switch(d){case"n":f+="\n";break;case"r":f+="\r";break;case"t":f+=" ";break;case"b":f+="\b";break;case"f":f+="\f";break;case"v":f+=" ";break;default:f+=d}else{if(e(d.charCodeAt(0)))break;f+=d}}return""!==a&&s({},$.UnexpectedToken,"ILLEGAL"),{type:X.StringLiteral,value:f,octal:g,range:[c,ab]}}function o(a){return a.type===X.Identifier||a.type===X.Keyword||a.type===X.BooleanLiteral||a.type===X.NullLiteral}function p(){var a;return i(),ab>=bb?{type:X.EOF,range:[ab,ab]}:(a=_.charCodeAt(ab),40===a||41===a||58===a?l():39===a||34===a?n():f(a)?k():46===a?c(_.charCodeAt(ab+1))?m():l():c(a)?m():l())}function q(){var a;return a=db,ab=a.range[1],db=p(),ab=a.range[1],a}function r(){var a;a=ab,db=p(),ab=a}function s(a,c){var d,e=Array.prototype.slice.call(arguments,2),f=c.replace(/%(\d)/g,function(a,c){return b(cab&&(a.push(O()),!v(")"));)u(",");return u(")"),a}function F(){var a;return a=q(),o(a)||t(a),cb.createIdentifier(a.value)}function G(){return u("."),F()}function H(){var a;return u("["),a=P(),u("]"),a}function I(){var a,b,c;for(a=D();v(".")||v("[")||v("(");)v("(")?(b=E(),a=cb.createCallExpression(a,b)):v("[")?(c=H(),a=cb.createMemberExpression("[",a,c)):(c=G(),a=cb.createMemberExpression(".",a,c));return a}function J(){var a;return a=I(),db.type===X.Punctuator&&(v("++")||v("--"))&&s({},$.UnexpectedToken),a}function K(){var a,b;return db.type!==X.Punctuator&&db.type!==X.Keyword?b=J():v("++")||v("--")?s({},$.UnexpectedToken):v("+")||v("-")||v("~")||v("!")?(a=q(),b=K(),b=cb.createUnaryExpression(a.value,b)):w("delete")||w("void")||w("typeof")?s({},$.UnexpectedToken):b=J(),b}function L(a,b){var c=0;if(a.type!==X.Punctuator&&a.type!==X.Keyword)return 0;switch(a.value){case"||":c=1;break;case"&&":c=2;break;case"|":c=3;break;case"^":c=4;break;case"&":c=5;break;case"==":case"!=":case"===":case"!==":c=6;break;case"<":case">":case"<=":case">=":case"instanceof":c=7;break;case"in":c=b?7:0;break;case"<<":case">>":case">>>":c=8;break;case"+":case"-":c=9;break;case"*":case"/":case"%":c=11}return c}function M(){var a,b,c,d,e,f,g,h,i;if(d=eb.allowIn,eb.allowIn=!0,h=K(),b=db,c=L(b,d),0===c)return h;for(b.prec=c,q(),f=K(),e=[h,b,f];(c=L(db,d))>0;){for(;e.length>2&&c<=e[e.length-2].prec;)f=e.pop(),g=e.pop().value,h=e.pop(),a=cb.createBinaryExpression(g,h,f),e.push(a);b=q(),b.prec=c,e.push(b),a=K(),e.push(a)}for(eb.allowIn=d,i=e.length-1,a=e[i];i>1;)a=cb.createBinaryExpression(e[i-1].value,e[i-2],a),i-=2;return a}function N(){var a,b,c,d;return a=M(),v("?")&&(q(),b=eb.allowIn,eb.allowIn=!0,c=O(),eb.allowIn=b,u(":"),d=O(),a=cb.createConditionalExpression(a,c,d)),a}function O(){var a,b,c;return a=db,c=b=N()}function P(){var a;return a=O()}function Q(){return u(";"),cb.createEmptyStatement()}function R(){var a=P();return x(),cb.createExpressionStatement(a)}function S(){var a,b,c,d=db.type;if(d===X.EOF&&t(db),i(),d===X.Punctuator)switch(db.value){case";":return Q();case"(":return R()}return a=P(),a.type===Z.Identifier&&v(":")?(q(),c="$"+a.name,Object.prototype.hasOwnProperty.call(eb.labelSet,c)&&s({},$.Redeclaration,"Label",a.name),eb.labelSet[c]=!0,b=S(),delete eb.labelSet[c],cb.createLabeledStatement(a,b)):(x(),cb.createExpressionStatement(a))}function T(){return db.type===X.Keyword?S():db.type!==X.EOF?S():void 0}function U(){for(var a,b=[];bb>ab&&(a=T(),"undefined"!=typeof a);)b.push(a);return b}function V(){var a;return i(),r(),a=U(),cb.createProgram(a)}function W(a,b){var c;return c=String,"string"==typeof a||a instanceof String||(a=c(a)),cb=b,_=a,ab=0,bb=_.length,db=null,eb={allowIn:!0,labelSet:{}},bb>0&&"undefined"==typeof _[0]&&a instanceof String&&(_=a.valueOf()),V()}var X,Y,Z,$,_,ab,bb,cb,db,eb;X={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},Y={},Y[X.BooleanLiteral]="Boolean",Y[X.EOF]="",Y[X.Identifier]="Identifier",Y[X.Keyword]="Keyword",Y[X.NullLiteral]="Null",Y[X.NumericLiteral]="Numeric",Y[X.Punctuator]="Punctuator",Y[X.StringLiteral]="String",Z={ArrayExpression:"ArrayExpression",BinaryExpression:"BinaryExpression",CallExpression:"CallExpression",ConditionalExpression:"ConditionalExpression",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",Identifier:"Identifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ThisExpression:"ThisExpression",UnaryExpression:"UnaryExpression"},$={UnexpectedToken:"Unexpected token %0",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared"},a.parse=W}),function(a){"use strict";function b(a,b,d,e){if(e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.tagName&&("bind"===d||"repeat"===d)){var f,g,h=b.match(r);if(h?(f=h[1],g=h[2]):(h=b.match(s),h&&(f=h[2],g=h[1])),h){var i;if(g=g.trim(),g.match(q))i=new CompoundBinding(function(a){return a.path}),i.bind("path",a,g);else try{i=c(a,g)}catch(j){console.error("Invalid expression syntax: "+g,j)}if(i)return t.set(e,f),i}}}function c(a,b){try{var c=new f;if(esprima.parse(b,c),!c.statements.length&&!c.labeledStatements.length)return;if(!c.labeledStatements.length&&c.statements.length>1)throw Error("Multiple unlabelled statements are not allowed.");var e=c.labeledStatements.length?d(c.labeledStatements):e=c.statements[0],g=[];for(var h in c.deps)g.push(h);if(!g.length)return{value:e({})};for(var i=new CompoundBinding(e),j=0;j>>0)+(c++ +"__")},i.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 j="[$_a-zA-Z]",k="[$_a-zA-Z0-9]",l=j+"+"+k+"*",m="("+l+")",n="(?:[0-9]|[1-9]+[0-9]+)",o="(?:"+l+"|"+n+")",p="(?:"+o+")(?:\\."+o+")*",q=new RegExp("^"+p+"$"),r=new RegExp("^"+m+"\\s* in (.*)$"),s=new RegExp("^(.*) as \\s*"+m+"$"),t=new i;e.prototype={getPath:function(){return this.last?this.last.getPath()+"."+this.name:this.name},valueFn:function(){var a=this.getPath();return this.deps[a]=!0,function(b){return b[a]}}};var u={"+":function(a){return+a},"-":function(a){return-a},"!":function(a){return!a}},v={"+":function(a,b){return a+b},"-":function(a,b){return a-b},"*":function(a,b){return a*b},"/":function(a,b){return a/b},"%":function(a,b){return a%b},"<":function(a,b){return b>a},">":function(a,b){return a>b},"<=":function(a,b){return b>=a},">=":function(a,b){return a>=b},"==":function(a,b){return a==b},"!=":function(a,b){return a!=b},"===":function(a,b){return a===b},"!==":function(a,b){return a!==b},"&&":function(a,b){return a&&b},"||":function(a,b){return a||b}};f.prototype={getFn:function(a){return a instanceof e?a.valueFn():a},createProgram:function(){},createExpressionStatement:function(a){return this.statements.push(a),a},createLabeledStatement:function(a,b){return this.labeledStatements.push({label:a.getPath(),body:b instanceof e?b.valueFn():b}),b},createUnaryExpression:function(a,b){if(!u[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),function(c){return u[a](b(c))}},createBinaryExpression:function(a,b,c){if(!v[a])throw Error("Disallowed operator: "+a);return b=this.getFn(b),c=this.getFn(c),function(d){return v[a](b(d),c(d))}},createConditionalExpression:function(a,b,c){return a=this.getFn(a),b=this.getFn(b),c=this.getFn(c),function(d){return a(d)?b(d):c(d)}},createIdentifier:function(a){var b=new e(this.deps,a);return b.type="Identifier",b},createMemberExpression:function(a,b,c){return new e(this.deps,c.name,b)},createLiteral:function(a){return function(){return a.value}},createArrayExpression:function(a){for(var b=0;be;e++)d.unshift("..");var g=d.join("/");return g},resolvePathsInHTML:function(a,b){b=b||p.documentUrlFromNode(a),p.resolveAttributes(a,b),p.resolveStyleElts(a,b);var c=a.querySelectorAll("template");c&&q(c,function(a){a.content&&p.resolvePathsInHTML(a.content,b)})},resolvePathsInStylesheet:function(a){var b=p.nodeUrl(a);a.__resource=p.resolveCssText(a.__resource,b)},resolveStyleElts:function(a,b){var c=a.querySelectorAll("style");c&&q(c,function(a){a.textContent=p.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=p.resolveUrl(b,c,!0),"url("+c+")"})},resolveAttributes:function(a,b){var c=a&&a.querySelectorAll(n);c&&q(c,function(a){this.resolveNodeAttributes(a,b)},this)},resolveNodeAttributes:function(a,b){m.forEach(function(c){var d=a.attributes[c];if(d&&d.value&&d.value.search(o)<0){var e=p.resolveUrl(b,d.value,!0);d.value=e}})}};h=h||{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,h.async),e.addEventListener("readystatechange",function(){4===e.readyState&&c.call(d,!h.ok(e)&&e,e.response,b)}),e.send()}};var q=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.xhr=h,a.importer=k,a.getDocumentUrl=p.getDocumentUrl,a.IMPORT_LINK_TYPE=i}(window.HTMLImports),function(a){function b(a){return"link"===a.localName&&a.getAttribute("rel")===f}function c(a){return a.parentNode&&!d(a)&&!e(a)}function d(a){return a.ownerDocument===document||a.ownerDocument.impl===document}function e(a){return a.parentNode&&"element"===a.parentNode.localName}var f="import",g={selectors:["link[rel="+f+"]","link[rel=stylesheet]","style","script"],map:{link:"parseLink",script:"parseScript",style:"parseGeneric"},parse:function(a){if(!a.__importParsed){a.__importParsed=!0;var b=a.querySelectorAll(g.selectors);h(b,function(a){g[g.map[a.localName]](a)})}},parseLink:function(a){b(a)?a.content&&g.parse(a.content):this.parseGeneric(a)},parseGeneric:function(a){c(a)&&document.head.appendChild(a)},parseScript:function(a){if(c(a)){var b=a.__resource||a.textContent;b&&(b+="\n//# sourceURL="+(a.__nodeUrl||"inline["+Math.floor(1e3*(Math.random()+1))+"]")+"\n",eval.call(window,b))}}},h=Array.prototype.forEach.call.bind(Array.prototype.forEach);a.parser=g}(HTMLImports),function(){function a(){HTMLImports.importer.load(document,function(){HTMLImports.parser.parse(document),HTMLImports.readyTime=(new Date).getTime(),document.dispatchEvent(new CustomEvent("HTMLImportsLoaded",{bubbles:!0}))})}"function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState||"interactive"===document.readyState?a():window.addEventListener("DOMContentLoaded",a)}(),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"link"===a.localName&&a.getAttribute("rel")===b}var b=window.HTMLImports?HTMLImports.IMPORT_LINK_TYPE:"none",c={selectors:["link[rel="+b+"]","element"],map:{link:"parseLink",element:"parseElement"},parse:function(a){if(!a.__parsed){a.__parsed=!0;var b=a.querySelectorAll(c.selectors);d(b,function(a){c[c.map[a.localName]](a)}),CustomElements.upgradeDocument(a),CustomElements.observeDocument(a)}},parseLink:function(b){a(b)&&this.parseImport(b)},parseImport:function(a){a.content&&c.parse(a.content)},parseElement:function(a){new HTMLElementElement(a)}},d=Array.prototype.forEach.call.bind(Array.prototype.forEach);CustomElements.parser=c}(),function(){function a(){setTimeout(function(){CustomElements.parser.parse(document),CustomElements.upgradeDocument(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)}if("function"!=typeof window.CustomEvent&&(window.CustomEvent=function(a){var b=document.createEvent("HTMLEvents");return b.initEvent(a,!0,!0),b}),"complete"===document.readyState)a();else{var b=window.HTMLImports?"HTMLImportsLoaded":"DOMContentLoaded";window.addEventListener(b,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=b.pointermap,d=25,e={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,e=a.clientX,f=a.clientY,g=0,h=c.length;h>g&&(b=c[g]);g++){var i=Math.abs(e-b.x),j=Math.abs(f-b.y);if(d>=i&&d>=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 d=c.has(this.POINTER_ID);if(d&&(this.cancel(a),d=!1),!d){var e=this.prepareEvent(a);c.set(this.POINTER_ID,a),b.down(e),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 d=c.get(this.POINTER_ID);if(d&&d.button===a.button){var e=this.prepareEvent(a);b.up(e),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(){c.delete(this.POINTER_ID),b.unlisten(this.global,document,this.mouseHandler)}};b.listen(["mousemove"],document,b.boundHandler),a.mouseEvents=e}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.findTarget,d=b.pointermap,e=b.scrollType,f=Array.prototype.map.call.bind(Array.prototype.map),g=2500,h={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 d=b.cloneEvent(a);return d.pointerId=a.identifier+2,d.target=c(d),d.bubbles=!0,d.cancelable=!0,d.button=0,d.buttons=1,d.width=a.webkitRadiusX||a.radiusX,d.height=a.webkitRadiusY||a.radiusY,d.pressure=a.webkitForce||a.force,d.isPrimary=this.isPrimaryTouch(a),d.pointerType=this.POINTER_TYPE,d},processTouches:function(a,b){var c=a.changedTouches,d=f(c,this.touchToPointer,this);d.forEach(b,this)},shouldScroll:function(a){if(this.firstXY){var b,c=e.get(a.currentTarget);if("none"===c)b=!1;else if("XY"===c)b=!0;else{var d=a.changedTouches[0],f=c,g="Y"===c?"X":"Y",h=Math.abs(d["client"+f]-this.firstXY[f]),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(d.size>=b.length){var c=[];d.ids.forEach(function(a){if(1!==a&&!this.findTouch(b,a-2)){var e=d.get(a).out;c.push(this.touchToPointer(e))}},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){d.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,e=d.get(c.pointerId);if(e){var f=e.out,g=e.outTarget;b.move(c),f&&g!==c.target&&(f.relatedTarget=c.target,c.relatedTarget=g,f.target=g,c.target?(b.leaveOut(f),b.enterOver(c)):(c.target=g,c.relatedTarget=null,this.cancelOut(c))),e.out=c,e.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){d.delete(a.pointerId),this.removePrimaryTouch(a)},dedupSynthMouse:function(b){var c=a.mouseEvents.lastTouches,d=b.changedTouches[0];if(this.isPrimaryTouch(d)){var e={x:d.clientX,y:d.clientY};c.push(e);var f=function(a,b){var c=a.indexOf(b);c>-1&&a.splice(c,1)}.bind(null,c,e);setTimeout(f,g)}}};a.touchEvents=h}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=b.pointermap,d={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){c.delete(a)},MSPointerDown:function(a){c.set(a.pointerId,a);var d=this.prepareEvent(a);b.down(d)},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)}};a.msEvents=d}(window.PointerEventsPolyfill),function(a){var b=a.dispatcher,c=a.installer;if(void 0===window.navigator.pointerEnabled){if(window.navigator.msPointerEnabled){var d=window.navigator.msMaxTouchPoints;Object.defineProperty(window.navigator,"maxTouchPoints",{value:d,enumerable:!0}),b.registerSource("ms",a.msEvents),b.registerTarget(document)}else b.registerSource("mouse",a.mouseEvents),void 0!==window.ontouchstart&&b.registerSource("touch",a.touchEvents),c.enableOnSubtree(document);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),window.Polymer||(window.Polymer={}),function(){var a=Array.prototype.forEach.call.bind(Array.prototype.forEach);window.forEach=a}(),function(a){function b(a){var c=b.caller,f=c.nom;f||(f=e.call(this,c)),f||console.warn("called super() on a method not installed declaratively (has no .nom property)"),"_super"in c||d(c,f,Object.getPrototypeOf(this));var g=c._super;if(g){var h=g[f];return"_super"in h||d(h,f,g),h.apply(this,a||[])}}function c(a,b,c){for(var d=a;d&&(!d.hasOwnProperty(b)||d[b]==c);)d=Object.getPrototypeOf(d);return d}function d(a,b,d){a._super=c(d,b,a),a._super&&(a._super[b]._nom=b)}function e(a){console.group("nameInThis");for(var b=this;b&&b!==HTMLElement.prototype;){for(var c,d=Object.getOwnPropertyNames(b),e=0,f=d.length;f>e&&(c=d[e]);e++){console.log(c);var g=Object.getOwnPropertyDescriptor(b,c);if(g.value==a)return c}b=Object.getPrototypeOf(b)}console.groupEnd("nameInThis")}a.$super=b}(Polymer),function(a){function b(b,e){if(b!=window){if(!(b&&b instanceof HTMLElement))throw"First argument to Polymer.register must be an HTMLElement";var f=Platform.mixin({},a.base,e);f.elementElement=b,a.addResolvePath(f,b),f.installTemplate=function(){this.super(),d.call(this,b)},f.installTemplate.nom="installTemplate",f.readyCallback=c,f.insertedCallback=g,f.removedCallback=h,f.attributeChangedCallback=i,j(f),a.parseHostEvents(b.attributes,f),a.publishAttributes(b,f),a.installSheets(b),a.shimStyling(b),b.register({prototype:f}),logFlags.comps&&console.log("Polymer: element registered"+b.options.name)}}function c(){this.installTemplate(),f.call(this)}function d(a){var b=a.querySelector("template");if(b){var c=this.webkitCreateShadowRoot();return c.applyAuthorStyles=this.applyAuthorStyles,CustomElements.watchShadow(this),c.host=this,c.appendChild(b.createInstance(this,Polymer.expressionSyntax)),e.call(this,c),c}}function e(b){CustomElements.takeRecords(),a.marshalNodeReferences.call(this,b);var c=a.accumulateEvents(b);a.bindAccumulatedLocalEvents.call(this,b,c),PointerGestures.register(b),PointerEventsPolyfill.setTouchAction(b,this.getAttribute("touch-action"))}function f(){a.observeProperties.call(this),a.installInstanceAttributes.call(this),a.takeAttributes.call(this);var b=a.accumulateHostEvents.call(this);a.bindAccumulatedHostEvents.call(this,b),this.asyncUnbindAll(),this.ready&&this.ready()}function g(){this.cancelUnbindAll(!0),this.inserted&&this.inserted()}function h(){this.asyncUnbindAll(),this.removed&&this.removed()}function i(){this.attributeChanged&&this.attributeChanged.apply(this,arguments)}function j(a){Object.getOwnPropertyNames(a).forEach(function(b){var c=Object.getOwnPropertyDescriptor(a,b);"function"==typeof c.value&&(c.value.nom=b)})}function k(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||{},a.register=b,a.findDistributedTarget=k,a.instanceReady=f}(Polymer),function(a){var b=window.logFlags||{},c={"super":Polymer.$super,isPolymerElement:!0,bind:function(){Polymer.bind.apply(this,arguments)},unbind:function(){Polymer.unbind.apply(this,arguments)},unbindAll:function(){Polymer.unbindAll.apply(this,arguments)},cancelUnbindAll:function(){Polymer.cancelUnbindAll.apply(this,arguments)},asyncUnbindAll:function(){Polymer.asyncUnbindAll.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=r.get(a);d||r.set(a,d={}),d[b.toLowerCase()]=c}function b(a,b){var c=r.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&&r.get(a)||s -}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){Polymer.unregisterObserver(this,"binding",a)||HTMLElement.prototype.unbind.apply(this,arguments)}function h(){l(this)||(Polymer.unregisterObserversOfType(this,"property"),HTMLElement.prototype.unbindAll.apply(this,arguments),i(this.webkitShadowRoot,!0),k(this))}function i(a,b){j(a,b,function(a){a.unbindAll&&a.unbindAll()})}function j(a,b,c){if(a){c(a),b&&a.olderShadowRoot&&j(a.olderShadowRoot,b,c);for(var d=a.firstChild;d;d=d.nextSibling)j(d,b,c)}}function k(a){t.set(a,!0)}function l(a){return t.get(a)}function m(){l(this)||(p.bind&&console.log("asyncUnbindAll",this.localName),u.set(this,this.job(u.get(this),this.unbindAll)))}function n(a){if(l(this))return p.bind&&console.warn(this.localName,"is unbound, cannot cancel unbindAll"),void 0;p.bind&&console.log("cancelUnbindAll",this.localName);var b=u.get(this);b&&(b.stop(),u.set(this,null)),a||j(this.webkitShadowRoot,!0,function(a){a.cancelUnbindAll&&a.cancelUnbindAll()})}function o(a,b){var c=document.createElement("template");return c.innerHTML=a,c.createInstance(b,q)}var p=window.logFlags||{},q=new ExpressionSyntax,r=new SideTable;[Node,Element,Text,HTMLInputElement].forEach(c);var s={},t=new SideTable,u=new SideTable,v=/\{\{([^{}]*)}}/;Polymer.bind=f,Polymer.unbind=g,Polymer.unbindAll=h,Polymer.getBinding=e,Polymer.asyncUnbindAll=m,Polymer.cancelUnbindAll=n,Polymer.isElementUnbound=l,Polymer.unbindNodeTree=i,Polymer.parseAndBindHTML=o,Polymer.bindPattern=v,Polymer.expressionSyntax=q}(),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 d,e=a.options.prototype,f=a.attributes,g=b.instanceAttributes=Object.create(e.instanceAttributes||null),h=0,i=f.length;i>h&&(d=f[h]);h++)c.blackList[d.name]||"on-"!==d.name.slice(0,3)&&(g[d.name]=d.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;return b instanceof Date&&(c="date"),m[c](a,b)}var h=Polymer.bindPattern,i="__published",j="attributes",k="publish";c.blackList={name:1,"extends":1,constructor:1},c.blackList[j]=1;var l=String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase),m={string:function(a){return a},date:function(a){return new Date(Date.parse(a)||Date.now())},"boolean":function(a){return""===a?!0:"false"===a?!1:!!a},number:function(a){var b=parseFloat(a);return String(b)===a?b:a},object:function(a,b){if(!b)return a;try{return JSON.parse(a.replace(/'/g,'"'))}catch(c){return a}}};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){if(a.on=k+a.type,j.events&&console.group("[%s]: listenLocal [%s]",this.localName,a.on),!a.path||window.ShadowDOMPolyfill)e(a);else{var b=null;Array.prototype.some.call(a.path,function(c){return c===this?!0:(b=b===this?b:v(c),b&&h.call(b,c,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=h(a,t,function(a){return!a.hasAttribute(x)}),c=n(a);if(c){var d="";b.forEach(function(a){a.parentNode.removeChild(a),d+=k(a)+"\n"}),d&&c.insertBefore(j(d),c.firstChild)}}function c(a){l(g(a,v),p.head)}function d(a,b){b.controllerStyle||(b.controllerStyle=g(b,w));var c=b.controllerStyle,d=i(a);d&&!e(d,a,w)&&(Polymer.shimPolyfillDirectives([c],a.localName),l(c,d))}function e(a,b,c){return a.querySelector("style["+u+"="+b.localName+"-"+c+"]")}function f(a,b){var c="",d="["+x+"="+b+"]",e=function(a){return m(a,d)},f=h(a,t,e);f.forEach(function(a){a.parentNode.removeChild(a),c+=k(a)+"\n\n"});var g=h(a,s,e);return g.forEach(function(a){a.parentNode.removeChild(a),c+=a.textContent+"\n\n"}),c}function g(a,b){var c=f(a,b);if(c){var d=j(c);return d.setAttribute(u,a.options.name+"-"+b),d}}function h(a,b,c){var d=o(a.querySelectorAll(b)),e=n(a);if(e){var f=o(e.querySelectorAll(b));d=d.concat(f)}return d.filter(c)}function i(a){for(var b=a;b.parentNode;)b=b.parentNode;return b==p?p.head:b}function j(a){var b=document.createElement("style");return b.textContent=a,b}function k(a){return a&&a.__resource||""}function l(a,b){if(a){var c=a.cloneNode(!0);c.textContent=a.textContent,b.appendChild(c)}}function m(a,b){return r?r.call(a,b):void 0}function n(a){var b=a.querySelector("template");return b&&templateContent(b)}function o(a){return Array.prototype.slice.call(a||[],0)}window.logFlags||{};var p=wrap(document),q=HTMLElement.prototype,r=q.matches||q.matchesSelector||q.webkitMatchesSelector||q.mozMatchesSelector,s="style",t="[rel=stylesheet]",u="element",v="global",w="controller",x="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,hostElementRe:/(.*)((?:\*)|(?:\:scope))(.*)/,hostFixableRe:/^[.\[:]/,cssCommentRe:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,cssPolyfillCommentRe:/\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,cssPseudoRe:/::(x-[^\s{,(]*)/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),Polymer.strictPolyfillStyling&&d.applyScopeToContent(a.templateContent,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){var c=this.shimAtHost(a,b);c+=this.shimScoping(a,b),this.addCssToDocument(c)},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},applyScopeToContent:function(b,c){b&&(a(b.querySelectorAll("*"),function(a){a.setAttribute(c,"")}),a(b.querySelectorAll("template"),function(a){this.applyScopeToContent(templateContent(a),c)},this))},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){return a?this.convertAtHostStyles(a,b):void 0},shimScoping:function(a,b){return a?this.convertScopedStyles(a,b):void 0},convertPolyfillDirectives:function(a,b){for(var c,d,e="",f=0;c=this.cssPolyfillCommentRe.exec(a);)e+=a.substring(f,c.index),d=c[1].slice(0,-2).replace(this.hostRe,b),e+=this.scopeSelector(d,b)+"{",f=this.cssPolyfillCommentRe.lastIndex;return e+=a.substring(f,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(","),e="[is="+b+"]";return d.forEach(function(a){a=a.trim(),a.match(this.hostElementRe)?a=a.replace(this.hostElementRe,b+"$1$3, "+e+"$1$3"):a.match(this.hostFixableRe)&&(a=b+a+", "+e+a),c.push(a)},this),c.join(", ")},convertScopedStyles:function(b,c){a(b,function(a){a.parentNode&&a.parentNode.removeChild(a)});var d=this.stylesToCssText(b).replace(this.hostRuleRe,"");d=this.convertPseudos(d);var e=this.cssToRules(d);return d=this.scopeRules(e,c)},convertPseudos:function(a){return a.replace(this.cssPseudoRe," [pseudo=$1]")},scopeRules:function(b,c){var d="";return a(b,function(a){a.selectorText&&a.style&&a.style.cssText?(d+=this.scopeSelector(a.selectorText,c,Polymer.strictPolyfillStyling)+" {\n ",d+=this.propertiesFromRule(a)+"\n}\n\n"):a.media?(d+="@media "+a.media.mediaText+" {\n",d+=this.scopeRules(a.cssRules,c),d+="\n}\n\n"):a.cssText&&(d+=a.cssText+"\n\n")},this),d},propertiesFromRule:function(a){var b=a.style.cssText;return a.style.content&&!a.style.content.match(/['"]+/)&&(b="content: '"+a.style.content+"';\n"+a.style.cssText.replace(/content:[^;]*;/g,"")),b},selectorNeedsScoping:function(a,b){var c="("+b+"|\\[is="+b+"\\])",d=new RegExp("^"+c+this.selectorReSuffix,"m");return!a.match(d)},scopeSelector:function(a,b,c){var d=[],e=a.split(",");return e.forEach(function(a){a=a.trim(),this.selectorNeedsScoping(a,b)&&(a=c?this.applyStrictSelectorScope(a,b):this.applySimpleSelectorScope(a,b)),d.push(a)},this),d.join(", ")},applySimpleSelectorScope:function(a,b){return b+" "+a+", "+"[is="+b+"] "+a},applyStrictSelectorScope:function(a,b){var c=[" ",">","+","~"],d=a,e="["+b+"]";return c.forEach(function(a){var b=d.split(a);d=b.map(function(a){var b=a.trim();return b&&c.indexOf(b)<0&&b.indexOf(e)<0&&(a=b.replace(/([^:]*)(:*)(.*)/,"$1"+e+"$2$3")),a}).join(a)}),d},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","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","logFlags","group","groupEnd","adoptNode","CustomElements","upgradeAll","setInterval","flush","dirtyCheck","_URL","baseURI","head","HTMLImports","flags","xhr","documents","cache","preloadSelectors","loader","loaded","load","preload","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","receive","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","impl","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","shift","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","search","async","ok","status","XMLHttpRequest","debug","bust","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","link","script","style","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","readyTime","CustomEvent","ShadowDOMPolyfill","wrapIfNeeded","sort","uid_","takeRecords","callback_","nodes_","removeTransientObservers","options","subtree","enqueue","records_","target","addedNodes","removedNodes","previousSibling","attributeName","attributeNamespace","transientObservedNodes","msSetImmediate","postMessage","childList","characterData","attributeOldValue","attributeFilter","characterDataOldValue","SyntaxError","removeListeners","addListeners","addListeners_","removeListeners_","addTransientObserver","handleEvent","stopImmediatePropagation","attrName","relatedNode","namespaceURI","attrChange","MutationEvent","ADDITION","prevValue","JsMutationObserver","MutationObserver","WebKitMutationObserver","lifecycle","ancestry","extends","ctor","constructor","ready","is","tag","native","__upgraded__","upgradeSubtree","readyCallback","attributeChangedCallback","hasNative","webkitRegister","register","registry","upgradeElement","upgrade","firstElementChild","nextElementSibling","dom","insertedCallback","__inserted","warn","removedCallback","host","__watched","watchShadow","watchAllShadows","observeDocument","upgradeDocument","parseElementElement","takeAttributes","executeComponentScript","inScript","inContext","inName","context","owner","url","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","elapsed","canTarget","elementFromPoint","targetingShadow","searchRoot","olderShadowRoot","findTarget","clientX","clientY","targetFinding","PointerEventsPolyfill","rule","buttons","which","MouseEvent","view","detail","screenX","screenY","ctrlKey","altKey","shiftKey","metaKey","button","relatedTarget","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_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","currentTarget","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","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","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","base","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","job","asyncMethod","inTimeout","args","dispatch","inMethodName","inArguments","fire","inType","inDetail","inToNode","node","asyncFire","classFollows","anew","old","className","classList","asend","registerObserver","o$","getObserversOfType","unregisterObserver","$o","lcName","unregisterObserversOfType","b$","trackingTable","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","getBindings","emptyBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","preventCascade","unbindJob","stop","parseAndBindHTML","html","mustachePattern","bindPattern","publishAttributesAttributes","publishInstanceAttributes","published","attributes$","names","inherited","imperative","attrProps$","published$","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","inferredType","typeHandlers","string","date","boolean","number","floatVal","nodes","bindAccumulatedEvents","inNode","inEvents","inListener","listenHost","listenLocal","inEvent","cancelBubble","on","prefix","listenLocalNoEventPath","some","findController","handleHostEvent","getHandledListForEvent","handledList","eventHandledTable","findHostHandler","inAttributes","eventDelegates","parseEvents","accumulateNodeEvents","accumulateChildEvents","accumulateTemplatedEvents","accumulateEvent","event_translations","webkitanimationstart","webkitanimationend","webkittransitionend","domfocusout","domfocusin","cn$","getTemplateContent","inTemplate","inHandlerName","inEventName","observeProperty","isObservable","inNew","inOld","propertyChanged","OBSERVE_SUFFIX","inOldValue","installLocalSheets","installGlobalStyles","sheets","findInElement","SHEET_SELECTOR","SCOPE_ATTR","elementTemplateContent","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","doc","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","inSelector","matches","nodeList","eltProto","webkitMatchesSelector","mozMatchesSelector","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","createTextNode","addSheetToDocument","calcElementPath","resolvePath","inUrl","inJob","inCallback","inWait","Job","go","handle","complete","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/polymer.sandbox.min.js b/polymer.sandbox.min.js deleted file mode 100644 index 0d0ecea964..0000000000 --- a/polymer.sandbox.min.js +++ /dev/null @@ -1,6566 +0,0 @@ -// Copyright (c) 2012 The Polymer Authors. All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -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 = z.get(b); - if (c) return c; - var d = e(b), f = n(d); - return k(b, f, a), f; - } - function f(a, b) { - i(a, b, !0); - } - function g(a, b) { - i(b, a, !1); - } - function h(a) { - return /^on[a-z]+$/.test(a); - } - function i(b, c, d) { - Object.getOwnPropertyNames(b).forEach(function(e) { - if (!(e in c)) { - B && b.__lookupGetter__(e); - var f; - try { - f = Object.getOwnPropertyDescriptor(b, e); - } catch (g) { - f = C; - } - var i, j; - if (d && "function" == typeof f.value) return c[e] = function() { - return this.impl[e].apply(this.impl, arguments); - }, void 0; - var k = h(e); - i = k ? a.getEventHandlerGetter(e) : function() { - return this.impl[e]; - }, (f.writable || f.set) && (j = k ? a.getEventHandlerSetter(e) : function(a) { - this.impl[e] = a; - }), Object.defineProperty(c, e, { - get: i, - set: j, - configurable: f.configurable, - enumerable: f.enumerable - }); - } - }); - } - function j(a, b, c) { - var e = a.prototype; - k(e, b, c), d(b, a); - } - function k(a, c, d) { - var e = c.prototype; - b(void 0 === z.get(a)), z.set(a, c), f(a, e), d && g(e, d); - } - function l(a, b) { - return z.get(b.prototype) === a; - } - function m(a) { - var b = Object.getPrototypeOf(a), c = e(b), d = n(c); - return k(b, d, a), d; - } - function n(a) { - function b(b) { - a.call(this, b); - } - return b.prototype = Object.create(a.prototype), b.prototype.constructor = b, b; - } - function o(a) { - return a instanceof A.EventTarget || a instanceof A.Event || a instanceof A.DOMImplementation; - } - function p(a) { - return a instanceof F || a instanceof E || a instanceof G || a instanceof D; - } - function q(a) { - if (null === a) return null; - b(p(a)); - var c = y.get(a); - if (!c) { - var d = e(a); - c = new d(a), y.set(a, c); - } - return c; - } - function r(a) { - return null === a ? null : (b(o(a)), a.impl); - } - function s(a) { - return a && o(a) ? r(a) : a; - } - function t(a) { - return a && !o(a) ? q(a) : a; - } - function u(a, c) { - null !== c && (b(p(a)), b(void 0 === c || o(c)), y.set(a, c)); - } - function v(a, b, c) { - Object.defineProperty(a.prototype, b, { - get: c, - configurable: !0, - enumerable: !0 - }); - } - function w(a, b) { - v(a, b, function() { - return q(this.impl[b]); - }); - } - function x(a, b) { - a.forEach(function(a) { - b.forEach(function(b) { - a.prototype[b] = function() { - var a = q(this); - return a[b].apply(a, arguments); - }; - }); - }); - } - var y = new SideTable(), z = new SideTable(), A = Object.create(null); - Object.getOwnPropertyNames(window); - var B = /Firefox/.test(navigator.userAgent), C = { - get: function() {}, - set: function() {}, - configurable: !0, - enumerable: !0 - }, D = DOMImplementation, E = Event, F = Node, G = Window; - a.assert = b, a.defineGetter = v, a.defineWrapGetter = w, a.forwardMethodsToWrapper = x, - a.isWrapperFor = l, a.mixin = c, a.registerObject = m, a.registerWrapper = j, a.rewrap = u, - a.unwrap = r, a.unwrapIfNeeded = s, a.wrap = q, a.wrapIfNeeded = t, a.wrappers = A; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - return a instanceof M.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) && L(b) || null; - } - function f(f, g, h) { - if (h.length) return h.shift(); - if (b(f)) return j(f) || a.getHostForShadowRoot(f); - var i = a.eventParentsTable.get(f); - if (i) { - for (var k = 1; k < i.length; k++) h[k - 1] = i[k]; - return i[0]; - } - if (g && c(f)) { - var l = f.parentNode; - if (l && d(l)) for (var m = a.getShadowTrees(l), n = j(g), k = 0; k < m.length; k++) if (m[k].contains(n)) return n; - } - return e(f); - } - function g(a) { - for (var d = [], e = a, g = [], i = []; e; ) { - var j = null; - if (c(e)) { - j = h(d); - var k = d[d.length - 1] || e; - d.push(k); - } else d.length || d.push(e); - var l = d[d.length - 1]; - g.push({ - target: l, - currentTarget: e - }), b(e) && d.pop(), e = f(e, j, i); - } - return g; - } - function h(a) { - for (var b = a.length - 1; b >= 0; b--) if (!c(a[b])) return a[b]; - return null; - } - function i(d, e) { - for (var g = []; d; ) { - for (var i = [], j = e, l = void 0; j; ) { - var n = null; - if (i.length) { - if (c(j) && (n = h(i), k(l))) { - var o = i[i.length - 1]; - i.push(o); - } - } else i.push(j); - if (m(j, d)) return i[i.length - 1]; - b(j) && i.pop(), l = j, j = f(j, n, g); - } - d = b(d) ? a.getHostForShadowRoot(d) : d.parentNode; - } - } - function j(b) { - return a.insertionParentTable.get(b); - } - function k(a) { - return j(a); - } - function l(a) { - for (var b; b = a.parentNode; ) a = b; - return a; - } - function m(a, b) { - return l(a) === l(b); - } - function n(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 o(b) { - if (!O.get(b)) { - O.set(b, !0), n(b.type) || a.renderAllPending(); - var c = L(b.target), d = L(b); - return p(d, c); - } - } - function p(a, b) { - var c = g(b); - return "load" === a.type && 2 === c.length && c[0].target instanceof M.Document && c.shift(), - W.set(a, c), q(a, c) && r(a, c) && s(a, c), S.set(a, v.NONE), Q.set(a, null), a.defaultPrevented; - } - function q(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 = v.CAPTURING_PHASE, !t(b[d], a, c))) return !1; - } - return !0; - } - function r(a, b) { - var c = v.AT_TARGET; - return t(b[0], a, c); - } - function s(a, b) { - for (var c, d = a.bubbles, e = 1; e < b.length; e++) { - var f = b[e].target, g = b[e].currentTarget; - if (f === g) c = v.AT_TARGET; else { - if (!d || U.get(a)) continue; - c = v.BUBBLING_PHASE; - } - if (!t(b[e], a, c)) return; - } - } - function t(a, b, c) { - var d = a.target, e = a.currentTarget, f = N.get(e); - if (!f) return !0; - if ("relatedTarget" in b) { - var g = K(b), h = L(g.relatedTarget), j = i(e, h); - if (j === d) return !0; - R.set(b, j); - } - S.set(b, c); - var k = b.type, l = !1; - P.set(b, d), Q.set(b, e); - for (var m = 0; m < f.length; m++) { - var n = f[m]; - if (n.removed) l = !0; else if (!(n.type !== k || !n.capture && c === v.CAPTURING_PHASE || n.capture && c === v.BUBBLING_PHASE)) try { - if ("function" == typeof n.handler ? n.handler.call(e, b) : n.handler.handleEvent(b), - U.get(b)) return !1; - } catch (o) { - window.onerror ? window.onerror(o.message) : console.error(o); - } - } - if (l) { - var p = f.slice(); - f.length = 0; - for (var m = 0; m < p.length; m++) p[m].removed || f.push(p[m]); - } - return !T.get(b); - } - function u(a, b, c) { - this.type = a, this.handler = b, this.capture = Boolean(c); - } - function v(a, b) { - return a instanceof X ? (this.impl = a, void 0) : L(z(X, "Event", a, b)); - } - function w(a) { - return a && a.relatedTarget ? Object.create(a, { - relatedTarget: { - value: K(a.relatedTarget) - } - }) : a; - } - function x(a, b, c) { - var d = window[a], e = function(b, c) { - return b instanceof d ? (this.impl = b, void 0) : L(z(d, a, b, c)); - }; - return e.prototype = Object.create(b.prototype), c && I(e.prototype, c), d && J(d, e, document.createEvent(a)), - e; - } - function y(a, b) { - return function() { - arguments[b] = K(arguments[b]); - var c = K(this); - c[a].apply(c, arguments); - }; - } - function z(a, b, c, d) { - if (fb) return new a(c, w(d)); - var e = K(document.createEvent(b)), f = eb[b], g = [ c ]; - return Object.keys(f).forEach(function(a) { - var b = null != d && a in d ? d[a] : f[a]; - "relatedTarget" === a && (b = K(b)), g.push(b); - }), e["init" + b].apply(e, g), e; - } - function A(a) { - return "function" == typeof a ? !0 : a && a.handleEvent; - } - function B(a) { - this.impl = a; - } - function C(b) { - return b instanceof M.ShadowRoot && (b = a.getHostForShadowRoot(b)), K(b); - } - function D(a) { - H(a, ib); - } - function E(b, c, d, e) { - a.renderAllPending(); - for (var f = L(jb.call(c.impl, d, e)), h = g(f, this), i = 0; i < h.length; i++) { - var j = h[i]; - if (j.currentTarget === b) return j.target; - } - return null; - } - function F(a) { - return function() { - var b = V.get(this); - return b && b[a] && b[a].value || null; - }; - } - function G(a) { - var b = a.slice(2); - return function(c) { - var d = V.get(this); - d || (d = Object.create(null), V.set(this, d)); - var e = d[a]; - if (e && this.removeEventListener(b, e.wrapped, !1), "function" == typeof c) { - var f = function(b) { - var d = c.call(this, b); - d === !1 ? b.preventDefault() : "onbeforeunload" === a && "string" == typeof d && (b.returnValue = d); - }; - this.addEventListener(b, f, !1), d[a] = { - value: c, - wrapped: f - }; - } - }; - } - var H = a.forwardMethodsToWrapper, I = a.mixin, J = a.registerWrapper, K = a.unwrap, L = a.wrap, M = a.wrappers; - new SideTable(); - var N = new SideTable(), O = new SideTable(), P = new SideTable(), Q = new SideTable(), R = new SideTable(), S = new SideTable(), T = new SideTable(), U = new SideTable(), V = new SideTable(), W = new SideTable(); - u.prototype = { - equals: function(a) { - return this.handler === a.handler && this.type === a.type && this.capture === a.capture; - }, - get removed() { - return null === this.handler; - }, - remove: function() { - this.handler = null; - } - }; - var X = window.Event; - v.prototype = { - get target() { - return P.get(this); - }, - get currentTarget() { - return Q.get(this); - }, - get eventPhase() { - return S.get(this); - }, - get path() { - var a = new M.NodeList(), b = W.get(this); - if (b) { - for (var c = 0, d = !1, e = Q.get(this), f = b.length - 1, g = 0; f >= g; g++) if (d || (d = b[g].currentTarget === e), - d) { - var h = b[g].currentTarget; - (g !== f || h instanceof M.Node) && (a[c++] = h); - } - a.length = c; - } - return a; - }, - stopPropagation: function() { - T.set(this, !0); - }, - stopImmediatePropagation: function() { - T.set(this, !0), U.set(this, !0); - } - }, J(X, v, document.createEvent("Event")); - var Y = x("UIEvent", v), Z = x("CustomEvent", v), $ = { - get relatedTarget() { - return R.get(this) || L(K(this).relatedTarget); - } - }, _ = I({ - initMouseEvent: y("initMouseEvent", 14) - }, $), ab = I({ - initFocusEvent: y("initFocusEvent", 5) - }, $), bb = x("MouseEvent", Y, _), cb = x("FocusEvent", Y, ab), db = x("MutationEvent", v, { - initMutationEvent: y("initMutationEvent", 3), - get relatedNode() { - return L(this.impl.relatedNode); - } - }), eb = Object.create(null), fb = function() { - try { - new window.MouseEvent("click"); - } catch (a) { - return !1; - } - return !0; - }(); - if (!fb) { - var gb = function(a, b, c) { - if (c) { - var d = eb[c]; - b = I(I({}, d), b); - } - eb[a] = b; - }; - gb("Event", { - bubbles: !1, - cancelable: !1 - }), gb("CustomEvent", { - detail: null - }, "Event"), gb("UIEvent", { - view: null, - detail: 0 - }, "Event"), gb("MouseEvent", { - screenX: 0, - screenY: 0, - clientX: 0, - clientY: 0, - ctrlKey: !1, - altKey: !1, - shiftKey: !1, - metaKey: !1, - button: 0, - relatedTarget: null - }, "UIEvent"), gb("FocusEvent", { - relatedTarget: null - }, "UIEvent"); - } - var hb = window.EventTarget, ib = [ "addEventListener", "removeEventListener", "dispatchEvent" ]; - [ Element, Window, Document ].forEach(function(a) { - var b = a.prototype; - ib.forEach(function(a) { - Object.defineProperty(b, a + "_", { - value: b[a] - }); - }); - }), B.prototype = { - addEventListener: function(a, b, c) { - if (A(b)) { - var d = new u(a, b, c), e = N.get(this); - if (e) { - for (var f = 0; f < e.length; f++) if (d.equals(e[f])) return; - } else e = [], N.set(this, e); - e.push(d); - var g = C(this); - g.addEventListener_(a, o, !0); - } - }, - removeEventListener: function(a, b, c) { - c = Boolean(c); - var d = N.get(this); - if (d) { - for (var e = 0, f = !1, g = 0; g < d.length; g++) d[g].type === a && d[g].capture === c && (e++, - d[g].handler === b && (f = !0, d[g].remove())); - if (f && 1 === e) { - var h = C(this); - h.removeEventListener_(a, o, !0); - } - } - }, - dispatchEvent: function(a) { - var b = C(this); - return b.dispatchEvent_(K(a)); - } - }, hb && J(hb, B); - var jb = document.elementFromPoint; - a.adjustRelatedTarget = i, a.elementFromPoint = E, a.getEventHandlerGetter = F, - a.getEventHandlerSetter = G, a.wrapEventTargetMethods = D, a.wrappers.CustomEvent = Z, - a.wrappers.Event = v, a.wrappers.EventTarget = B, a.wrappers.FocusEvent = cb, a.wrappers.MouseEvent = bb, - a.wrappers.MutationEvent = db, a.wrappers.UIEvent = Y; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a, b) { - Object.defineProperty(a, b, { - enumerable: !1 - }); - } - function c() { - this.length = 0, b(this, "length"); - } - function d(a) { - if (null == a) return a; - for (var b = new c(), d = 0, e = a.length; e > d; 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 < g.length; h++) g[h].previousSibling_ = g[h - 1] || c, g[h].nextSibling_ = g[h + 1] || d; - return c && (c.nextSibling_ = g[0]), d && (d.previousSibling_ = g[g.length - 1]), - g; - } - function d(a, b) { - var c = b.length; - if (1 === c) return m(b[0]); - for (var d = m(a.ownerDocument.createDocumentFragment()), e = 0; c > e; e++) d.appendChild(m(b[e])); - return d; - } - function e(a) { - for (var b = a.firstChild; b; ) { - j(b.parentNode === a); - var c = b.nextSibling, d = m(b), e = d.parentNode; - e && s.call(e, d), b.previousSibling_ = b.nextSibling_ = b.parentNode_ = null, b = c; - } - a.firstChild_ = a.lastChild_ = null; - } - function f(a) { - j(a instanceof o), g.call(this, a), this.parentNode_ = void 0, this.firstChild_ = void 0, - this.lastChild_ = void 0, this.nextSibling_ = void 0, this.previousSibling_ = void 0; - } - var g = a.wrappers.EventTarget, h = a.wrappers.NodeList, i = a.defineWrapGetter, j = a.assert, k = a.mixin, l = a.registerWrapper, m = a.unwrap, n = a.wrap, o = window.Node, p = o.prototype.appendChild, q = o.prototype.insertBefore, r = o.prototype.replaceChild, s = o.prototype.removeChild, t = o.prototype.compareDocumentPosition; - f.prototype = Object.create(g.prototype), k(f.prototype, { - appendChild: function(a) { - b(a), this.invalidateShadowRenderer(); - var e = this.lastChild, f = null, g = c(a, this, e, f); - return this.lastChild_ = g[g.length - 1], e || (this.firstChild_ = g[0]), p.call(this.impl, d(this, g)), - a; - }, - insertBefore: function(a, e) { - if (!e) return this.appendChild(a); - b(a), b(e), j(e.parentNode === this), this.invalidateShadowRenderer(); - var f = e.previousSibling, g = e, h = c(a, this, f, g); - this.firstChild === e && (this.firstChild_ = h[0]); - var i = m(e), k = i.parentNode; - return k && q.call(k, d(this, h), i), a; - }, - removeChild: function(a) { - if (b(a), a.parentNode !== this) throw new Error("NotFoundError"); - this.invalidateShadowRenderer(); - var c = this.firstChild, d = this.lastChild, e = a.nextSibling, f = a.previousSibling, g = m(a), h = g.parentNode; - return h && s.call(h, g), c === a && (this.firstChild_ = e), d === a && (this.lastChild_ = f), - f && (f.nextSibling_ = e), e && (e.previousSibling_ = f), a.previousSibling_ = a.nextSibling_ = a.parentNode_ = null, - a; - }, - replaceChild: function(a, e) { - if (b(a), b(e), e.parentNode !== this) throw new Error("NotFoundError"); - this.invalidateShadowRenderer(); - var f = e.previousSibling, g = e.nextSibling; - g === a && (g = a.nextSibling); - var h = c(a, this, f, g); - this.firstChild === e && (this.firstChild_ = h[0]), this.lastChild === e && (this.lastChild_ = h[h.length - 1]), - e.previousSibling_ = null, e.nextSibling_ = null, e.parentNode_ = null; - var i = m(e); - return i.parentNode && r.call(i.parentNode, d(this, h), i), e; - }, - hasChildNodes: function() { - return null === this.firstChild; - }, - get parentNode() { - return void 0 !== this.parentNode_ ? this.parentNode_ : n(this.impl.parentNode); - }, - get firstChild() { - return void 0 !== this.firstChild_ ? this.firstChild_ : n(this.impl.firstChild); - }, - get lastChild() { - return void 0 !== this.lastChild_ ? this.lastChild_ : n(this.impl.lastChild); - }, - get nextSibling() { - return void 0 !== this.nextSibling_ ? this.nextSibling_ : n(this.impl.nextSibling); - }, - get previousSibling() { - return void 0 !== this.previousSibling_ ? this.previousSibling_ : n(this.impl.previousSibling); - }, - get parentElement() { - for (var a = this.parentNode; a && a.nodeType !== f.ELEMENT_NODE; ) a = a.parentNode; - return a; - }, - get textContent() { - for (var a = "", b = this.firstChild; b; b = b.nextSibling) a += b.textContent; - return a; - }, - set textContent(a) { - if (e(this), this.invalidateShadowRenderer(), "" !== a) { - var b = this.impl.ownerDocument.createTextNode(a); - this.appendChild(b); - } - }, - get childNodes() { - for (var a = new h(), b = 0, c = this.firstChild; c; c = c.nextSibling) a[b++] = c; - return a.length = b, a; - }, - cloneNode: function(a) { - if (!this.invalidateShadowRenderer()) return n(this.impl.cloneNode(a)); - var b = n(this.impl.cloneNode(!1)); - if (a) for (var c = this.firstChild; c; c = c.nextSibling) b.appendChild(c.cloneNode(!0)); - return b; - }, - contains: function(a) { - if (!a) return !1; - if (a === this) return !0; - var b = a.parentNode; - return b ? this.contains(b) : !1; - }, - compareDocumentPosition: function(a) { - return t.call(this.impl, m(a)); - } - }), i(f, "ownerDocument"), l(o, f, document.createDocumentFragment()), delete f.prototype.querySelector, - delete f.prototype.querySelectorAll, f.prototype = k(Object.create(g.prototype), f.prototype), - a.wrappers.Node = f; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a, c) { - for (var d, e = a.firstElementChild; e; ) { - if (e.matches(c)) return e; - if (d = b(e, c)) return d; - e = e.nextElementSibling; - } - return null; - } - function c(a, b, d) { - for (var e = a.firstElementChild; e; ) e.matches(b) && (d[d.length++] = e), c(e, b, d), - e = e.nextElementSibling; - return d; - } - var d = { - querySelector: function(a) { - return b(this, a); - }, - querySelectorAll: function(a) { - return c(this, a, new NodeList()); - } - }, e = { - getElementsByTagName: function(a) { - return this.querySelectorAll(a); - }, - getElementsByClassName: function(a) { - return this.querySelectorAll("." + a); - }, - getElementsByTagNameNS: function(a, b) { - if ("*" === a) return this.getElementsByTagName(b); - for (var c = new NodeList(), d = this.getElementsByTagName(b), e = 0, f = 0; e < d.length; e++) d[e].namespaceURI === a && (c[f++] = d[e]); - return c.length = f, c; - } - }; - a.GetElementsByInterface = e, a.SelectorsInterface = d; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - for (;a && a.nodeType !== Node.ELEMENT_NODE; ) a = a.nextSibling; - return a; - } - function c(a) { - for (;a && a.nodeType !== Node.ELEMENT_NODE; ) a = a.previousSibling; - return a; - } - var d = a.wrappers.NodeList, e = { - get firstElementChild() { - return b(this.firstChild); - }, - get lastElementChild() { - return c(this.lastChild); - }, - get childElementCount() { - for (var a = 0, b = this.firstElementChild; b; b = b.nextElementSibling) a++; - return a; - }, - get children() { - for (var a = new d(), b = 0, c = this.firstElementChild; c; c = c.nextElementSibling) a[b++] = c; - return a.length = b, a; - } - }, f = { - get nextElementSibling() { - return b(this.nextSibling); - }, - get previousElementSibling() { - return c(this.nextSibling); - } - }; - a.ChildNodeInterface = f, a.ParentNodeInterface = e; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - d.call(this, a); - } - var c = a.ChildNodeInterface, d = a.wrappers.Node, e = a.mixin, f = a.registerWrapper, g = window.CharacterData; - b.prototype = Object.create(d.prototype), e(b.prototype, { - get textContent() { - return this.data; - }, - set textContent(a) { - this.data = a; - } - }), e(b.prototype, c), f(g, b, document.createTextNode("")), a.wrappers.CharacterData = b; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - e.call(this, a); - } - var c = a.ChildNodeInterface, d = a.GetElementsByInterface, e = a.wrappers.Node, f = a.ParentNodeInterface, g = a.SelectorsInterface; - a.addWrapNodeListMethod; - var h = a.mixin, i = a.registerWrapper, j = a.wrappers, k = new SideTable(), l = window.Element, m = l.prototype.matches || l.prototype.mozMatchesSelector || l.prototype.msMatchesSelector || l.prototype.webkitMatchesSelector; - b.prototype = Object.create(e.prototype), h(b.prototype, { - createShadowRoot: function() { - var b = new j.ShadowRoot(this); - return k.set(this, b), a.getRendererForHost(this), this.invalidateShadowRenderer(!0), - b; - }, - get shadowRoot() { - return k.get(this) || null; - }, - setAttribute: function(a, b) { - this.impl.setAttribute(a, b), this.invalidateShadowRenderer(); - }, - matches: function(a) { - return m.call(this.impl, a); - } - }), l.prototype.webkitCreateShadowRoot && (b.prototype.webkitCreateShadowRoot = b.prototype.createShadowRoot), - h(b.prototype, c), h(b.prototype, d), h(b.prototype, f), h(b.prototype, g), i(l, b), - a.wrappers.Element = b; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - switch (a) { - case "&": - return "&"; - - case "<": - return "<"; - - case '"': - return """; - } - } - function c(a) { - return a.replace(p, b); - } - function d(a) { - switch (a.nodeType) { - case Node.ELEMENT_NODE: - for (var b, d = a.tagName.toLowerCase(), f = "<" + d, g = a.attributes, h = 0; b = g[h]; h++) f += " " + b.name + '="' + c(b.value) + '"'; - return f += ">", q[d] ? f : f + e(a) + ""; - - 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) { - E(a instanceof D); - for (var d = a.firstChild; d; d = d.nextSibling) b(d); - c(a); - } - function e(a) { - var b = G(a); - d(a), b.textContent = ""; - } - function f(a, c) { - var e = G(a), f = G(c); - f.nodeType === D.DOCUMENT_FRAGMENT_NODE ? d(c) : (h(c), b(c)), a.lastChild_ = a.lastChild, - a.lastChild === a.firstChild && (a.firstChild_ = a.firstChild); - var g = H(e.lastChild); - g && (g.nextSibling_ = g.nextSibling), e.appendChild(f); - } - function g(a, c) { - var d = G(a), e = G(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 = G(a), c = b.parentNode; - c && g(H(c), a); - } - function i(a, b) { - k(b).push(a), A(a, b); - var c = J.get(a); - c || J.set(a, c = []), c.push(b); - } - function j(a) { - I.set(a, []); - } - function k(a) { - return I.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 < d.length; e++) { - var f = d[e]; - if (b(f)) { - if (c(f) === !1) return; - } else m(f, b, c); - } - } - function n(a, b) { - var c = !1; - return m(a, u, function(a) { - j(a); - for (var d = 0; d < b.length; d++) { - var e = b[d]; - void 0 !== e && p(e, a) && (i(e, a), b[d] = void 0, c = !0); - } - }), c ? b.filter(function(a) { - return void 0 !== a; - }) : b; - } - function o(a, b) { - for (var c = 0; c < b.length; c++) if (b[c] in a) return b[c]; - } - function p(a, b) { - var c = b.getAttribute("select"); - if (!c) return !0; - if (c = c.trim(), !c) return !0; - if (a.nodeType !== D.ELEMENT_NODE) return !1; - if (!O.test(c)) return !1; - if (":" === c[0] && !P.test(c)) return !1; - try { - return a.matches(c); - } catch (d) { - return !1; - } - } - function q() { - F = null, R.forEach(function(a) { - a.render(); - }), R = []; - } - function r(a) { - this.host = a, this.dirty = !1, this.associateNode(a); - } - function s(a) { - var b = M.get(a); - return b || (b = new r(a), M.set(a, b)), b; - } - function t(a) { - return "content" === a.localName; - } - function u(a) { - return "content" === a.localName; - } - function v(a) { - return "shadow" === a.localName; - } - function w(a) { - return "shadow" === a.localName; - } - function x(a) { - return !!a.shadowRoot; - } - function y(a) { - return L.get(a); - } - function z(a) { - for (var b = [], c = a.shadowRoot; c; c = L.get(c)) b.push(c); - return b; - } - function A(a, b) { - K.set(a, b); - } - function B(a) { - new r(a).render(); - } - var C = a.wrappers.HTMLContentElement, D = a.wrappers.Node, E = a.assert; - a.mixin; - var F, G = a.unwrap, H = a.wrap, I = new SideTable(), J = new SideTable(), K = new SideTable(), L = new SideTable(), M = new SideTable(), N = new SideTable(), O = /^[*.:#[a-zA-Z_|]/, P = new RegExp("^:(" + [ "link", "visited", "target", "enabled", "disabled", "checked", "indeterminate", "nth-child", "nth-last-child", "nth-of-type", "nth-last-of-type", "first-child", "last-child", "first-of-type", "last-of-type", "only-of-type" ].join("|") + ")"), Q = o(window, [ "requestAnimationFrame", "mozRequestAnimationFrame", "webkitRequestAnimationFrame", "setTimeout" ]), R = []; - r.prototype = { - render: function() { - if (this.dirty) { - var a = this.host; - this.treeComposition(); - var b = a.shadowRoot; - if (b) { - this.removeAllChildNodes(this.host); - var c = l(b); - c.forEach(function(c) { - this.renderNode(a, b, c, !1); - }, this), this.dirty = !1; - } - } - }, - invalidate: function() { - if (!this.dirty) { - if (this.dirty = !0, R.push(this), F) return; - F = window[Q](q, 0); - } - }, - renderNode: function(a, b, c, d) { - if (x(c)) { - this.appendChild(a, c); - var e = s(c); - e.dirty = !0, e.render(); - } else t(c) ? this.renderInsertionPoint(a, b, c, d) : v(c) ? this.renderShadowInsertionPoint(a, b, c) : this.renderAsAnyDomTree(a, b, c, d); - }, - renderAsAnyDomTree: function(a, b, c, d) { - if (this.appendChild(a, c), x(c)) B(c); else { - var e = c, f = l(e); - f.forEach(function(a) { - this.renderNode(e, b, a, d); - }, this); - } - }, - renderInsertionPoint: function(a, b, c, d) { - var e = k(c); - e.length ? (this.removeAllChildNodes(c), e.forEach(function(c) { - t(c) && d ? this.renderInsertionPoint(a, b, c, d) : this.renderAsAnyDomTree(a, b, c, d); - }, this)) : this.renderFallbackContent(a, c), this.remove(c); - }, - renderShadowInsertionPoint: function(a, b, c) { - var d = y(b); - if (d) { - A(d, c), c.olderShadowRoot_ = d, this.remove(c); - var e = l(d); - e.forEach(function(b) { - this.renderNode(a, d, b, !0); - }, this); - } else this.renderFallbackContent(a, c); - }, - renderFallbackContent: function(a, b) { - var c = l(b); - c.forEach(function(b) { - this.appendChild(a, b); - }, this); - }, - treeComposition: function() { - var a = this.host, b = a.shadowRoot, c = [], d = l(a); - d.forEach(function(a) { - if (t(a)) { - var b = k(a); - b && b.length || (b = l(a)), c.push.apply(c, b); - } else c.push(a); - }); - for (var e, f; b; ) { - if (e = void 0, m(b, w, function(a) { - return e = a, !1; - }), f = e, c = n(b, c), f) { - var g = y(b); - if (g) { - b = g, A(b, f); - continue; - } - break; - } - break; - } - }, - appendChild: function(a, b) { - f(a, b), this.associateNode(b); - }, - remove: function(a) { - h(a), this.associateNode(a); - }, - removeAllChildNodes: function(a) { - e(a); - }, - associateNode: function(a) { - N.set(a, this); - } - }, D.prototype.invalidateShadowRenderer = function(a) { - var b = N.get(this); - if (!b) return !1; - var c; - return (a || this.shadowRoot || (c = this.parentNode) && (c.shadowRoot || c instanceof ShadowRoot)) && b.invalidate(), - !0; - }, C.prototype.getDistributedNodes = function() { - return q(), k(this); - }, a.eventParentsTable = J, a.getRendererForHost = s, a.getShadowTrees = z, a.nextOlderShadowTreeTable = L, - a.renderAllPending = q, a.insertionParentTable = K, a.visual = { - removeAllChildNodes: e, - appendChild: f, - removeChild: g - }; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - j.call(this, a); - } - function c(a) { - var c = document[a]; - b.prototype[a] = function() { - return t(c.apply(this.impl, arguments)); - }; - } - function d(a, b) { - a.shadowRoot && b.adoptNode(a.shadowRoot), a instanceof m && e(a, b); - for (var c = a.firstChild; c; c = c.nextSibling) d(c, b); - } - function e(b, c) { - var d = a.nextOlderShadowTreeTable.get(b); - d && c.adoptNode(d); - } - function f(a) { - this.impl = a; - } - function g(a, b) { - var c = document.implementation[b]; - a.prototype[b] = function() { - return t(c.apply(this.impl, arguments)); - }; - } - function h(a, b) { - var c = document.implementation[b]; - a.prototype[b] = function() { - return c.apply(this.impl, arguments); - }; - } - var i = a.GetElementsByInterface, j = a.wrappers.Node, k = a.ParentNodeInterface, l = a.SelectorsInterface, m = a.wrappers.ShadowRoot, n = a.defineWrapGetter, o = a.elementFromPoint, p = a.forwardMethodsToWrapper, q = a.mixin, r = a.registerWrapper, s = a.unwrap, t = a.wrap, u = a.wrapEventTargetMethods; - a.wrapNodeList; - var v = new SideTable(); - b.prototype = Object.create(j.prototype), n(b, "documentElement"), n(b, "body"), - n(b, "head"), [ "getElementById", "createElement", "createElementNS", "createTextNode", "createDocumentFragment", "createEvent", "createEventNS" ].forEach(c); - var w = document.adoptNode, x = document.write; - q(b.prototype, { - adoptNode: function(a) { - return a.parentNode && a.parentNode.removeChild(a), w.call(this.impl, s(a)), d(a, this), - a; - }, - elementFromPoint: function(a, b) { - return o(this, this, a, b); - }, - write: function(a) { - for (var b = this.querySelectorAll("*"), c = b[b.length - 1]; c.nextSibling; ) c = c.nextSibling; - var d = c.parentNode; - d.lastChild_ = void 0, c.nextSibling_ = void 0, x.call(this.impl, a); - } - }), p([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ], [ "appendChild", "compareDocumentPosition", "getElementsByClassName", "getElementsByTagName", "getElementsByTagNameNS", "insertBefore", "querySelector", "querySelectorAll", "removeChild", "replaceChild" ]), - p([ window.HTMLDocument || window.Document ], [ "adoptNode", "createDocumentFragment", "createElement", "createElementNS", "createEvent", "createEventNS", "createTextNode", "elementFromPoint", "getElementById", "write" ]), - q(b.prototype, i), q(b.prototype, k), q(b.prototype, l), q(b.prototype, { - get implementation() { - var a = v.get(this); - return a ? a : (a = new f(s(this).implementation), v.set(this, a), a); - } - }), r(window.Document, b, document.implementation.createHTMLDocument("")), window.HTMLDocument && r(window.HTMLDocument, b), - u([ window.HTMLBodyElement, window.HTMLDocument || window.Document, window.HTMLHeadElement ]), - g(f, "createDocumentType"), g(f, "createDocument"), g(f, "createHTMLDocument"), - h(f, "hasFeature"), r(window.DOMImplementation, f), p([ window.DOMImplementation ], [ "createDocumentType", "createDocument", "createHTMLDocument", "hasFeature" ]), - a.wrappers.Document = b, a.wrappers.DOMImplementation = f; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - c.call(this, a); - } - var c = a.wrappers.EventTarget, d = a.mixin, e = a.registerWrapper, f = a.unwrap, g = a.unwrapIfNeeded, h = a.wrap, i = window.Window; - b.prototype = Object.create(c.prototype); - var j = window.getComputedStyle; - i.prototype.getComputedStyle = function(a, b) { - return j.call(this || window, g(a), b); - }, [ "addEventListener", "removeEventListener", "dispatchEvent" ].forEach(function(a) { - i.prototype[a] = function() { - var b = h(this || window); - return b[a].apply(b, arguments); - }; - }), d(b.prototype, { - getComputedStyle: function(a, b) { - return j.call(f(this), g(a), b); - } - }), e(i, b), a.wrappers.Window = b; - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - this.impl = a; - } - function c(a) { - return new b(a); - } - function d(a) { - return a.map(c); - } - function e(a) { - var b = this; - this.impl = new k(function(c) { - a.call(b, d(c), b); - }); - } - var f = a.defineGetter, g = a.defineWrapGetter, h = a.registerWrapper, i = a.unwrapIfNeeded, j = a.wrapNodeList; - a.wrappers; - var k = window.MutationObserver || window.WebKitMutationObserver; - if (k) { - var l = window.MutationRecord; - b.prototype = { - get addedNodes() { - return j(this.impl.addedNodes); - }, - get removedNodes() { - return j(this.impl.removedNodes); - } - }, [ "target", "previousSibling", "nextSibling" ].forEach(function(a) { - g(b, a); - }), [ "type", "attributeName", "attributeNamespace", "oldValue" ].forEach(function(a) { - f(b, a, function() { - return this.impl[a]; - }); - }), l && h(l, b), window.Node, e.prototype = { - observe: function(a, b) { - this.impl.observe(i(a), b); - }, - disconnect: function() { - this.impl.disconnect(); - }, - takeRecords: function() { - return d(this.impl.takeRecords()); - } - }, a.wrappers.MutationObserver = e, a.wrappers.MutationRecord = b; - } - }(this.ShadowDOMPolyfill), function(a) { - "use strict"; - function b(a) { - var b = c[a], d = window[b]; - if (d) { - var e = document.createElement(a), f = e.constructor; - window[b] = f; - } - } - a.isWrapperFor; - var c = { - a: "HTMLAnchorElement", - applet: "HTMLAppletElement", - area: "HTMLAreaElement", - audio: "HTMLAudioElement", - br: "HTMLBRElement", - base: "HTMLBaseElement", - body: "HTMLBodyElement", - button: "HTMLButtonElement", - canvas: "HTMLCanvasElement", - dl: "HTMLDListElement", - datalist: "HTMLDataListElement", - dir: "HTMLDirectoryElement", - div: "HTMLDivElement", - embed: "HTMLEmbedElement", - fieldset: "HTMLFieldSetElement", - font: "HTMLFontElement", - form: "HTMLFormElement", - frame: "HTMLFrameElement", - frameset: "HTMLFrameSetElement", - hr: "HTMLHRElement", - head: "HTMLHeadElement", - h1: "HTMLHeadingElement", - html: "HTMLHtmlElement", - iframe: "HTMLIFrameElement", - input: "HTMLInputElement", - li: "HTMLLIElement", - label: "HTMLLabelElement", - legend: "HTMLLegendElement", - link: "HTMLLinkElement", - map: "HTMLMapElement", - menu: "HTMLMenuElement", - menuitem: "HTMLMenuItemElement", - meta: "HTMLMetaElement", - meter: "HTMLMeterElement", - del: "HTMLModElement", - ol: "HTMLOListElement", - object: "HTMLObjectElement", - optgroup: "HTMLOptGroupElement", - option: "HTMLOptionElement", - output: "HTMLOutputElement", - p: "HTMLParagraphElement", - param: "HTMLParamElement", - pre: "HTMLPreElement", - progress: "HTMLProgressElement", - q: "HTMLQuoteElement", - script: "HTMLScriptElement", - select: "HTMLSelectElement", - source: "HTMLSourceElement", - span: "HTMLSpanElement", - style: "HTMLStyleElement", - caption: "HTMLTableCaptionElement", - col: "HTMLTableColElement", - table: "HTMLTableElement", - tr: "HTMLTableRowElement", - thead: "HTMLTableSectionElement", - tbody: "HTMLTableSectionElement", - textarea: "HTMLTextAreaElement", - title: "HTMLTitleElement", - ul: "HTMLUListElement", - video: "HTMLVideoElement" - }; - Object.keys(c).forEach(b), Object.getOwnPropertyNames(a.wrappers).forEach(function(b) { - window[b] = a.wrappers[b]; - }), a.knownElements = c; - }(this.ShadowDOMPolyfill), function() { - window.wrap = function(a) { - return a.impl ? a : ShadowDOMPolyfill.wrap(a); - }, window.unwrap = function(a) { - return a.impl ? ShadowDOMPolyfill.unwrap(a) : a; - }; - var a = window.getComputedStyle; - window.getComputedStyle = function(b, c) { - return a.call(window, wrap(b), c); - }, Object.defineProperties(HTMLElement.prototype, { - webkitShadowRoot: { - get: function() { - return this.shadowRoot; - } - } - }), HTMLElement.prototype.webkitCreateShadowRoot = HTMLElement.prototype.createShadowRoot; - }(); -} else { - 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); - } - }; - }(), function() { - window.templateContent = window.templateContent || function(a) { - return a.content; - }, window.wrap = window.unwrap = function(a) { - return a; - }, Object.defineProperties(HTMLElement.prototype, { - shadowRoot: { - get: function() { - return this.webkitShadowRoot; - } - }, - createShadowRoot: { - value: function() { - return this.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 < arguments.length; d++) { - var e = arguments[d]; - try { - for (var f in e) c(f, e, b); - } catch (g) {} - } - return b; - } - function c(a, b, c) { - var e = d(b, a); - Object.defineProperty(c, a, e); - } - function d(a, b) { - if (a) { - var c = Object.getOwnPropertyDescriptor(a, b); - return c || d(Object.getPrototypeOf(a), b); - } - } - 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 = b; -}(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 < arguments.length; a++) c.call(this, arguments[a]); - }, DOMTokenList.prototype.remove = function() { - for (var a = 0; a < arguments.length; a++) d.call(this, arguments[a]); - }, DOMTokenList.prototype.toggle = function(a, b) { - 1 == arguments.length && (b = !this.contains(a)), b ? this.add(a) : this.remove(a); - }, DOMTokenList.prototype.switch = function(a, b) { - a && this.remove(a), b && this.add(b); - }, NodeList.prototype.forEach = function(a, b) { - Array.prototype.slice.call(this).forEach(a, b); - }, HTMLCollection.prototype.forEach = function(a, b) { - Array.prototype.slice.call(this).forEach(a, b); - }, !window.performance) { - var e = Date.now(); - window.performance = { - now: function() { - return Date.now() - e; - } - }; - } - window.requestAnimationFrame || (window.requestAnimationFrame = function() { - var a = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame; - return a ? function(b) { - return a(function() { - b(performance.now()); - }); - } : function(a) { - return window.setTimeout(a, 1e3 / 60); - }; - }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function() { - return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function(a) { - clearTimeout(a); - }; - }()), a.createDOM = b; -}(window.Platform), window.templateContent = window.templateContent || function(a) { - return a.content; -}, function(a) { - a = a || (window.Inspector = {}); - var b; - window.sinspect = function(a, d) { - b || (b = window.open("", "ShadowDOM Inspector", null, !0), b.document.write(c), - b.api = { - shadowize: shadowize - }), f(a || wrap(document.body), d); - }; - var c = [ "", "", " ", " 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() { - function a(a) { - "splice" === a[0].type && "splice" === a[1].type && (b = !0); - } - if ("function" != typeof Object.observe && "function" != typeof Array.observe) return !1; - var b = !1, c = [ 0 ]; - return Array.observe(c, a), c[1] = 1, c.length = 0, Object.deliverChangeRecords(a), - b; - } - function c(a) { - return +a === a >>> 0; - } - function d(a) { - return +a; - } - function e(a) { - return a === Object(a); - } - function f(a, b) { - return a === b ? 0 !== a || 1 / a === 1 / b : O(a) && O(b) ? !0 : a !== a && b !== b; - } - function g(a) { - return "string" != typeof a ? !1 : (a = a.replace(/\s/g, ""), "" == a ? !0 : "." == a[0] ? !1 : W.test(a)); - } - function h(a) { - return "" == a.trim() ? this : c(a) ? (this.push(String(a)), this) : (a.split(/\./).filter(function(a) { - return a; - }).forEach(function(a) { - this.push(a); - }, this), void 0); - } - function i(a) { - for (var b = 0; X > b && a.check(); ) a.report(), b++; - } - function j(a) { - for (var b in a) return !1; - return !0; - } - function k(a) { - return j(a.added) && j(a.removed) && j(a.changed); - } - function l(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 m(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 n(a) { - this.callback = a, this.reporting = !0, K && (this.boundInternalCallback = this.internalCallback.bind(this)), - this.valid = !0, o(this), this.connect(), this.sync(!0); - } - function o(a) { - Z && (Y.push(a), n._allObserversCount++); - } - function p(a) { - if (Z) for (var b = 0; b < Y.length; b++) if (Y[b] === a) { - Y[b] = void 0, n._allObserversCount--; - break; - } - } - function q(a, b) { - this.object = a, n.call(this, b); - } - function r(a, b) { - if (!Array.isArray(a)) throw Error("Provided object is not an Array"); - this.object = a, n.call(this, b); - } - function s(a, b) { - if (!b.length) return a; - if (e(a)) { - if (L) return v(a, b); - var c; - return b.walkPropertiesFrom(a, function(a, d, e) { - e === b.length && (c = d); - }), c; - } - } - function t(a, b, c) { - if (!b.length || !e(a)) return !1; - var d = !1; - return b.walkPropertiesFrom(a, function(a, f, g) { - e(f) && g == b.length - 1 && (d = !0, f[a] = c); - }), d; - } - function u(a) { - var b = "", c = "obj", d = a.length; - b += "if (obj"; - for (var e = 0; d - 1 > e; 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 v(a, b) { - var c = b.toString(); - return _[c] || (_[c] = u(b)), _[c](a); - } - function w(b, c, d, 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 = d[j]; - if (!k || i !== k[0]) { - if (k) for (var l = 0; l < k.length; l++) { - var m = k[l], n = f.get(m); - 1 == n ? (f.delete(m), a.unobserveCount++, Object.unobserve(m, g)) : f.set(m, n - 1); - } - if (k = i, e(k)) { - for (var k = []; e(i); ) { - k.push(i); - var n = f.get(i); - n ? f.set(i, n + 1) : (f.set(i, 1), a.observeCount++, Object.observe(i, g)), i = Object.getPrototypeOf(i); - } - d[j] = k; - } - } - }, this), h; - } - function x(a, b, c) { - if (this.value = void 0, g(b)) { - var d = new h(b); - return d.length ? (e(a) && (this.object = a, this.path = d, K ? (this.observed = new Array(d.length), - this.observedMap = new Map(), this.getPathValue = w) : this.getPathValue = s, n.call(this, c)), - void 0) : (this.value = a, void 0); - } - } - function y(a, b) { - if ("function" == typeof Object.observe) { - var c = Object.getNotifier(a); - return function(d, e) { - var f = { - object: a, - type: d, - name: b - }; - 2 === arguments.length && (f.oldValue = e), c.notify(f); - }; - } - } - function z(a, b, c) { - for (var d = {}, e = {}, f = 0; f < b.length; f++) { - var g = b[f]; - ab[g.type] ? (g.name in c || (c[g.name] = g.oldValue), "updated" != g.type && ("new" != g.type ? g.name in d ? (delete d[g.name], - delete c[g.name]) : e[g.name] = !0 : g.name in e ? delete e[g.name] : d[g.name] = !0)) : (console.error("Unknown changeRecord type: " + g.type), - console.error(g)); - } - for (var h in d) d[h] = a[h]; - for (var h in e) e[h] = void 0; - var i = {}; - for (var h in c) if (!(h in d || h in e)) { - var j = a[h]; - c[h] !== j && (i[h] = j); - } - return { - added: d, - removed: e, - changed: i - }; - } - function A(a, b, c, d, e, f) { - for (var g = f - e + 1, h = c - b + 1, i = new Array(g), j = 0; g > j; 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 B(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(bb) : (e.push(cb), - d = g), b--, c--) : f == h ? (e.push(eb), b--, d = h) : (e.push(db), c--, d = i); - } else e.push(eb), b--; else e.push(db), c--; - return e.reverse(), e; - } - function C(a, b, c) { - for (var d = 0; c > d; d++) if (a[d] !== b[d]) return d; - return c; - } - function D(a, b, c) { - for (var d = a.length, e = b.length, f = 0; c > f && a[--d] === b[--e]; ) f++; - return f; - } - function E(a, b, c) { - return { - index: a, - removed: b, - addedCount: c - }; - } - function F(a, b, c, d, e, f) { - var g = 0, h = 0, i = Math.min(c - b, f - e); - if (0 == b && 0 == e && (g = C(a, d, i)), c == a.length && f == d.length && (h = D(a, d, i - g)), - b += g, e += g, c -= h, f -= h, 0 == c - b && 0 == f - e) return []; - if (b == c) { - for (var j = E(b, [], 0); f > e; ) j.removed.push(d[e++]); - return [ j ]; - } - if (e == f) return [ E(b, [], c - b) ]; - for (var k = B(A(a, b, c, d, e, f)), j = void 0, l = [], m = b, n = e, o = 0; o < k.length; o++) switch (k[o]) { - case bb: - j && (l.push(j), j = void 0), m++, n++; - break; - - case cb: - j || (j = E(m, [], 0)), j.addedCount++, m++, j.removed.push(d[n]), n++; - break; - - case db: - j || (j = E(m, [], 0)), j.addedCount++, m++; - break; - - case eb: - j || (j = E(m, [], 0)), j.removed.push(d[n]), n++; - } - return j && l.push(j), l; - } - function G(a, b, c, d) { - return c > b || a > d ? -1 : b == c || d == a ? 0 : c > a ? d > b ? b - c : d - c : b > d ? d - a : b - a; - } - function H(a, b, c, d) { - for (var e = E(b, c, d), f = !1, g = 0, h = 0; h < a.length; h++) { - var i = a[h]; - if (i.index += g, !f) { - var j = G(e.index, e.index + e.removed.length, i.index, i.index + i.addedCount); - if (j >= 0) { - a.splice(h, 1), h--, g -= i.addedCount - i.removed.length, e.addedCount += i.addedCount - j; - var k = e.removed.length + i.removed.length - j; - if (e.addedCount || k) { - var c = i.removed; - if (e.index < i.index) { - var l = e.removed.slice(0, i.index - e.index); - Array.prototype.push.apply(l, c), c = l; - } - if (e.index + e.removed.length > i.index + i.addedCount) { - var m = e.removed.slice(i.index + i.addedCount - e.index); - Array.prototype.push.apply(c, m); - } - e.removed = c, i.index < e.index && (e.index = i.index); - } else f = !0; - } else if (e.index < i.index) { - f = !0, a.splice(h, 0, e), h++; - var n = e.addedCount - e.removed.length; - i.index += n, g += n; - } - } - } - f || a.push(e); - } - function I(a, b) { - for (var e = [], f = 0; f < b.length; f++) { - var g = b[f]; - switch (g.type) { - case "splice": - H(e, g.index, g.removed.slice(), g.addedCount); - break; - - case "new": - case "updated": - case "deleted": - if (!c(g.name)) continue; - var h = d(g.name); - if (0 > h) continue; - H(e, h, [ g.oldValue ], 1); - break; - - default: - console.error("Unexpected record type: " + JSON.stringify(g)); - } - } - return e; - } - function J(a, b) { - var c = []; - return I(a, b).forEach(function(b) { - return 1 == b.addedCount && 1 == b.removed.length ? (b.removed[0] !== a[b.index] && c.push(b), - void 0) : (c = c.concat(F(a, b.index, b.index + b.addedCount, b.removed, 0, b.removed.length)), - void 0); - }), c; - } - var K = b(), L = !1; - try { - var M = new Function("", "return true;"); - L = M(); - } catch (N) {} - var O = a.Number.isNaN || function(b) { - return "number" == typeof b && a.isNaN(b); - }, P = "__proto__" in {} ? function(a) { - return a; - } : function(a) { - var b = a.__proto__; - if (!b) return a; - var c = Object.create(b); - return Object.getOwnPropertyNames(a).forEach(function(b) { - Object.defineProperty(c, b, Object.getOwnPropertyDescriptor(a, b)); - }), c; - }, Q = "[$_a-zA-Z]", R = "[$_a-zA-Z0-9]", S = Q + "+" + R + "*", T = "(?:[0-9]|[1-9]+[0-9]+)", U = "(?:" + S + "|" + T + ")", V = "(?:" + U + ")(?:\\." + U + ")*", W = new RegExp("^" + V + "$"); - h.prototype = P({ - __proto__: [], - toString: function() { - return this.join("."); - }, - walkPropertiesFrom: function(a, b, c) { - for (var d, e = 0; e < this.length + 1; e++) d = this[e], b.call(c, d, a, e), a = e == this.length || null === a || void 0 === a ? void 0 : a[d]; - } - }); - var X = 1e3; - n.prototype = { - valid: !1, - internalCallback: function(a) { - this.valid && this.reporting && this.check(a) && (this.report(), this.testingResults && (this.testingResults.anyChanged = !0)); - }, - close: function() { - this.valid && (this.disconnect(), this.valid = !1, p(this)); - }, - deliver: function(a) { - this.valid && (K ? (this.testingResults = a, Object.deliverChangeRecords(this.boundInternalCallback), - this.testingResults = void 0) : i(this)); - }, - report: function() { - if (this.reporting) { - this.sync(!1); - try { - this.callback.apply(void 0, this.reportArgs); - } catch (a) { - n._errorThrownDuringCallback = !0, console.error("Exception caught during observer callback: " + a); - } - this.reportArgs = void 0; - } - }, - reset: function() { - this.valid && (K && (this.reporting = !1, Object.deliverChangeRecords(this.boundInternalCallback), - this.reporting = !0), this.sync(!0)); - } - }; - var Y, Z = !K || a.forceCollectObservers; - Z && (Y = [], n._allObserversCount = 0); - var $ = !1; - a.Platform = a.Platform || {}, a.Platform.performMicrotaskCheckpoint = function() { - if (Z && !$) { - $ = !0; - var a = 0, b = {}; - do { - a++; - var c = Y; - Y = [], b.anyChanged = !1; - for (var d = 0; d < c.length; d++) { - var e = c[d]; - e && e.valid && (K ? e.deliver(b) : e.check() && (b.anyChanged = !0, e.report()), - Y.push(e)); - } - } while (X > a && b.anyChanged); - n._allObserversCount = Y.length, $ = !1; - } - }, Z && (a.Platform.clearObservers = function() { - Y = []; - }), q.prototype = P({ - __proto__: n.prototype, - connect: function() { - K && Object.observe(this.object, this.boundInternalCallback); - }, - sync: function() { - K || (this.oldObject = m(this.object)); - }, - check: function(a) { - var b, c; - if (K) { - if (!a) return !1; - c = {}, b = z(this.object, a, c); - } else c = this.oldObject, b = l(this.object, this.oldObject); - return k(b) ? !1 : (this.reportArgs = [ b.added || {}, b.removed || {}, b.changed || {} ], - this.reportArgs.push(function(a) { - return c[a]; - }), !0); - }, - disconnect: function() { - K ? this.object && Object.unobserve(this.object, this.boundInternalCallback) : this.oldObject = void 0, - this.object = void 0; - } - }), r.prototype = P({ - __proto__: q.prototype, - connect: function() { - K && Array.observe(this.object, this.boundInternalCallback); - }, - sync: function() { - K || (this.oldObject = this.object.slice()); - }, - check: function(a) { - var b; - if (K) { - if (!a) return !1; - b = J(this.object, a); - } else b = F(this.object, 0, this.object.length, this.oldObject, 0, this.oldObject.length); - return b && b.length ? (this.reportArgs = [ b ], !0) : !1; - } - }), r.applySplices = function(a, b, c) { - c.forEach(function(c) { - for (var d = [ c.index, c.removed.length ], e = c.index; e < c.index + c.addedCount; ) d.push(b[e]), - e++; - Array.prototype.splice.apply(a, d); - }); - }; - var _ = {}; - x.prototype = P({ - __proto__: n.prototype, - connect: function() {}, - disconnect: function() { - this.object = void 0, this.value = void 0, this.sync(!0); - }, - check: function() { - return this.value = this.getPathValue(this.object, this.path, this.observed, this.observedMap, this.boundInternalCallback), - f(this.value, this.oldValue) ? !1 : (this.reportArgs = [ this.value, this.oldValue ], - !0); - }, - sync: function(a) { - a && (this.value = this.getPathValue(this.object, this.path, this.observed, this.observedMap, this.boundInternalCallback)), - this.oldValue = this.value; - } - }), x.getValueAtPath = function(a, b) { - if (!g(b)) return void 0; - var c = new h(b); - return s(a, c); - }, x.setValueAtPath = function(a, b, c) { - if (g(b)) { - var d = new h(b); - t(a, d, c); - } - }; - var ab = { - "new": !0, - updated: !0, - deleted: !0 - }; - x.defineProperty = function(a, b, c) { - var d = c.object, e = new h(c.path), f = y(a, b), g = new x(d, c.path, function(a, b) { - f && f("updated", b); - }); - return Object.defineProperty(a, b, { - get: function() { - return s(d, e); - }, - set: function(a) { - t(d, e, a); - }, - configurable: !0 - }), { - close: function() { - f && g.deliver(), g.close(), delete a[b]; - } - }; - }; - var bb = 0, cb = 1, db = 2, eb = 3; - a.Observer = n, a.Observer.hasObjectObserve = K, a.ArrayObserver = r, a.ArrayObserver.calculateSplices = function(a, b) { - return F(a, 0, a.length, b, 0, b.length); - }, a.ObjectObserver = q, a.PathObserver = x; -}(this), function(a) { - "use strict"; - function b(a) { - if (!a) throw new Error("Assertion failed"); - } - function c(a) { - for (;a.parentNode; ) a = a.parentNode; - return "function" == typeof a.getElementById ? a : null; - } - function d(a) { - return a.ownerDocument.contains(a); - } - function e(a, b, c) { - console.error("Unhandled binding to Node: ", this, a, b, c); - } - function f() {} - function g() {} - function h(a, b, c) { - this.model = a, this.path = b, this.changed = c, this.observer = new PathObserver(this.model, this.path, this.changed), - this.changed(this.observer.value); - } - function i(a) { - return function(b) { - a.data = void 0 == b ? "" : String(b); - }; - } - function j(a, b, c) { - if ("textContent" !== a) return Node.prototype.bind.call(this, a, b, c); - this.unbind("textContent"); - var d = new h(b, c, i(this)); - ab.set(this, d); - } - function k(a) { - if ("textContent" != a) return Node.prototype.unbind.call(this, a); - var b = ab.get(this); - b && (b.dispose(), ab.delete(this)); - } - function l() { - this.unbind("textContent"), Node.prototype.unbindAll.call(this); - } - function m(a, b, c) { - return c ? function(c) { - c ? a.setAttribute(b, "") : a.removeAttribute(b); - } : function(c) { - a.setAttribute(b, String(void 0 === c ? "" : c)); - }; - } - function n() { - this.bindingMap = Object.create(null); - } - function o(a, b, c) { - var d = bb.get(this); - d || (d = new n(), bb.set(this, d)), d.add(this, a, b, c); - } - function p(a) { - var b = bb.get(this); - b && b.remove(a); - } - function q() { - var a = bb.get(this); - a && (bb.delete(this), a.removeAll(), Node.prototype.unbindAll.call(this)); - } - function r(a) { - switch (a.type) { - case "checkbox": - return cb; - - case "radio": - case "select-multiple": - case "select-one": - return "change"; - - default: - return "input"; - } - } - function s(a, b, c, d) { - this.element = a, this.valueProperty = b, this.boundValueChanged = this.valueChanged.bind(this), - this.boundUpdateBinding = this.updateBinding.bind(this), this.binding = new h(c, d, this.boundValueChanged), - this.element.addEventListener(r(this.element), this.boundUpdateBinding, !0); - } - function t(a, b, c) { - s.call(this, a, "value", b, c); - } - function u(a) { - if (!d(a)) return []; - if (a.form) return Z(a.form.elements, function(b) { - return b != a && "INPUT" == b.tagName && "radio" == b.type && b.name == a.name; - }); - var b = a.ownerDocument.querySelectorAll('input[type="radio"][name="' + a.name + '"]'); - return Z(b, function(b) { - return b != a && !b.form; - }); - } - function v(a, b, c) { - s.call(this, a, "checked", b, c); - } - function w(a, b, c) { - switch (this.tagName + "." + a.toLowerCase()) { - case "INPUT.value": - case "TEXTAREA.value": - this.unbind("value"), this.removeAttribute("value"), db.set(this, new t(this, b, c)); - break; - - case "INPUT.checked": - this.unbind("checked"), this.removeAttribute("checked"), eb.set(this, new v(this, b, c)); - break; - - case "SELECT.selectedindex": - this.unbind("selectedindex"), this.removeAttribute("selectedindex"), db.set(this, new z(this, b, c)); - break; - - default: - return Element.prototype.bind.call(this, a, b, c); - } - } - function x(a) { - switch (this.tagName + "." + a.toLowerCase()) { - case "INPUT.value": - case "TEXTAREA.value": - var b = db.get(this); - b && (b.unbind(), db.delete(this)); - break; - - case "INPUT.checked": - var c = eb.get(this); - c && (c.unbind(), eb.delete(this)); - break; - - case "SELECT.selectedindex": - var b = db.get(this); - b && (b.unbind(), db.delete(this)); - break; - - default: - return Element.prototype.unbind.call(this, a); - } - } - function y() { - switch (this.tagName) { - case "INPUT": - this.unbind("checked"); - - case "TEXTAREA": - this.unbind("value"); - break; - - case "SELECT": - this.unbind("selectedindex"); - } - Element.prototype.unbindAll.call(this); - } - function z(a, b, c) { - s.call(this, a, "selectedIndex", b, c); - } - function A(a) { - return lb[a.tagName] && a.hasAttribute("template"); - } - function B(a) { - return "TEMPLATE" == a.tagName || A(a); - } - function C(a) { - return mb && "TEMPLATE" == a.tagName; - } - function D(a, b) { - var c = a.querySelectorAll(nb); - B(a) && b(a), Y(c, b); - } - function E(a) { - function b(a) { - HTMLTemplateElement.decorate(a) || E(a.content); - } - D(a, b); - } - function F(a, b) { - Object.getOwnPropertyNames(b).forEach(function(c) { - Object.defineProperty(a, c, Object.getOwnPropertyDescriptor(b, c)); - }); - } - function G(a) { - if (!a.defaultView) return a; - var b = rb.get(a); - if (!b) { - for (b = a.implementation.createHTMLDocument(""); b.lastChild; ) b.removeChild(b.lastChild); - rb.set(a, b); - } - return b; - } - function H(a) { - var b = a.ownerDocument.createElement("template"); - a.parentNode.insertBefore(b, a); - for (var c = a.attributes, d = c.length; d-- > 0; ) { - var e = c[d]; - kb[e.name] && ("template" !== e.name && b.setAttribute(e.name, e.value), a.removeAttribute(e.name)); - } - return b; - } - function I(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 J(a) { - "TEMPLATE" === a.tagName ? mb || (pb ? a.__proto__ = HTMLTemplateElement.prototype : F(a, HTMLTemplateElement.prototype)) : (F(a, HTMLTemplateElement.prototype), - Object.defineProperty(a, "content", ub)); - } - function K(a) { - var b = xb.get(a); - b || (b = function() { - Q(a, a.model, a.bindingDelegate); - }, xb.set(a, b)), ob(b); - } - function L(a, b) { - this.type = a, this.value = b; - } - function M(a) { - for (var b = [], c = a.length, d = 0, e = 0; c > e; ) { - if (d = a.indexOf("{{", e), 0 > d) { - b.push(new L(yb, a.slice(e))); - break; - } - if (d > 0 && d > e && b.push(new L(yb, 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 == yb ? g.value += f : b.push(new L(yb, f)); - break; - } - var h = a.slice(e, d).trim(); - b.push(new L(zb, h)), e = d + 2; - } - return b; - } - function N(a, b, c, d, e) { - var f, g = e && e[ib]; - g && "function" == typeof g && (f = g(c, d, b, a), f && (c = f, d = "value")), a.bind(b, c, d); - } - function O(a, b, c, d, e) { - var f = M(c); - if (f.length && (1 != f.length || f[0].type != yb)) { - if (1 == f.length && f[0].type == zb) return N(a, b, d, f[0].value, e), void 0; - for (var g = new V(), h = 0; h < f.length; h++) { - var i = f[h]; - i.type == zb && N(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 === yb) b += d.value; else { - var e = a[c]; - void 0 !== e && (b += e); - } - } - return b; - }, a.bind(b, g, "value"); - } - } - function P(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; - } - B(a) && ("" === e[fb] && (e[fb] = "{{}}"), "" === e[gb] && (e[gb] = "{{}}"), void 0 !== e[hb] && void 0 === e[fb] && void 0 === e[gb] && (e[fb] = "{{}}")), - Object.keys(e).forEach(function(b) { - O(a, b, e[b], c, d); - }); - } - function Q(a, c, d) { - b(a), a.nodeType === Node.ELEMENT_NODE ? P(a, c, d) : a.nodeType === Node.TEXT_NODE && O(a, "textContent", a.data, c, d); - for (var e = a.firstChild; e; e = e.nextSibling) Q(e, c, d); - } - function R(a) { - if (Ab.delete(a), B(a)) { - var b = Bb.get(a); - b && (b.abandon(), Bb.delete(a)); - } - a.unbindAll(); - for (var c = a.firstChild; c; c = c.nextSibling) R(c); - } - function S(a, b) { - var c = a.cloneNode(!1); - B(c) && (HTMLTemplateElement.decorate(c, a), b && wb.set(c, b)); - for (var d = a.firstChild; d; d = d.nextSibling) c.appendChild(S(d, b)); - return c; - } - function T(a, b, c) { - this.firstNode = a, this.lastNode = b, this.model = c; - } - function U(a, b) { - if (a.firstChild) for (var c = new T(a.firstChild, a.lastChild, b), d = c.firstNode; d; ) Ab.set(d, c), - d = d.nextSibling; - } - function V(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 W(a) { - this.templateElement_ = a, this.terminators = [], this.iteratedValue = void 0, this.arrayObserver = void 0, - this.boundHandleSplices = this.handleSplices.bind(this), this.inputs = new V(this.resolveInputs.bind(this)); - } - var X, Y = Array.prototype.forEach.call.bind(Array.prototype.forEach), Z = Array.prototype.filter.call.bind(Array.prototype.filter); - a.Map && "function" == typeof a.Map.prototype.forEach ? X = a.Map : (X = function() { - this.keys = [], this.values = []; - }, X.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; - }, - get: function(a) { - var b = this.keys.indexOf(a); - if (!(0 > b)) return 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 < this.keys.length; c++) a.call(b || this, this.values[c], this.keys[c], this); - } - }); - var $ = "__proto__" in {} ? function(a) { - return a; - } : function(a) { - var b = a.__proto__; - if (!b) return a; - var c = Object.create(b); - return Object.getOwnPropertyNames(a).forEach(function(b) { - Object.defineProperty(c, b, Object.getOwnPropertyDescriptor(a, b)); - }), c; - }; - "function" != typeof document.contains && (Document.prototype.contains = function(a) { - return a === this || a.parentNode === this ? !0 : this.documentElement.contains(a); - }); - var _; - "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? _ = WeakMap : function() { - var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; - _ = function() { - this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); - }, _.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 ab = new _(); - 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 bb = new _(); - 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 cb, db = new _(), eb = new _(); - !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), cb = 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 = $({ - __proto__: s.prototype, - produceElementValue: function(a) { - return String(null == a ? "" : a); - } - }), v.prototype = $({ - __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 = eb.get(a); - b && (b.binding.value = !1); - }); - } - }), HTMLInputElement.prototype.bind = w, HTMLInputElement.prototype.unbind = x, - HTMLInputElement.prototype.unbindAll = y, z.prototype = $({ - __proto__: s.prototype, - valueChanged: function(a) { - function b() { - a > d.element.length && c-- ? ob(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; - ob(b); - }, - produceElementValue: function(a) { - return Number(a); - } - }), HTMLSelectElement.prototype.bind = w, HTMLSelectElement.prototype.unbind = x, - HTMLSelectElement.prototype.unbindAll = y, HTMLTextAreaElement.prototype.bind = w, - HTMLTextAreaElement.prototype.unbind = x, HTMLTextAreaElement.prototype.unbindAll = y; - var fb = "bind", gb = "repeat", hb = "if", ib = "getBinding", jb = "getInstanceModel", kb = { - template: !0, - repeat: !0, - bind: !0, - ref: !0 - }, lb = { - THEAD: !0, - TBODY: !0, - TFOOT: !0, - TH: !0, - TR: !0, - TD: !0, - COLGROUP: !0, - COL: !0, - CAPTION: !0, - OPTION: !0, - OPTGROUP: !0 - }, mb = "undefined" != typeof HTMLTemplateElement, nb = "template, " + Object.keys(lb).map(function(a) { - return a.toLowerCase() + "[template]"; - }).join(", "), ob = 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; g < e.length; g++) { - var h = e[g]; - e[g] = void 0, h(); - } - e = [], b = a.value, c = d, d = a, f = !1; - }); - } - function b(a) { - c.schedule(a) || d.schedule(a); - } - var c, d; - return c = new a(), d = new a(), b; - }(); - document.addEventListener("DOMContentLoaded", function() { - E(document), Platform.performMicrotaskCheckpoint(); - }, !1), mb || (a.HTMLTemplateElement = function() { - throw TypeError("Illegal constructor"); - }); - var pb = "__proto__" in {}, qb = new _(), rb = new _(), sb = new _(); - HTMLTemplateElement.decorate = function(a, c) { - if (a.templateIsDecorated_) return !1; - var d = a, e = C(d), f = e, g = !e, h = !1; - if (!e && A(d) && (b(!c), d = H(a), e = C(d), h = !0), d.templateIsDecorated_ = !0, - !e) { - J(d); - var i = G(d.ownerDocument); - qb.set(d, i.createDocumentFragment()); - } - return c ? sb.set(d, c) : g ? I(d, a, h) : f && E(d.content), !0; - }, HTMLTemplateElement.bootstrap = E; - var tb = a.HTMLUnknownElement || HTMLElement, ub = { - get: function() { - return qb.get(this); - }, - enumerable: !0, - configurable: !0 - }; - mb || (HTMLTemplateElement.prototype = Object.create(tb.prototype), Object.defineProperty(HTMLTemplateElement.prototype, "content", ub)); - var vb = new _(), wb = new _(), xb = new _(); - F(HTMLTemplateElement.prototype, { - bind: function(a, b, c) { - switch (a) { - case fb: - case gb: - case hb: - var d = Bb.get(this); - d || (d = new W(this), Bb.set(this, d)), d.inputs.bind(a, b, c || ""); - break; - - default: - return Element.prototype.bind.call(this, a, b, c); - } - }, - unbind: function(a, b, c) { - switch (a) { - case fb: - case gb: - case hb: - var d = Bb.get(this); - if (!d) break; - d.inputs.unbind(a); - break; - - default: - return Element.prototype.unbind.call(this, a, b, c); - } - }, - unbindAll: function() { - this.unbind(fb), this.unbind(gb), this.unbind(hb), Element.prototype.unbindAll.call(this); - }, - createInstance: function(a, b) { - var c = S(this.ref.content, b); - return "function" == typeof HTMLTemplateElement.__instanceCreated && HTMLTemplateElement.__instanceCreated(c), - Q(c, a, b), U(c, a), c; - }, - get model() { - return vb.get(this); - }, - set model(a) { - vb.set(this, a), K(this); - }, - get bindingDelegate() { - return wb.get(this); - }, - set bindingDelegate(a) { - wb.set(this, a), K(this); - }, - get ref() { - var a, b = this.getAttribute("ref"); - if (b) { - var d = c(this); - d && (a = d.getElementById(b)); - } - if (a || (a = sb.get(this)), !a) return this; - var e = a.ref; - return e ? e : a; - } - }); - var yb = 0, zb = 1, Ab = new _(); - Object.defineProperty(Node.prototype, "templateInstance", { - get: function() { - var a = Ab.get(this); - return a ? a : this.parentNode ? this.parentNode.templateInstance : void 0; - } - }), V.prototype = { - set combinator(a) { - this.combinator_ = a, this.scheduleResolve(); - }, - bind: function(a, b, c) { - this.unbind(a), this.size++, this.bindings[a] = new h(b, c, function(b) { - this.values[a] = b, this.scheduleResolve(); - }.bind(this)); - }, - unbind: function(a, b) { - this.bindings[a] && (this.size--, this.bindings[a].dispose(), delete this.bindings[a], - delete this.values[a], b || this.scheduleResolve()); - }, - scheduleResolve: function() { - ob(this.boundResolve); - }, - resolve: function() { - if (!this.disposed) { - if (!this.combinator_) throw Error("CompoundBinding attempted to resolve without a combinator"); - this.value = this.combinator_(this.values); - } - }, - dispose: function() { - Object.keys(this.bindings).forEach(function(a) { - this.unbind(a, !0); - }, this), this.disposed = !0, this.value = void 0; - } - }, W.prototype = { - resolveInputs: function(a) { - hb in a && !a[hb] ? this.valueChanged(void 0) : gb in a ? this.valueChanged(a[gb]) : fb in a || hb in a ? this.valueChanged([ a[fb] ]) : this.valueChanged(void 0); - }, - valueChanged: function(a) { - Array.isArray(a) || (a = void 0); - var b = this.iteratedValue; - this.unobserve(), this.iteratedValue = a, this.iteratedValue && (this.arrayObserver = new ArrayObserver(this.iteratedValue, this.boundHandleSplices)); - var c = ArrayObserver.calculateSplices(this.iteratedValue || [], b || []); - c.length && this.handleSplices(c), this.inputs.size || (Bb.delete(this), this.abandon()); - }, - getTerminatorAt: function(a) { - if (-1 == a) return this.templateElement_; - var b = this.terminators[a]; - if (b.nodeType !== Node.ELEMENT_NODE || this.templateElement_ === b) return b; - var c = Bb.get(b); - return c ? c.getTerminatorAt(c.terminators.length - 1) : b; - }, - insertInstanceAt: function(a, b) { - var c = this.getTerminatorAt(a - 1), d = b[b.length - 1] || c; - this.terminators.splice(a, 0, d); - for (var e = this.templateElement_.parentNode, f = c.nextSibling, g = 0; g < b.length; g++) e.insertBefore(b[g], f); - }, - extractInstanceAt: function(a) { - var b = [], c = this.getTerminatorAt(a - 1), d = this.getTerminatorAt(a); - this.terminators.splice(a, 1); - for (var e = this.templateElement_.parentNode; d !== c; ) { - var f = c.nextSibling; - f == d && (d = c), e.removeChild(f), b.push(f); - } - return b; - }, - getInstanceModel: function(a, b, c) { - var d = c && c[jb]; - return d && "function" == typeof d ? d(a, b) : b; - }, - getInstanceNodes: function(a, b, c) { - var d = c.get(a); - if (d) return c.delete(a), d; - d = []; - for (var e = this.templateElement_.createInstance(a, b); e.firstChild; ) d.push(e.removeChild(e.firstChild)); - return d; - }, - handleSplices: function(a) { - var b = this.templateElement_; - if (!b.parentNode || !b.ownerDocument.defaultView) return this.abandon(), Bb.delete(this), - void 0; - var c = b.bindingDelegate, d = new X(), e = 0; - a.forEach(function(a) { - a.removed.forEach(function(b) { - var c = this.extractInstanceAt(a.index + e, c); - d.set(b, c); - }, this), e -= a.addedCount; - }, this), a.forEach(function(a) { - for (var e = a.index; e < a.index + a.addedCount; e++) { - var f = this.getInstanceModel(b, this.iteratedValue[e], c), g = this.getInstanceNodes(f, c, d); - this.insertInstanceAt(e, g); - } - }, this), d.forEach(function(a) { - for (var b = 0; b < a.length; b++) R(a[b]); - }); - }, - unobserve: function() { - this.arrayObserver && (this.arrayObserver.close(), this.arrayObserver = void 0); - }, - abandon: function() { - this.unobserve(), this.terminators.length = 0, Object.defineProperty(this.inputs, "value", { - configurable: !0, - writable: !0, - value: void 0 - }), this.inputs.dispose(); - } - }; - var Bb = new _(); - a.CompoundBinding = V, HTMLTemplateElement.forAllTemplatesFrom_ = D, HTMLTemplateElement.bindAllMustachesFrom_ = Q, - HTMLTemplateElement.parseAndBind_ = O; -}(this), function(a, b) { - "use strict"; - "function" == typeof define && define.amd ? define([ "exports" ], b) : "undefined" != typeof exports ? b(exports) : b(a.esprima = {}); -}(this, function(a) { - "use strict"; - function b(a, b) { - if (!a) throw new Error("ASSERT: " + b); - } - function c(a) { - return a >= 48 && 57 >= a; - } - function d(a) { - return 32 === a || 9 === a || 11 === a || 12 === a || 160 === a || a >= 5760 && " ᠎              ".indexOf(String.fromCharCode(a)) > 0; - } - function e(a) { - return 10 === a || 13 === a || 8232 === a || 8233 === a; - } - function f(a) { - return 36 === a || 95 === a || a >= 65 && 90 >= a || a >= 97 && 122 >= a; - } - function g(a) { - return 36 === a || 95 === a || a >= 65 && 90 >= a || a >= 97 && 122 >= a || a >= 48 && 57 >= a; - } - function h(a) { - return "this" === a; - } - function i() { - for (;bb > ab && d(_.charCodeAt(ab)); ) ++ab; - } - function j() { - var a, b; - for (a = ab++; bb > ab && (b = _.charCodeAt(ab), g(b)); ) ++ab; - return _.slice(a, ab); - } - function k() { - var a, b, c; - return a = ab, b = j(), c = 1 === b.length ? X.Identifier : h(b) ? X.Keyword : "null" === b ? X.NullLiteral : "true" === b || "false" === b ? X.BooleanLiteral : X.Identifier, - { - type: c, - value: b, - range: [ a, ab ] - }; - } - function l() { - var a, b, c, d, e = ab, f = _.charCodeAt(ab), g = _[ab]; - switch (f) { - case 46: - case 40: - case 41: - case 59: - case 44: - case 123: - case 125: - case 91: - case 93: - case 58: - case 63: - case 126: - return ++ab, { - type: X.Punctuator, - value: String.fromCharCode(f), - range: [ e, ab ] - }; - - default: - if (a = _.charCodeAt(ab + 1), 61 === a) switch (f) { - case 37: - case 38: - case 42: - case 43: - case 45: - case 47: - case 60: - case 62: - case 94: - case 124: - return ab += 2, { - type: X.Punctuator, - value: String.fromCharCode(f) + String.fromCharCode(a), - range: [ e, ab ] - }; - - case 33: - case 61: - return ab += 2, 61 === _.charCodeAt(ab) && ++ab, { - type: X.Punctuator, - value: _.slice(e, ab), - range: [ e, ab ] - }; - } - } - return b = _[ab + 1], c = _[ab + 2], d = _[ab + 3], ">" === g && ">" === b && ">" === c && "=" === d ? (ab += 4, - { - type: X.Punctuator, - value: ">>>=", - range: [ e, ab ] - }) : ">" === g && ">" === b && ">" === c ? (ab += 3, { - type: X.Punctuator, - value: ">>>", - range: [ e, ab ] - }) : "<" === g && "<" === b && "=" === c ? (ab += 3, { - type: X.Punctuator, - value: "<<=", - range: [ e, ab ] - }) : ">" === g && ">" === b && "=" === c ? (ab += 3, { - type: X.Punctuator, - value: ">>=", - range: [ e, ab ] - }) : g === b && "+-<>&|".indexOf(g) >= 0 ? (ab += 2, { - type: X.Punctuator, - value: g + b, - range: [ e, ab ] - }) : "<>=!+-*%&|^/".indexOf(g) >= 0 ? (++ab, { - type: X.Punctuator, - value: g, - range: [ e, ab ] - }) : (s({}, $.UnexpectedToken, "ILLEGAL"), void 0); - } - function m() { - var a, d, e; - if (e = _[ab], b(c(e.charCodeAt(0)) || "." === e, "Numeric literal must start with a decimal digit or a decimal point"), - d = ab, a = "", "." !== e) { - for (a = _[ab++], e = _[ab], "0" === a && e && c(e.charCodeAt(0)) && s({}, $.UnexpectedToken, "ILLEGAL"); c(_.charCodeAt(ab)); ) a += _[ab++]; - e = _[ab]; - } - if ("." === e) { - for (a += _[ab++]; c(_.charCodeAt(ab)); ) a += _[ab++]; - e = _[ab]; - } - if ("e" === e || "E" === e) if (a += _[ab++], e = _[ab], ("+" === e || "-" === e) && (a += _[ab++]), - c(_.charCodeAt(ab))) for (;c(_.charCodeAt(ab)); ) a += _[ab++]; else s({}, $.UnexpectedToken, "ILLEGAL"); - return f(_.charCodeAt(ab)) && s({}, $.UnexpectedToken, "ILLEGAL"), { - type: X.NumericLiteral, - value: parseFloat(a), - range: [ d, ab ] - }; - } - function n() { - var a, c, d, f = "", g = !1; - for (a = _[ab], b("'" === a || '"' === a, "String literal must starts with a quote"), - c = ab, ++ab; bb > ab; ) { - if (d = _[ab++], d === a) { - a = ""; - break; - } - if ("\\" === d) if (d = _[ab++], d && e(d.charCodeAt(0))) "\r" === d && "\n" === _[ab] && ++ab; else switch (d) { - case "n": - f += "\n"; - break; - - case "r": - f += "\r"; - break; - - case "t": - f += " "; - break; - - case "b": - f += "\b"; - break; - - case "f": - f += "\f"; - break; - - case "v": - f += " "; - break; - - default: - f += d; - } else { - if (e(d.charCodeAt(0))) break; - f += d; - } - } - return "" !== a && s({}, $.UnexpectedToken, "ILLEGAL"), { - type: X.StringLiteral, - value: f, - octal: g, - range: [ c, ab ] - }; - } - function o(a) { - return a.type === X.Identifier || a.type === X.Keyword || a.type === X.BooleanLiteral || a.type === X.NullLiteral; - } - function p() { - var a; - return i(), ab >= bb ? { - type: X.EOF, - range: [ ab, ab ] - } : (a = _.charCodeAt(ab), 40 === a || 41 === a || 58 === a ? l() : 39 === a || 34 === a ? n() : f(a) ? k() : 46 === a ? c(_.charCodeAt(ab + 1)) ? m() : l() : c(a) ? m() : l()); - } - function q() { - var a; - return a = db, ab = a.range[1], db = p(), ab = a.range[1], a; - } - function r() { - var a; - a = ab, db = p(), ab = a; - } - function s(a, c) { - var d, e = Array.prototype.slice.call(arguments, 2), f = c.replace(/%(\d)/g, function(a, c) { - return b(c < e.length, "Message reference must be in range"), e[c]; - }); - throw d = new Error(f), d.index = ab, d.description = f, d; - } - function t(a) { - s(a, $.UnexpectedToken, a.value); - } - function u(a) { - var b = q(); - (b.type !== X.Punctuator || b.value !== a) && t(b); - } - function v(a) { - return db.type === X.Punctuator && db.value === a; - } - function w(a) { - return db.type === X.Keyword && db.value === a; - } - function x() { - return 59 === _.charCodeAt(ab) ? (q(), void 0) : (i(), v(";") ? (q(), void 0) : (db.type === X.EOF || v("}") || t(db), - void 0)); - } - function y() { - var a = []; - for (u("["); !v("]"); ) v(",") ? (q(), a.push(null)) : (a.push(O()), v("]") || u(",")); - return u("]"), cb.createArrayExpression(a); - } - function z() { - var a; - return i(), a = q(), a.type === X.StringLiteral || a.type === X.NumericLiteral ? cb.createLiteral(a) : cb.createIdentifier(a.value); - } - function A() { - var a, b; - return a = db, i(), (a.type === X.EOF || a.type === X.Punctuator) && t(a), b = z(), - u(":"), cb.createProperty("init", b, O()); - } - function B() { - var a = []; - for (u("{"); !v("}"); ) a.push(A()), v("}") || u(","); - return u("}"), cb.createObjectExpression(a); - } - function C() { - var a; - return u("("), a = P(), u(")"), a; - } - function D() { - var a, b, c; - return v("(") ? C() : (a = db.type, a === X.Identifier ? c = cb.createIdentifier(q().value) : a === X.StringLiteral || a === X.NumericLiteral ? c = cb.createLiteral(q()) : a === X.Keyword ? w("this") && (q(), - c = cb.createThisExpression()) : a === X.BooleanLiteral ? (b = q(), b.value = "true" === b.value, - c = cb.createLiteral(b)) : a === X.NullLiteral ? (b = q(), b.value = null, c = cb.createLiteral(b)) : v("[") ? c = y() : v("{") && (c = B()), - c ? c : (t(q()), void 0)); - } - function E() { - var a = []; - if (u("("), !v(")")) for (;bb > ab && (a.push(O()), !v(")")); ) u(","); - return u(")"), a; - } - function F() { - var a; - return a = q(), o(a) || t(a), cb.createIdentifier(a.value); - } - function G() { - return u("."), F(); - } - function H() { - var a; - return u("["), a = P(), u("]"), a; - } - function I() { - var a, b, c; - for (a = D(); v(".") || v("[") || v("("); ) v("(") ? (b = E(), a = cb.createCallExpression(a, b)) : v("[") ? (c = H(), - a = cb.createMemberExpression("[", a, c)) : (c = G(), a = cb.createMemberExpression(".", a, c)); - return a; - } - function J() { - var a; - return a = I(), db.type === X.Punctuator && (v("++") || v("--")) && s({}, $.UnexpectedToken), - a; - } - function K() { - var a, b; - return db.type !== X.Punctuator && db.type !== X.Keyword ? b = J() : v("++") || v("--") ? s({}, $.UnexpectedToken) : v("+") || v("-") || v("~") || v("!") ? (a = q(), - b = K(), b = cb.createUnaryExpression(a.value, b)) : w("delete") || w("void") || w("typeof") ? s({}, $.UnexpectedToken) : b = J(), - b; - } - function L(a, b) { - var c = 0; - if (a.type !== X.Punctuator && a.type !== X.Keyword) return 0; - switch (a.value) { - case "||": - c = 1; - break; - - case "&&": - c = 2; - break; - - case "|": - c = 3; - break; - - case "^": - c = 4; - break; - - case "&": - c = 5; - break; - - case "==": - case "!=": - case "===": - case "!==": - c = 6; - break; - - case "<": - case ">": - case "<=": - case ">=": - case "instanceof": - c = 7; - break; - - case "in": - c = b ? 7 : 0; - break; - - case "<<": - case ">>": - case ">>>": - c = 8; - break; - - case "+": - case "-": - c = 9; - break; - - case "*": - case "/": - case "%": - c = 11; - } - return c; - } - function M() { - var a, b, c, d, e, f, g, h, i; - if (d = eb.allowIn, eb.allowIn = !0, h = K(), b = db, c = L(b, d), 0 === c) return h; - for (b.prec = c, q(), f = K(), e = [ h, b, f ]; (c = L(db, d)) > 0; ) { - for (;e.length > 2 && c <= e[e.length - 2].prec; ) f = e.pop(), g = e.pop().value, - h = e.pop(), a = cb.createBinaryExpression(g, h, f), e.push(a); - b = q(), b.prec = c, e.push(b), a = K(), e.push(a); - } - for (eb.allowIn = d, i = e.length - 1, a = e[i]; i > 1; ) a = cb.createBinaryExpression(e[i - 1].value, e[i - 2], a), - i -= 2; - return a; - } - function N() { - var a, b, c, d; - return a = M(), v("?") && (q(), b = eb.allowIn, eb.allowIn = !0, c = O(), eb.allowIn = b, - u(":"), d = O(), a = cb.createConditionalExpression(a, c, d)), a; - } - function O() { - var a, b, c; - return a = db, c = b = N(); - } - function P() { - var a; - return a = O(); - } - function Q() { - return u(";"), cb.createEmptyStatement(); - } - function R() { - var a = P(); - return x(), cb.createExpressionStatement(a); - } - function S() { - var a, b, c, d = db.type; - if (d === X.EOF && t(db), i(), d === X.Punctuator) switch (db.value) { - case ";": - return Q(); - - case "(": - return R(); - } - return a = P(), a.type === Z.Identifier && v(":") ? (q(), c = "$" + a.name, Object.prototype.hasOwnProperty.call(eb.labelSet, c) && s({}, $.Redeclaration, "Label", a.name), - eb.labelSet[c] = !0, b = S(), delete eb.labelSet[c], cb.createLabeledStatement(a, b)) : (x(), - cb.createExpressionStatement(a)); - } - function T() { - return db.type === X.Keyword ? S() : db.type !== X.EOF ? S() : void 0; - } - function U() { - for (var a, b = []; bb > ab && (a = T(), "undefined" != typeof a); ) b.push(a); - return b; - } - function V() { - var a; - return i(), r(), a = U(), cb.createProgram(a); - } - function W(a, b) { - var c; - return c = String, "string" == typeof a || a instanceof String || (a = c(a)), cb = b, - _ = a, ab = 0, bb = _.length, db = null, eb = { - allowIn: !0, - labelSet: {} - }, bb > 0 && "undefined" == typeof _[0] && a instanceof String && (_ = a.valueOf()), - V(); - } - var X, Y, Z, $, _, ab, bb, cb, db, eb; - X = { - BooleanLiteral: 1, - EOF: 2, - Identifier: 3, - Keyword: 4, - NullLiteral: 5, - NumericLiteral: 6, - Punctuator: 7, - StringLiteral: 8 - }, Y = {}, Y[X.BooleanLiteral] = "Boolean", Y[X.EOF] = "", Y[X.Identifier] = "Identifier", - Y[X.Keyword] = "Keyword", Y[X.NullLiteral] = "Null", Y[X.NumericLiteral] = "Numeric", - Y[X.Punctuator] = "Punctuator", Y[X.StringLiteral] = "String", Z = { - ArrayExpression: "ArrayExpression", - BinaryExpression: "BinaryExpression", - CallExpression: "CallExpression", - ConditionalExpression: "ConditionalExpression", - EmptyStatement: "EmptyStatement", - ExpressionStatement: "ExpressionStatement", - Identifier: "Identifier", - Literal: "Literal", - LabeledStatement: "LabeledStatement", - LogicalExpression: "LogicalExpression", - MemberExpression: "MemberExpression", - ObjectExpression: "ObjectExpression", - Program: "Program", - Property: "Property", - ThisExpression: "ThisExpression", - UnaryExpression: "UnaryExpression" - }, $ = { - UnexpectedToken: "Unexpected token %0", - UnknownLabel: "Undefined label '%0'", - Redeclaration: "%0 '%1' has already been declared" - }, a.parse = W; -}), function(a) { - "use strict"; - function b(a, b, d, e) { - if (e.nodeType === Node.ELEMENT_NODE && "TEMPLATE" === e.tagName && ("bind" === d || "repeat" === d)) { - var f, g, h = b.match(r); - if (h ? (f = h[1], g = h[2]) : (h = b.match(s), h && (f = h[2], g = h[1])), h) { - var i; - if (g = g.trim(), g.match(q)) i = new CompoundBinding(function(a) { - return a.path; - }), i.bind("path", a, g); else try { - i = c(a, g); - } catch (j) { - console.error("Invalid expression syntax: " + g, j); - } - if (i) return t.set(e, f), i; - } - } - } - function c(a, b) { - try { - var c = new f(); - if (esprima.parse(b, c), !c.statements.length && !c.labeledStatements.length) return; - if (!c.labeledStatements.length && c.statements.length > 1) throw Error("Multiple unlabelled statements are not allowed."); - var e = c.labeledStatements.length ? d(c.labeledStatements) : e = c.statements[0], g = []; - for (var h in c.deps) g.push(h); - if (!g.length) return { - value: e({}) - }; - for (var i = new CompoundBinding(e), j = 0; j < g.length; j++) i.bind(g[j], a, g[j]); - return i; - } catch (k) { - console.error("Invalid expression syntax: " + b, k); - } - } - function d(a) { - return function(b) { - for (var c = [], d = 0; d < a.length; d++) a[d].body(b) && c.push(a[d].label); - return c.join(" "); - }; - } - function e(a, b, c) { - this.deps = a, this.name = b, this.last = c; - } - function f() { - this.statements = [], this.labeledStatements = [], this.deps = {}, this.currentPath = void 0; - } - function g() { - throw Error("Not Implemented"); - } - function h() {} - var i; - "undefined" != typeof WeakMap && navigator.userAgent.indexOf("Firefox/") < 0 ? i = WeakMap : function() { - var a = Object.defineProperty, b = Object.hasOwnProperty, c = new Date().getTime() % 1e9; - i = function() { - this.name = "__st" + (1e9 * Math.random() >>> 0) + (c++ + "__"); - }, i.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 j = "[$_a-zA-Z]", k = "[$_a-zA-Z0-9]", l = j + "+" + k + "*", m = "(" + l + ")", n = "(?:[0-9]|[1-9]+[0-9]+)", o = "(?:" + l + "|" + n + ")", p = "(?:" + o + ")(?:\\." + o + ")*", q = new RegExp("^" + p + "$"), r = new RegExp("^" + m + "\\s* in (.*)$"), s = new RegExp("^(.*) as \\s*" + m + "$"), t = new i(); - e.prototype = { - getPath: function() { - return this.last ? this.last.getPath() + "." + this.name : this.name; - }, - valueFn: function() { - var a = this.getPath(); - return this.deps[a] = !0, function(b) { - return b[a]; - }; - } - }; - var u = { - "+": function(a) { - return +a; - }, - "-": function(a) { - return -a; - }, - "!": function(a) { - return !a; - } - }, v = { - "+": function(a, b) { - return a + b; - }, - "-": function(a, b) { - return a - b; - }, - "*": function(a, b) { - return a * b; - }, - "/": function(a, b) { - return a / b; - }, - "%": function(a, b) { - return a % b; - }, - "<": function(a, b) { - return b > a; - }, - ">": function(a, b) { - return a > b; - }, - "<=": function(a, b) { - return b >= a; - }, - ">=": function(a, b) { - return a >= b; - }, - "==": function(a, b) { - return a == b; - }, - "!=": function(a, b) { - return a != b; - }, - "===": function(a, b) { - return a === b; - }, - "!==": function(a, b) { - return a !== b; - }, - "&&": function(a, b) { - return a && b; - }, - "||": function(a, b) { - return a || b; - } - }; - f.prototype = { - getFn: function(a) { - return a instanceof e ? a.valueFn() : a; - }, - createProgram: function() {}, - createExpressionStatement: function(a) { - return this.statements.push(a), a; - }, - createLabeledStatement: function(a, b) { - return this.labeledStatements.push({ - label: a.getPath(), - body: b instanceof e ? b.valueFn() : b - }), b; - }, - createUnaryExpression: function(a, b) { - if (!u[a]) throw Error("Disallowed operator: " + a); - return b = this.getFn(b), function(c) { - return u[a](b(c)); - }; - }, - createBinaryExpression: function(a, b, c) { - if (!v[a]) throw Error("Disallowed operator: " + a); - return b = this.getFn(b), c = this.getFn(c), function(d) { - return v[a](b(d), c(d)); - }; - }, - createConditionalExpression: function(a, b, c) { - return a = this.getFn(a), b = this.getFn(b), c = this.getFn(c), function(d) { - return a(d) ? b(d) : c(d); - }; - }, - createIdentifier: function(a) { - var b = new e(this.deps, a); - return b.type = "Identifier", b; - }, - createMemberExpression: function(a, b, c) { - return new e(this.deps, c.name, b); - }, - createLiteral: function(a) { - return function() { - return a.value; - }; - }, - createArrayExpression: function(a) { - for (var b = 0; b < a.length; b++) a[b] = this.getFn(a[b]); - return function(b) { - for (var c = [], d = 0; d < a.length; d++) c.push(a[d](b)); - return c; - }; - }, - createProperty: function(a, b, c) { - return { - key: b instanceof e ? b.getPath() : b(), - value: c - }; - }, - createObjectExpression: function(a) { - for (var b = 0; b < a.length; b++) a[b].value = this.getFn(a[b].value); - return function(b) { - for (var c = {}, d = 0; d < a.length; d++) c[a[d].key] = a[d].value(b); - return c; - }; - }, - createCallExpression: g, - createEmptyStatement: g, - createThisExpression: g - }, h.prototype = { - getBinding: function(a, d, e, f) { - return d = d.trim(), d && !d.match(q) ? b(a, d, e, f) || c(a, d, e, f) : void 0; - }, - getInstanceModel: function(a, b) { - var c = t.get(a); - if (!c) return b; - var d = a.templateInstance ? a.templateInstance.model : a.model, e = Object.create(d); - return e[c] = b, e; - } - }, a.ExpressionSyntax = h; -}(this), function(a) { - function b() { - logFlags.data && console.group("Model.dirtyCheck()"), c(), logFlags.data && console.groupEnd(); - } - function c() { - Platform.performMicrotaskCheckpoint(); - } - var d = document.createElement("style"); - d.textContent = "template {display: none;} /* injected by platform.js */"; - var e = document.querySelector("head"); - e.insertBefore(d, e.firstChild), HTMLTemplateElement.__instanceCreated = function(a) { - document.adoptNode(a), CustomElements.upgradeAll(a); - }; - var f = 125; - window.addEventListener("WebComponentsReady", function() { - b(), Observer.hasObjectObserve || setInterval(c, f); - }), a.flush = b, window.dirtyCheck = b; -}(window.Platform), function(a) { - a || (a = window.HTMLImports = { - flags: {} - }); - var b = { - callbacks: {}, - load: function(c, d, e) { - b.callbacks[c] = { - next: d, - nextContext: e - }, parent.postMessage({ - url: c, - bust: a.flags.debug || a.flags.bust - }, "*"); - }, - receive: function(a, c, d) { - var e = b.callbacks[a]; - if (e) { - var f = e.next, g = e.nextContext; - f.call(g, c, d, a); - } - } - }; - window.addEventListener("message", function(a) { - b.receive(a.data.url, a.data.err, a.data.resource); - }), a.xhr = b; -}(window.HTMLImports), function(a) { - function b(a) { - return d(a, i); - } - function c(a) { - return d(a, j); - } - function d(a, b) { - return "link" === a.localName && a.getAttribute("rel") === b; - } - function e(a) { - return "script" === a.localName; - } - function f(a, b) { - var c = document.implementation.createHTMLDocument(i); - c._URL = b; - var d = c.createElement("base"); - return d.setAttribute("href", document.baseURI), c.head.appendChild(d), c.body.innerHTML = a, - window.HTMLTemplateElement && HTMLTemplateElement.bootstrap && HTMLTemplateElement.bootstrap(c), - c; - } - a || (a = window.HTMLImports = { - flags: {} - }); - var g, h = a.xhr, i = "import", j = "stylesheet", k = { - documents: {}, - cache: {}, - preloadSelectors: [ "link[rel=" + i + "]", "element link[rel=" + j + "]", "template", "script[src]" ].join(","), - loader: function(a) { - return g = new l(k.loaded, a), g.cache = k.cache, g; - }, - load: function(a, b) { - g = k.loader(b), k.preload(a); - }, - preload: function(a) { - var b = a.querySelectorAll(k.preloadSelectors); - b = this.filterMainDocumentNodes(a, b), b = this.extractTemplateNodes(b), g.addNodes(b); - }, - filterMainDocumentNodes: function(a, b) { - return a === document && (b = Array.prototype.filter.call(b, function(a) { - return !e(a); - })), b; - }, - extractTemplateNodes: function(a) { - var b = []; - return a = Array.prototype.filter.call(a, function(a) { - if ("template" === a.localName) { - if (a.content) { - var c = a.content.querySelectorAll("link[rel=" + j + "]"); - c.length && (b = b.concat(Array.prototype.slice.call(c, 0))); - } - return !1; - } - return !0; - }), b.length && (a = a.concat(b)), a; - }, - loaded: function(a, d, e) { - if (b(d)) { - var g = k.documents[a]; - g || (g = f(e, a), p.resolvePathsInHTML(g.body), k.documents[a] = g, k.preload(g)), - d.import = { - href: a, - ownerNode: d, - content: g - }, d.content = e = g; - } - d.__resource = e, c(d) && p.resolvePathsInStylesheet(d); - } - }, l = function(a, b) { - this.onload = a, this.oncomplete = b, this.inflight = 0, this.pending = {}, this.cache = {}; - }; - l.prototype = { - addNodes: function(a) { - this.inflight += a.length, q(a, this.require, this), this.checkDone(); - }, - require: function(a) { - var b = p.nodeUrl(a); - a.__nodeUrl = b, this.dedupe(b, a) || this.fetch(b, a); - }, - dedupe: function(a, b) { - return this.pending[a] ? (this.pending[a].push(b), !0) : this.cache[a] ? (this.onload(a, b, g.cache[a]), - this.tail(), !0) : (this.pending[a] = [ b ], !1); - }, - fetch: function(a, b) { - var c = function(c, d) { - this.receive(a, b, c, d); - }.bind(this); - h.load(a, c); - }, - receive: function(a, b, c, d) { - c || (g.cache[a] = d), g.pending[a].forEach(function(b) { - c || this.onload(a, b, d), this.tail(); - }, this), g.pending[a] = null; - }, - tail: function() { - --this.inflight, this.checkDone(); - }, - checkDone: function() { - this.inflight || this.oncomplete(); - } - }; - var m = [ "href", "src", "action" ], n = "[" + m.join("],[") + "]", o = "{{.*}}", p = { - nodeUrl: function(a) { - return p.resolveUrl(p.getDocumentUrl(document), p.hrefOrSrc(a)); - }, - hrefOrSrc: function(a) { - return a.getAttribute("href") || a.getAttribute("src"); - }, - documentUrlFromNode: function(a) { - return p.getDocumentUrl(a.ownerDocument); - }, - getDocumentUrl: function(a) { - var b = a && (a._URL || a.impl && a.impl._URL || a.baseURI || a.URL) || ""; - return b.split("#")[0]; - }, - resolveUrl: function(a, b, c) { - if (this.isAbsUrl(b)) return b; - var d = this.compressUrl(this.urlToPath(a) + b); - return c && (d = p.makeRelPath(p.getDocumentUrl(document), d)), d; - }, - isAbsUrl: function(a) { - return /(^data:)|(^http[s]?:)|(^\/)/.test(a); - }, - urlToPath: function(a) { - var b = a.split("/"); - return b.pop(), b.push(""), b.join("/"); - }, - compressUrl: function(a) { - for (var b, c = a.split("/"), d = 0; d < c.length; d++) b = c[d], ".." === b && (c.splice(d - 1, 2), - d -= 2); - return c.join("/"); - }, - makeRelPath: function(a, b) { - var c, d; - for (c = this.compressUrl(a).split("/"), d = this.compressUrl(b).split("/"); c.length && c[0] === d[0]; ) c.shift(), - d.shift(); - for (var e = 0, f = c.length - 1; f > e; e++) d.unshift(".."); - var g = d.join("/"); - return g; - }, - resolvePathsInHTML: function(a, b) { - b = b || p.documentUrlFromNode(a), p.resolveAttributes(a, b), p.resolveStyleElts(a, b); - var c = a.querySelectorAll("template"); - c && q(c, function(a) { - a.content && p.resolvePathsInHTML(a.content, b); - }); - }, - resolvePathsInStylesheet: function(a) { - var b = p.nodeUrl(a); - a.__resource = p.resolveCssText(a.__resource, b); - }, - resolveStyleElts: function(a, b) { - var c = a.querySelectorAll("style"); - c && q(c, function(a) { - a.textContent = p.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 = p.resolveUrl(b, c, !0), "url(" + c + ")"; - }); - }, - resolveAttributes: function(a, b) { - var c = a && a.querySelectorAll(n); - c && q(c, function(a) { - this.resolveNodeAttributes(a, b); - }, this); - }, - resolveNodeAttributes: function(a, b) { - m.forEach(function(c) { - var d = a.attributes[c]; - if (d && d.value && d.value.search(o) < 0) { - var e = p.resolveUrl(b, d.value, !0); - d.value = e; - } - }); - } - }; - h = h || { - 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, h.async), - e.addEventListener("readystatechange", function() { - 4 === e.readyState && c.call(d, !h.ok(e) && e, e.response, b); - }), e.send(); - } - }; - var q = Array.prototype.forEach.call.bind(Array.prototype.forEach); - a.xhr = h, a.importer = k, a.getDocumentUrl = p.getDocumentUrl, a.IMPORT_LINK_TYPE = i; -}(window.HTMLImports), function(a) { - function b(a) { - return "link" === a.localName && a.getAttribute("rel") === f; - } - function c(a) { - return a.parentNode && !d(a) && !e(a); - } - function d(a) { - return a.ownerDocument === document || a.ownerDocument.impl === document; - } - function e(a) { - return a.parentNode && "element" === a.parentNode.localName; - } - var f = "import", g = { - selectors: [ "link[rel=" + f + "]", "link[rel=stylesheet]", "style", "script" ], - map: { - link: "parseLink", - script: "parseScript", - style: "parseGeneric" - }, - parse: function(a) { - if (!a.__importParsed) { - a.__importParsed = !0; - var b = a.querySelectorAll(g.selectors); - h(b, function(a) { - g[g.map[a.localName]](a); - }); - } - }, - parseLink: function(a) { - b(a) ? a.content && g.parse(a.content) : this.parseGeneric(a); - }, - parseGeneric: function(a) { - c(a) && document.head.appendChild(a); - }, - parseScript: function(a) { - if (c(a)) { - var b = a.__resource || a.textContent; - b && (b += "\n//# sourceURL=" + (a.__nodeUrl || "inline[" + Math.floor(1e3 * (Math.random() + 1)) + "]") + "\n", - eval.call(window, b)); - } - } - }, h = Array.prototype.forEach.call.bind(Array.prototype.forEach); - a.parser = g; -}(HTMLImports), function() { - function a() { - HTMLImports.importer.load(document, function() { - HTMLImports.parser.parse(document), HTMLImports.readyTime = new Date().getTime(), - document.dispatchEvent(new CustomEvent("HTMLImportsLoaded", { - bubbles: !0 - })); - }); - } - "function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { - var b = document.createEvent("HTMLEvents"); - return b.initEvent(a, !0, !0), b; - }), "complete" === document.readyState || "interactive" === document.readyState ? a() : window.addEventListener("DOMContentLoaded", a); -}(), 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; e < d.length; e++) { - var f = d[e], g = f.options; - if (c === a || g.subtree) { - var h = b(g); - h && f.enqueue(h); - } - } - } - } - function g(a) { - this.callback_ = a, this.nodes_ = [], this.records_ = [], this.uid_ = ++v; - } - function h(a, b) { - this.type = a, this.target = b, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, - this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, - this.oldValue = null; - } - function i(a) { - var b = new h(a.type, a.target); - return b.addedNodes = a.addedNodes.slice(), b.removedNodes = a.removedNodes.slice(), - b.previousSibling = a.previousSibling, b.nextSibling = a.nextSibling, b.attributeName = a.attributeName, - b.attributeNamespace = a.attributeNamespace, b.oldValue = a.oldValue, b; - } - function j(a, b) { - return w = new h(a, b); - } - function k(a) { - return x ? x : (x = i(w), x.oldValue = a, x); - } - function l() { - w = x = void 0; - } - function m(a) { - return a === x || a === w; - } - function n(a, b) { - return a === b ? a : x && m(a) ? x : null; - } - function o(a, b, c) { - this.observer = a, this.target = b, this.options = c, this.transientObservedNodes = []; - } - var p = new SideTable(), q = window.msSetImmediate; - if (!q) { - var r = [], s = String(Math.random()); - window.addEventListener("message", function(a) { - if (a.data === s) { - var b = r; - r = [], b.forEach(function(a) { - a(); - }); - } - }), q = function(a) { - r.push(a), window.postMessage(s, "*"); - }; - } - var t = !1, u = [], v = 0; - g.prototype = { - observe: function(a, b) { - if (a = c(a), !b.childList && !b.attributes && !b.characterData || b.attributeOldValue && !b.attributes || b.attributeFilter && b.attributeFilter.length && !b.attributes || b.characterDataOldValue && !b.characterData) throw new SyntaxError(); - var d = p.get(a); - d || p.set(a, d = []); - for (var e, f = 0; f < d.length; f++) if (d[f].observer === this) { - e = d[f], e.removeListeners(), e.options = b; - break; - } - e || (e = new o(this, a, b), d.push(e), this.nodes_.push(a)), e.addListeners(); - }, - disconnect: function() { - this.nodes_.forEach(function(a) { - for (var b = p.get(a), c = 0; c < b.length; c++) { - var d = b[c]; - if (d.observer === this) { - d.removeListeners(), b.splice(c, 1); - break; - } - } - }, this), this.records_ = []; - }, - takeRecords: function() { - var a = this.records_; - return this.records_ = [], a; - } - }; - var w, x; - o.prototype = { - enqueue: function(a) { - var c = this.observer.records_, d = c.length; - if (c.length > 0) { - 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; c < b.length; c++) if (b[c] === this) { - b.splice(c, 1); - break; - } - }, this); - }, - handleEvent: function(a) { - switch (a.stopImmediatePropagation(), a.type) { - case "DOMAttrModified": - var b = a.attrName, c = a.relatedNode.namespaceURI, d = a.target, e = new j("attributes", d); - e.attributeName = b, e.attributeNamespace = c; - var g = a.attrChange === MutationEvent.ADDITION ? null : a.prevValue; - f(d, function(a) { - return !a.attributes || a.attributeFilter && a.attributeFilter.length && -1 === a.attributeFilter.indexOf(b) && -1 === a.attributeFilter.indexOf(c) ? void 0 : a.attributeOldValue ? k(g) : e; - }); - break; - - case "DOMCharacterDataModified": - var d = a.target, e = j("characterData", d), g = a.prevValue; - f(d, function(a) { - return a.characterData ? a.characterDataOldValue ? k(g) : e : void 0; - }); - break; - - case "DOMNodeRemoved": - this.addTransientObserver(a.target); - - case "DOMNodeInserted": - var h, i, d = a.relatedNode, m = a.target; - "DOMNodeInserted" === a.type ? (h = [ m ], i = []) : (h = [], i = [ m ]); - var n = m.previousSibling, o = m.nextSibling, e = j("childList", d); - e.addedNodes = h, e.removedNodes = i, e.previousSibling = n, e.nextSibling = o, - f(d, function(a) { - return a.childList ? e : void 0; - }); - } - l(); - } - }, a.JsMutationObserver = g; -}(this), !window.MutationObserver && (window.MutationObserver = window.WebKitMutationObserver || window.JsMutationObserver, -!MutationObserver)) throw new Error("no mutation observer support"); - -!function(a) { - function b(b, f) { - 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), k(g.prototype), - m(b, g), g.ctor = n(g), g.ctor.prototype = g.prototype, g.prototype.constructor = g.ctor, - a.ready && a.upgradeAll(document), g.ctor; - } - function c(a) { - var b = s[a]; - return b ? c(b.extends).concat([ b ]) : []; - } - function d(a) { - for (var b, c = a.extends, d = 0; b = a.ancestry[d]; d++) c = b.is && b.tag; - a.tag = c || a.name, c && (a.is = a.name); - } - function e(a) { - 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(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), - j(b), b; - } - function h(a, b) { - Object.__proto__ ? a.__proto__ = b.prototype : (i(a, b.prototype, b.native), a.__proto__ = b.prototype); - } - function i(a, b, c) { - for (var d = {}, e = b; e !== c && e !== HTMLUnknownElement.prototype; ) { - for (var f, g = Object.getOwnPropertyNames(e), h = 0; f = g[h]; h++) d[f] || (Object.defineProperty(a, f, Object.getOwnPropertyDescriptor(e, f)), - d[f] = 1); - e = Object.getPrototypeOf(e); - } - } - function j(a) { - a.readyCallback && a.readyCallback(); - } - 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 l(a, b, c) { - var d = this.getAttribute(a); - c.apply(this, arguments), this.attributeChangedCallback && this.getAttribute(a) !== d && this.attributeChangedCallback(a, d); - } - function m(a, b) { - s[a] = b; - } - function n(a) { - return function() { - return f(a); - }; - } - function o(a) { - var b = s[a]; - return b ? new b.ctor() : t(a); - } - function p(a) { - if (!a.__upgraded__ && a.nodeType === Node.ELEMENT_NODE) { - var b = a.getAttribute("is") || a.localName, c = s[b]; - return c && g(a, c); - } - } - function q(b) { - var c = u.call(this, b); - return a.upgradeAll(c), c; - } - if (a || (a = window.CustomElements = { - flags: {} - }), a.hasNative = (document.webkitRegister || document.register) && "native" === a.flags.register, - a.hasNative) { - document.register = document.register || document.webkitRegister; - var r = function() {}; - a.registry = {}, a.upgradeElement = r; - } else { - 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) { - var e = a.firstElementChild; - if (!e) for (e = a.firstChild; e && e.nodeType !== Node.ELEMENT_NODE; ) e = e.nextSibling; - for (;e; ) c(e, d) !== !0 && b(e, c, d), e = e.nextElementSibling; - return null; - } - function c(a, d) { - b(a, function(a) { - return d(a) ? !0 : (a.webkitShadowRoot && c(a.webkitShadowRoot, d), void 0); - }), a.webkitShadowRoot && c(a.webkitShadowRoot, d); - } - function d(a) { - return g(a) ? (h(a), !0) : (i(a), void 0); - } - function e(a) { - c(a, function(a) { - return d(a) ? !0 : void 0; - }); - } - function f(a) { - return d(a) || e(a); - } - function g(b) { - if (!b.__upgraded__ && b.nodeType === Node.ELEMENT_NODE) { - var c = b.getAttribute("is") || b.localName, d = a.registry[c]; - if (d) return logFlags.dom && console.group("upgrade:", b.localName), a.upgrade(b), - logFlags.dom && console.groupEnd(), !0; - } - } - function h(a) { - i(a), l(a) && c(a, function(a) { - i(a); - }); - } - function i(a) { - (a.insertedCallback || a.__upgraded__ && logFlags.dom) && (logFlags.dom && console.group("inserted:", a.localName), - l(a) && (a.__inserted = (a.__inserted || 0) + 1, a.__inserted < 1 && (a.__inserted = 1), - a.__inserted > 1 ? 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 "link" === a.localName && a.getAttribute("rel") === b; - } - var b = window.HTMLImports ? HTMLImports.IMPORT_LINK_TYPE : "none", c = { - selectors: [ "link[rel=" + b + "]", "element" ], - map: { - link: "parseLink", - element: "parseElement" - }, - parse: function(a) { - if (!a.__parsed) { - a.__parsed = !0; - var b = a.querySelectorAll(c.selectors); - d(b, function(a) { - c[c.map[a.localName]](a); - }), CustomElements.upgradeDocument(a), CustomElements.observeDocument(a); - } - }, - parseLink: function(b) { - a(b) && this.parseImport(b); - }, - parseImport: function(a) { - a.content && c.parse(a.content); - }, - parseElement: function(a) { - new HTMLElementElement(a); - } - }, d = Array.prototype.forEach.call.bind(Array.prototype.forEach); - CustomElements.parser = c; -}(), function() { - function a() { - setTimeout(function() { - CustomElements.parser.parse(document), CustomElements.upgradeDocument(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); - } - if ("function" != typeof window.CustomEvent && (window.CustomEvent = function(a) { - var b = document.createEvent("HTMLEvents"); - return b.initEvent(a, !0, !0), b; - }), "complete" === document.readyState) a(); else { - var b = window.HTMLImports ? "HTMLImportsLoaded" : "DOMContentLoaded"; - window.addEventListener(b, 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 = b.pointermap, d = 25, e = { - 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, e = a.clientX, f = a.clientY, g = 0, h = c.length; h > g && (b = c[g]); g++) { - var i = Math.abs(e - b.x), j = Math.abs(f - b.y); - if (d >= i && d >= 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 d = c.has(this.POINTER_ID); - if (d && (this.cancel(a), d = !1), !d) { - var e = this.prepareEvent(a); - c.set(this.POINTER_ID, a), b.down(e), 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 d = c.get(this.POINTER_ID); - if (d && d.button === a.button) { - var e = this.prepareEvent(a); - b.up(e), 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() { - c.delete(this.POINTER_ID), b.unlisten(this.global, document, this.mouseHandler); - } - }; - b.listen([ "mousemove" ], document, b.boundHandler), a.mouseEvents = e; -}(window.PointerEventsPolyfill), function(a) { - var b = a.dispatcher, c = a.findTarget, d = b.pointermap, e = b.scrollType, f = Array.prototype.map.call.bind(Array.prototype.map), g = 2500, h = { - 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 d = b.cloneEvent(a); - return d.pointerId = a.identifier + 2, d.target = c(d), d.bubbles = !0, d.cancelable = !0, - d.button = 0, d.buttons = 1, d.width = a.webkitRadiusX || a.radiusX, d.height = a.webkitRadiusY || a.radiusY, - d.pressure = a.webkitForce || a.force, d.isPrimary = this.isPrimaryTouch(a), d.pointerType = this.POINTER_TYPE, - d; - }, - processTouches: function(a, b) { - var c = a.changedTouches, d = f(c, this.touchToPointer, this); - d.forEach(b, this); - }, - shouldScroll: function(a) { - if (this.firstXY) { - var b, c = e.get(a.currentTarget); - if ("none" === c) b = !1; else if ("XY" === c) b = !0; else { - var d = a.changedTouches[0], f = c, g = "Y" === c ? "X" : "Y", h = Math.abs(d["client" + f] - this.firstXY[f]), 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 (d.size >= b.length) { - var c = []; - d.ids.forEach(function(a) { - if (1 !== a && !this.findTouch(b, a - 2)) { - var e = d.get(a).out; - c.push(this.touchToPointer(e)); - } - }, 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) { - d.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, e = d.get(c.pointerId); - if (e) { - var f = e.out, g = e.outTarget; - b.move(c), f && g !== c.target && (f.relatedTarget = c.target, c.relatedTarget = g, - f.target = g, c.target ? (b.leaveOut(f), b.enterOver(c)) : (c.target = g, c.relatedTarget = null, - this.cancelOut(c))), e.out = c, e.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) { - d.delete(a.pointerId), this.removePrimaryTouch(a); - }, - dedupSynthMouse: function(b) { - var c = a.mouseEvents.lastTouches, d = b.changedTouches[0]; - if (this.isPrimaryTouch(d)) { - var e = { - x: d.clientX, - y: d.clientY - }; - c.push(e); - var f = function(a, b) { - var c = a.indexOf(b); - c > -1 && a.splice(c, 1); - }.bind(null, c, e); - setTimeout(f, g); - } - } - }; - a.touchEvents = h; -}(window.PointerEventsPolyfill), function(a) { - var b = a.dispatcher, c = b.pointermap, d = { - 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) { - c.delete(a); - }, - MSPointerDown: function(a) { - c.set(a.pointerId, a); - var d = this.prepareEvent(a); - b.down(d); - }, - 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); - } - }; - a.msEvents = d; -}(window.PointerEventsPolyfill), function(a) { - var b = a.dispatcher, c = a.installer; - if (void 0 === window.navigator.pointerEnabled) { - if (window.navigator.msPointerEnabled) { - var d = window.navigator.msMaxTouchPoints; - Object.defineProperty(window.navigator, "maxTouchPoints", { - value: d, - enumerable: !0 - }), b.registerSource("ms", a.msEvents), b.registerTarget(document); - } else b.registerSource("mouse", a.mouseEvents), void 0 !== window.ontouchstart && b.registerSource("touch", a.touchEvents), - c.enableOnSubtree(document); - 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); - -if (!window.Polymer) { - window.Polymer = {}; -} - -(function() { - var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); - window.forEach = forEach; -})(); - -(function(scope) { - function $super(inArgs) { - var caller = $super.caller; - var nom = caller.nom; - if (!nom) { - nom = nameInThis.call(this, caller); - } - if (!nom) { - console.warn("called super() on a method not installed declaratively (has no .nom property)"); - } - if (!("_super" in caller)) { - memoizeSuper(caller, nom, Object.getPrototypeOf(this)); - } - var _super = caller._super; - if (!_super) {} else { - var fn = _super[nom]; - if (!("_super" in fn)) { - memoizeSuper(fn, nom, _super); - } - return fn.apply(this, inArgs || []); - } - } - function nextSuper(inProto, inName, inCaller) { - var proto = inProto; - while (proto && (!proto.hasOwnProperty(inName) || proto[inName] == inCaller)) { - proto = Object.getPrototypeOf(proto); - } - return proto; - } - function memoizeSuper(inMethod, inName, inProto) { - inMethod._super = nextSuper(inProto, inName, inMethod); - if (inMethod._super) { - inMethod._super[inName]._nom = inName; - } - } - function nameInThis(inValue) { - console.group("nameInThis"); - var p = this; - while (p && p !== HTMLElement.prototype) { - var n$ = Object.getOwnPropertyNames(p); - for (var i = 0, l = n$.length, n; i < l && (n = n$[i]); i++) { - console.log(n); - var d = Object.getOwnPropertyDescriptor(p, n); - if (d.value == inValue) { - return n; - } - } - p = Object.getPrototypeOf(p); - } - console.groupEnd("nameInThis"); - } - scope.$super = $super; -})(Polymer); - -(function(scope) { - var log = window.logFlags || {}; - function register(inElement, inPrototype) { - if (inElement == window) { - return; - } - if (!inElement || !(inElement instanceof HTMLElement)) { - throw "First argument to Polymer.register must be an HTMLElement"; - } - var prototype = Platform.mixin({}, scope.base, inPrototype); - prototype.elementElement = inElement; - scope.addResolvePath(prototype, inElement); - prototype.installTemplate = function() { - this.super(); - staticInstallTemplate.call(this, inElement); - }; - prototype.installTemplate.nom = "installTemplate"; - prototype.readyCallback = readyCallback; - prototype.insertedCallback = insertedCallback; - prototype.removedCallback = removedCallback; - prototype.attributeChangedCallback = attributeChangedCallback; - hintSuper(prototype); - scope.parseHostEvents(inElement.attributes, prototype); - scope.publishAttributes(inElement, prototype); - scope.installSheets(inElement); - scope.shimStyling(inElement); - inElement.register({ - prototype: prototype - }); - logFlags.comps && console.log("Polymer: element registered" + inElement.options.name); - } - function readyCallback() { - this.installTemplate(); - instanceReady.call(this); - } - function staticInstallTemplate(inElement) { - var template = inElement.querySelector("template"); - if (template) { - var root = this.webkitCreateShadowRoot(); - root.applyAuthorStyles = this.applyAuthorStyles; - CustomElements.watchShadow(this); - root.host = this; - root.appendChild(template.createInstance(this, Polymer.expressionSyntax)); - rootCreated.call(this, root); - return root; - } - } - function rootCreated(inRoot) { - CustomElements.takeRecords(); - scope.marshalNodeReferences.call(this, inRoot); - var rootEvents = scope.accumulateEvents(inRoot); - scope.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); - PointerGestures.register(inRoot); - PointerEventsPolyfill.setTouchAction(inRoot, this.getAttribute("touch-action")); - } - function instanceReady(inElement) { - scope.observeProperties.call(this); - scope.installInstanceAttributes.call(this); - scope.takeAttributes.call(this); - var hostEvents = scope.accumulateHostEvents.call(this); - scope.bindAccumulatedHostEvents.call(this, hostEvents); - this.asyncUnbindAll(); - if (this.ready) { - this.ready(); - } - } - function insertedCallback() { - this.cancelUnbindAll(true); - if (this.inserted) { - this.inserted(); - } - } - function removedCallback() { - this.asyncUnbindAll(); - if (this.removed) { - this.removed(); - } - } - function attributeChangedCallback() { - if (this.attributeChanged) { - this.attributeChanged.apply(this, arguments); - } - } - function hintSuper(prototype) { - Object.getOwnPropertyNames(prototype).forEach(function(n) { - var d = Object.getOwnPropertyDescriptor(prototype, n); - if (typeof d.value == "function") { - d.value.nom = n; - } - }); - } - function findDistributedTarget(inTarget, inNodes) { - var n = inTarget; - while (n && n != this) { - var i = Array.prototype.indexOf.call(inNodes, n); - if (i >= 0) { - return i; - } - n = n.parentNode; - } - } - scope.register = register; - scope.findDistributedTarget = findDistributedTarget; - scope.instanceReady = instanceReady; -})(Polymer); - -(function(scope) { - var log = window.logFlags || {}; - var base = { - "super": Polymer.$super, - isPolymerElement: true, - bind: function() { - Polymer.bind.apply(this, arguments); - }, - unbind: function() { - Polymer.unbind.apply(this, arguments); - }, - unbindAll: function() { - Polymer.unbindAll.apply(this, arguments); - }, - cancelUnbindAll: function(preventCascade) { - Polymer.cancelUnbindAll.apply(this, arguments); - }, - asyncUnbindAll: function() { - Polymer.asyncUnbindAll.apply(this, arguments); - }, - job: function() { - 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); - }.bind(this); - return inTimeout ? window.setTimeout(fn, inTimeout) : requestAnimationFrame(fn); - }, - dispatch: function(inMethodName, inArguments) { - if (this[inMethodName]) { - this[inMethodName].apply(this, inArguments); - } - }, - fire: function(inType, inDetail, inToNode) { - var node = inToNode || this; - log.events && console.log("[%s]: sending [%s]", node.localName, inType); - node.dispatchEvent(new CustomEvent(inType, { - bubbles: true, - detail: inDetail - })); - return inDetail; - }, - asyncFire: function() { - this.asyncMethod("fire", arguments); - }, - classFollows: function(anew, old, className) { - if (old) { - old.classList.remove(className); - } - if (anew) { - anew.classList.add(className); - } - } - }; - base.send = base.fire; - base.asend = base.asyncFire; - scope.base = base; -})(window.Polymer); - -(function() { - var trackingTable = new SideTable(); - function registerObserver(element, type, name, observer) { - var o$ = getObserversOfType(element, type, true); - o$[name.toLowerCase()] = observer; - } - function unregisterObserver(element, type, name) { - var $o = getObserversOfType(element, type), lcName = name.toLowerCase(); - if ($o && $o[lcName]) { - $o[lcName].close(); - $o[lcName] = null; - return true; - } - } - function unregisterObserversOfType(element, type) { - var $o = getObserversOfType(element, type); - if ($o) { - Object.keys($o).forEach(function(key) { - unregisterObserver(element, type, key); - }); - } - } - function getObserversOfType(element, type, force) { - var b$ = trackingTable.get(element); - if (force) { - if (!b$) { - trackingTable.set(element, b$ = {}); - } - if (!b$[type]) { - b$[type] = {}; - } - } - return b$ && b$[type]; - } - Polymer.registerObserver = registerObserver; - Polymer.unregisterObserver = unregisterObserver; - Polymer.unregisterObserversOfType = unregisterObserversOfType; -})(); - -(function() { - var log = window.logFlags || {}; - function bindProperties(inA, inProperty, inB, inPath) { - log.bind && console.log("[%s]: bindProperties: [%s] to [%s].[%s]", inB.localName || "object", inPath, inA.localName, inProperty); - var v = PathObserver.getValueAtPath(inB, inPath); - if (v === null || v === undefined) { - PathObserver.setValueAtPath(inB, inPath, inA[inProperty]); - } - return PathObserver.defineProperty(inA, inProperty, { - object: inB, - path: inPath - }); - } - Polymer.bindProperties = bindProperties; -})(); - -(function() { - var log = window.logFlags || {}; - var expressionSyntax = new ExpressionSyntax(); - var bindings = new SideTable(); - function registerBinding(element, name, path) { - var b$ = bindings.get(element); - if (!b$) { - bindings.set(element, b$ = {}); - } - b$[name.toLowerCase()] = path; - } - function unregisterBinding(element, name) { - var b$ = bindings.get(element); - if (b$) { - delete b$[name.toLowerCase()]; - } - } - function overrideBinding(ctor) { - var proto = ctor.prototype; - var originalBind = proto.bind; - var originalUnbind = proto.unbind; - proto.bind = function(name, model, path) { - originalBind.apply(this, arguments); - registerBinding(this, name, path); - }; - proto.unbind = function(name) { - originalUnbind.apply(this, arguments); - unregisterBinding(this, name); - }; - } - [ Node, Element, Text, HTMLInputElement ].forEach(overrideBinding); - var emptyBindings = {}; - function getBindings(element) { - return element && bindings.get(element) || emptyBindings; - } - function getBinding(element, name) { - return getBindings(element)[name.toLowerCase()]; - } - function bind(name, model, path) { - var property = Polymer.propertyForAttribute.call(this, name); - if (property) { - registerBinding(this, property, path); - Polymer.registerObserver(this, "binding", property, Polymer.bindProperties(this, property, model, path)); - } else { - HTMLElement.prototype.bind.apply(this, arguments); - } - } - function unbind(name) { - if (!Polymer.unregisterObserver(this, "binding", name)) { - HTMLElement.prototype.unbind.apply(this, arguments); - } - } - function unbindAll() { - if (!isElementUnbound(this)) { - Polymer.unregisterObserversOfType(this, "property"); - HTMLElement.prototype.unbindAll.apply(this, arguments); - unbindNodeTree(this.webkitShadowRoot, true); - markElementUnbound(this); - } - } - function unbindNodeTree(node, olderShadows) { - forNodeTree(node, olderShadows, function(n) { - if (n.unbindAll) { - n.unbindAll(); - } - }); - } - function forNodeTree(node, olderShadows, callback) { - if (!node) { - return; - } - callback(node); - if (olderShadows && node.olderShadowRoot) { - forNodeTree(node.olderShadowRoot, olderShadows, callback); - } - for (var child = node.firstChild; child; child = child.nextSibling) { - forNodeTree(child, olderShadows, callback); - } - } - var unboundTable = new SideTable(); - function markElementUnbound(element) { - unboundTable.set(element, true); - } - function isElementUnbound(element) { - return unboundTable.get(element); - } - var unbindAllJobTable = new SideTable(); - function asyncUnbindAll() { - if (!isElementUnbound(this)) { - log.bind && console.log("asyncUnbindAll", this.localName); - unbindAllJobTable.set(this, this.job(unbindAllJobTable.get(this), this.unbindAll)); - } - } - function cancelUnbindAll(preventCascade) { - if (isElementUnbound(this)) { - log.bind && console.warn(this.localName, "is unbound, cannot cancel unbindAll"); - return; - } - log.bind && console.log("cancelUnbindAll", this.localName); - var unbindJob = unbindAllJobTable.get(this); - if (unbindJob) { - unbindJob.stop(); - unbindAllJobTable.set(this, null); - } - if (!preventCascade) { - forNodeTree(this.webkitShadowRoot, true, function(n) { - if (n.cancelUnbindAll) { - n.cancelUnbindAll(); - } - }); - } - } - function parseAndBindHTML(html, model) { - var template = document.createElement("template"); - template.innerHTML = html; - return template.createInstance(model, expressionSyntax); - } - var mustachePattern = /\{\{([^{}]*)}}/; - Polymer.bind = bind; - Polymer.unbind = unbind; - Polymer.unbindAll = unbindAll; - Polymer.getBinding = getBinding; - Polymer.asyncUnbindAll = asyncUnbindAll; - Polymer.cancelUnbindAll = cancelUnbindAll; - Polymer.isElementUnbound = isElementUnbound; - Polymer.unbindNodeTree = unbindNodeTree; - Polymer.parseAndBindHTML = parseAndBindHTML; - Polymer.bindPattern = mustachePattern; - Polymer.expressionSyntax = expressionSyntax; -})(); - -(function() { - var bindPattern = Polymer.bindPattern; - var published$ = "__published"; - var attributes$ = "attributes"; - var attrProps$ = "publish"; - function publishAttributes(element, prototype) { - publishAttributesAttributes(element, prototype); - publishInstanceAttributes(element, prototype); - } - function publishAttributesAttributes(inElement, inPrototype) { - var published = {}; - var attributes = inElement.getAttribute(attributes$); - if (attributes) { - var names = attributes.split(attributes.indexOf(",") >= 0 ? "," : " "); - names.forEach(function(p) { - p = p.trim(); - if (p) { - published[p] = null; - } - }); - } - var inherited = inElement.options.prototype; - Object.keys(published).forEach(function(p) { - if (!(p in inPrototype) && !(p in inherited)) { - inPrototype[p] = published[p]; - } - }); - var imperative = inPrototype[attrProps$]; - if (imperative) { - Object.keys(imperative).forEach(function(p) { - inPrototype[p] = imperative[p]; - }); - published = Platform.mixin(published, imperative); - } - inPrototype[published$] = Platform.mixin({}, inherited[published$], published); - } - function publishInstanceAttributes(element, prototype) { - 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 < l && (a = attributes[i]); i++) { - if (!publishInstanceAttributes.blackList[a.name]) { - if (a.name.slice(0, 3) !== "on-") { - a$[a.name] = a.value; - } - } - } - } - publishInstanceAttributes.blackList = { - name: 1, - "extends": 1, - constructor: 1 - }; - publishInstanceAttributes.blackList[attributes$] = 1; - function installInstanceAttributes() { - var a$ = this.instanceAttributes; - Object.keys(a$).forEach(function(name) { - this.setAttribute(name, a$[name]); - }, this); - } - function takeAttributes() { - forEach(this.attributes, function(a) { - var name = propertyForAttribute.call(this, a.name); - if (name) { - if (a.value.search(bindPattern) >= 0) { - return; - } - var defaultValue = this[name]; - var value = deserializeValue(a.value, defaultValue); - if (value !== defaultValue) { - this[name] = value; - } - } - }, this); - } - function propertyForAttribute(name) { - var properties = Object.keys(this[published$]); - return properties[properties.map(lowerCase).indexOf(name.toLowerCase())]; - } - var lowerCase = String.prototype.toLowerCase.call.bind(String.prototype.toLowerCase); - var typeHandlers = { - string: function(value) { - return value; - }, - date: function(value) { - return new Date(Date.parse(value) || Date.now()); - }, - "boolean": function(value) { - if (value === "") { - return true; - } - return value === "false" ? false : !!value; - }, - number: function(value) { - var floatVal = parseFloat(value); - return String(floatVal) === value ? floatVal : value; - }, - object: function(value, defaultValue) { - if (!defaultValue) { - return value; - } - try { - return JSON.parse(value.replace(/'/g, '"')); - } catch (e) { - return value; - } - } - }; - function deserializeValue(value, defaultValue) { - var inferredType = typeof defaultValue; - if (defaultValue instanceof Date) { - inferredType = "date"; - } - return typeHandlers[inferredType](value, defaultValue); - } - Polymer.takeAttributes = takeAttributes; - Polymer.publishAttributes = publishAttributes; - Polymer.propertyForAttribute = propertyForAttribute; - Polymer.installInstanceAttributes = installInstanceAttributes; -})(); - -Polymer.marshalNodeReferences = function(inRoot) { - var $ = this.$ = this.$ || {}; - if (inRoot) { - var nodes = inRoot.querySelectorAll("[id]"); - forEach(nodes, function(n) { - $[n.id] = n; - }); - } -}; - -(function() { - var log = window.logFlags || {}; - var prefix = "on-"; - var parseHostEvents = function(inAttributes, inPrototype) { - inPrototype.eventDelegates = parseEvents(inAttributes); - }; - var parseEvents = function(inAttributes) { - var events = {}; - if (inAttributes) { - for (var i = 0, a; a = inAttributes[i]; i++) { - if (a.name.slice(0, prefix.length) == prefix) { - events[a.name.slice(prefix.length)] = a.value; - } - } - } - return events; - }; - var accumulateEvents = function(inNode, inEvents) { - var events = inEvents || {}; - accumulateNodeEvents(inNode, events); - accumulateChildEvents(inNode, events); - accumulateTemplatedEvents(inNode, events); - return events; - }; - var accumulateNodeEvents = function(inNode, inEvents) { - var a$ = inNode.attributes; - if (a$) { - for (var i = 0, a; a = a$[i]; i++) { - if (a.name.slice(0, prefix.length) === prefix) { - accumulateEvent(a.name.slice(prefix.length), inEvents); - } - } - } - }; - var event_translations = { - webkitanimationstart: "webkitAnimationStart", - webkitanimationend: "webkitAnimationEnd", - webkittransitionend: "webkitTransitionEnd", - domfocusout: "DOMFocusOut", - domfocusin: "DOMFocusIn" - }; - var accumulateEvent = function(inName, inEvents) { - var n = event_translations[inName] || inName; - inEvents[n] = 1; - }; - var accumulateChildEvents = function(inNode, inEvents) { - var cn$ = inNode.childNodes; - for (var i = 0, n; n = cn$[i]; i++) { - accumulateEvents(n, inEvents); - } - }; - var accumulateTemplatedEvents = function(inNode, inEvents) { - if (inNode.localName == "template") { - var content = getTemplateContent(inNode); - if (content) { - accumulateChildEvents(content, inEvents); - } - } - }; - var getTemplateContent = function(inTemplate) { - return inTemplate.ref ? inTemplate.ref.content : inTemplate.content; - }; - var accumulateHostEvents = function(inEvents) { - var events = inEvents || {}; - var p = this.__proto__; - while (p && p !== HTMLElement.prototype) { - if (p.hasOwnProperty("eventDelegates")) { - for (var n in p.eventDelegates) { - accumulateEvent(n, events); - } - } - p = p.__proto__; - } - return events; - }; - function bindAccumulatedEvents(inNode, inEvents, inListener) { - var fn = inListener.bind(this); - for (var n in inEvents) { - log.events && console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)', inNode.localName || "root", n); - inNode.addEventListener(n, fn); - } - } - function bindAccumulatedHostEvents(inEvents) { - bindAccumulatedEvents.call(this, this, inEvents, listenHost); - } - function bindAccumulatedLocalEvents(inNode, inEvents) { - bindAccumulatedEvents.call(this, inNode, inEvents, listenLocal); - } - var findController = function(inNode) { - var n = inNode; - while (n.parentNode && n.localName !== "shadow-root") { - n = n.parentNode; - } - return n.host; - }; - var dispatch = function(inNode, inHandlerName, inArguments) { - if (inNode) { - log.events && console.group("[%s] dispatch [%s]", inNode.localName, inHandlerName); - inNode.dispatch(inHandlerName, inArguments); - log.events && console.groupEnd(); - } - }; - function listenLocal(inEvent) { - if (inEvent.cancelBubble) { - return; - } - inEvent.on = prefix + inEvent.type; - log.events && console.group("[%s]: listenLocal [%s]", this.localName, inEvent.on); - if (!inEvent.path || window.ShadowDOMPolyfill) { - listenLocalNoEventPath(inEvent); - } else { - var c = null; - Array.prototype.some.call(inEvent.path, function(t) { - if (t === this) { - return true; - } - c = c === this ? c : findController(t); - if (c) { - if (handleEvent.call(c, t, inEvent)) { - return true; - } - } - }, this); - } - log.events && console.groupEnd(); - } - function listenLocalNoEventPath(inEvent) { - log.events && console.log("event.path() not supported for", inEvent.type); - var t = inEvent.target, c = null; - while (t && t != this) { - c = c === this ? c : findController(t); - if (c) { - if (handleEvent.call(c, t, inEvent)) { - return; - } - } - t = t.parentNode; - } - } - function listenHost(inEvent) { - if (inEvent.cancelBubble) { - return; - } - log.events && console.group("[%s]: listenHost [%s]", this.localName, inEvent.type); - handleHostEvent.call(this, this, inEvent); - log.events && console.groupEnd(); - } - var eventHandledTable = new SideTable("handledList"); - function getHandledListForEvent(inEvent) { - var handledList = eventHandledTable.get(inEvent); - if (!handledList) { - handledList = []; - eventHandledTable.set(inEvent, handledList); - } - return handledList; - } - function handleEvent(inNode, inEvent) { - if (inNode.attributes) { - var handledList = getHandledListForEvent(inEvent); - if (handledList.indexOf(inNode) < 0) { - handledList.push(inNode); - var h = inNode.getAttribute(inEvent.on); - if (h) { - log.events && console.log("[%s] found handler name [%s]", this.localName, h); - dispatch(this, h, [ inEvent, inEvent.detail, inNode ]); - } - } - } - return inEvent.cancelBubble; - } - function handleHostEvent(inNode, inEvent) { - var h = findHostHandler.call(inNode, inEvent.type); - if (h) { - log.events && console.log("[%s] found host handler name [%s]", inNode.localName, h); - dispatch(inNode, h, [ inEvent, inEvent.detail, inNode ]); - } - return inEvent.cancelBubble; - } - var findHostHandler = function(inEventName) { - var p = this; - while (p) { - if (p.hasOwnProperty("eventDelegates")) { - var h = p.eventDelegates[inEventName] || p.eventDelegates[inEventName.toLowerCase()]; - if (h) { - return h; - } - } - p = p.__proto__; - } - }; - Polymer.parseHostEvents = parseHostEvents; - Polymer.accumulateEvents = accumulateEvents; - Polymer.accumulateHostEvents = accumulateHostEvents; - Polymer.bindAccumulatedHostEvents = bindAccumulatedHostEvents; - Polymer.bindAccumulatedLocalEvents = bindAccumulatedLocalEvents; -})(); - -(function() { - var log = window.logFlags || {}; - var OBSERVE_SUFFIX = "Changed"; - function observeProperties() { - for (var p in this) { - observeProperty.call(this, p); - } - } - function observeProperty(inName) { - if (isObservable.call(this, inName)) { - log.observe && console.log("[" + this.localName + "] watching [" + inName + "]"); - var observer = new PathObserver(this, inName, function(inNew, inOld) { - log.data && console.log("[%s#%s] watch: [%s] now [%s] was [%s]", this.localName, this.node.id || "", inName, this[inName], inOld); - propertyChanged.call(this, inName, inOld); - }.bind(this)); - Polymer.registerObserver(this, "property", inName, observer); - } - } - function isObservable(inName) { - return inName[0] != "_" && !(inName in Object.prototype) && Boolean(this[inName + OBSERVE_SUFFIX]); - } - function propertyChanged(inName, inOldValue) { - var fn = inName + OBSERVE_SUFFIX; - if (this[fn]) { - this[fn](inOldValue); - } - } - Polymer.observeProperties = observeProperties; -})(); - -(function() { - var log = window.logFlags || {}; - var doc = wrap(document); - function installSheets(elementElement) { - installLocalSheets(elementElement); - installGlobalStyles(elementElement); - } - function installLocalSheets(elementElement) { - var sheets = findInElement(elementElement, SHEET_SELECTOR, function(s) { - return !s.hasAttribute(SCOPE_ATTR); - }); - var content = elementTemplateContent(elementElement); - if (content) { - var cssText = ""; - sheets.forEach(function(sheet) { - sheet.parentNode.removeChild(sheet); - cssText += cssTextFromSheet(sheet) + "\n"; - }); - if (cssText) { - content.insertBefore(createStyleElement(cssText), content.firstChild); - } - } - } - function installGlobalStyles(elementElement) { - applyStyleToScope(styleFromElement(elementElement, STYLE_GLOBAL_SCOPE), doc.head); - } - function installControllerStyles(element, elementElement) { - if (!elementElement.controllerStyle) { - elementElement.controllerStyle = styleFromElement(elementElement, STYLE_CONTROLLER_SCOPE); - } - var styleElement = elementElement.controllerStyle; - var scope = findStyleController(element); - if (scope && !scopeHasElementStyle(scope, element, STYLE_CONTROLLER_SCOPE)) { - Polymer.shimPolyfillDirectives([ styleElement ], element.localName); - applyStyleToScope(styleElement, scope); - } - } - function scopeHasElementStyle(scope, element, descriptor) { - return scope.querySelector("style[" + STYLE_SCOPE_ATTRIBUTE + "=" + element.localName + "-" + descriptor + "]"); - } - function cssTextFromElement(elementElement, descriptor) { - var cssText = ""; - var selector = "[" + SCOPE_ATTR + "=" + descriptor + "]"; - var matcher = function(s) { - return matchesSelector(s, selector); - }; - var sheets = findInElement(elementElement, SHEET_SELECTOR, matcher); - sheets.forEach(function(sheet) { - sheet.parentNode.removeChild(sheet); - cssText += cssTextFromSheet(sheet) + "\n\n"; - }); - var styles = findInElement(elementElement, STYLE_SELECTOR, matcher); - styles.forEach(function(style) { - style.parentNode.removeChild(style); - cssText += style.textContent + "\n\n"; - }); - return cssText; - } - function styleFromElement(elementElement, descriptor) { - var cssText = cssTextFromElement(elementElement, descriptor); - if (cssText) { - var style = createStyleElement(cssText); - style.setAttribute(STYLE_SCOPE_ATTRIBUTE, elementElement.options.name + "-" + descriptor); - return style; - } - } - function findInElement(elementElement, selector, matcher) { - var nodes = arrayFromNodeList(elementElement.querySelectorAll(selector)); - var content = elementTemplateContent(elementElement); - if (content) { - var templateNodes = arrayFromNodeList(content.querySelectorAll(selector)); - nodes = nodes.concat(templateNodes); - } - return nodes.filter(matcher); - } - function findStyleController(node) { - var n = node; - while (n.parentNode) { - n = n.parentNode; - } - return n == doc ? doc.head : n; - } - function createStyleElement(cssText) { - var style = document.createElement("style"); - style.textContent = cssText; - return style; - } - function cssTextFromSheet(sheet) { - return sheet && sheet.__resource || ""; - } - function applyStyleToScope(style, scope) { - if (style) { - var clone = style.cloneNode(true); - clone.textContent = style.textContent; - scope.appendChild(clone); - } - } - var eltProto = HTMLElement.prototype; - var matches = eltProto.matches || eltProto.matchesSelector || eltProto.webkitMatchesSelector || eltProto.mozMatchesSelector; - function matchesSelector(node, inSelector) { - if (matches) { - return matches.call(node, inSelector); - } - } - function elementTemplateContent(elementElement) { - var template = elementElement.querySelector("template"); - return template && templateContent(template); - } - var STYLE_SELECTOR = "style"; - var SHEET_SELECTOR = "[rel=stylesheet]"; - var STYLE_SCOPE_ATTRIBUTE = "element"; - var STYLE_GLOBAL_SCOPE = "global"; - var STYLE_CONTROLLER_SCOPE = "controller"; - var SCOPE_ATTR = "polymer-scope"; - function arrayFromNodeList(nodeList) { - return Array.prototype.slice.call(nodeList || [], 0); - } - Polymer.installSheets = installSheets; - Polymer.installControllerStyles = installControllerStyles; -})(); - -(function(scope) { - var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); - var concat = Array.prototype.concat.call.bind(Array.prototype.concat); - var slice = Array.prototype.slice.call.bind(Array.prototype.slice); - var stylizer = { - hostRuleRe: /@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim, - selectorRe: /([^{]*)({[\s\S]*?})/gim, - hostElementRe: /(.*)((?:\*)|(?:\:scope))(.*)/, - hostFixableRe: /^[.\[:]/, - cssCommentRe: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, - cssPolyfillCommentRe: /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, - cssPseudoRe: /::(x-[^\s{,(]*)/gim, - selectorReSuffix: "([>\\s~+[.,{:][\\s\\S]*)?$", - hostRe: /@host/gim, - cache: {}, - shimStyling: function(element) { - if (window.ShadowDOMPolyfill && element) { - var name = element.options.name; - stylizer.cacheDefinition(element); - stylizer.shimPolyfillDirectives(element.styles, name); - if (Polymer.strictPolyfillStyling) { - stylizer.applyScopeToContent(element.templateContent, name); - } - stylizer.applyShimming(stylizer.stylesForElement(element), name); - } - }, - shimShadowDOMStyling: function(styles, name) { - if (window.ShadowDOMPolyfill) { - stylizer.shimPolyfillDirectives(styles, name); - stylizer.applyShimming(styles, name); - } - }, - applyShimming: function(styles, name) { - var cssText = this.shimAtHost(styles, name); - cssText += this.shimScoping(styles, name); - this.addCssToDocument(cssText); - }, - cacheDefinition: function(element) { - var name = element.options.name; - var template = element.querySelector("template"); - var content = template && templateContent(template); - var styles = content && content.querySelectorAll("style"); - element.styles = styles ? slice(styles) : []; - element.templateContent = content; - stylizer.cache[name] = element; - }, - applyScopeToContent: function(root, name) { - if (root) { - forEach(root.querySelectorAll("*"), function(node) { - node.setAttribute(name, ""); - }); - forEach(root.querySelectorAll("template"), function(template) { - this.applyScopeToContent(templateContent(template), name); - }, this); - } - }, - stylesForElement: function(element) { - var styles = element.styles; - var shadow = element.templateContent && element.templateContent.querySelector("shadow"); - if (shadow || element.templateContent === null) { - var extendee = this.findExtendee(element.options.name); - if (extendee) { - var extendeeStyles = this.stylesForElement(extendee); - styles = concat(slice(extendeeStyles), slice(styles)); - } - } - return styles; - }, - findExtendee: function(name) { - var element = this.cache[name]; - return element && this.cache[element.options.extends]; - }, - shimPolyfillDirectives: function(styles, name) { - if (window.ShadowDOMPolyfill) { - if (styles) { - forEach(styles, function(s) { - s.textContent = this.convertPolyfillDirectives(s.textContent, name); - }, this); - } - } - }, - shimAtHost: function(styles, name) { - if (styles) { - return this.convertAtHostStyles(styles, name); - } - }, - shimScoping: function(styles, name) { - if (styles) { - return this.convertScopedStyles(styles, name); - } - }, - convertPolyfillDirectives: function(cssText, name) { - var r = "", l = 0, matches, selector; - while (matches = this.cssPolyfillCommentRe.exec(cssText)) { - r += cssText.substring(l, matches.index); - selector = matches[1].slice(0, -2).replace(this.hostRe, name); - r += this.scopeSelector(selector, name) + "{"; - l = this.cssPolyfillCommentRe.lastIndex; - } - r += cssText.substring(l, cssText.length); - return r; - }, - findAtHostRules: function(cssRules, matcher) { - return Array.prototype.filter.call(cssRules, this.isHostRule.bind(this, matcher)); - }, - isHostRule: function(matcher, cssRule) { - return cssRule.selectorText && cssRule.selectorText.match(matcher) || cssRule.cssRules && this.findAtHostRules(cssRule.cssRules, matcher).length || cssRule.type == CSSRule.WEBKIT_KEYFRAMES_RULE; - }, - convertAtHostStyles: function(styles, name) { - var cssText = this.stylesToCssText(styles); - var r = "", l = 0, matches; - while (matches = this.hostRuleRe.exec(cssText)) { - r += cssText.substring(l, matches.index); - r += this.scopeHostCss(matches[1], name); - l = this.hostRuleRe.lastIndex; - } - r += cssText.substring(l, cssText.length); - var selectorRe = new RegExp("^" + name + this.selectorReSuffix, "m"); - var cssText = this.rulesToCss(this.findAtHostRules(this.cssToRules(r), selectorRe)); - return cssText; - }, - scopeHostCss: function(cssText, name) { - var r = "", matches; - while (matches = this.selectorRe.exec(cssText)) { - r += this.scopeHostSelector(matches[1], name) + " " + matches[2] + "\n "; - } - return r; - }, - scopeHostSelector: function(selector, name) { - var r = [], parts = selector.split(","), is = "[is=" + name + "]"; - parts.forEach(function(p) { - p = p.trim(); - if (p.match(this.hostElementRe)) { - p = p.replace(this.hostElementRe, name + "$1$3, " + is + "$1$3"); - } else if (p.match(this.hostFixableRe)) { - p = name + p + ", " + is + p; - } - r.push(p); - }, this); - return r.join(", "); - }, - convertScopedStyles: function(styles, name) { - forEach(styles, function(s) { - if (s.parentNode) { - s.parentNode.removeChild(s); - } - }); - var cssText = this.stylesToCssText(styles).replace(this.hostRuleRe, ""); - cssText = this.convertPseudos(cssText); - var rules = this.cssToRules(cssText); - cssText = this.scopeRules(rules, name); - return cssText; - }, - convertPseudos: function(cssText) { - return cssText.replace(this.cssPseudoRe, " [pseudo=$1]"); - }, - scopeRules: function(cssRules, name) { - var cssText = ""; - forEach(cssRules, function(rule) { - if (rule.selectorText && rule.style && rule.style.cssText) { - cssText += this.scopeSelector(rule.selectorText, name, Polymer.strictPolyfillStyling) + " {\n "; - cssText += this.propertiesFromRule(rule) + "\n}\n\n"; - } else if (rule.media) { - cssText += "@media " + rule.media.mediaText + " {\n"; - cssText += this.scopeRules(rule.cssRules, name); - cssText += "\n}\n\n"; - } else if (rule.cssText) { - cssText += rule.cssText + "\n\n"; - } - }, this); - return cssText; - }, - propertiesFromRule: function(rule) { - var properties = rule.style.cssText; - if (rule.style.content && !rule.style.content.match(/['"]+/)) { - properties = "content: '" + rule.style.content + "';\n" + rule.style.cssText.replace(/content:[^;]*;/g, ""); - } - return properties; - }, - selectorNeedsScoping: function(selector, name) { - var matchScope = "(" + name + "|\\[is=" + name + "\\])"; - var selectorRe = new RegExp("^" + matchScope + this.selectorReSuffix, "m"); - return !selector.match(selectorRe); - }, - scopeSelector: function(selector, name, strict) { - var r = [], parts = selector.split(","); - parts.forEach(function(p) { - p = p.trim(); - if (this.selectorNeedsScoping(p, name)) { - p = strict ? this.applyStrictSelectorScope(p, name) : this.applySimpleSelectorScope(p, name); - } - r.push(p); - }, this); - return r.join(", "); - }, - applySimpleSelectorScope: function(selector, name) { - return name + " " + selector + ", " + "[is=" + name + "] " + selector; - }, - applyStrictSelectorScope: function(selector, name) { - var splits = [ " ", ">", "+", "~" ], scoped = selector, attrName = "[" + name + "]"; - splits.forEach(function(sep) { - var parts = scoped.split(sep); - scoped = parts.map(function(p) { - var t = p.trim(); - if (t && splits.indexOf(t) < 0 && t.indexOf(attrName) < 0) { - p = t.replace(/([^:]*)(:*)(.*)/, "$1" + attrName + "$2$3"); - } - return p; - }).join(sep); - }); - return scoped; - }, - stylesToCssText: function(styles, preserveComments) { - var cssText = ""; - forEach(styles, function(s) { - cssText += s.textContent + "\n\n"; - }); - if (!preserveComments) { - cssText = this.stripCssComments(cssText); - } - return cssText; - }, - stripCssComments: function(cssText) { - return cssText.replace(this.cssCommentRe, ""); - }, - cssToRules: function(cssText) { - var style = document.createElement("style"); - style.textContent = cssText; - document.head.appendChild(style); - var rules = style.sheet.cssRules; - style.parentNode.removeChild(style); - return rules; - }, - rulesToCss: function(cssRules) { - for (var i = 0, css = []; i < cssRules.length; i++) { - css.push(cssRules[i].cssText); - } - return css.join("\n\n"); - }, - addCssToDocument: function(cssText) { - if (cssText) { - this.getSheet().appendChild(document.createTextNode(cssText)); - } - }, - getSheet: function() { - if (!this.sheet) { - this.sheet = document.createElement("style"); - this.sheet.setAttribute("polymer-polyfill", ""); - } - return this.sheet; - }, - addSheetToDocument: function() { - this.addCssToDocument("style { display: none !important; }\n"); - var head = document.querySelector("head"); - head.insertBefore(this.getSheet(), head.childNodes[0]); - } - }; - if (window.ShadowDOMPolyfill) { - stylizer.addSheetToDocument(); - } - Polymer.shimStyling = stylizer.shimStyling; - Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; - Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); - Polymer.strictPolyfillStyling = false; -})(window); - -(function() { - function addResolvePath(inPrototype, inElement) { - var root = calcElementPath(inElement); - inPrototype.resolvePath = function(inPath) { - return root + inPath; - }; - } - function urlToPath(inUrl) { - if (inUrl) { - var parts = inUrl.split("/"); - parts.pop(); - parts.push(""); - return parts.join("/"); - } else { - return ""; - } - } - function calcElementPath(inElement) { - return urlToPath(HTMLImports.getDocumentUrl(inElement.ownerDocument)); - } - Polymer.addResolvePath = addResolvePath; -})(); - -(function() { - var Job = function(inContext) { - this.context = inContext; - }; - Job.prototype = { - go: function(inCallback, inWait) { - this.callback = inCallback; - this.handle = setTimeout(function() { - this.handle = null; - inCallback.call(this.context); - }.bind(this), inWait); - }, - stop: function() { - if (this.handle) { - clearTimeout(this.handle); - this.handle = null; - } - }, - complete: function() { - if (this.handle) { - this.stop(); - this.callback.call(this.context); - } - } - }; - function job(inJob, inCallback, inWait) { - var job = inJob || new Job(this); - job.stop(); - job.go(inCallback, inWait); - return job; - } - Polymer.job = job; -})(); - -(function(scope) { - var style = document.createElement("style"); - style.textContent = "body {opacity: 0;}"; - var head = document.querySelector("head"); - head.insertBefore(style, head.firstChild); - window.addEventListener("WebComponentsReady", function() { - document.body.style.webkitTransition = "opacity 0.3s"; - document.body.style.opacity = 1; - }); -})(); -/* -//@ 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 deleted file mode 100644 index 2d7b06c17a..0000000000 --- a/polymer.sandbox.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"polymer.sandbox.min.js","sources":["../platform/platform.sandbox.min.js","src/build.js","src/lang.js","src/oop.js","src/register.js","src/base.js","src/trackObservers.js","src/bindProperties.js","src/bindMDV.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","z","f","n","k","i","g","h","test","B","__lookupGetter__","C","j","impl","apply","arguments","getEventHandlerGetter","getEventHandlerSetter","configurable","enumerable","l","m","create","constructor","o","A","EventTarget","Event","DOMImplementation","p","F","E","G","D","q","y","r","s","t","u","v","w","x","Node","Window","assert","defineGetter","defineWrapGetter","forwardMethodsToWrapper","isWrapperFor","mixin","registerObject","registerWrapper","rewrap","unwrap","unwrapIfNeeded","wrap","wrapIfNeeded","wrappers","M","ShadowRoot","localName","shadowRoot","parentNode","defaultView","L","length","shift","getHostForShadowRoot","eventParentsTable","getShadowTrees","contains","push","target","currentTarget","pop","insertionParentTable","O","type","renderAllPending","Document","W","S","NONE","Q","defaultPrevented","CAPTURING_PHASE","AT_TARGET","U","BUBBLING_PHASE","N","K","relatedTarget","R","P","removed","capture","handler","handleEvent","onerror","message","console","error","T","Boolean","X","I","J","fb","eb","H","ib","jb","V","removeEventListener","wrapped","preventDefault","returnValue","addEventListener","equals","remove","eventPhase","path","NodeList","stopPropagation","stopImmediatePropagation","Y","Z","$","_","initMouseEvent","ab","initFocusEvent","bb","cb","db","initMutationEvent","relatedNode","MouseEvent","gb","detail","view","screenX","screenY","clientX","clientY","ctrlKey","altKey","shiftKey","metaKey","button","hb","Element","addEventListener_","removeEventListener_","dispatchEvent","dispatchEvent_","elementFromPoint","adjustRelatedTarget","wrapEventTargetMethods","CustomEvent","FocusEvent","MutationEvent","UIEvent","item","addWrapNodeListMethod","wrapNodeList","nodeType","DOCUMENT_FRAGMENT_NODE","removeChild","parentNode_","previousSibling_","nextSibling_","firstChild","ownerDocument","createDocumentFragment","appendChild","nextSibling","firstChild_","lastChild_","insertBefore","replaceChild","compareDocumentPosition","invalidateShadowRenderer","lastChild","previousSibling","hasChildNodes","parentElement","ELEMENT_NODE","textContent","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","STYLE","SCRIPT","#comment","TEMPLATE","nodeName","Number","log","deliverChangeRecords","check","report","added","changed","isArray","callback","reporting","boundInternalCallback","internalCallback","valid","connect","sync","_allObserversCount","walkPropertiesFrom","toString","unobserveCount","unobserve","observeCount","observed","observedMap","Map","getPathValue","getNotifier","oldValue","notify","reverse","index","addedCount","min","splice","JSON","stringify","concat","isNaN","testingResults","anyChanged","close","deliver","reportArgs","_errorThrownDuringCallback","reset","forceCollectObservers","performMicrotaskCheckpoint","clearObservers","oldObject","applySplices","getValueAtPath","setValueAtPath","new","updated","deleted","Observer","hasObjectObserve","ArrayObserver","calculateSplices","ObjectObserver","PathObserver","model","observer","unbind","dispose","unbindAll","removeAttribute","bindingMap","removeAll","element","valueProperty","boundValueChanged","valueChanged","boundUpdateBinding","updateBinding","binding","elements","lb","hasAttribute","mb","nb","decorate","rb","kb","pb","ub","xb","bindingDelegate","ob","yb","zb","combinator","Ab","Bb","abandon","wb","firstNode","lastNode","bindings","values","size","combinator_","boundResolve","resolve","disposed","templateElement_","terminators","iteratedValue","arrayObserver","boundHandleSplices","handleSplices","inputs","resolveInputs","documentElement","produceElementValue","postUpdateBinding","HTMLInputElement","HTMLSelectElement","HTMLTextAreaElement","template","repeat","ref","THEAD","TBODY","TFOOT","TH","TR","TD","COLGROUP","COL","CAPTION","OPTION","OPTGROUP","schedule","TypeError","qb","sb","templateIsDecorated_","tb","vb","createInstance","__instanceCreated","templateInstance","scheduleResolve","getTerminatorAt","insertInstanceAt","extractInstanceAt","getInstanceModel","getInstanceNodes","CompoundBinding","forAllTemplatesFrom_","bindAllMustachesFrom_","parseAndBind_","define","amd","exports","esprima","fromCharCode","charCodeAt","Identifier","Keyword","NullLiteral","BooleanLiteral","range","Punctuator","UnexpectedToken","NumericLiteral","parseFloat","StringLiteral","octal","EOF","description","createArrayExpression","createLiteral","createIdentifier","createProperty","createObjectExpression","createThisExpression","createCallExpression","createMemberExpression","createUnaryExpression","allowIn","prec","createBinaryExpression","createConditionalExpression","createEmptyStatement","createExpressionStatement","labelSet","Redeclaration","createLabeledStatement","createProgram","valueOf","ArrayExpression","BinaryExpression","CallExpression","ConditionalExpression","EmptyStatement","ExpressionStatement","Literal","LabeledStatement","LogicalExpression","MemberExpression","ObjectExpression","Program","Property","ThisExpression","UnaryExpression","UnknownLabel","parse","match","statements","labeledStatements","deps","last","currentPath","getPath","valueFn","+","-","!","*","/","%","<",">","<=",">=","==","!=","===","!==","&&","||","getFn","key","getBinding","ExpressionSyntax","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","filterMainDocumentNodes","extractTemplateNodes","addNodes","resolvePathsInHTML","import","ownerNode","__resource","resolvePathsInStylesheet","onload","oncomplete","inflight","pending","require","checkDone","nodeUrl","__nodeUrl","dedupe","fetch","tail","resolveUrl","getDocumentUrl","hrefOrSrc","documentUrlFromNode","URL","isAbsUrl","compressUrl","urlToPath","makeRelPath","unshift","resolveAttributes","resolveStyleElts","resolveCssText","resolveNodeAttributes","async","ok","status","XMLHttpRequest","readyState","response","send","importer","IMPORT_LINK_TYPE","selectors","__importParsed","parseLink","parseGeneric","parseScript","floor","eval","parser","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","code","HTMLElementElement","__componentScript","__parsed","parseImport","parseElement","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_ID","POINTER_TYPE","global","lastTouches","mouseHandler","isEventSimulatedFromTouch","abs","prepareEvent","mousedown","mousemove","mouseup","cleanupMouse","mouseover","mouseout","mouseEvents","firstTouch","isPrimaryTouch","identifier","setPrimaryTouch","firstXY","scrolling","removePrimaryTouch","touchToPointer","webkitRadiusX","radiusX","webkitRadiusY","radiusY","webkitForce","force","processTouches","changedTouches","shouldScroll","findTouch","vacuumTouches","touches","cancelOut","touchstart","dedupSynthMouse","overDown","outTarget","touchmove","touchcancel","moveOverOut","touchend","upOut","cleanUpPointer","touchEvents","POINTER_TYPES","cleanup","MSPointerDown","MSPointerMove","MSPointerUp","MSPointerOut","MSPointerOver","MSPointerCancel","MSLostPointerCapture","MSGotPointerCapture","msEvents","pointerEnabled","msPointerEnabled","msMaxTouchPoints","ontouchstart","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","Polymer","scope","$super","inArgs","caller","nom","nameInThis","memoizeSuper","_super","fn","nextSuper","inProto","inCaller","proto","inMethod","_nom","inValue","n$","inElement","inPrototype","elementElement","addResolvePath","installTemplate","super","staticInstallTemplate","hintSuper","parseHostEvents","publishAttributes","installSheets","shimStyling","comps","instanceReady","root","applyAuthorStyles","expressionSyntax","rootCreated","inRoot","marshalNodeReferences","rootEvents","accumulateEvents","bindAccumulatedLocalEvents","observeProperties","installInstanceAttributes","hostEvents","accumulateHostEvents","bindAccumulatedHostEvents","asyncUnbindAll","cancelUnbindAll","inserted","attributeChanged","findDistributedTarget","inNodes","isPolymerElement","preventCascade","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","b$","bindProperties","inA","inProperty","inB","inPath","undefined","registerBinding","unregisterBinding","overrideBinding","originalBind","originalUnbind","emptyBindings","getBindings","property","propertyForAttribute","isElementUnbound","unbindNodeTree","markElementUnbound","olderShadows","forNodeTree","child","unboundTable","unbindAllJobTable","unbindJob","stop","parseAndBindHTML","mustachePattern","bindPattern","published$","attributes$","attrProps$","publishAttributesAttributes","publishInstanceAttributes","published","names","inherited","imperative","a$","instanceAttributes","blackList","defaultValue","deserializeValue","properties","lowerCase","typeHandlers","string","date","boolean","number","floatVal","inferredType","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","listenLocalNoEventPath","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","cssText","sheet","cssTextFromSheet","createStyleElement","applyStyleToScope","styleFromElement","STYLE_GLOBAL_SCOPE","installControllerStyles","controllerStyle","STYLE_CONTROLLER_SCOPE","styleElement","findStyleController","scopeHasElementStyle","shimPolyfillDirectives","descriptor","STYLE_SCOPE_ATTRIBUTE","cssTextFromElement","selector","matcher","matchesSelector","styles","STYLE_SELECTOR","arrayFromNodeList","templateNodes","clone","eltProto","inSelector","nodeList","stylizer","hostRuleRe","selectorRe","hostElementRe","hostFixableRe","cssCommentRe","cssPolyfillCommentRe","cssPseudoRe","selectorReSuffix","hostRe","cacheDefinition","strictPolyfillStyling","applyScopeToContent","applyShimming","stylesForElement","shimShadowDOMStyling","shimAtHost","shimScoping","addCssToDocument","extendee","findExtendee","extendeeStyles","convertPolyfillDirectives","convertAtHostStyles","convertScopedStyles","substring","scopeSelector","lastIndex","findAtHostRules","cssRules","isHostRule","cssRule","selectorText","CSSRule","WEBKIT_KEYFRAMES_RULE","stylesToCssText","scopeHostCss","rulesToCss","cssToRules","scopeHostSelector","parts","convertPseudos","rules","scopeRules","propertiesFromRule","media","mediaText","selectorNeedsScoping","matchScope","strict","applyStrictSelectorScope","applySimpleSelectorScope","splits","scoped","sep","preserveComments","stripCssComments","css","getSheet","addSheetToDocument","calcElementPath","resolvePath","inUrl","Job","go","inCallback","inWait","handle","complete","inJob","webkitTransition","opacity"],"mappings":"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"} \ No newline at end of file diff --git a/smoke/index.html b/smoke/index.html deleted file mode 100644 index 82757e6887..0000000000 --- a/smoke/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/smoke/x-bar.html b/smoke/x-bar.html deleted file mode 100644 index 17e89c2f08..0000000000 --- a/smoke/x-bar.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - \ No newline at end of file diff --git a/smoke/x-foo.html b/smoke/x-foo.html deleted file mode 100644 index 5c7caaaecb..0000000000 --- a/smoke/x-foo.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/smoke/x-zot.html b/smoke/x-zot.html deleted file mode 100644 index 2d5710f52b..0000000000 --- a/smoke/x-zot.html +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/src/attrs.js b/src/attrs.js deleted file mode 100644 index 569a6a9dc1..0000000000 --- a/src/attrs.js +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function() { - - // imports - - var bindPattern = Polymer.bindPattern; - - // constants - - var published$ = '__published'; - var attributes$ = 'attributes'; - var attrProps$ = 'publish'; - //var attrProps$ = 'attributeDefaults'; - - function publishAttributes(element, prototype) { - publishAttributesAttributes(element, prototype); - publishInstanceAttributes(element, prototype); - } - - function publishAttributesAttributes(inElement, inPrototype) { - var published = {}; - // merge attribute names from 'attributes' attribute - var attributes = inElement.getAttribute(attributes$); - if (attributes) { - // attributes='a b c' or attributes='a,b,c' - var names = attributes.split(attributes.indexOf(',') >= 0 ? ',' : ' '); - // record each name for publishing - names.forEach(function(p) { - p = p.trim(); - if (p) { - published[p] = null; - } - }); - } - // our suffix prototype chain (inPrototype is 'own') - var inherited = inElement.options.prototype; - // 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]; - } - }); - // acquire properties published imperatively - var imperative = inPrototype[attrProps$]; - if (imperative) { - // install imperative properties, overriding defaults - Object.keys(imperative).forEach(function(p) { - inPrototype[p] = imperative[p]; - }); - // combine declaratively and imperatively published properties - published = Platform.mixin(published, imperative); - } - // combine with inherited published properties - inPrototype[published$] = Platform.mixin( - {}, - inherited[published$], - published - ); - } - - function publishInstanceAttributes(element, prototype) { - var attributes = element.attributes; - // our suffix prototype chain (prototype is 'own') - var inherited = element.options.prototype; - var a$ = Object.create(inherited.instanceAttributes || null); - for (var i=0, l=attributes.length, a; (i= 0) { - return; - } - // get original value - var defaultValue = this[name]; - // deserialize Boolean or Number values from attribute - var value = deserializeValue(a.value, defaultValue); - // only act if the value has changed - if (value !== defaultValue) { - // install new value (has side-effects) - this[name] = value; - } - } - }, this); - } - - // return the published property matching name, or undefined - function propertyForAttribute(name) { - // matchable properties must be published - var properties = Object.keys(this[published$]); - // search for a matchable property - return properties[properties.map(lowerCase).indexOf(name.toLowerCase())]; - } - - var lowerCase = String.prototype.toLowerCase.call.bind( - String.prototype.toLowerCase); - - var typeHandlers = { - 'string': function(value) { - return value; - }, - 'date': function(value) { - return new Date(Date.parse(value) || Date.now()); - }, - 'boolean': function(value) { - if (value === '') { - return true; - } - return value === 'false' ? false : !!value; - }, - 'number': function(value) { - var floatVal = parseFloat(value); - return (String(floatVal) === value) ? floatVal : value; - }, - 'object': function(value, defaultValue) { - if (!defaultValue) { - return value; - } - try { - // If the string is an object, we can parse is with the JSON library. - // include convenience replace for single-quotes. If the author omits - // quotes altogether, parse will fail. - return JSON.parse(value.replace(/'/g, '"')); - } catch(e) { - // The object isn't valid JSON, return the raw value - return value; - } - } - }; - - function deserializeValue(value, defaultValue) { - // attempt to infer type from default value - var inferredType = (defaultValue instanceof Date) ? 'date' : typeof defaultValue; - return typeHandlers[inferredType](value, defaultValue); - } - - // exports - - Polymer.takeAttributes = takeAttributes; - Polymer.publishAttributes = publishAttributes; - Polymer.propertyForAttribute = propertyForAttribute; - Polymer.installInstanceAttributes = installInstanceAttributes; - -})(); diff --git a/src/base.js b/src/base.js deleted file mode 100644 index b8973c6af6..0000000000 --- a/src/base.js +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -/** - * @module Polymer - */ - -/** - * Base methods for Polymer elements. - * @class Base - */ - -(function(scope) { - - // imports - - var log = window.logFlags || {}; - - var base = { - /** - * When called in a method, invoke the method's super. - * @method super - * @param {Array} Array of arguments. - */ - super: Polymer.$super, - /** - * True if this object is a Polymer element. - * @property isPolymerElement - * @type boolean - */ - isPolymerElement: true, - /** - * MDV bind. - * @method bind - */ - bind: function() { - Polymer.bind.apply(this, arguments); - }, - /** - * MDV unbind. - * @method unbind - */ - unbind: function() { - Polymer.unbind.apply(this, arguments); - }, - /** - * MDV unbindAll. - * @method unbindAll - */ - unbindAll: function() { - Polymer.unbindAll.apply(this, arguments); - }, - /** - * Ensures MDV bindings persist. - * - * Typically, it's not necessary to call this method. Polymer - * automatically manages bindings when elements are inserted - * and removed from the document. - * - * However, if an element is created and not inserted into the document, - * cancelUnbindAll should be called to ensure bindings remain active. - * Otherwise bindings will be removed so that the element - * may be garbage collected, freeing the memory it uses. Please note that - * if cancelUnbindAll is called and the element is not inserted - * into the document, then unbindAll or asyncUnbindAll must be called - * to dispose of the element. - * - * @method cancelUnbindAll - * @param {Boolean} [preventCascade] If true, cancelUnbindAll will not - * cascade to shadowRoot children. In the case described above, - * and in general in application code, this should not be set to true. - */ - cancelUnbindAll: function(preventCascade) { - Polymer.cancelUnbindAll.apply(this, arguments); - }, - /** - * Schedules MDV bindings to be removed asynchronously. - * - * Typically, it's not necessary to call this method. Polymer - * automatically manages bindings when elements are inserted - * and removed from the document. - * - * However, if an element is created and not inserted into the document, - * cancelUnbindAll should be called to ensure bindings remain active. - * Otherwise bindings will be removed so that the element - * may be garbage collected, freeing the memory it uses. Please note that - * if cancelUnbindAll is called and the element is not inserted - * into the document, then unbindAll or asyncUnbindAll must be called - * to dispose of the element. - * - * @method asyncUnbindAll - */ - asyncUnbindAll: function() { - Polymer.asyncUnbindAll.apply(this, arguments); - }, - /** - * Schedules an async job with timeout and returns a handle. - * @method job - * @param {Polymer.Job} [job] A job handle if re-registering. - * @param {Function} callback Function to invoke. - * @param {number} [wait] Timeout in milliseconds. - * @return {Polymer.Job} A job handle which can be used to - * re-register, cancel or complete a job. - */ - job: function() { - return Polymer.job.apply(this, arguments); - }, - /** - * Invokes a function asynchronously. The context of the callback - * function is bound to 'this' automatically. - * @method asyncMethod - * @param {Function} method - * @param {Object|Array} args - * @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); - }.bind(this); - return inTimeout ? window.setTimeout(fn, inTimeout) : - requestAnimationFrame(fn); - }, - /** - * Invoke a method. - * @method dispatch - * @param {string} methodName A method name. - * @param {Array} arguments - */ - dispatch: function(inMethodName, inArguments) { - if (this[inMethodName]) { - this[inMethodName].apply(this, inArguments); - } - }, - /** - * Fire an event. - * @method fire - * @param {string} type An event name. - * @param detail - * @param {Node} toNode Target node. - */ - fire: function(inType, inDetail, inToNode) { - var node = inToNode || this; - log.events && console.log('[%s]: sending [%s]', node.localName, inType); - node.dispatchEvent( - new CustomEvent(inType, {bubbles: true, detail: inDetail})); - return inDetail; - }, - /** - * Fire an event asynchronously. - * @method asyncFire - * @param {string} type An event name. - * @param detail - * @param {Node} toNode Target node. - */ - asyncFire: function(/*inType, inDetail*/) { - this.asyncMethod("fire", arguments); - }, - /** - * Remove class from old, add class to anew, if they exist - * @param classFollows - * @param anew A node. - * @param old A node - * @param className - */ - classFollows: function(anew, old, className) { - if (old) { - old.classList.remove(className); - } - if (anew) { - anew.classList.add(className); - } - } - }; - - // TODO(sjmiles): backward-compat for deprecated syntax - - base.send = base.fire; - base.asend = base.asyncFire; - - // exports - - scope.base = base; - -})(window.Polymer); diff --git a/src/bindMDV.js b/src/bindMDV.js deleted file mode 100644 index 6b415128be..0000000000 --- a/src/bindMDV.js +++ /dev/null @@ -1,182 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function() { - - // imports - - var log = window.logFlags || {}; - - // use the ExperssionSyntax - var expressionSyntax = new ExpressionSyntax; - - // bind tracking - var bindings = new SideTable(); - - function registerBinding(element, name, path) { - var b$ = bindings.get(element); - if (!b$) { - bindings.set(element, b$ = {}); - } - b$[name.toLowerCase()] = path; - } - - function unregisterBinding(element, name) { - var b$ = bindings.get(element); - if (b$) { - delete b$[name.toLowerCase()]; - } - } - - function overrideBinding(ctor) { - var proto = ctor.prototype; - var originalBind = proto.bind; - var originalUnbind = proto.unbind; - - proto.bind = function(name, model, path) { - originalBind.apply(this, arguments); - // note: must do this last because mdv may unbind before binding - registerBinding(this, name, path); - } - - proto.unbind = function(name) { - originalUnbind.apply(this, arguments); - unregisterBinding(this, name); - } - }; - - [Node, Element, Text, HTMLInputElement].forEach(overrideBinding); - - var emptyBindings = {}; - - function getBindings(element) { - return element && bindings.get(element) || emptyBindings; - } - - function getBinding(element, name) { - return getBindings(element)[name.toLowerCase()]; - } - - // model bindings - function bind(name, model, path) { - var property = Polymer.propertyForAttribute.call(this, name); - if (property) { - registerBinding(this, property, path); - Polymer.registerObserver(this, 'binding', property, - Polymer.bindProperties(this, property, model, path) - ); - } else { - HTMLElement.prototype.bind.apply(this, arguments); - } - } - - function unbind(name) { - if (!Polymer.unregisterObserver(this, 'binding', name)) { - HTMLElement.prototype.unbind.apply(this, arguments); - } - } - - function unbindAll() { - if (!isElementUnbound(this)) { - Polymer.unregisterObserversOfType(this, 'property'); - HTMLElement.prototype.unbindAll.apply(this, arguments); - // unbind shadowRoot, whee - unbindNodeTree(this.webkitShadowRoot, true); - markElementUnbound(this); - } - } - - function unbindNodeTree(node, olderShadows) { - forNodeTree(node, olderShadows, function(n) { - if (n.unbindAll) { - n.unbindAll(); - } - }); - } - - function forNodeTree(node, olderShadows, callback) { - if (!node) { - return; - } - callback(node); - if (olderShadows && node.olderShadowRoot) { - forNodeTree(node.olderShadowRoot, olderShadows, callback); - } - for (var child = node.firstChild; child; child = child.nextSibling) { - forNodeTree(child, olderShadows, callback); - } - } - - // binding state tracking - var unboundTable = new SideTable(); - - function markElementUnbound(element) { - unboundTable.set(element, true); - } - - function isElementUnbound(element) { - return unboundTable.get(element); - } - - // asynchronous binding management - var unbindAllJobTable = new SideTable(); - - function asyncUnbindAll() { - if (!isElementUnbound(this)) { - log.bind && console.log('asyncUnbindAll', this.localName); - unbindAllJobTable.set(this, this.job(unbindAllJobTable.get(this), - this.unbindAll)); - } - } - - function cancelUnbindAll(preventCascade) { - if (isElementUnbound(this)) { - log.bind && console.warn(this.localName, - 'is unbound, cannot cancel unbindAll'); - return; - } - log.bind && console.log('cancelUnbindAll', this.localName); - var unbindJob = unbindAllJobTable.get(this); - if (unbindJob) { - unbindJob.stop(); - unbindAllJobTable.set(this, null); - } - // cancel unbinding our shadow tree iff we're not in the process of - // cascading our tree (as we do, for example, when the element is inserted). - if (!preventCascade) { - forNodeTree(this.webkitShadowRoot, true, function(n) { - if (n.cancelUnbindAll) { - n.cancelUnbindAll(); - } - }); - } - } - - // bind arbitrary html to a model - function parseAndBindHTML(html, model) { - var template = document.createElement('template'); - template.innerHTML = html; - return template.createInstance(model, expressionSyntax); - } - - var mustachePattern = /\{\{([^{}]*)}}/; - - // exports - - Polymer.bind = bind; - Polymer.unbind = unbind; - Polymer.unbindAll = unbindAll; - Polymer.getBinding = getBinding; - Polymer.asyncUnbindAll = asyncUnbindAll; - Polymer.cancelUnbindAll = cancelUnbindAll; - Polymer.isElementUnbound = isElementUnbound; - Polymer.unbindNodeTree = unbindNodeTree; - Polymer.parseAndBindHTML = parseAndBindHTML; - Polymer.bindPattern = mustachePattern; - Polymer.expressionSyntax = expressionSyntax; - -})(); - diff --git a/src/bindProperties.js b/src/bindProperties.js deleted file mode 100644 index 3b463bdd8a..0000000000 --- a/src/bindProperties.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ -(function() { - - var log = window.logFlags || {}; - - // bind a property in A to a path in B by converting A[property] to a - // getter/setter pair that accesses B[...path...] - function bindProperties(inA, inProperty, inB, inPath) { - log.bind && console.log("[%s]: bindProperties: [%s] to [%s].[%s]", - inB.localName || 'object', inPath, inA.localName, inProperty); - // capture A's value if B's value is null or undefined, - // otherwise use B's value - var v = PathObserver.getValueAtPath(inB, inPath); - if (v === null || v === undefined) { - PathObserver.setValueAtPath(inB, inPath, inA[inProperty]); - } - return PathObserver.defineProperty(inA, inProperty, {object: inB, path: inPath}); - } - - // exports - Polymer.bindProperties = bindProperties; - -})(); \ No newline at end of file diff --git a/src/boot.js b/src/boot.js deleted file mode 100644 index 94a434050c..0000000000 --- a/src/boot.js +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright 2012 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function(scope) { - -// FOUC prevention tactic -var style = document.createElement('style'); -style.textContent = 'body {opacity: 0;}'; -var head = document.querySelector('head'); -head.insertBefore(style, head.firstChild); - -window.addEventListener('WebComponentsReady', function() { - document.body.style.webkitTransition = 'opacity 0.3s'; - document.body.style.opacity = 1; -}); - -})(); diff --git a/src/build.js b/src/build.js deleted file mode 100644 index 74b2b702cb..0000000000 --- a/src/build.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - if (!window.Polymer) { - window.Polymer = {}; - } \ No newline at end of file diff --git a/src/events.js b/src/events.js deleted file mode 100644 index 22e19ba0df..0000000000 --- a/src/events.js +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function() { - - // imports - - var log = window.logFlags || {}; - - // - // automagic event mapping - // - - var prefix = "on-"; - - var parseHostEvents = function(inAttributes, inPrototype) { -// inDefinition.eventDelegates = Platform.mixin(inDefinition.eventDelegates, -// parseEvents(inAttributes)); - inPrototype.eventDelegates = parseEvents(inAttributes); - }; - - var parseEvents = function(inAttributes) { - var events = {}; - if (inAttributes) { - for (var i=0, a; a=inAttributes[i]; i++) { - if (a.name.slice(0, prefix.length) == prefix) { - events[a.name.slice(prefix.length)] = a.value; - } - } - } - return events; - }; - - var accumulateEvents = function(inNode, inEvents) { - var events = inEvents || {}; - accumulateNodeEvents(inNode, events); - accumulateChildEvents(inNode, events); - accumulateTemplatedEvents(inNode, events); - return events; - }; - - var accumulateNodeEvents = function(inNode, inEvents) { - var a$ = inNode.attributes; - if (a$) { - for (var i=0, a; (a=a$[i]); i++) { - if (a.name.slice(0, prefix.length) === prefix) { - accumulateEvent(a.name.slice(prefix.length), inEvents); - } - } - } - }; - - var event_translations = { - webkitanimationstart: 'webkitAnimationStart', - webkitanimationend: 'webkitAnimationEnd', - webkittransitionend: 'webkitTransitionEnd', - domfocusout: 'DOMFocusOut', - domfocusin: 'DOMFocusIn' - }; - - var accumulateEvent = function(inName, inEvents) { - var n = event_translations[inName] || inName; - inEvents[n] = 1; - }; - - var accumulateChildEvents = function(inNode, inEvents) { - var cn$ = inNode.childNodes; - for (var i=0, n; (n=cn$[i]); i++) { - // TODO(sjmiles): unify calling convention (.call or not .call) - accumulateEvents(n, inEvents); - //if (n.$protected) { - // accumulateHostEvents.call(n.$protected, inEvents); - //} - } - }; - - var accumulateTemplatedEvents = function(inNode, inEvents) { - if (inNode.localName == 'template') { - var content = getTemplateContent(inNode); - if (content) { - accumulateChildEvents(content, inEvents); - } - } - } - - // TODO(sorvell): Currently in MDV, there is no way to get a template's - // effective content. A template can have a ref property - // that points to the template from which this one has been cloned. - // Remove this when the MDV api is improved - // (https://github.com/polymer-project/mdv/issues/15). - var getTemplateContent = function(inTemplate) { - return inTemplate.ref ? inTemplate.ref.content : inTemplate.content; - } - - var accumulateHostEvents = function(inEvents) { - var events = inEvents || {}; - // specifically search the __proto__ (as opposed to getPrototypeOf) - // __proto__ is simulated on platforms which don't support it naturally - // TODO(sjmiles): we walk the prototype tree to operate on the union of - // eventDelegates maps; it might be better to merge maps when extending - var p = this.__proto__; - while (p && p !== HTMLElement.prototype) { - if (p.hasOwnProperty('eventDelegates')) { - for (var n in p.eventDelegates) { - accumulateEvent(n, events); - } - } - p = p.__proto__; - } - return events; - }; - - - function bindAccumulatedEvents(inNode, inEvents, inListener) { - var fn = inListener.bind(this); - for (var n in inEvents) { - log.events && console.log('[%s] bindAccumulatedEvents: addEventListener("%s", listen)', inNode.localName || 'root', n); - inNode.addEventListener(n, fn); - } - }; - - // host events should be listened for on a host element - function bindAccumulatedHostEvents(inEvents) { - bindAccumulatedEvents.call(this, this, inEvents, listenHost); - } - - // local events should be listened for on a shadowRoot - function bindAccumulatedLocalEvents(inNode, inEvents) { - bindAccumulatedEvents.call(this, inNode, inEvents, listenLocal); - } - - // experimental delegating declarative event handler - - // TODO(sjmiles): - // we wanted to simply look for nearest ancestor - // with a 'controller' property to be WLOG - // but we need to honor ShadowDOM, so we had to - // customize this search - var findController = function(inNode) { - // find the shadow root that contains inNode - var n = inNode; - while (n.parentNode && n.localName !== 'shadow-root') { - n = n.parentNode; - } - return n.host; - }; - - var dispatch = function(inNode, inHandlerName, inArguments) { - if (inNode) { - log.events && console.group('[%s] dispatch [%s]', inNode.localName, inHandlerName); - inNode.dispatch(inHandlerName, inArguments); - log.events && console.groupEnd(); - } - }; - - function listenLocal(inEvent) { - if (inEvent.cancelBubble) { - return; - } - inEvent.on = prefix + inEvent.type; - log.events && console.group("[%s]: listenLocal [%s]", this.localName, - inEvent.on); - if (!inEvent.path || window.ShadowDOMPolyfill) { - listenLocalNoEventPath(inEvent); - } else { - var c = null; - Array.prototype.some.call(inEvent.path, function(t) { - if (t === this) { - return true; - } - c = c === this ? c : findController(t); - if (c) { - if (handleEvent.call(c, t, inEvent)) { - return true; - } - } - }, this); - } - log.events && console.groupEnd(); - } - - - // TODO(sorvell): remove when ShadowDOM polyfill supports event path. - // Note that findController will not return the expected - // controller when when the event target is a distributed node. - // This because we cannot traverse from a composed node to a node - // in shadowRoot. - // This will be addressed via an event path api - // https://www.w3.org/Bugs/Public/show_bug.cgi?id=21066 - function listenLocalNoEventPath(inEvent) { - log.events && console.log('event.path() not supported for', inEvent.type); - var t = inEvent.target, c = null; - while (t && t != this) { - c = c === this ? c : findController(t); - if (c) { - if (handleEvent.call(c, t, inEvent)) { - return; - } - } - t = t.parentNode; - } - } - - function listenHost(inEvent) { - if (inEvent.cancelBubble) { - return; - } - log.events && console.group("[%s]: listenHost [%s]", this.localName, inEvent.type); - handleHostEvent.call(this, this, inEvent); - log.events && console.groupEnd(); - } - - var eventHandledTable = new SideTable('handledList'); - - function getHandledListForEvent(inEvent) { - var handledList = eventHandledTable.get(inEvent); - if (!handledList) { - handledList = []; - eventHandledTable.set(inEvent, handledList); - } - return handledList; - } - - function handleEvent(inNode, inEvent) { - if (inNode.attributes) { - var handledList = getHandledListForEvent(inEvent); - if (handledList.indexOf(inNode) < 0) { - handledList.push(inNode); - var h = inNode.getAttribute(inEvent.on); - if (h) { - log.events && console.log('[%s] found handler name [%s]', this.localName, h); - dispatch(this, h, [inEvent, inEvent.detail, inNode]); - } - } - } - return inEvent.cancelBubble; - }; - - function handleHostEvent(inNode, inEvent) { - var h = findHostHandler.call(inNode, inEvent.type); - if (h) { - log.events && console.log('[%s] found host handler name [%s]', inNode.localName, h); - dispatch(inNode, h, [inEvent, inEvent.detail, inNode]); - } - return inEvent.cancelBubble; - }; - - // find the method name (handler) in eventDelegates mapped to inEventName - var findHostHandler = function(inEventName) { - // TODO(sjmiles): walking the tree again is inefficient; combine with code - // in accumulateHostEvents into something more sane - var p = this; - while (p) { - if (p.hasOwnProperty('eventDelegates')) { - var h = p.eventDelegates[inEventName] - || p.eventDelegates[inEventName.toLowerCase()]; - if (h) { - return h; - } - } - p = p.__proto__; - } - }; - -// exports - -Polymer.parseHostEvents = parseHostEvents; -Polymer.accumulateEvents = accumulateEvents; -Polymer.accumulateHostEvents = accumulateHostEvents; -Polymer.bindAccumulatedHostEvents = bindAccumulatedHostEvents; -Polymer.bindAccumulatedLocalEvents = bindAccumulatedLocalEvents; - -})(); \ No newline at end of file diff --git a/src/job.js b/src/job.js index 25cc2e062d..7e926de92b 100644 --- a/src/job.js +++ b/src/job.js @@ -4,7 +4,7 @@ * license that can be found in the LICENSE file. */ -(function() { +(function(scope) { // usage @@ -19,12 +19,9 @@ this.context = inContext; }; Job.prototype = { - go: function(inCallback, inWait) { - this.callback = inCallback; - this.handle = setTimeout(function() { - this.handle = null; - inCallback.call(this.context); - }.bind(this), inWait); + go: function(callback, wait) { + this.callback = callback; + this.handle = setTimeout(this.complete.bind(this), wait); }, stop: function() { if (this.handle) { @@ -40,13 +37,18 @@ } }; - function job(inJob, inCallback, inWait) { - var job = inJob || new Job(this); - job.stop(); - job.go(inCallback, inWait); + function job(job, callback, wait) { + if (job) { + job.stop(); + } else { + job = new Job(this); + } + job.go(callback, wait); return job; } + + // exports - Polymer.job = job; + scope.job = job; -})(); +})(Polymer); diff --git a/src/lang.js b/src/lang.js index 6873e1b523..3a1dbeec14 100644 --- a/src/lang.js +++ b/src/lang.js @@ -1,15 +1,32 @@ -/* +/* * Copyright 2013 The Polymer Authors. All rights reserved. * Use of this source code is governed by a BSD-style * license that can be found in the LICENSE file. */ +(function(scope) { -(function() { - - var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); + // copy own properties from 'api' to 'prototype, with name hinting for 'super' + function extend(prototype, api) { + // use only own properties of 'api' + Object.getOwnPropertyNames(api).forEach(function(n) { + // acquire property descriptor + var pd = Object.getOwnPropertyDescriptor(api, n); + if (pd) { + // clone property via descriptor + Object.defineProperty(prototype, n, pd); + // cache name-of-method for 'super' engine + if (typeof pd.value == 'function') { + // hint the 'super' engine + prototype[n].nom = n; + } + // TODO(sjmiles): sharing a function only works if the function + // only ever has one name + } + }); + } // exports - - window.forEach = forEach; - -})(); \ No newline at end of file + + scope.extend = extend; + +})(Polymer); diff --git a/src/marshal.js b/src/marshal.js deleted file mode 100644 index d072f1cb1c..0000000000 --- a/src/marshal.js +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -// -// reference marshalling -// - -// locate nodes with id and store references to them in this.$ hash -Polymer.marshalNodeReferences = function(inRoot) { - // establish $ instance variable - var $ = this.$ = this.$ || {}; - // populate $ from nodes with ID from the LOCAL tree - if (inRoot) { - var nodes = inRoot.querySelectorAll("[id]"); - forEach(nodes, function(n) { - $[n.id] = n; - }); - } -}; \ No newline at end of file diff --git a/src/observeProperties.js b/src/observeProperties.js deleted file mode 100644 index adb5d56d44..0000000000 --- a/src/observeProperties.js +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function() { - // - // automagic property observation side effects - // this implementation uses MDV polyfill - // - - // imports - var log = window.logFlags || {}; - - var OBSERVE_SUFFIX = 'Changed'; - - function observeProperties() { - for (var p in this) { - observeProperty.call(this, p); - } - } - - function observeProperty(inName) { - if (isObservable.call(this, inName)) { - log.observe && console.log('[' + this.localName + '] watching [' + inName + ']'); - var observer = new PathObserver(this, inName, function(inNew, inOld) { - log.data && console.log('[%s#%s] watch: [%s] now [%s] was [%s]', this.localName, this.node.id || '', inName, this[inName], inOld); - propertyChanged.call(this, inName, inOld); - }.bind(this)); - Polymer.registerObserver(this, 'property', inName, observer); - } - } - - function isObservable(inName) { - return (inName[0] != '_') - && !(inName in Object.prototype) - && Boolean(this[inName + OBSERVE_SUFFIX]); - } - - function propertyChanged(inName, inOldValue) { - //log.data && console.log('[%s#%s] propertyChanged: [%s] now [%s] was [%s]', this.node.localName, this.node.id || '', inName, this[inName], inOldValue); - var fn = inName + OBSERVE_SUFFIX; - if (this[fn]) { - this[fn](inOldValue); - } - } - - // exports - Polymer.observeProperties = observeProperties; - -})(); \ No newline at end of file diff --git a/src/oop.js b/src/oop.js deleted file mode 100644 index 0efdbba9c1..0000000000 --- a/src/oop.js +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - (function(scope) { - // super - - // `arrayOfArgs` is an optional array of args like one might pass - // to `Function.apply` - - // TODO(sjmiles): - // $super must be installed on an instance or prototype chain - // as `super`, and invoked via `this`, e.g. - // `this.super();` - - // will not work if function objects are not unique, for example, - // when using mixins. - // The memoization strategy assumes each function exists on only one - // prototype chain i.e. we use the function object for memoizing) - // perhaps we can bookkeep on the prototype itself instead - function $super(arrayOfArgs) { - // since we are thunking a method call, performance is important here: - // memoize all lookups, once memoized the fast path calls no other - // functions - // - // find the caller (cannot be `strict` because of 'caller') - var caller = $super.caller; - // memoized 'name of method' - var nom = caller.nom; - // memoized next implementation prototype - if (!('_super' in caller)) { - if (!nom) { - nom = nameInThis.call(this, caller); - } - if (!nom) { - console.warn('called super() on a method not installed declaratively (has no .nom property)'); - } - // super prototype is either cached or we have to find it - // by searching __proto__ (at the 'top') - memoizeSuper(caller, nom, Object.getPrototypeOf(this)); - } - var _super = caller._super; - if (!_super) { - // if _super is falsey, there is no super implementation - //console.warn('called $super(' + nom + ') where there is no super implementation'); - } else { - // our super function - var fn = _super[nom]; - // memoize information so 'fn' can call 'super' - if (!('_super' in fn)) { - memoizeSuper(fn, nom, _super); - } - // invoke the inherited method - // if 'fn' is not function valued, this will throw - return fn.apply(this, arrayOfArgs || []); - } - }; - - function nextSuper(proto, name, caller) { - // look for an inherited prototype that implements name - while (proto && - (!proto.hasOwnProperty(name) || proto[name] === caller)) { - proto = Object.getPrototypeOf(proto); - } - return proto; - }; - - function memoizeSuper(method, name, proto) { - // find and cache next prototype containing `name` - // we need the prototype so we can do another lookup - // from here - method._super = nextSuper(proto, name, method); - if (method._super) { - // _super is a prototype, the actual method is _super[name] - // tag super method with it's name for further lookups - method._super[name].nom = name; - } - return method._super; - }; - - function nameInThis(value) { - var p = this; - while (p && p !== HTMLElement.prototype) { - var n$ = Object.getOwnPropertyNames(p); - for (var i=0, l=n$.length, n; i tags in the wrong - // context, filter that out here - if (inElement == window) { - return; - } - // catch common mistake of omitting 'this' in call to register - if (!inElement || !(inElement instanceof HTMLElement)) { - throw "First argument to Polymer.register must be an HTMLElement"; - } - // TODO(sjmiles): it's not obvious at this point whether inElement - // will chain to another polymer element, so we just copy base boilerplate - // anyway - // this can result in multiple copies of boilerplate methods on a custom - // element chain, which is inefficient and has ramifications for 'super' - // also, we don't yet support intermediate prototypes in calls to - // HTMLElementElement.prototype.register, so we have to use mixin - var prototype = Platform.mixin({}, scope.base, inPrototype); - // capture defining element - prototype.elementElement = inElement; - // TODO(sorvell): install a helper method this.resolvePath to aid in - // setting resource paths. e.g. - // this.$.image.src = this.resolvePath('images/foo.png') - // Potentially remove when spec bug is addressed. - // https://www.w3.org/Bugs/Public/show_bug.cgi?id=21407 - scope.addResolvePath(prototype, inElement); - // install instance method that closes over 'inElement' - prototype.installTemplate = function() { - this.super(); - staticInstallTemplate.call(this, inElement); - }; - // hint the supercall mechanism - // TODO(sjmiles): make prototype extension api that does this - prototype.installTemplate.nom = 'installTemplate'; - // install callbacks - prototype.readyCallback = readyCallback; - prototype.insertedCallback = insertedCallback; - prototype.removedCallback = removedCallback; - prototype.attributeChangedCallback = attributeChangedCallback; - - // hint super call engine by tagging methods with names - hintSuper(prototype); - // parse declared on-* delegates into imperative form - scope.parseHostEvents(inElement.attributes, prototype); - // parse attribute-attributes - scope.publishAttributes(inElement, prototype); - // install external stylesheets as if they are inline - scope.installSheets(inElement); - scope.shimStyling(inElement); - // invoke element.register - inElement.register({prototype: prototype}); - // logging - logFlags.comps && - console.log("Polymer: element registered" + inElement.options.name); - }; - - function readyCallback() { - // invoke 'installTemplate' closure - this.installTemplate(); - // invoke boilerplate 'instanceReady' - instanceReady.call(this); - }; - - function staticInstallTemplate(inElement) { - var template = inElement.querySelector('template'); - if (template) { - // make a shadow root - var root = this.webkitCreateShadowRoot(); - // TODO(sjmiles): must be settable ex post facto - root.applyAuthorStyles = this.applyAuthorStyles; - // TODO(sjmiles): override createShadowRoot to do this automatically - CustomElements.watchShadow(this); - // TODO(sorvell): host not set per spec; we set it for convenience - // so we can traverse from root to host. - root.host = this; - // parse and apply MDV bindings - // do this before being inserted to avoid {{}} in attribute values - // e.g. to prevent from generating a 404. - root.appendChild(template.createInstance(this, Polymer.expressionSyntax)); - rootCreated.call(this, root); - return root; - } - }; - - function rootCreated(inRoot) { - // to resolve this node synchronously we must process CustomElements - // in the subtree immediately - CustomElements.takeRecords(); - // parse and apply MDV bindings - // locate nodes with id and store references to them in this.$ hash - scope.marshalNodeReferences.call(this, inRoot); - // add local events of interest... - var rootEvents = scope.accumulateEvents(inRoot); - scope.bindAccumulatedLocalEvents.call(this, inRoot, rootEvents); - // set up gestures - PointerGestures.register(inRoot); - PointerEventsPolyfill.setTouchAction(inRoot, - this.getAttribute('touch-action')); - }; - - function instanceReady(inElement) { - // install property observation side effects - // do this first so we can observe changes during initialization - scope.observeProperties.call(this); - // install boilerplate attributes - scope.installInstanceAttributes.call(this); - // process input attributes - scope.takeAttributes.call(this); - // add host-events... - var hostEvents = scope.accumulateHostEvents.call(this); - scope.bindAccumulatedHostEvents.call(this, hostEvents); - // asynchronously unbindAll... will be cancelled if inserted - this.asyncUnbindAll(); - // invoke user 'ready' - if (this.ready) { - this.ready(); - } - }; - - function insertedCallback() { - this.cancelUnbindAll(true); - // invoke user 'inserted' - if (this.inserted) { - this.inserted(); - } - } - - function removedCallback() { - this.asyncUnbindAll(); - // invoke user 'removed' - if (this.removed) { - this.removed(); - } - } - - function attributeChangedCallback() { - if (this.attributeChanged) { - this.attributeChanged.apply(this, arguments); - } - } - - function hintSuper(prototype) { - Object.getOwnPropertyNames(prototype).forEach(function(n) { - var d = Object.getOwnPropertyDescriptor(prototype, n); - if (typeof d.value == 'function') { - d.value.nom = n; - } - }); - } - - // user utility - - function findDistributedTarget(inTarget, inNodes) { - // find first ancestor of target (including itself) that - // is in inNodes, if any - var n = inTarget; - while (n && n != this) { - var i = Array.prototype.indexOf.call(inNodes, n); - if (i >= 0) { - return i; - } - n = n.parentNode; - } - } - - // exports - - scope.register = register; - scope.findDistributedTarget = findDistributedTarget; - scope.instanceReady = instanceReady; - -})(Polymer); diff --git a/src/shimStyling.js b/src/shimStyling.js index 9f91351b0b..2a9a7799ab 100644 --- a/src/shimStyling.js +++ b/src/shimStyling.js @@ -5,16 +5,16 @@ */ /* - This is a limited shim for shadowDOM css styling. + This is a limited shim for ShadowDOM css styling. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles The intention here is to support only the styling features which can be relatively simply implemented. The goal is to allow users to avoid the most obvious pitfalls and do so without compromising performance significantly. - For shadowDOM styling that's not covered here, a set of best practices + For ShadowDOM styling that's not covered here, a set of best practices can be provided that should allow users to accomplish more complex styling. - The following is a list of specific shadowDOM styling features and a brief + The following is a list of specific ShadowDOM styling features and a brief discussion of the approach used to shim. Shimmed features: @@ -36,13 +36,13 @@ background: red; } - * encapsultion: Styles defined within shadowDOM, apply only to - dom inside the shadowDOM. Polymer uses one of two techniques to imlement + * encapsultion: Styles defined within ShadowDOM, apply only to + dom inside the ShadowDOM. Polymer uses one of two techniques to imlement this feature. By default, rules are prefixed with the host element tag name as a descendant selector. This ensures styling does not leak out of the 'top' - of the element's shadowDOM. For example, + of the element's ShadowDOM. For example, div { font-weight: bold; @@ -60,7 +60,7 @@ Alternatively, if Polymer.strictPolyfillStyling is set to true then selectors are scoped by adding an attribute selector suffix to each simple selector that contains the host element tag name. Each element - in the element's shadowDOM template is also given the scope attribute. + in the element's ShadowDOM template is also given the scope attribute. Thus, these rules match only elements that have the scope attribute. For example, given a scope name of x-foo, a rule like this: @@ -90,10 +90,10 @@ x-foo [pseudo=x-special] { ... } - Unaddressed shadowDOM styling features: + Unaddressed ShadowDOM styling features: * upper/lower bound encapsulation: Styles which are defined outside a - shadowRoot should not cross the shadowDOM boundary and should not apply + shadowRoot should not cross the ShadowDOM boundary and should not apply inside a shadowRoot. This styling behavior is not emulated. Some possible ways to do this that @@ -129,7 +129,7 @@ - Note the use of @polyfill in the comment above a shadowDOM specific style + Note the use of @polyfill in the comment above a ShadowDOM specific style declaration. This is a directive to the styling shim to use the selector in comments in lieu of the next selector when running under polyfill. */ @@ -455,9 +455,10 @@ if (window.ShadowDOMPolyfill) { } // exports -Polymer.shimStyling = stylizer.shimStyling; -Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; -Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); -Polymer.strictPolyfillStyling = false; -})(window); \ No newline at end of file +scope.shimStyling = stylizer.shimStyling; +scope.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; +scope.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); +scope.strictPolyfillStyling = false; + +})(Polymer); \ No newline at end of file diff --git a/src/styling.js b/src/styling.js deleted file mode 100644 index e38836b23c..0000000000 --- a/src/styling.js +++ /dev/null @@ -1,204 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function() { - - // imports - var log = window.logFlags || {}; - - var doc = wrap(document); - - /** - * Install external stylesheets loaded in elements into the - * element's template. - * @param elementElement The element to style. - */ - function installSheets(elementElement) { - installLocalSheets(elementElement); - installGlobalStyles(elementElement); - } - - /** - * Takes external stylesheets loaded in an element and moves - * their content into a + + + could become: + + +
+ +
+ + Note the use of @polyfill in the comment above a ShadowDOM specific style + declaration. This is a directive to the styling shim to use the selector + in comments in lieu of the next selector when running under polyfill. +*/ +(function(scope) { + +var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); +var concat = Array.prototype.concat.call.bind(Array.prototype.concat); +var slice = Array.prototype.slice.call.bind(Array.prototype.slice); + +var stylizer = { + hostRuleRe: /@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim, + selectorRe: /([^{]*)({[\s\S]*?})/gim, + hostElementRe: /(.*)((?:\*)|(?:\:scope))(.*)/, + hostFixableRe: /^[.\[:]/, + cssCommentRe: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, + cssPolyfillCommentRe: /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, + cssPseudoRe: /::(x-[^\s{,(]*)/gim, + selectorReSuffix: '([>\\s~+\[.,{:][\\s\\S]*)?$', + hostRe: /@host/gim, + cache: {}, + shimStyling: function(element) { + if (window.ShadowDOMPolyfill && element) { + // use caching to make working with styles nodes easier and to facilitate + // lookup of extendee + var name = element.options.name; + stylizer.cacheDefinition(element); + stylizer.shimPolyfillDirectives(element.styles, name); + // find styles and apply shimming... + if (Polymer.strictPolyfillStyling) { + stylizer.applyScopeToContent(element.templateContent, name); + } + stylizer.applyShimming(stylizer.stylesForElement(element), name); + } + }, + // Shim styles to be placed inside a shadowRoot. + // 1. shim @host rules and inherited @host rules + // 2. shim scoping: apply .scoped when available or pseudo-scoping when not + // (e.g. a selector 'div' becomes 'x-foo div') + shimShadowDOMStyling: function(styles, name) { + if (window.ShadowDOMPolyfill) { + stylizer.shimPolyfillDirectives(styles, name); + stylizer.applyShimming(styles, name); + } + }, + applyShimming: function(styles, name) { + var cssText = this.shimAtHost(styles, name); + cssText += this.shimScoping(styles, name); + this.addCssToDocument(cssText); + }, + cacheDefinition: function(element) { + var name = element.options.name; + var template = element.querySelector('template'); + var content = template && templateContent(template); + var styles = content && content.querySelectorAll('style'); + element.styles = styles ? slice(styles) : []; + element.templateContent = content; + stylizer.cache[name] = element; + }, + applyScopeToContent: function(root, name) { + if (root) { + forEach(root.querySelectorAll('*'), function(node) { + node.setAttribute(name, ''); + }); + forEach(root.querySelectorAll('template'), function(template) { + this.applyScopeToContent(templateContent(template), name); + }, this); + } + }, + stylesForElement: function(element) { + var styles = element.styles; + var shadow = element.templateContent && + element.templateContent.querySelector('shadow'); + if (shadow || (element.templateContent === null)) { + var extendee = this.findExtendee(element.options.name); + if (extendee) { + var extendeeStyles = this.stylesForElement(extendee); + styles = concat(slice(extendeeStyles), slice(styles)); + } + } + return styles; + }, + findExtendee: function(name) { + var element = this.cache[name]; + return element && this.cache[element.options.extends]; + }, + /* + * Process styles to convert native ShadowDOM rules that will trip + * up the css parser; we rely on decorating the stylesheet with comments. + * + * For example, we convert this rule: + * + * (comment start) @polyfill @host g-menu-item (comment end) + * shadow::-webkit-distributed(g-menu-item) { + * + * to this: + * + * scopeName g-menu-item { + * + **/ + shimPolyfillDirectives: function(styles, name) { + if (window.ShadowDOMPolyfill) { + if (styles) { + forEach(styles, function(s) { + s.textContent = this.convertPolyfillDirectives(s.textContent, name); + }, this); + } + } + }, + // form: @host { .foo { declarations } } + // becomes: scopeName.foo { declarations } + shimAtHost: function(styles, name) { + if (styles) { + return this.convertAtHostStyles(styles, name); + } + }, + /* Ensure styles are scoped. Pseudo-scoping takes a rule like: + * + * .foo {... } + * + * and converts this to + * + * scopeName .foo { ... } + */ + shimScoping: function(styles, name) { + if (styles) { + return this.convertScopedStyles(styles, name); + } + }, + convertPolyfillDirectives: function(cssText, name) { + var r = '', l = 0, matches, selector; + while (matches=this.cssPolyfillCommentRe.exec(cssText)) { + r += cssText.substring(l, matches.index); + // remove end comment delimiter (*/) + selector = matches[1].slice(0, -2).replace(this.hostRe, name); + r += this.scopeSelector(selector, name) + '{'; + l = this.cssPolyfillCommentRe.lastIndex; + } + r += cssText.substring(l, cssText.length); + return r; + }, + // consider styles that do not include component name in the selector to be + // unscoped and in need of promotion; + // for convenience, also consider keyframe rules this way. + findAtHostRules: function(cssRules, matcher) { + return Array.prototype.filter.call(cssRules, + this.isHostRule.bind(this, matcher)); + }, + isHostRule: function(matcher, cssRule) { + return (cssRule.selectorText && cssRule.selectorText.match(matcher)) || + (cssRule.cssRules && this.findAtHostRules(cssRule.cssRules, matcher).length) || + (cssRule.type == CSSRule.WEBKIT_KEYFRAMES_RULE); + }, + convertAtHostStyles: function(styles, name) { + var cssText = this.stylesToCssText(styles); + var r = '', l=0, matches; + while (matches=this.hostRuleRe.exec(cssText)) { + r += cssText.substring(l, matches.index); + r += this.scopeHostCss(matches[1], name); + l = this.hostRuleRe.lastIndex; + } + r += cssText.substring(l, cssText.length); + var selectorRe = new RegExp('^' + name + this.selectorReSuffix, 'm'); + var cssText = this.rulesToCss(this.findAtHostRules(this.cssToRules(r), + selectorRe)); + return cssText; + }, + scopeHostCss: function(cssText, name) { + var r = '', matches; + while (matches = this.selectorRe.exec(cssText)) { + r += this.scopeHostSelector(matches[1], name) +' ' + matches[2] + '\n\t'; + } + return r; + }, + // supports scopig by name and [is=name] syntax + scopeHostSelector: function(selector, name) { + var r = [], parts = selector.split(','), is = '[is=' + name + ']'; + parts.forEach(function(p) { + p = p.trim(); + // selector: *|:scope -> name + if (p.match(this.hostElementRe)) { + p = p.replace(this.hostElementRe, name + '$1$3, ' + is + '$1$3'); + // selector: .foo -> name.foo, [bar] -> name[bar] + } else if (p.match(this.hostFixableRe)) { + p = name + p + ', ' + is + p; + } + r.push(p); + }, this); + return r.join(', '); + }, + convertScopedStyles: function(styles, name) { + forEach(styles, function(s) { + if (s.parentNode) { + s.parentNode.removeChild(s); + } + }); + var cssText = this.stylesToCssText(styles).replace(this.hostRuleRe, ''); + cssText = this.convertPseudos(cssText); + var rules = this.cssToRules(cssText); + cssText = this.scopeRules(rules, name); + return cssText; + }, + convertPseudos: function(cssText) { + return cssText.replace(this.cssPseudoRe, ' [pseudo=$1]'); + }, + // change a selector like 'div' to 'name div' + scopeRules: function(cssRules, name) { + var cssText = ''; + forEach(cssRules, function(rule) { + if (rule.selectorText && (rule.style && rule.style.cssText)) { + cssText += this.scopeSelector(rule.selectorText, name, + Polymer.strictPolyfillStyling) + ' {\n\t'; + cssText += this.propertiesFromRule(rule) + '\n}\n\n'; + } else if (rule.media) { + cssText += '@media ' + rule.media.mediaText + ' {\n'; + cssText += this.scopeRules(rule.cssRules, name); + cssText += '\n}\n\n'; + } else if (rule.cssText) { + cssText += rule.cssText + '\n\n'; + } + }, this); + return cssText; + }, + propertiesFromRule: function(rule) { + var properties = rule.style.cssText; + // TODO(sorvell): Chrome cssom incorrectly removes quotes from the content + // property. (https://code.google.com/p/chromium/issues/detail?id=247231) + if (rule.style.content && !rule.style.content.match(/['"]+/)) { + properties = 'content: \'' + rule.style.content + '\';\n' + + rule.style.cssText.replace(/content:[^;]*;/g, ''); + } + return properties; + }, + selectorNeedsScoping: function(selector, name) { + var matchScope = '(' + name + '|\\[is=' + name + '\\])'; + var selectorRe = new RegExp('^' + matchScope + this.selectorReSuffix, 'm'); + return !selector.match(selectorRe); + }, + scopeSelector: function(selector, name, strict) { + var r = [], parts = selector.split(','); + parts.forEach(function(p) { + p = p.trim(); + if (this.selectorNeedsScoping(p, name)) { + p = strict ? this.applyStrictSelectorScope(p, name) : + this.applySimpleSelectorScope(p, name); + } + r.push(p); + }, this); + return r.join(', '); + }, + // scope via name and [is=name] + applySimpleSelectorScope: function(selector, name) { + return name + ' ' + selector + ', ' + '[is=' + name + '] ' + selector; + }, + // return a selector with [name] suffix on each simple selector + // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] + applyStrictSelectorScope: function(selector, name) { + var splits = [' ', '>', '+', '~'], + scoped = selector, + attrName = '[' + name + ']'; + splits.forEach(function(sep) { + var parts = scoped.split(sep); + scoped = parts.map(function(p) { + var t = p.trim(); + if (t && (splits.indexOf(t) < 0) && (t.indexOf(attrName) < 0)) { + p = t.replace(/([^:]*)(:*)(.*)/, '$1' + attrName + '$2$3') + } + return p; + }).join(sep); + }); + return scoped; + }, + stylesToCssText: function(styles, preserveComments) { + var cssText = ''; + forEach(styles, function(s) { + cssText += s.textContent + '\n\n'; + }); + // strip comments for easier processing + if (!preserveComments) { + cssText = this.stripCssComments(cssText); + } + return cssText; + }, + stripCssComments: function(cssText) { + return cssText.replace(this.cssCommentRe, ''); + }, + cssToRules: function(cssText) { + var style = document.createElement('style'); + style.textContent = cssText; + document.head.appendChild(style); + var rules = style.sheet.cssRules; + style.parentNode.removeChild(style); + return rules; + }, + rulesToCss: function(cssRules) { + for (var i=0, css=[]; i < cssRules.length; i++) { + css.push(cssRules[i].cssText); + } + return css.join('\n\n'); + }, + addCssToDocument: function(cssText) { + if (cssText) { + this.getSheet().appendChild(document.createTextNode(cssText)); + } + }, + // support for creating @host rules + getSheet: function() { + if (!this.sheet) { + this.sheet = document.createElement("style"); + this.sheet.setAttribute('polymer-polyfill', ''); + } + return this.sheet; + }, + addSheetToDocument: function() { + this.addCssToDocument('style { display: none !important; }\n'); + var head = document.querySelector('head'); + head.insertBefore(this.getSheet(), head.childNodes[0]); + } +}; + +// add polyfill stylesheet to document +if (window.ShadowDOMPolyfill) { + stylizer.addSheetToDocument(); +} + +// exports +Polymer.shimStyling = stylizer.shimStyling; +Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; +Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); +Polymer.strictPolyfillStyling = false; + +})(window); \ No newline at end of file diff --git a/src/api.js b/src/api.js new file mode 100644 index 0000000000..52ff5e4025 --- /dev/null +++ b/src/api.js @@ -0,0 +1,16 @@ +/* + * Copyright 2013 The Polymer Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ +(function(scope) { + + var api = {}; + api.declarative = {}; + api.instance = {}; + + // exports + + scope.api = api; + +})(Polymer); diff --git a/src/declarative-attributes.js b/src/declarative-attributes.js new file mode 100644 index 0000000000..fc5986531a --- /dev/null +++ b/src/declarative-attributes.js @@ -0,0 +1,104 @@ +/* + * Copyright 2013 The Polymer Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ +(function(scope) { + + // imports + + var api = scope.api.instance.attributes; + + var PUBLISHED = api.PUBLISHED; + var INSTANCE_ATTRIBUTES = api.INSTANCE_ATTRIBUTES; + + // magic words + + var PUBLISH = 'publish'; + var ATTRIBUTES = 'attributes'; + + // attributes api + + var attributes = { + inheritAttributesObjects: function(prototype) { + this.inheritObject(prototype, PUBLISHED); + this.inheritObject(prototype, INSTANCE_ATTRIBUTES); + }, + parseAttributes: function() { + this.publishAttributes(this.prototype); + this.accumulateInstanceAttributes(); + }, + publishAttributes: function(prototype) { + // our suffix prototype chain + var inherited = prototype.__proto__; + // inherit published properties + var published = Object.create(inherited[PUBLISHED] || null); + // merge attribute names from 'attributes' attribute + var attributes = this.getAttribute(ATTRIBUTES); + if (attributes) { + // attributes='a b c' or attributes='a,b,c' + var names = attributes.split(attributes.indexOf(',') >= 0 ? ',' : ' '); + // record each name for publishing + names.forEach(function(p) { + p = p.trim(); + if (p && !(p in published)) { + published[p] = null; + } + }); + } + // install 'attributes' as properties on the prototype, + // but don't override + Object.keys(published).forEach(function(p) { + if (!(p in prototype) && !(p in inherited)) { + prototype[p] = published[p]; + } + }); + // store list of published properties on prototype + prototype[PUBLISHED] = published + }, + publishProperties: function() { + this.publishPublish(this.prototype); + }, + publishPublish: function(prototype) { + // acquire properties published imperatively + var imperative = prototype[PUBLISH]; + if (imperative) { + // install imperative properties, overriding defaults + Object.keys(imperative).forEach(function(p) { + prototype[p] = imperative[p]; + }); + // combine with other published properties + Platform.mixin( + prototype[PUBLISHED], + imperative + ); + } + }, + // record clonable attributes from + accumulateInstanceAttributes: function() { + // our suffix prototype chain + var inherited = this.prototype.__proto__; + // inherit instance attributes + var clonable = Object.create(inherited[INSTANCE_ATTRIBUTES] || null); + // merge attributes from element + this.attributes.forEach(function(a) { + if (this.isInstanceAttribute(a.name)) { + clonable[a.name] = a.value; + } + }, this); + this.prototype[INSTANCE_ATTRIBUTES] = clonable; + }, + isInstanceAttribute: function(name) { + return !this.blackList[name] && name.slice(0,3) !== 'on-'; + }, + blackList: {name: 1, 'extends': 1, constructor: 1} + }; + + // add ATTRIBUTES symbol to blacklist + attributes.blackList[ATTRIBUTES] = 1; + + // exports + + scope.api.declarative.attributes = attributes; + +})(Polymer); diff --git a/src/declarative-events.js b/src/declarative-events.js new file mode 100644 index 0000000000..665c9dc85e --- /dev/null +++ b/src/declarative-events.js @@ -0,0 +1,120 @@ +/* + * Copyright 2013 The Polymer Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ + +(function(scope) { + + // imports + + // instance api + + var api = scope.api.instance.events; + + var DELEGATES = api.DELEGATES; + var EVENT_PREFIX = api.EVENT_PREFIX; + + // logging flags + var log = window.logFlags || {}; + + // polymer-element event feature + + var events = { + inheritDelegates: function(prototype) { + this.inheritObject(prototype, DELEGATES); + }, + parseHostEvents: function() { + // our delegates map + var delegates = this.prototype[DELEGATES]; + // extract data from attributes into delegates + this.addAttributeDelegates(delegates); + }, + addAttributeDelegates: function(delegates) { + // for each attribute + for (var i=0, a; a=this.attributes[i]; i++) { + // does it have magic marker identifying it as an event delegate? + if (hasEventPrefix(a.name)) { + // if so, add the info to delegates + delegates[removeEventPrefix(a.name)] = a.value; + } + } + }, + parseLocalEvents: function() { + // extract data from all templates into delegates + this.querySelectorAll('template').forEach(function(t) { + // store delegate information directly on template + t.delegates = {}; + // acquire delegates from entire subtree at t + this.accumulateTemplatedEvents(t, t.delegates); + log.events && console.log('[%s] parseLocalEvents:', this.attributes.name.value, t.delegates); + }, this); + }, + accumulateTemplatedEvents: function(node, events) { + if (node.localName === 'template') { + var content = getTemplateContent(node); + if (content) { + this.accumulateChildEvents(content, events); + } + } + }, + accumulateChildEvents: function(node, events) { + node.childNodes.forEach(function(n) { + this.accumulateEvents(n, events); + }, this); + }, + accumulateEvents: function(node, events) { + this.accumulateAttributeEvents(node, events); + this.accumulateChildEvents(node, events); + this.accumulateTemplatedEvents(node, events); + return events; + }, + accumulateAttributeEvents: function(node, events) { + if (node.attributes) { + node.attributes.forEach(function(a) { + if (hasEventPrefix(a.name)) { + this.accumulateEvent(removeEventPrefix(a.name), events); + } + }, this); + } + }, + accumulateEvent: function(name, events) { + name = event_translations[name] || name; + events[name] = events[name] || 1; + } + }; + + var event_translations = { + webkitanimationstart: 'webkitAnimationStart', + webkitanimationend: 'webkitAnimationEnd', + webkittransitionend: 'webkitTransitionEnd', + domfocusout: 'DOMFocusOut', + domfocusin: 'DOMFocusIn' + }; + + function hasEventPrefix(n) { + return n.slice(0, prefixLength) == EVENT_PREFIX; + } + + function removeEventPrefix(n) { + return n.slice(prefixLength); + } + + var prefixLength = EVENT_PREFIX.length; + + // TODO(sorvell): Currently in MDV, there is no way to get a template's + // effective content. A template can have a ref property + // that points to the template from which this one has been cloned. + // Remove this when the MDV api is improved + // (https://github.com/polymer-project/mdv/issues/15). + function getTemplateContent(template) { + return template.ref ? template.ref.content : template.content; + } + + events.event_translations = event_translations; + + // exports + + scope.api.declarative.events = events; + +})(Polymer); \ No newline at end of file diff --git a/src/declarative-path.js b/src/declarative-path.js new file mode 100644 index 0000000000..295d0ecf49 --- /dev/null +++ b/src/declarative-path.js @@ -0,0 +1,34 @@ +/* + * Copyright 2013 The Polymer Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ + +(function(scope) { + + var path = { + addResolvePath: function() { + var root = this.elementPath(); + this.prototype.resolvePath = function(inPath) { + return root + inPath; + } + }, + elementPath: function() { + return this.urlToPath(HTMLImports.getDocumentUrl(this.ownerDocument)); + }, + urlToPath: function(url) { + if (!url) { + return ''; + } else { + var parts = url.split('/'); + parts.pop(); + parts.push(''); + return parts.join('/'); + } + } + }; + + // exports + scope.api.declarative.path = path; + +})(Polymer); \ No newline at end of file diff --git a/src/declarative-styles.js b/src/declarative-styles.js new file mode 100644 index 0000000000..0edc6f67ef --- /dev/null +++ b/src/declarative-styles.js @@ -0,0 +1,152 @@ +/* + * Copyright 2013 The Polymer Authors. All rights reserved. + * Use of this source code is governed by a BSD-style + * license that can be found in the LICENSE file. + */ +(function(scope) { + + // imports + + var log = window.logFlags || {}; + var api = scope.api.instance.styles; + var STYLE_SCOPE_ATTRIBUTE = api.STYLE_SCOPE_ATTRIBUTE; + + // magic words + + var STYLE_SELECTOR = 'style'; + var SHEET_SELECTOR = '[rel=stylesheet]'; + var STYLE_GLOBAL_SCOPE = 'global'; + var SCOPE_ATTR = 'polymer-scope'; + + var styles = { + /** + * Install external stylesheets loaded in elements into the + * element's template. + * @param elementElement The element to style. + */ + installSheets: function() { + this.installLocalSheets(); + this.installGlobalStyles(); + }, + /** + * Takes external stylesheets loaded in an element and moves + * their content into a + + + + + + diff --git a/workbench/moreSmoke/x-foo.css b/workbench/moreSmoke/x-foo.css new file mode 100644 index 0000000000..5022d2622d --- /dev/null +++ b/workbench/moreSmoke/x-foo.css @@ -0,0 +1,5 @@ +@host { + :scope{ + padding: 4px; + } +}; diff --git a/workbench/null/index.html b/workbench/null/index.html new file mode 100644 index 0000000000..a31482709c --- /dev/null +++ b/workbench/null/index.html @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + diff --git a/workbench/oldSmoke/index.html b/workbench/oldSmoke/index.html new file mode 100644 index 0000000000..82757e6887 --- /dev/null +++ b/workbench/oldSmoke/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + diff --git a/workbench/oldSmoke/x-bar.html b/workbench/oldSmoke/x-bar.html new file mode 100644 index 0000000000..17e89c2f08 --- /dev/null +++ b/workbench/oldSmoke/x-bar.html @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/workbench/oldSmoke/x-foo.html b/workbench/oldSmoke/x-foo.html new file mode 100644 index 0000000000..5c7caaaecb --- /dev/null +++ b/workbench/oldSmoke/x-foo.html @@ -0,0 +1,23 @@ + + + + + diff --git a/workbench/oldSmoke/x-zot.html b/workbench/oldSmoke/x-zot.html new file mode 100644 index 0000000000..2d5710f52b --- /dev/null +++ b/workbench/oldSmoke/x-zot.html @@ -0,0 +1,14 @@ + + + + + diff --git a/workbench/smoke/elements.js b/workbench/smoke/elements.js new file mode 100644 index 0000000000..580dbc2ac3 --- /dev/null +++ b/workbench/smoke/elements.js @@ -0,0 +1,17 @@ +Polymer('x-foo', { + ready: function() { + this.style.color = 'blue'; + } +}); + +Polymer('x-bar', { + ready: function() { + this.style.padding = '4px'; + this.style.backgroundColor = 'orange'; + this.super(); + }, + parseElement: function() { + this.webkitCreateShadowRoot().appendChild(document.createElement('content')); + this.textContent = 'Override!'; + } +}); diff --git a/workbench/smoke/index.html b/workbench/smoke/index.html new file mode 100644 index 0000000000..511316e828 --- /dev/null +++ b/workbench/smoke/index.html @@ -0,0 +1,68 @@ + + + + + + + + + + +
+ + +
+ + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/workbench/smoke/x-quux.js b/workbench/smoke/x-quux.js new file mode 100644 index 0000000000..de67757097 --- /dev/null +++ b/workbench/smoke/x-quux.js @@ -0,0 +1,9 @@ +Polymer('x-quux', { + ready: function() { + this.style.fontSize = '24px'; + // don't call super() on purpose + }, + parseElements: function() { + this.parseElement(this.element); + } +}); From b0811362846358a298e663c59eb1e6221ef036ce Mon Sep 17 00:00:00 2001 From: "Scott J. Miles" Date: Wed, 19 Jun 2013 12:54:15 -0700 Subject: [PATCH 04/53] folderize modules --- polymer.js | 38 +-- src/ShadowCSS.js | 463 --------------------------------- src/api.js | 3 +- src/declarative-attributes.js | 104 -------- src/declarative-events.js | 120 --------- src/declarative-path.js | 34 --- src/declarative-styles.js | 152 ----------- src/deserialize.js | 57 ---- src/dom.js | 26 -- src/instance-attributes.js | 69 ----- src/instance-base.js | 121 --------- src/instance-events.js | 179 ------------- src/instance-mdv.js | 140 ---------- src/instance-properties.js | 146 ----------- src/instance-styles.js | 68 ----- src/instance-utils.js | 82 ------ src/job.js | 54 ---- src/lang.js | 32 --- src/polymer-element.js | 153 ----------- src/styles.js | 205 --------------- src/super.js | 101 ------- workbench/moreSmoke/index.html | 14 +- 22 files changed, 32 insertions(+), 2329 deletions(-) delete mode 100644 src/ShadowCSS.js delete mode 100644 src/declarative-attributes.js delete mode 100644 src/declarative-events.js delete mode 100644 src/declarative-path.js delete mode 100644 src/declarative-styles.js delete mode 100644 src/deserialize.js delete mode 100644 src/dom.js delete mode 100644 src/instance-attributes.js delete mode 100644 src/instance-base.js delete mode 100644 src/instance-events.js delete mode 100644 src/instance-mdv.js delete mode 100644 src/instance-properties.js delete mode 100644 src/instance-styles.js delete mode 100644 src/instance-utils.js delete mode 100644 src/job.js delete mode 100644 src/lang.js delete mode 100644 src/polymer-element.js delete mode 100644 src/styles.js delete mode 100644 src/super.js diff --git a/polymer.js b/polymer.js index 26403e228f..f4464f67be 100644 --- a/polymer.js +++ b/polymer.js @@ -13,24 +13,28 @@ var modules = [ "../platform/platform.js" ].concat([ "shimStyling.js", - "lang.js", - "dom.js", - "deserialize.js", - "job.js", - "super.js", + // + "lib/lang.js", + "lib/dom.js", + "lib/deserialize.js", + "lib/job.js", + "lib/super.js", + // "api.js", - "instance-utils.js", - "instance-events.js", - "instance-attributes.js", - "instance-properties.js", - "instance-mdv.js", - "instance-base.js", - "instance-styles.js", - "declarative-path.js", - "declarative-events.js", - "declarative-attributes.js", - "declarative-styles.js", - "polymer-element.js" + // + "instance/utils.js", + "instance/events.js", + "instance/attributes.js", + "instance/properties.js", + "instance/mdv.js", + "instance/base.js", + "instance/styles.js", + // + "declaration/path.js", + "declaration/events.js", + "declaration/attributes.js", + "declaration/styles.js", + "declaration/polymer-element.js" ].map(function(n) { return "src/" + n; })); diff --git a/src/ShadowCSS.js b/src/ShadowCSS.js deleted file mode 100644 index 5e59f8218d..0000000000 --- a/src/ShadowCSS.js +++ /dev/null @@ -1,463 +0,0 @@ -/* - * Copyright 2012 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -/* - This is a limited shim for ShadowDOM css styling. - https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#styles - - The intention here is to support only the styling features which can be - relatively simply implemented. The goal is to allow users to avoid the - most obvious pitfalls and do so without compromising performance significantly. - For ShadowDOM styling that's not covered here, a set of best practices - can be provided that should allow users to accomplish more complex styling. - - The following is a list of specific ShadowDOM styling features and a brief - discussion of the approach used to shim. - - Shimmed features: - - * @host: ShadowDOM allows styling of the shadowRoot's host element using the - @host rule. To shim this feature, the @host styles are reformatted and - prefixed with a given scope name and promoted to a document level stylesheet. - For example, given a scope name of .foo, a rule like this: - - @host { - * { - background: red; - } - } - - becomes: - - .foo { - background: red; - } - - * encapsultion: Styles defined within ShadowDOM, apply only to - dom inside the ShadowDOM. Polymer uses one of two techniques to imlement - this feature. - - By default, rules are prefixed with the host element tag name - as a descendant selector. This ensures styling does not leak out of the 'top' - of the element's ShadowDOM. For example, - - div { - font-weight: bold; - } - - becomes: - - x-foo div { - font-weight: bold; - } - - becomes: - - - Alternatively, if Polymer.strictPolyfillStyling is set to true then - selectors are scoped by adding an attribute selector suffix to each - simple selector that contains the host element tag name. Each element - in the element's ShadowDOM template is also given the scope attribute. - Thus, these rules match only elements that have the scope attribute. - For example, given a scope name of x-foo, a rule like this: - - div { - font-weight: bold; - } - - becomes: - - div[x-foo] { - font-weight: bold; - } - - Note that elements that are dynamically added to a scope must have the scope - selector added to them manually. - - * ::pseudo: These rules are converted to rules that take advantage of the - pseudo attribute. For example, a shadowRoot like this inside an x-foo - -
Special
- - with a rule like this: - - x-foo::x-special { ... } - - becomes: - - x-foo [pseudo=x-special] { ... } - - Unaddressed ShadowDOM styling features: - - * upper/lower bound encapsulation: Styles which are defined outside a - shadowRoot should not cross the ShadowDOM boundary and should not apply - inside a shadowRoot. - - This styling behavior is not emulated. Some possible ways to do this that - were rejected due to complexity and/or performance concerns include: (1) reset - every possible property for every possible selector for a given scope name; - (2) re-implement css in javascript. - - As an alternative, users should make sure to use selectors - specific to the scope in which they are working. - - * ::distributed: This behavior is not emulated. It's often not necessary - to style the contents of a specific insertion point and instead, descendants - of the host element can be styled selectively. Users can also create an - extra node around an insertion point and style that node's contents - via descendent selectors. For example, with a shadowRoot like this: - - - - - could become: - - -
- -
- - Note the use of @polyfill in the comment above a ShadowDOM specific style - declaration. This is a directive to the styling shim to use the selector - in comments in lieu of the next selector when running under polyfill. -*/ -(function(scope) { - -var forEach = Array.prototype.forEach.call.bind(Array.prototype.forEach); -var concat = Array.prototype.concat.call.bind(Array.prototype.concat); -var slice = Array.prototype.slice.call.bind(Array.prototype.slice); - -var stylizer = { - hostRuleRe: /@host[^{]*{(([^}]*?{[^{]*?}[\s\S]*?)+)}/gim, - selectorRe: /([^{]*)({[\s\S]*?})/gim, - hostElementRe: /(.*)((?:\*)|(?:\:scope))(.*)/, - hostFixableRe: /^[.\[:]/, - cssCommentRe: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, - cssPolyfillCommentRe: /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, - cssPseudoRe: /::(x-[^\s{,(]*)/gim, - selectorReSuffix: '([>\\s~+\[.,{:][\\s\\S]*)?$', - hostRe: /@host/gim, - cache: {}, - shimStyling: function(element) { - if (window.ShadowDOMPolyfill && element) { - // use caching to make working with styles nodes easier and to facilitate - // lookup of extendee - var name = element.options.name; - stylizer.cacheDefinition(element); - stylizer.shimPolyfillDirectives(element.styles, name); - // find styles and apply shimming... - if (Polymer.strictPolyfillStyling) { - stylizer.applyScopeToContent(element.templateContent, name); - } - stylizer.applyShimming(stylizer.stylesForElement(element), name); - } - }, - // Shim styles to be placed inside a shadowRoot. - // 1. shim @host rules and inherited @host rules - // 2. shim scoping: apply .scoped when available or pseudo-scoping when not - // (e.g. a selector 'div' becomes 'x-foo div') - shimShadowDOMStyling: function(styles, name) { - if (window.ShadowDOMPolyfill) { - stylizer.shimPolyfillDirectives(styles, name); - stylizer.applyShimming(styles, name); - } - }, - applyShimming: function(styles, name) { - var cssText = this.shimAtHost(styles, name); - cssText += this.shimScoping(styles, name); - this.addCssToDocument(cssText); - }, - cacheDefinition: function(element) { - var name = element.options.name; - var template = element.querySelector('template'); - var content = template && templateContent(template); - var styles = content && content.querySelectorAll('style'); - element.styles = styles ? slice(styles) : []; - element.templateContent = content; - stylizer.cache[name] = element; - }, - applyScopeToContent: function(root, name) { - if (root) { - forEach(root.querySelectorAll('*'), function(node) { - node.setAttribute(name, ''); - }); - forEach(root.querySelectorAll('template'), function(template) { - this.applyScopeToContent(templateContent(template), name); - }, this); - } - }, - stylesForElement: function(element) { - var styles = element.styles; - var shadow = element.templateContent && - element.templateContent.querySelector('shadow'); - if (shadow || (element.templateContent === null)) { - var extendee = this.findExtendee(element.options.name); - if (extendee) { - var extendeeStyles = this.stylesForElement(extendee); - styles = concat(slice(extendeeStyles), slice(styles)); - } - } - return styles; - }, - findExtendee: function(name) { - var element = this.cache[name]; - return element && this.cache[element.options.extends]; - }, - /* - * Process styles to convert native ShadowDOM rules that will trip - * up the css parser; we rely on decorating the stylesheet with comments. - * - * For example, we convert this rule: - * - * (comment start) @polyfill @host g-menu-item (comment end) - * shadow::-webkit-distributed(g-menu-item) { - * - * to this: - * - * scopeName g-menu-item { - * - **/ - shimPolyfillDirectives: function(styles, name) { - if (window.ShadowDOMPolyfill) { - if (styles) { - forEach(styles, function(s) { - s.textContent = this.convertPolyfillDirectives(s.textContent, name); - }, this); - } - } - }, - // form: @host { .foo { declarations } } - // becomes: scopeName.foo { declarations } - shimAtHost: function(styles, name) { - if (styles) { - return this.convertAtHostStyles(styles, name); - } - }, - /* Ensure styles are scoped. Pseudo-scoping takes a rule like: - * - * .foo {... } - * - * and converts this to - * - * scopeName .foo { ... } - */ - shimScoping: function(styles, name) { - if (styles) { - return this.convertScopedStyles(styles, name); - } - }, - convertPolyfillDirectives: function(cssText, name) { - var r = '', l = 0, matches, selector; - while (matches=this.cssPolyfillCommentRe.exec(cssText)) { - r += cssText.substring(l, matches.index); - // remove end comment delimiter (*/) - selector = matches[1].slice(0, -2).replace(this.hostRe, name); - r += this.scopeSelector(selector, name) + '{'; - l = this.cssPolyfillCommentRe.lastIndex; - } - r += cssText.substring(l, cssText.length); - return r; - }, - // consider styles that do not include component name in the selector to be - // unscoped and in need of promotion; - // for convenience, also consider keyframe rules this way. - findAtHostRules: function(cssRules, matcher) { - return Array.prototype.filter.call(cssRules, - this.isHostRule.bind(this, matcher)); - }, - isHostRule: function(matcher, cssRule) { - return (cssRule.selectorText && cssRule.selectorText.match(matcher)) || - (cssRule.cssRules && this.findAtHostRules(cssRule.cssRules, matcher).length) || - (cssRule.type == CSSRule.WEBKIT_KEYFRAMES_RULE); - }, - convertAtHostStyles: function(styles, name) { - var cssText = this.stylesToCssText(styles); - var r = '', l=0, matches; - while (matches=this.hostRuleRe.exec(cssText)) { - r += cssText.substring(l, matches.index); - r += this.scopeHostCss(matches[1], name); - l = this.hostRuleRe.lastIndex; - } - r += cssText.substring(l, cssText.length); - var selectorRe = new RegExp('^' + name + this.selectorReSuffix, 'm'); - var cssText = this.rulesToCss(this.findAtHostRules(this.cssToRules(r), - selectorRe)); - return cssText; - }, - scopeHostCss: function(cssText, name) { - var r = '', matches; - while (matches = this.selectorRe.exec(cssText)) { - r += this.scopeHostSelector(matches[1], name) +' ' + matches[2] + '\n\t'; - } - return r; - }, - // supports scopig by name and [is=name] syntax - scopeHostSelector: function(selector, name) { - var r = [], parts = selector.split(','), is = '[is=' + name + ']'; - parts.forEach(function(p) { - p = p.trim(); - // selector: *|:scope -> name - if (p.match(this.hostElementRe)) { - p = p.replace(this.hostElementRe, name + '$1$3, ' + is + '$1$3'); - // selector: .foo -> name.foo, [bar] -> name[bar] - } else if (p.match(this.hostFixableRe)) { - p = name + p + ', ' + is + p; - } - r.push(p); - }, this); - return r.join(', '); - }, - convertScopedStyles: function(styles, name) { - forEach(styles, function(s) { - if (s.parentNode) { - s.parentNode.removeChild(s); - } - }); - var cssText = this.stylesToCssText(styles).replace(this.hostRuleRe, ''); - cssText = this.convertPseudos(cssText); - var rules = this.cssToRules(cssText); - cssText = this.scopeRules(rules, name); - return cssText; - }, - convertPseudos: function(cssText) { - return cssText.replace(this.cssPseudoRe, ' [pseudo=$1]'); - }, - // change a selector like 'div' to 'name div' - scopeRules: function(cssRules, name) { - var cssText = ''; - forEach(cssRules, function(rule) { - if (rule.selectorText && (rule.style && rule.style.cssText)) { - cssText += this.scopeSelector(rule.selectorText, name, - Polymer.strictPolyfillStyling) + ' {\n\t'; - cssText += this.propertiesFromRule(rule) + '\n}\n\n'; - } else if (rule.media) { - cssText += '@media ' + rule.media.mediaText + ' {\n'; - cssText += this.scopeRules(rule.cssRules, name); - cssText += '\n}\n\n'; - } else if (rule.cssText) { - cssText += rule.cssText + '\n\n'; - } - }, this); - return cssText; - }, - propertiesFromRule: function(rule) { - var properties = rule.style.cssText; - // TODO(sorvell): Chrome cssom incorrectly removes quotes from the content - // property. (https://code.google.com/p/chromium/issues/detail?id=247231) - if (rule.style.content && !rule.style.content.match(/['"]+/)) { - properties = 'content: \'' + rule.style.content + '\';\n' + - rule.style.cssText.replace(/content:[^;]*;/g, ''); - } - return properties; - }, - selectorNeedsScoping: function(selector, name) { - var matchScope = '(' + name + '|\\[is=' + name + '\\])'; - var selectorRe = new RegExp('^' + matchScope + this.selectorReSuffix, 'm'); - return !selector.match(selectorRe); - }, - scopeSelector: function(selector, name, strict) { - var r = [], parts = selector.split(','); - parts.forEach(function(p) { - p = p.trim(); - if (this.selectorNeedsScoping(p, name)) { - p = strict ? this.applyStrictSelectorScope(p, name) : - this.applySimpleSelectorScope(p, name); - } - r.push(p); - }, this); - return r.join(', '); - }, - // scope via name and [is=name] - applySimpleSelectorScope: function(selector, name) { - return name + ' ' + selector + ', ' + '[is=' + name + '] ' + selector; - }, - // return a selector with [name] suffix on each simple selector - // e.g. .foo.bar > .zot becomes .foo[name].bar[name] > .zot[name] - applyStrictSelectorScope: function(selector, name) { - var splits = [' ', '>', '+', '~'], - scoped = selector, - attrName = '[' + name + ']'; - splits.forEach(function(sep) { - var parts = scoped.split(sep); - scoped = parts.map(function(p) { - var t = p.trim(); - if (t && (splits.indexOf(t) < 0) && (t.indexOf(attrName) < 0)) { - p = t.replace(/([^:]*)(:*)(.*)/, '$1' + attrName + '$2$3') - } - return p; - }).join(sep); - }); - return scoped; - }, - stylesToCssText: function(styles, preserveComments) { - var cssText = ''; - forEach(styles, function(s) { - cssText += s.textContent + '\n\n'; - }); - // strip comments for easier processing - if (!preserveComments) { - cssText = this.stripCssComments(cssText); - } - return cssText; - }, - stripCssComments: function(cssText) { - return cssText.replace(this.cssCommentRe, ''); - }, - cssToRules: function(cssText) { - var style = document.createElement('style'); - style.textContent = cssText; - document.head.appendChild(style); - var rules = style.sheet.cssRules; - style.parentNode.removeChild(style); - return rules; - }, - rulesToCss: function(cssRules) { - for (var i=0, css=[]; i < cssRules.length; i++) { - css.push(cssRules[i].cssText); - } - return css.join('\n\n'); - }, - addCssToDocument: function(cssText) { - if (cssText) { - this.getSheet().appendChild(document.createTextNode(cssText)); - } - }, - // support for creating @host rules - getSheet: function() { - if (!this.sheet) { - this.sheet = document.createElement("style"); - this.sheet.setAttribute('polymer-polyfill', ''); - } - return this.sheet; - }, - addSheetToDocument: function() { - this.addCssToDocument('style { display: none !important; }\n'); - var head = document.querySelector('head'); - head.insertBefore(this.getSheet(), head.childNodes[0]); - } -}; - -// add polyfill stylesheet to document -if (window.ShadowDOMPolyfill) { - stylizer.addSheetToDocument(); -} - -// exports -Polymer.shimStyling = stylizer.shimStyling; -Polymer.shimShadowDOMStyling = stylizer.shimShadowDOMStyling; -Polymer.shimPolyfillDirectives = stylizer.shimPolyfillDirectives.bind(stylizer); -Polymer.strictPolyfillStyling = false; - -})(window); \ No newline at end of file diff --git a/src/api.js b/src/api.js index 52ff5e4025..d4228c89d6 100644 --- a/src/api.js +++ b/src/api.js @@ -6,7 +6,8 @@ (function(scope) { var api = {}; - api.declarative = {}; + + api.declaration = {}; api.instance = {}; // exports diff --git a/src/declarative-attributes.js b/src/declarative-attributes.js deleted file mode 100644 index fc5986531a..0000000000 --- a/src/declarative-attributes.js +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ -(function(scope) { - - // imports - - var api = scope.api.instance.attributes; - - var PUBLISHED = api.PUBLISHED; - var INSTANCE_ATTRIBUTES = api.INSTANCE_ATTRIBUTES; - - // magic words - - var PUBLISH = 'publish'; - var ATTRIBUTES = 'attributes'; - - // attributes api - - var attributes = { - inheritAttributesObjects: function(prototype) { - this.inheritObject(prototype, PUBLISHED); - this.inheritObject(prototype, INSTANCE_ATTRIBUTES); - }, - parseAttributes: function() { - this.publishAttributes(this.prototype); - this.accumulateInstanceAttributes(); - }, - publishAttributes: function(prototype) { - // our suffix prototype chain - var inherited = prototype.__proto__; - // inherit published properties - var published = Object.create(inherited[PUBLISHED] || null); - // merge attribute names from 'attributes' attribute - var attributes = this.getAttribute(ATTRIBUTES); - if (attributes) { - // attributes='a b c' or attributes='a,b,c' - var names = attributes.split(attributes.indexOf(',') >= 0 ? ',' : ' '); - // record each name for publishing - names.forEach(function(p) { - p = p.trim(); - if (p && !(p in published)) { - published[p] = null; - } - }); - } - // install 'attributes' as properties on the prototype, - // but don't override - Object.keys(published).forEach(function(p) { - if (!(p in prototype) && !(p in inherited)) { - prototype[p] = published[p]; - } - }); - // store list of published properties on prototype - prototype[PUBLISHED] = published - }, - publishProperties: function() { - this.publishPublish(this.prototype); - }, - publishPublish: function(prototype) { - // acquire properties published imperatively - var imperative = prototype[PUBLISH]; - if (imperative) { - // install imperative properties, overriding defaults - Object.keys(imperative).forEach(function(p) { - prototype[p] = imperative[p]; - }); - // combine with other published properties - Platform.mixin( - prototype[PUBLISHED], - imperative - ); - } - }, - // record clonable attributes from - accumulateInstanceAttributes: function() { - // our suffix prototype chain - var inherited = this.prototype.__proto__; - // inherit instance attributes - var clonable = Object.create(inherited[INSTANCE_ATTRIBUTES] || null); - // merge attributes from element - this.attributes.forEach(function(a) { - if (this.isInstanceAttribute(a.name)) { - clonable[a.name] = a.value; - } - }, this); - this.prototype[INSTANCE_ATTRIBUTES] = clonable; - }, - isInstanceAttribute: function(name) { - return !this.blackList[name] && name.slice(0,3) !== 'on-'; - }, - blackList: {name: 1, 'extends': 1, constructor: 1} - }; - - // add ATTRIBUTES symbol to blacklist - attributes.blackList[ATTRIBUTES] = 1; - - // exports - - scope.api.declarative.attributes = attributes; - -})(Polymer); diff --git a/src/declarative-events.js b/src/declarative-events.js deleted file mode 100644 index 665c9dc85e..0000000000 --- a/src/declarative-events.js +++ /dev/null @@ -1,120 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function(scope) { - - // imports - - // instance api - - var api = scope.api.instance.events; - - var DELEGATES = api.DELEGATES; - var EVENT_PREFIX = api.EVENT_PREFIX; - - // logging flags - var log = window.logFlags || {}; - - // polymer-element event feature - - var events = { - inheritDelegates: function(prototype) { - this.inheritObject(prototype, DELEGATES); - }, - parseHostEvents: function() { - // our delegates map - var delegates = this.prototype[DELEGATES]; - // extract data from attributes into delegates - this.addAttributeDelegates(delegates); - }, - addAttributeDelegates: function(delegates) { - // for each attribute - for (var i=0, a; a=this.attributes[i]; i++) { - // does it have magic marker identifying it as an event delegate? - if (hasEventPrefix(a.name)) { - // if so, add the info to delegates - delegates[removeEventPrefix(a.name)] = a.value; - } - } - }, - parseLocalEvents: function() { - // extract data from all templates into delegates - this.querySelectorAll('template').forEach(function(t) { - // store delegate information directly on template - t.delegates = {}; - // acquire delegates from entire subtree at t - this.accumulateTemplatedEvents(t, t.delegates); - log.events && console.log('[%s] parseLocalEvents:', this.attributes.name.value, t.delegates); - }, this); - }, - accumulateTemplatedEvents: function(node, events) { - if (node.localName === 'template') { - var content = getTemplateContent(node); - if (content) { - this.accumulateChildEvents(content, events); - } - } - }, - accumulateChildEvents: function(node, events) { - node.childNodes.forEach(function(n) { - this.accumulateEvents(n, events); - }, this); - }, - accumulateEvents: function(node, events) { - this.accumulateAttributeEvents(node, events); - this.accumulateChildEvents(node, events); - this.accumulateTemplatedEvents(node, events); - return events; - }, - accumulateAttributeEvents: function(node, events) { - if (node.attributes) { - node.attributes.forEach(function(a) { - if (hasEventPrefix(a.name)) { - this.accumulateEvent(removeEventPrefix(a.name), events); - } - }, this); - } - }, - accumulateEvent: function(name, events) { - name = event_translations[name] || name; - events[name] = events[name] || 1; - } - }; - - var event_translations = { - webkitanimationstart: 'webkitAnimationStart', - webkitanimationend: 'webkitAnimationEnd', - webkittransitionend: 'webkitTransitionEnd', - domfocusout: 'DOMFocusOut', - domfocusin: 'DOMFocusIn' - }; - - function hasEventPrefix(n) { - return n.slice(0, prefixLength) == EVENT_PREFIX; - } - - function removeEventPrefix(n) { - return n.slice(prefixLength); - } - - var prefixLength = EVENT_PREFIX.length; - - // TODO(sorvell): Currently in MDV, there is no way to get a template's - // effective content. A template can have a ref property - // that points to the template from which this one has been cloned. - // Remove this when the MDV api is improved - // (https://github.com/polymer-project/mdv/issues/15). - function getTemplateContent(template) { - return template.ref ? template.ref.content : template.content; - } - - events.event_translations = event_translations; - - // exports - - scope.api.declarative.events = events; - -})(Polymer); \ No newline at end of file diff --git a/src/declarative-path.js b/src/declarative-path.js deleted file mode 100644 index 295d0ecf49..0000000000 --- a/src/declarative-path.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ - -(function(scope) { - - var path = { - addResolvePath: function() { - var root = this.elementPath(); - this.prototype.resolvePath = function(inPath) { - return root + inPath; - } - }, - elementPath: function() { - return this.urlToPath(HTMLImports.getDocumentUrl(this.ownerDocument)); - }, - urlToPath: function(url) { - if (!url) { - return ''; - } else { - var parts = url.split('/'); - parts.pop(); - parts.push(''); - return parts.join('/'); - } - } - }; - - // exports - scope.api.declarative.path = path; - -})(Polymer); \ No newline at end of file diff --git a/src/declarative-styles.js b/src/declarative-styles.js deleted file mode 100644 index 0edc6f67ef..0000000000 --- a/src/declarative-styles.js +++ /dev/null @@ -1,152 +0,0 @@ -/* - * Copyright 2013 The Polymer Authors. All rights reserved. - * Use of this source code is governed by a BSD-style - * license that can be found in the LICENSE file. - */ -(function(scope) { - - // imports - - var log = window.logFlags || {}; - var api = scope.api.instance.styles; - var STYLE_SCOPE_ATTRIBUTE = api.STYLE_SCOPE_ATTRIBUTE; - - // magic words - - var STYLE_SELECTOR = 'style'; - var SHEET_SELECTOR = '[rel=stylesheet]'; - var STYLE_GLOBAL_SCOPE = 'global'; - var SCOPE_ATTR = 'polymer-scope'; - - var styles = { - /** - * Install external stylesheets loaded in elements into the - * element's template. - * @param elementElement The element to style. - */ - installSheets: function() { - this.installLocalSheets(); - this.installGlobalStyles(); - }, - /** - * Takes external stylesheets loaded in an element and moves - * their content into a @@ -79,6 +82,7 @@ - - + + - + - - + + - + - - + + diff --git a/test/html/styling/polyfill-directive.html b/test/html/styling/polyfill-directive.html index 9e054cacd9..bf1721e351 100644 --- a/test/html/styling/polyfill-directive.html +++ b/test/html/styling/polyfill-directive.html @@ -16,7 +16,7 @@
Green?
- + - - + + -
+ + - +