/*
 * 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(){

// bootstrap parsing

function bootstrap() {
  // go async so call stack can unwind
  setTimeout(function() {
    // parse document
    CustomElements.parser.parse(document);
    // one more pass before register is 'live'
    CustomElements.upgradeDocument(document);  
    // set internal 'ready' flag, now document.register will trigger synchronous upgrades
    CustomElements.ready = true;
    // capture blunt profiling data
    CustomElements.readyTime = new Date().getTime();
    if (window.HTMLImports) {
      CustomElements.elapsed = CustomElements.readyTime - HTMLImports.readyTime;
    }
    // notify the system that we are bootstrapped
    document.body.dispatchEvent(
      new CustomEvent('WebComponentsReady', {bubbles: true})
    );
  }, 0);
}

// CustomEvent shim for IE
if (typeof window.CustomEvent !== 'function') {
  window.CustomEvent = function(inType) {
     var e = document.createEvent('HTMLEvents');
     e.initEvent(inType, true, true);
     return e;
  };
}

var loadEvent = window.HTMLImports ? 'HTMLImportsLoaded' : 'DOMContentLoaded';

if (document.readyState === 'complete') {
  boostrap();
} else {
  window.addEventListener(loadEvent, bootstrap);
}

})();

@@ -517,16 +517,24 @@
 trigger 
+%0A    // 
 synchron
@@ -1175,16 +1175,84 @@
   %7D;%0A%7D%0A%0A
+if (document.readyState === 'complete') %7B%0A  bootstrap();%0A%7D else %7B%0A  
 var load
@@ -1325,74 +1325,8 @@
 ed';
-%0A%0Aif (document.readyState === 'complete') %7B%0A  boostrap();%0A%7D else %7B
 %0A  w

fix typos