layer at (0,0) size 785x1046
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1046
  RenderBlock {HTML} at (0,0) size 785x1046
    RenderBody {BODY} at (8,8) size 769x1030 [bgcolor=#CCCCCC]
      RenderBlock {P} at (0,0) size 769x18
        RenderText {#text} at (0,0) size 355x17
          text run at (0,0) width 355: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x165
        RenderText {#text} at (0,0) size 240x165
          text run at (0,0) width 200: ".one {font-weight: bold;}"
          text run at (0,15) width 216: ".two {font-weight: bolder;}"
          text run at (0,30) width 240: ".three {font-weight: lighter;}"
          text run at (0,45) width 200: ".four {font-weight: 100;}"
          text run at (0,60) width 200: ".five {font-weight: 300;}"
          text run at (0,75) width 192: ".six {font-weight: 500;}"
          text run at (0,90) width 208: ".seven {font-weight: 700;}"
          text run at (0,105) width 208: ".eight {font-weight: 900;}"
          text run at (0,120) width 224: ".nine {font-weight: normal;}"
          text run at (0,135) width 200: "B {font-weight: lighter;}"
          text run at (0,150) width 0: " "
      RenderBlock {HR} at (0,212) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,230) size 769x18
        RenderText {#text} at (0,0) size 198x17
          text run at (0,0) width 198: "This sentence should be bold."
      RenderBlock {P} at (0,264) size 769x18
        RenderText {#text} at (0,0) size 300x17
          text run at (0,0) width 300: "This sentence should be bolder than normal."
      RenderBlock {H4} at (0,303) size 769x19
        RenderText {#text} at (0,0) size 131x17
          text run at (0,0) width 131: "This is a heading-4."
      RenderBlock {H4} at (0,342) size 769x19
        RenderText {#text} at (0,0) size 179x17
          text run at (0,0) width 179: "This is a bolder heading-4."
      RenderBlock {P} at (0,381) size 769x19
        RenderInline {B} at (0,0) size 353x17
          RenderText {#text} at (0,0) size 353x17
            text run at (0,0) width 353: "This sentence should be normal (boldface made lighter)."
        RenderText {#text} at (0,0) size 0x0
      RenderBlock {P} at (0,415) size 769x19
        RenderText {#text} at (0,0) size 230x17
          text run at (0,0) width 230: "This sentence should be weight 100."
      RenderBlock {P} at (0,449) size 769x19
        RenderText {#text} at (0,0) size 230x17
          text run at (0,0) width 230: "This sentence should be weight 300."
      RenderBlock {P} at (0,483) size 769x19
        RenderText {#text} at (0,0) size 230x17
          text run at (0,0) width 230: "This sentence should be weight 500."
      RenderBlock {P} at (0,517) size 769x19
        RenderText {#text} at (0,0) size 241x17
          text run at (0,0) width 241: "This sentence should be weight 700."
      RenderBlock {P} at (0,551) size 769x19
        RenderText {#text} at (0,0) size 241x17
          text run at (0,0) width 241: "This sentence should be weight 900."
      RenderBlock {P} at (0,585) size 769x19
        RenderText {#text} at (0,0) size 493x17
          text run at (0,0) width 493: "This sentence should be bold, but the last word in the sentence should be "
        RenderInline {SPAN} at (0,0) size 44x17
          RenderText {#text} at (493,0) size 44x17
            text run at (493,0) width 44: "normal"
        RenderText {#text} at (537,0) size 4x17
          text run at (537,0) width 4: "."
      RenderTable {TABLE} at (0,619) size 563x411 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 561x408
          RenderTableRow {TR} at (0,0) size 561x26
            RenderTableCell {TD} at (0,0) size 561x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x17
                RenderText {#text} at (4,4) size 163x17
                  text run at (4,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 561x382
            RenderTableCell {TD} at (0,203) size 12x27 [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,5) width 4: " "
            RenderTableCell {TD} at (12,26) size 549x382 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 541x18
                RenderText {#text} at (0,0) size 198x17
                  text run at (0,0) width 198: "This sentence should be bold."
              RenderBlock {P} at (4,38) size 541x18
                RenderText {#text} at (0,0) size 300x17
                  text run at (0,0) width 300: "This sentence should be bolder than normal."
              RenderBlock {H4} at (4,77) size 541x19
                RenderText {#text} at (0,0) size 131x17
                  text run at (0,0) width 131: "This is a heading-4."
              RenderBlock {H4} at (4,116) size 541x19
                RenderText {#text} at (0,0) size 179x17
                  text run at (0,0) width 179: "This is a bolder heading-4."
              RenderBlock {P} at (4,155) size 541x19
                RenderInline {B} at (0,0) size 353x17
                  RenderText {#text} at (0,0) size 353x17
                    text run at (0,0) width 353: "This sentence should be normal (boldface made lighter)."
                RenderText {#text} at (0,0) size 0x0
              RenderBlock {P} at (4,189) size 541x19
                RenderText {#text} at (0,0) size 230x17
                  text run at (0,0) width 230: "This sentence should be weight 100."
              RenderBlock {P} at (4,223) size 541x19
                RenderText {#text} at (0,0) size 230x17
                  text run at (0,0) width 230: "This sentence should be weight 300."
              RenderBlock {P} at (4,257) size 541x19
                RenderText {#text} at (0,0) size 230x17
                  text run at (0,0) width 230: "This sentence should be weight 500."
              RenderBlock {P} at (4,291) size 541x19
                RenderText {#text} at (0,0) size 241x17
                  text run at (0,0) width 241: "This sentence should be weight 700."
              RenderBlock {P} at (4,325) size 541x19
                RenderText {#text} at (0,0) size 241x17
                  text run at (0,0) width 241: "This sentence should be weight 900."
              RenderBlock {P} at (4,359) size 541x19
                RenderText {#text} at (0,0) size 493x17
                  text run at (0,0) width 493: "This sentence should be bold, but the last word in the sentence should be "
                RenderInline {SPAN} at (0,0) size 44x17
                  RenderText {#text} at (493,0) size 44x17
                    text run at (493,0) width 44: "normal"
                RenderText {#text} at (537,0) size 4x17
                  text run at (537,0) width 4: "."
