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 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 784x20
        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 784x32
        RenderText {#text} at (0,0) size 552x32
          text run at (0,0) width 552: ".one {margin-right: 25px; text-align: right; background-color: aqua;}"
          text run at (552,0) width 0: " "
          text run at (0,16) width 408: ".two {margin-right: -10px; background-color: aqua;}"
          text run at (408,16) width 0: " "
      RenderBlock {HR} at (0,81) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,99) size 784x40 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 515x19
          text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
          text run at (369,0) width 146: "However, it contains an "
        RenderInline {SPAN} at (0,0) size 157x19 [bgcolor=#00FFFF]
          RenderText {#text} at (515,0) size 133x19
            text run at (515,0) width 133: "inline element of class "
          RenderInline {TT} at (0,0) size 24x16
            RenderText {#text} at (648,3) size 24x16
              text run at (648,3) width 24: "one"
        RenderText {#text} at (697,0) size 783x39
          text run at (697,0) width 86: ", which should"
          text run at (0,20) width 243: "result in 25-pixel right margin only in the "
        RenderInline {STRONG} at (0,0) size 24x19
          RenderText {#text} at (243,20) size 24x19
            text run at (243,20) width 24: "last"
        RenderText {#text} at (267,20) size 216x19
          text run at (267,20) width 216: " line in which the inline box appears."
      RenderBlock {P} at (0,155) size 784x40 [bgcolor=#808080]
        RenderText {#text} at (0,0) size 515x19
          text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
          text run at (369,0) width 146: "However, it contains an "
        RenderInline {SPAN} at (0,0) size 157x19 [bgcolor=#00FFFF]
          RenderText {#text} at (515,0) size 133x19
            text run at (515,0) width 133: "inline element of class "
          RenderInline {TT} at (0,0) size 24x16
            RenderText {#text} at (648,3) size 24x16
              text run at (648,3) width 24: "two"
        RenderText {#text} at (662,0) size 784x39
          text run at (662,0) width 122: ", which should result"
          text run at (0,20) width 194: "in -10px right margin only in the "
        RenderInline {STRONG} at (0,0) size 24x19
          RenderText {#text} at (194,20) size 24x19
            text run at (194,20) width 24: "last"
        RenderText {#text} at (218,20) size 216x19
          text run at (218,20) width 216: " line in which the inline box appears."
      RenderTable {TABLE} at (0,211) size 784x134 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 782x132
          RenderTableRow {TR} at (0,0) size 782x28
            RenderTableCell {TD} at (0,0) size 782x28 [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 782x104
            RenderTableCell {TD} at (0,66) 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 770x104 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 762x40 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 515x19
                  text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
                  text run at (369,0) width 146: "However, it contains an "
                RenderInline {SPAN} at (0,0) size 157x19 [bgcolor=#00FFFF]
                  RenderText {#text} at (515,0) size 133x19
                    text run at (515,0) width 133: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x16
                    RenderText {#text} at (648,3) size 24x16
                      text run at (648,3) width 24: "one"
                RenderText {#text} at (697,0) size 740x39
                  text run at (697,0) width 43: ", which"
                  text run at (0,20) width 286: "should result in 25-pixel right margin only in the "
                RenderInline {STRONG} at (0,0) size 24x19
                  RenderText {#text} at (286,20) size 24x19
                    text run at (286,20) width 24: "last"
                RenderText {#text} at (310,20) size 216x19
                  text run at (310,20) width 216: " line in which the inline box appears."
              RenderBlock {P} at (4,60) size 762x40 [bgcolor=#808080]
                RenderText {#text} at (0,0) size 515x19
                  text run at (0,0) width 369: "This element is unstyled save for a background color of gray. "
                  text run at (369,0) width 146: "However, it contains an "
                RenderInline {SPAN} at (0,0) size 157x19 [bgcolor=#00FFFF]
                  RenderText {#text} at (515,0) size 133x19
                    text run at (515,0) width 133: "inline element of class "
                  RenderInline {TT} at (0,0) size 24x16
                    RenderText {#text} at (648,3) size 24x16
                      text run at (648,3) width 24: "two"
                RenderText {#text} at (662,0) size 748x39
                  text run at (662,0) width 86: ", which should"
                  text run at (0,20) width 230: "result in -10px right margin only in the "
                RenderInline {STRONG} at (0,0) size 24x19
                  RenderText {#text} at (230,20) size 24x19
                    text run at (230,20) width 24: "last"
                RenderText {#text} at (254,20) size 216x19
                  text run at (254,20) width 216: " line in which the inline box appears."
