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 [color=#000080]
        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 784x64
        RenderText {#text} at (0,0) size 472x64
          text run at (0,0) width 288: "P {color: navy; font-family: serif;}"
          text run at (0,16) width 472: "HTML BODY TABLE P {color: purple; font-family: sans-serif;}"
          text run at (0,32) width 224: "EM, UL LI LI {color: green;}"
          text run at (0,48) width 0: " "
      RenderBlock {HR} at (0,113) size 784x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,131) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 591x19
          text run at (0,0) width 591: "This sentence should be navy serif in the first half of the page, but purple and sans-serif in the table."
      RenderBlock {P} at (0,167) size 784x20 [color=#000080]
        RenderText {#text} at (0,0) size 532x19
          text run at (0,0) width 532: "This sentence should be normal for its section, except for the last word, which should be "
        RenderInline {EM} at (0,0) size 36x19 [color=#008000]
          RenderText {#text} at (532,0) size 36x19
            text run at (532,0) width 36: "green"
        RenderText {#text} at (568,0) size 4x19
          text run at (568,0) width 4: "."
      RenderBlock {UL} at (0,203) size 784x40
        RenderListItem {LI} at (40,0) size 744x40
          RenderBlock (anonymous) at (0,0) size 744x20
            RenderListMarker at (-18,0) size 7x19: bullet
            RenderInline {EM} at (0,0) size 38x19 [color=#008000]
              RenderText {#text} at (0,0) size 38x19
                text run at (0,0) width 38: "Hello."
            RenderText {#text} at (38,0) size 376x19
              text run at (38,0) width 4: " "
              text run at (42,0) width 372: "The first \"hello\" should be green, but this part should be black."
          RenderBlock {UL} at (0,20) size 744x20
            RenderListItem {LI} at (40,0) size 704x20 [color=#008000]
              RenderListMarker at (-18,0) size 7x19: white bullet
              RenderText {#text} at (0,0) size 128x19
                text run at (0,0) width 128: "This should be green."
      RenderTable {TABLE} at (0,259) size 699x165 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 697x163
          RenderTableRow {TR} at (0,0) size 697x28
            RenderTableCell {TD} at (0,0) size 697x28 [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 697x135
            RenderTableCell {TD} at (0,81) size 12x29 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x20
                text run at (4,5) width 4: " "
            RenderTableCell {TD} at (12,28) size 685x135 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 677x19 [color=#800080]
                RenderText {#text} at (0,0) size 677x18
                  text run at (0,0) width 677: "This sentence should be navy serif in the first half of the page, but purple and sans-serif in the table."
              RenderBlock {P} at (4,39) size 677x20 [color=#800080]
                RenderText {#text} at (0,1) size 603x18
                  text run at (0,1) width 603: "This sentence should be normal for its section, except for the last word, which should be "
                RenderInline {EM} at (0,0) size 41x19 [color=#008000]
                  RenderText {#text} at (603,0) size 41x19
                    text run at (603,0) width 41: "green"
                RenderText {#text} at (644,1) size 4x18
                  text run at (644,1) width 4: "."
              RenderBlock {UL} at (4,75) size 677x40
                RenderListItem {LI} at (40,0) size 637x40
                  RenderBlock (anonymous) at (0,0) size 637x20
                    RenderListMarker at (-18,0) size 7x19: bullet
                    RenderInline {EM} at (0,0) size 38x19 [color=#008000]
                      RenderText {#text} at (0,0) size 38x19
                        text run at (0,0) width 38: "Hello."
                    RenderText {#text} at (38,0) size 376x19
                      text run at (38,0) width 4: " "
                      text run at (42,0) width 372: "The first \"hello\" should be green, but this part should be black."
                  RenderBlock {UL} at (0,20) size 637x20
                    RenderListItem {LI} at (40,0) size 597x20 [color=#008000]
                      RenderListMarker at (-18,0) size 7x19: white bullet
                      RenderText {#text} at (0,0) size 128x19
                        text run at (0,0) width 128: "This should be green."
