layer at (0,0) size 785x961
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x961
  RenderBlock {HTML} at (0,0) size 785x961
    RenderBody {BODY} at (8,8) size 769x945 [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 769x150
        RenderText {#text} at (0,0) size 728x150
          text run at (0,0) width 624: "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"linktest.css\" title=\"Default SS\">"
          text run at (624,0) width 0: " "
          text run at (0,15) width 728: "<LINK rel=\"alternate stylesheet\" type=\"text/css\" href=\"linktest2.css\" title=\"Alternate SS\">"
          text run at (728,15) width 0: " "
          text run at (0,30) width 208: "@import url(imptest1.css);"
          text run at (208,30) width 0: " "
          text run at (0,45) width 192: "@import \"imptest1a.css\";"
          text run at (192,45) width 0: " "
          text run at (0,60) width 128: "UL {color: red;}"
          text run at (128,60) width 0: " "
          text run at (0,75) width 176: ".four {color: purple;}"
          text run at (176,75) width 0: " "
          text run at (0,90) width 208: "@import url(imptest2.css);"
          text run at (208,90) width 0: " "
          text run at (0,105) width 32: "<!--"
          text run at (32,105) width 0: " "
          text run at (0,120) width 168: "P.six {color: green;}"
          text run at (168,120) width 0: " "
          text run at (0,135) width 24: "-->"
          text run at (24,135) width 0: " "
      RenderBlock {HR} at (0,197) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,215) size 769x18
        RenderText {#text} at (0,0) size 404x17
          text run at (0,0) width 404: "This sentence should be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 96x15
          RenderText {#text} at (404,3) size 96x15
            text run at (404,3) width 96: "linktest.css"
        RenderText {#text} at (500,0) size 254x17
          text run at (500,0) width 254: ", the reference to which is shown above."
      RenderBlock {P} at (0,249) size 769x36
        RenderText {#text} at (0,0) size 442x17
          text run at (0,0) width 442: "This sentence should NOT be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 105x15
          RenderText {#text} at (441,3) size 105x15
            text run at (441,3) width 105: "linktest2.css"
        RenderText {#text} at (545,0) size 9x17
          text run at (545,0) width 9: ", "
        RenderInline {STRONG} at (0,0) size 42x17
          RenderText {#text} at (553,0) size 42x17
            text run at (553,0) width 42: "unless"
        RenderText {#text} at (594,0) size 741x35
          text run at (594,0) width 147: " the external style sheet"
          text run at (0,18) width 325: "\"Alternate SS\" has been selected via the user agent."
      RenderBlock {UL} at (0,301) size 769x54 [color=#FF0000]
        RenderListItem {LI} at (40,0) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 390x17
            text run at (0,0) width 390: "This sentence should be green due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 208x15
            RenderText {#text} at (390,3) size 208x15
              text run at (390,3) width 208: "@import url(imptest1.css);"
          RenderText {#text} at (598,0) size 9x17
            text run at (598,0) width 9: "]."
        RenderListItem {LI} at (40,18) size 729x18 [color=#800080]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 395x17
            text run at (0,0) width 395: "This sentence should be purple due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 184x15
            RenderText {#text} at (395,3) size 184x15
              text run at (395,3) width 184: "@import \"imptest1a.css\""
          RenderText {#text} at (579,0) size 9x17
            text run at (579,0) width 9: "]."
        RenderListItem {LI} at (40,36) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (0,0) size 393x17
            text run at (0,0) width 393: "This sentence should be green thanks to the STYLE attribute ["
          RenderInline {CODE} at (0,0) size 168x15
            RenderText {#text} at (393,3) size 168x15
              text run at (393,3) width 168: "STYLE=\"color: green;\""
          RenderText {#text} at (561,0) size 9x17
            text run at (561,0) width 9: "]."
      RenderBlock {P} at (0,371) size 769x18 [color=#800080]
        RenderText {#text} at (0,0) size 500x17
          text run at (0,0) width 500: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
      RenderBlock {OL} at (0,405) size 769x54
        RenderListItem {LI} at (40,0) size 729x18
          RenderListMarker at (-20,0) size 16x17: "1"
          RenderText {#text} at (0,0) size 201x17
            text run at (0,0) width 201: "This list should NOT be purple."
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x17: "2"
          RenderText {#text} at (0,0) size 172x17
            text run at (0,0) width 172: "It should, instead, be black."
        RenderListItem {LI} at (40,36) size 729x18
          RenderListMarker at (-20,0) size 16x17: "3"
          RenderText {#text} at (0,0) size 501x17
            text run at (0,0) width 501: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
      RenderBlock {P} at (0,475) size 769x36
        RenderText {#text} at (0,0) size 697x17
          text run at (0,0) width 197: "This sentence should be black. "
          text run at (197,0) width 500: "If it is red, then the browser has inappropriately imported the styles from the file"
        RenderInline {TT} at (0,0) size 96x15
          RenderText {#text} at (0,21) size 96x15
            text run at (0,21) width 96: "imptest2.css"
        RenderText {#text} at (96,18) size 33x17
          text run at (96,18) width 33: " (see "
        RenderInline {A} at (0,0) size 68x17 [color=#0000FF]
          RenderText {#text} at (129,18) size 68x17
            text run at (129,18) width 68: "section 3.0"
        RenderText {#text} at (197,18) size 275x17
          text run at (197,18) width 275: " of the CSS1 specification for more details)."
      RenderBlock {P} at (0,527) size 769x18 [color=#008000]
        RenderText {#text} at (0,0) size 203x17
          text run at (0,0) width 203: "This paragraph should be green."
      RenderTable {TABLE} at (0,561) size 769x384 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x382
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 161x17
                RenderText {#text} at (4,4) size 161x17
                  text run at (4,4) width 161: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x356
            RenderTableCell {TD} at (0,191) size 12x26 [bgcolor=#C0C0C0] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (4,4) size 4x17
                text run at (4,4) width 4: " "
            RenderTableCell {TD} at (12,26) size 755x356 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (4,4) size 747x36
                RenderText {#text} at (0,0) size 404x17
                  text run at (0,0) width 404: "This sentence should be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 96x15
                  RenderText {#text} at (404,3) size 96x15
                    text run at (404,3) width 96: "linktest.css"
                RenderText {#text} at (500,0) size 708x35
                  text run at (500,0) width 208: ", the reference to which is shown"
                  text run at (0,18) width 42: "above."
              RenderBlock {P} at (4,56) size 747x36
                RenderText {#text} at (0,0) size 442x17
                  text run at (0,0) width 442: "This sentence should NOT be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 105x15
                  RenderText {#text} at (441,3) size 105x15
                    text run at (441,3) width 105: "linktest2.css"
                RenderText {#text} at (545,0) size 9x17
                  text run at (545,0) width 9: ", "
                RenderInline {STRONG} at (0,0) size 42x17
                  RenderText {#text} at (553,0) size 42x17
                    text run at (553,0) width 42: "unless"
                RenderText {#text} at (594,0) size 741x35
                  text run at (594,0) width 147: " the external style sheet"
                  text run at (0,18) width 325: "\"Alternate SS\" has been selected via the user agent."
              RenderBlock {UL} at (4,108) size 747x54 [color=#FF0000]
                RenderListItem {LI} at (40,0) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (0,0) size 390x17
                    text run at (0,0) width 390: "This sentence should be green due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 208x15
                    RenderText {#text} at (390,3) size 208x15
                      text run at (390,3) width 208: "@import url(imptest1.css);"
                  RenderText {#text} at (598,0) size 9x17
                    text run at (598,0) width 9: "]."
                RenderListItem {LI} at (40,18) size 707x18 [color=#800080]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (0,0) size 395x17
                    text run at (0,0) width 395: "This sentence should be purple due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 184x15
                    RenderText {#text} at (395,3) size 184x15
                      text run at (395,3) width 184: "@import \"imptest1a.css\""
                  RenderText {#text} at (579,0) size 9x17
                    text run at (579,0) width 9: "]."
                RenderListItem {LI} at (40,36) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (0,0) size 393x17
                    text run at (0,0) width 393: "This sentence should be green thanks to the STYLE attribute ["
                  RenderInline {CODE} at (0,0) size 168x15
                    RenderText {#text} at (393,3) size 168x15
                      text run at (393,3) width 168: "STYLE=\"color: green;\""
                  RenderText {#text} at (561,0) size 9x17
                    text run at (561,0) width 9: "]."
              RenderBlock {P} at (4,178) size 747x18 [color=#800080]
                RenderText {#text} at (0,0) size 500x17
                  text run at (0,0) width 500: "This sentence should be purple, and it doesn't have a terminating paragraph tag."
              RenderBlock {OL} at (4,212) size 747x54
                RenderListItem {LI} at (40,0) size 707x18
                  RenderListMarker at (-20,0) size 16x17: "1"
                  RenderText {#text} at (0,0) size 201x17
                    text run at (0,0) width 201: "This list should NOT be purple."
                RenderListItem {LI} at (40,18) size 707x18
                  RenderListMarker at (-20,0) size 16x17: "2"
                  RenderText {#text} at (0,0) size 172x17
                    text run at (0,0) width 172: "It should, instead, be black."
                RenderListItem {LI} at (40,36) size 707x18
                  RenderListMarker at (-20,0) size 16x17: "3"
                  RenderText {#text} at (0,0) size 501x17
                    text run at (0,0) width 501: "If it IS purple, then the browser hasn't correctly parsed the preceding paragraph."
              RenderBlock {P} at (4,282) size 747x36
                RenderText {#text} at (0,0) size 697x17
                  text run at (0,0) width 197: "This sentence should be black. "
                  text run at (197,0) width 500: "If it is red, then the browser has inappropriately imported the styles from the file"
                RenderInline {TT} at (0,0) size 96x15
                  RenderText {#text} at (0,21) size 96x15
                    text run at (0,21) width 96: "imptest2.css"
                RenderText {#text} at (96,18) size 33x17
                  text run at (96,18) width 33: " (see "
                RenderInline {A} at (0,0) size 68x17 [color=#0000FF]
                  RenderText {#text} at (129,18) size 68x17
                    text run at (129,18) width 68: "section 3.0"
                RenderText {#text} at (197,18) size 275x17
                  text run at (197,18) width 275: " of the CSS1 specification for more details)."
              RenderBlock {P} at (4,334) size 747x18 [color=#008000]
                RenderText {#text} at (0,0) size 203x17
                  text run at (0,0) width 203: "This paragraph should be green."
