<script>
onload = parent.t.step_func(function() {
  document.open()
  setTimeout(parent.t.step_func(function() {parent.t.done()}), 0);
  document.close();
});
</script>
