layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderBlock {HTML} at (0,0) size 800x600
    RenderBody {BODY} at (8,8) size 784x584
      RenderText {#text} at (0,0) size 244x18
        text run at (0,0) width 244: "The two blue boxes should be aligned."
      RenderBR {BR} at (244,14) size 0x0
      RenderText {#text} at (0,18) size 237x18
        text run at (0,18) width 237: "The two red boxes should be aligned."
      RenderBR {BR} at (237,32) size 0x0
      RenderText {#text} at (0,36) size 338x18
        text run at (0,36) width 338: "The text in the blue boxes should be on the same line."
      RenderBR {BR} at (338,50) size 0x0
      RenderText {#text} at (0,54) size 331x18
        text run at (0,54) width 331: "The text in the red boxes should be on the same line."
      RenderBR {BR} at (331,68) size 0x0
      RenderText {#text} at (0,72) size 633x18
        text run at (0,72) width 633: "The top of the first red box should line up with the bottom of the second last line of the last blue box."
      RenderBR {BR} at (633,86) size 0x0
      RenderBlock {P} at (0,90) size 67x76 [border: (2px solid #0000FF)]
        RenderText {#text} at (2,2) size 63x18
          text run at (2,2) width 63: "All on the"
        RenderBR {BR} at (65,16) size 0x0
        RenderText {#text} at (2,20) size 63x18
          text run at (2,20) width 63: "All on the"
        RenderBR {BR} at (65,34) size 0x0
        RenderText {#text} at (2,38) size 63x18
          text run at (2,38) width 63: "All on the"
        RenderBR {BR} at (65,52) size 0x0
        RenderText {#text} at (2,56) size 63x18
          text run at (2,56) width 63: "All on the"
      RenderText {#text} at (67,146) size 4x18
        text run at (67,146) width 4: " "
      RenderBlock {P} at (71,90) size 67x76 [border: (2px solid #0000FF)]
        RenderBlock {SPAN} at (2,2) size 63x72
          RenderText {#text} at (0,0) size 63x18
            text run at (0,0) width 63: "same line."
          RenderBR {BR} at (63,14) size 0x0
          RenderText {#text} at (0,18) size 63x18
            text run at (0,18) width 63: "same line."
          RenderBR {BR} at (63,32) size 0x0
          RenderText {#text} at (0,36) size 63x18
            text run at (0,36) width 63: "same line."
          RenderBR {BR} at (63,50) size 0x0
          RenderText {#text} at (0,54) size 63x18
            text run at (0,54) width 63: "same line."
      RenderText {#text} at (138,146) size 4x18
        text run at (138,146) width 4: " "
      RenderTable {TABLE} at (142,140) size 67x76 [border: (2px solid #FF0000)]
        RenderTableSection {TBODY} at (2,2) size 63x72
          RenderTableRow {TR} at (0,0) size 63x18
            RenderTableCell {TD} at (0,0) size 63x18 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 63x18
                text run at (0,0) width 63: "All on the"
          RenderTableRow {TR} at (0,18) size 63x18
            RenderTableCell {TD} at (0,18) size 63x18 [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 63x18
                text run at (0,0) width 63: "All on the"
          RenderTableRow {TR} at (0,36) size 63x18
            RenderTableCell {TD} at (0,36) size 63x18 [r=2 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 63x18
                text run at (0,0) width 63: "All on the"
          RenderTableRow {TR} at (0,54) size 63x18
            RenderTableCell {TD} at (0,54) size 63x18 [r=3 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 63x18
                text run at (0,0) width 63: "All on the"
      RenderText {#text} at (209,146) size 4x18
        text run at (209,146) width 4: " "
      RenderTable {TABLE} at (213,140) size 71x76 [border: (2px solid #FF0000)]
        RenderTableSection {TBODY} at (2,2) size 67x72
          RenderTableRow {TR} at (0,0) size 67x18
            RenderTableCell {TD} at (0,0) size 67x18 [r=0 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 67x18
                text run at (0,0) width 67: "same line. "
          RenderTableRow {TR} at (0,18) size 67x18
            RenderTableCell {TD} at (0,18) size 67x18 [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 67x18
                text run at (0,0) width 67: "same line. "
          RenderTableRow {TR} at (0,36) size 67x18
            RenderTableCell {TD} at (0,36) size 67x18 [r=2 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 67x18
                text run at (0,0) width 67: "same line. "
          RenderTableRow {TR} at (0,54) size 67x18
            RenderTableCell {TD} at (0,54) size 67x18 [r=3 c=0 rs=1 cs=1]
              RenderText {#text} at (0,0) size 63x18
                text run at (0,0) width 63: "same line."
      RenderText {#text} at (0,0) size 0x0
