layer at (0,0) size 785x777
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x777
  RenderBlock {HTML} at (0,0) size 785x777
    RenderBody {BODY} at (8,8) size 769x761 [bgcolor=#008000]
      RenderBlock {P} at (0,0) size 769x20
        RenderText {#text} at (0,0) size 337x19
          text run at (0,0) width 337: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,36) size 769x64
        RenderText {#text} at (0,0) size 648x64
          text run at (0,0) width 648: "BODY {background: green url(../resources/oransqr.gif) repeat-x center top fixed;}"
          text run at (0,16) width 568: ".one {background: lime url(../resources/oransqr.gif) repeat-y 100% 0%;}"
          text run at (0,32) width 592: ".two {background: lime url(../resources/oransqr.gif) repeat-y center top;}"
          text run at (0,48) width 592: ".three {background: lime url(../resources/oransqr.gif) repeat-x left top;}"
      RenderBlock {HR} at (0,113) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 769x60
        RenderText {#text} at (0,0) size 695x19
          text run at (0,0) width 695: "This document should have a green background with an orange strip running across the entire top of the page, since "
        RenderInline {CODE} at (0,0) size 64x16
          RenderText {#text} at (695,3) size 64x16
            text run at (695,3) width 64: "repeat-x"
        RenderText {#text} at (0,20) size 746x39
          text run at (0,20) width 276: "indicates tiling in both directions of the x-axis. "
          text run at (276,20) width 284: "Furthermore, the strip should be fixed in place. "
          text run at (560,20) width 186: "I'll have to add extra text at the"
          text run at (0,40) width 369: "end of this page to make it long enough to scroll conveniently."
      RenderBlock {P} at (0,207) size 769x60 [bgcolor=#00FF00]
        RenderText {#text} at (0,0) size 756x59
          text run at (0,0) width 709: "This paragraph should have a lime background and an orange strip which starts at the top right and runs to the bottom."
          text run at (0,20) width 756: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling these"
          text run at (0,40) width 80: "declarations. "
          text run at (80,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
      RenderBlock {P} at (0,283) size 769x60 [bgcolor=#00FF00]
        RenderText {#text} at (0,0) size 756x59
          text run at (0,0) width 720: "This paragraph should have a lime background and an orange strip which starts at the center top and runs to the bottom."
          text run at (0,20) width 756: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling these"
          text run at (0,40) width 80: "declarations. "
          text run at (80,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
      RenderBlock {P} at (0,359) size 769x60 [bgcolor=#00FF00]
        RenderText {#text} at (0,0) size 756x59
          text run at (0,0) width 708: "This paragraph should have a lime background and an orange strip which starts at the top left and runs to the top right."
          text run at (0,20) width 756: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling these"
          text run at (0,40) width 80: "declarations. "
          text run at (80,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
      RenderTable {TABLE} at (0,435) size 769x326 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x324
          RenderTableRow {TR} at (0,0) size 767x28
            RenderTableCell {TD} at (0,0) size 767x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 159x19
                RenderText {#text} at (4,4) size 159x19
                  text run at (4,4) width 159: "TABLE Testing Section"
          RenderTableRow {TR} at (0,28) size 767x296
            RenderTableCell {TD} at (0,162) size 12x28 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x19
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,28) size 755x296 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x60
                RenderText {#text} at (0,0) size 691x19
                  text run at (0,0) width 691: "This document should have a green background with an orange strip running across the entire top of the page, since"
                RenderInline {CODE} at (0,0) size 64x16
                  RenderText {#text} at (0,23) size 64x16
                    text run at (0,23) width 64: "repeat-x"
                RenderText {#text} at (64,20) size 717x39
                  text run at (64,20) width 280: " indicates tiling in both directions of the x-axis. "
                  text run at (344,20) width 284: "Furthermore, the strip should be fixed in place. "
                  text run at (628,20) width 89: "I'll have to add"
                  text run at (0,40) width 466: "extra text at the end of this page to make it long enough to scroll conveniently."
              RenderBlock {P} at (4,80) size 747x60 [bgcolor=#00FF00]
                RenderText {#text} at (0,0) size 721x59
                  text run at (0,0) width 709: "This paragraph should have a lime background and an orange strip which starts at the top right and runs to the bottom."
                  text run at (0,20) width 721: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling"
                  text run at (0,40) width 115: "these declarations. "
                  text run at (115,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
              RenderBlock {P} at (4,156) size 747x60 [bgcolor=#00FF00]
                RenderText {#text} at (0,0) size 721x59
                  text run at (0,0) width 720: "This paragraph should have a lime background and an orange strip which starts at the center top and runs to the bottom."
                  text run at (0,20) width 721: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling"
                  text run at (0,40) width 115: "these declarations. "
                  text run at (115,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
              RenderBlock {P} at (4,232) size 747x60 [bgcolor=#00FF00]
                RenderText {#text} at (0,0) size 721x59
                  text run at (0,0) width 708: "This paragraph should have a lime background and an orange strip which starts at the top left and runs to the top right."
                  text run at (0,20) width 721: "Therefore, extra text would be in order, so that we can intelligently evaluate the performance of your browser in handling"
                  text run at (0,40) width 115: "these declarations. "
                  text run at (115,40) width 296: "Hey, I didn't say the page would be pretty, did I?"
