/**
@license
Copyright (c) 2017 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
*/
import"./boot.js";let i=0;function MixinFunction(){}MixinFunction.prototype.__mixinApplications,MixinFunction.prototype.__mixinSet;export const dedupingMixin=function(n){let t=n.__mixinApplications;t||(t=new WeakMap,n.__mixinApplications=t);let e=i++;return function dedupingMixin(i){let o=i.__mixinSet;if(o&&o[e])return i;let p=t,_=p.get(i);if(!_){_=n(i),p.set(i,_);let t=Object.create(_.__mixinSet||o||null);t[e]=!0,_.__mixinSet=t}return _}};