layer at (0,0) size 785x1533
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1533
  RenderBlock {HTML} at (0,0) size 785x1533
    RenderBody {BODY} at (8,8) size 769x1517 [bgcolor=#CCCCCC]
      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 769x272
        RenderText {#text} at (0,0) size 688x272
          text run at (0,0) width 648: "BODY {background-image: url(../resources/bg.gif); background-position: right top;"
          text run at (648,0) width 0: " "
          text run at (0,16) width 288: "      background-repeat: no-repeat;}"
          text run at (288,16) width 0: " "
          text run at (0,32) width 624: ".one {background-image: url(../resources/bg.gif); background-position: center;"
          text run at (624,32) width 0: " "
          text run at (0,48) width 480: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (480,48) width 0: " "
          text run at (0,64) width 632: ".two {background-image: url(../resources/bg.gif); background-position: 50% 50%;"
          text run at (632,64) width 0: " "
          text run at (0,80) width 480: "      background-repeat: no-repeat; background-color: aqua;}"
          text run at (480,80) width 0: " "
          text run at (0,96) width 688: ".three {background-image: url(../resources/bg.gif); background-position: bottom right;"
          text run at (688,96) width 0: " "
          text run at (0,112) width 496: "        background-repeat: no-repeat; background-color: aqua;}"
          text run at (496,112) width 0: " "
          text run at (0,128) width 656: ".four {background-image: url(../resources/bg.gif); background-position: 100% 100%;"
          text run at (656,128) width 0: " "
          text run at (0,144) width 488: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (488,144) width 0: " "
          text run at (0,160) width 632: ".five {background-image: url(../resources/bg.gif); background-position: 0% 50%;"
          text run at (632,160) width 0: " "
          text run at (0,176) width 488: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (488,176) width 0: " "
          text run at (0,192) width 632: ".six {background-image: url(../resources/bg.gif); background-position: 75% 25%;"
          text run at (632,192) width 0: " "
          text run at (0,208) width 488: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (488,208) width 0: " "
          text run at (0,224) width 664: ".seven {background-image: url(../resources/bg.gif); background-position: 20px 20px;"
          text run at (664,224) width 0: " "
          text run at (0,240) width 488: "       background-repeat: no-repeat; background-color: aqua;}"
          text run at (488,240) width 0: " "
          text run at (0,256) width 0: " "
      RenderBlock {HR} at (0,321) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,339) size 769x20
        RenderText {#text} at (0,0) size 472x19
          text run at (0,0) width 472: "This document should have a single, small green image in its upper right corner."
      RenderBlock {P} at (0,375) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x59
          text run at (0,0) width 764: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be fixed at the"
          text run at (0,20) width 148: "center of the paragraph. "
          text run at (148,20) width 612: "The background color will make it easier to determine the edges of the paragraph, and therefore allow"
          text run at (0,40) width 156: "you to calculate its center."
      RenderBlock {P} at (0,451) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 764x59
          text run at (0,0) width 764: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be fixed at the"
          text run at (0,20) width 148: "center of the paragraph. "
          text run at (148,20) width 612: "The background color will make it easier to determine the edges of the paragraph, and therefore allow"
          text run at (0,40) width 156: "you to calculate its center."
      RenderBlock {P} at (0,527) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x59
          text run at (0,0) width 728: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the image"
          text run at (0,20) width 350: "should be fixed at the lower right corner of the paragraph. "
          text run at (350,20) width 401: "The background color will make it easier to determine the edges of"
          text run at (0,40) width 343: "the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,603) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 751x59
          text run at (0,0) width 728: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the image"
          text run at (0,20) width 350: "should be fixed at the lower right corner of the paragraph. "
          text run at (350,20) width 401: "The background color will make it easier to determine the edges of"
          text run at (0,40) width 343: "the paragraph, and therefore allow you to see its corners."
      RenderBlock {P} at (0,679) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 758x59
          text run at (0,0) width 744: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image should be"
          text run at (0,20) width 240: "fixed at the left center of the paragraph. "
          text run at (240,20) width 518: "The background color will make it easier to determine the edges of the paragraph, and"
          text run at (0,40) width 250: "therefore allow you to calculate its center."
      RenderBlock {P} at (0,755) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 750x59
          text run at (0,0) width 717: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25% down. "
          text run at (717,0) width 23: "The"
          text run at (0,20) width 750: "background color will make it easier to determine the edges of the paragraph, which should help in determining if all this is so,"
          text run at (0,40) width 557: "and the extra text should make the element long enough for this test to be simpler to evaluate."
      RenderBlock {P} at (0,831) size 769x60 [bgcolor=#00FFFF]
        RenderText {#text} at (0,0) size 757x59
          text run at (0,0) width 756: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-hand corner;"
          text run at (0,20) width 757: "that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-left corner of the element."
          text run at (0,40) width 740: "The background color will make it easier to determine the edges of the paragraph, which should assist in evaluating this test."
      RenderTable {TABLE} at (0,907) size 769x610 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x608
          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 767x580
            RenderTableCell {TD} at (0,304) 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 755x580 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x20
                RenderText {#text} at (0,0) size 472x19
                  text run at (0,0) width 472: "This document should have a single, small green image in its upper right corner."
              RenderBlock {P} at (4,40) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 746x59
                  text run at (0,0) width 742: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be fixed at"
                  text run at (0,20) width 170: "the center of the paragraph. "
                  text run at (170,20) width 576: "The background color will make it easier to determine the edges of the paragraph, and therefore"
                  text run at (0,40) width 192: "allow you to calculate its center."
              RenderBlock {P} at (4,116) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 746x59
                  text run at (0,0) width 742: "This paragraph should have a single, small green image exactly in its center; that is, the center of the image should be fixed at"
                  text run at (0,20) width 170: "the center of the paragraph. "
                  text run at (170,20) width 576: "The background color will make it easier to determine the edges of the paragraph, and therefore"
                  text run at (0,40) width 192: "allow you to calculate its center."
              RenderBlock {P} at (4,192) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 735x59
                  text run at (0,0) width 728: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the image"
                  text run at (0,20) width 350: "should be fixed at the lower right corner of the paragraph. "
                  text run at (350,20) width 385: "The background color will make it easier to determine the edges"
                  text run at (0,40) width 359: "of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,268) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 735x59
                  text run at (0,0) width 728: "This paragraph should have a single, small green image in its lower-right corner; that is, the lower right corner of the image"
                  text run at (0,20) width 350: "should be fixed at the lower right corner of the paragraph. "
                  text run at (350,20) width 385: "The background color will make it easier to determine the edges"
                  text run at (0,40) width 359: "of the paragraph, and therefore allow you to see its corners."
              RenderBlock {P} at (4,344) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 744x59
                  text run at (0,0) width 744: "This paragraph should have a single, small green image exactly at the left center; that is, the left center of the image should be"
                  text run at (0,20) width 240: "fixed at the left center of the paragraph. "
                  text run at (240,20) width 492: "The background color will make it easier to determine the edges of the paragraph,"
                  text run at (0,40) width 276: "and therefore allow you to calculate its center."
              RenderBlock {P} at (4,420) size 747x60 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 740x59
                  text run at (0,0) width 717: "This paragraph should have a single, small green image positioned 75% of the way across the element, and 25% down. "
                  text run at (717,0) width 23: "The"
                  text run at (0,20) width 728: "background color will make it easier to determine the edges of the paragraph, which should help in determining if all this is"
                  text run at (0,40) width 579: "so, and the extra text should make the element long enough for this test to be simpler to evaluate."
              RenderBlock {P} at (4,496) size 747x80 [bgcolor=#00FFFF]
                RenderText {#text} at (0,0) size 728x79
                  text run at (0,0) width 709: "This paragraph should have a single, small green image positioned 20 pixels down and to the left of the upper left-hand"
                  text run at (0,20) width 728: "corner; that is, the upper left-hand corner of the image should be 20 pixels down and to the left of the upper-left corner of"
                  text run at (0,40) width 76: "the element. "
                  text run at (76,40) width 624: "The background color will make it easier to determine the edges of the paragraph, which should assist in"
                  text run at (0,60) width 112: "evaluating this test."
