layer at (0,0) size 785x961
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x961
  RenderBlock {HTML} at (0,0) size 785x961
    RenderBody {BODY} at (8,8) size 769x945 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x60
        RenderText {#text} at (0,0) size 164x60
          text run at (0,0) width 149: ".one {clear: left;}"
          text run at (148,0) width 1: " "
          text run at (0,15) width 157: ".two {clear: right;}"
          text run at (156,15) width 1: " "
          text run at (0,30) width 164: ".three {clear: both;}"
          text run at (163,30) width 1: " "
          text run at (0,45) width 157: ".four {clear: none;}"
          text run at (156,45) width 1: " "
      RenderBlock {HR} at (0,107) size 769x2 [border: (1px inset #000000)]
      RenderImage {IMG} at (0,117) size 15x50
      RenderBlock {P} at (0,125) size 769x18
        RenderText {#text} at (18,0) size 605x18
          text run at (18,0) width 605: "This text should be flowing past a tall orange rectangle on the left side of the browser window."
      RenderBlock (anonymous) at (0,159) size 769x18
        RenderBR {BR} at (18,0) size 0x18
        RenderImage {IMG} at (0,18) size 15x50
      RenderBlock {P} at (0,227) size 769x18
        RenderText {#text} at (0,0) size 661x18
          text run at (0,0) width 661: "This paragraph should appear below the tall orange rectangle above and to the left, and not flow past it."
      RenderBlock (anonymous) at (0,261) size 769x18
        RenderBR {BR} at (0,0) size 0x18
        RenderImage {IMG} at (754,18) size 15x50
      RenderBlock {P} at (0,329) size 769x18
        RenderText {#text} at (0,0) size 670x18
          text run at (0,0) width 670: "This paragraph should appear below the tall orange rectangle above and to the right, and not flow past it."
      RenderBlock (anonymous) at (0,363) size 769x18
        RenderBR {BR} at (0,0) size 0x18
        RenderImage {IMG} at (0,18) size 15x50
        RenderImage {IMG} at (754,18) size 15x50
      RenderBlock {P} at (0,431) size 769x18
        RenderText {#text} at (0,0) size 611x18
          text run at (0,0) width 611: "This paragraph should appear below the two tall orange rectangles, and not flow between them."
      RenderImage {IMG} at (0,465) size 15x50
      RenderImage {IMG} at (754,465) size 15x50
      RenderBlock {P} at (0,465) size 769x18
        RenderText {#text} at (18,0) size 397x18
          text run at (18,0) width 397: "This paragraph should be between both tall orange rectangles."
      RenderBlock (anonymous) at (0,499) size 769x18
        RenderBR {BR} at (18,0) size 0x18
      RenderTable {TABLE} at (0,517) size 692x428 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 690x426
          RenderTableRow {TR} at (0,0) size 690x26
            RenderTableCell {TD} at (0,0) size 690x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x18
                RenderText {#text} at (4,4) size 161x18
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 690x400
            RenderTableCell {TD} at (0,213) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x18
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 678x400 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderImage {IMG} at (4,4) size 15x50
              RenderBlock {P} at (4,4) size 670x18
                RenderText {#text} at (18,0) size 605x18
                  text run at (18,0) width 605: "This text should be flowing past a tall orange rectangle on the left side of the browser window."
              RenderBlock (anonymous) at (4,38) size 670x18
                RenderBR {BR} at (18,0) size 0x18
                RenderImage {IMG} at (0,18) size 15x50
              RenderBlock {P} at (4,106) size 670x18
                RenderText {#text} at (0,0) size 661x18
                  text run at (0,0) width 661: "This paragraph should appear below the tall orange rectangle above and to the left, and not flow past it."
              RenderBlock (anonymous) at (4,140) size 670x18
                RenderBR {BR} at (0,0) size 0x18
                RenderImage {IMG} at (654,18) size 16x50
              RenderBlock {P} at (4,208) size 670x18
                RenderText {#text} at (0,0) size 670x18
                  text run at (0,0) width 670: "This paragraph should appear below the tall orange rectangle above and to the right, and not flow past it."
              RenderBlock (anonymous) at (4,242) size 670x18
                RenderBR {BR} at (0,0) size 0x18
                RenderImage {IMG} at (0,18) size 15x50
                RenderImage {IMG} at (654,18) size 16x50
              RenderBlock {P} at (4,310) size 670x18
                RenderText {#text} at (0,0) size 611x18
                  text run at (0,0) width 611: "This paragraph should appear below the two tall orange rectangles, and not flow between them."
              RenderImage {IMG} at (4,344) size 15x50
              RenderImage {IMG} at (658,344) size 16x50
              RenderBlock {P} at (4,344) size 670x18
                RenderText {#text} at (18,0) size 397x18
                  text run at (18,0) width 397: "This paragraph should be between both tall orange rectangles."
              RenderBlock (anonymous) at (4,378) size 670x18
                RenderBR {BR} at (18,0) size 0x18
