text: 
  // DOMTokenList
  (function (global) {
  	var nativeImpl = "DOMTokenList" in global && global.DOMTokenList;
  
  	if (
  			!nativeImpl ||
  			(
  				!!document.createElementNS &&
  				!!document.createElementNS('http://www.w3.org/2000/svg', 'svg') &&
  				!(document.createElementNS("http://www.w3.org/2000/svg", "svg").classList instanceof DOMTokenList)
  			)
  		) {
  		global.DOMTokenList = _DOMTokenList;
  	}
  
  	// Add second argument to native DOMTokenList.toggle() if necessary
  	(function () {
  		var e = document.createElement('span');
  		if (!('classList' in e)) return;
  		e.classList.toggle('x', false);
  		if (!e.classList.contains('x')) return;
  		e.classList.constructor.prototype.toggle = function toggle(token /*, force*/) {
  			var force = arguments[1];
  			if (force === undefined) {
  				var add = !this.contains(token);
  				this[add ? 'add' : 'remove'](token);
  				return add;
  			}
  			force = !!force;
  			this[force ? 'add' : 'remove'](token);
  			return force;
  		};
  	}());
  
  	// Add multiple arguments to native DOMTokenList.add() if necessary
  	(function () {
  		var e = document.createElement('span');
  		if (!('classList' in e)) return;
  		e.classList.add('a', 'b');
  		if (e.classList.contains('b')) return;
  		var native = e.classList.constructor.prototype.add;
  		e.classList.constructor.prototype.add = function () {
  			var args = arguments;
  			var l = arguments.length;
  			for (var i = 0; i < l; i++) {
  				native.call(this, args[i]);
  			}
  		};
  	}());
  
  	// Add multiple arguments to native DOMTokenList.remove() if necessary
  	(function () {
  		var e = document.createElement('span');
  		if (!('classList' in e)) return;
  		e.classList.add('a');
  		e.classList.add('b');
  		e.classList.remove('a', 'b');
  		if (!e.classList.contains('b')) return;
  		var native = e.classList.constructor.prototype.remove;
  		e.classList.constructor.prototype.remove = function () {
  			var args = arguments;
  			var l = arguments.length;
  			for (var i = 0; i < l; i++) {
  				native.call(this, args[i]);
  			}
  		};
  	}());
  
  }(this));
  