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 363x18
          text run at (0,0) width 363: "The style declarations which apply to the text below are:"
      RenderBlock {PRE} at (0,34) size 769x150
        RenderText {#text} at (0,0) size 710x150
          text run at (0,0) width 609: "<LINK rel=\"stylesheet\" type=\"text/css\" href=\"linktest.css\" title=\"Default SS\">"
          text run at (0,15) width 710: "<LINK rel=\"alternate stylesheet\" type=\"text/css\" href=\"linktest2.css\" title=\"Alternate SS\">"
          text run at (0,30) width 203: "@import url(imptest1.css);"
          text run at (0,45) width 188: "@import \"imptest1a.css\";"
          text run at (0,60) width 125: "UL {color: red;}"
          text run at (0,75) width 172: ".four {color: purple;}"
          text run at (0,90) width 203: "@import url(imptest2.css);"
          text run at (0,105) width 32: "<!--"
          text run at (0,120) width 164: "P.six {color: green;}"
          text run at (0,135) width 24: "-->"
      RenderBlock {HR} at (0,197) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (0,215) size 769x18
        RenderText {#text} at (0,0) size 412x18
          text run at (0,0) width 412: "This sentence should be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 95x15
          RenderText {#text} at (411,2) size 95x15
            text run at (411,2) width 95: "linktest.css"
        RenderText {#text} at (505,0) size 258x18
          text run at (505,0) width 258: ", the reference to which is shown above."
      RenderBlock {P} at (0,249) size 769x36
        RenderText {#text} at (0,0) size 449x18
          text run at (0,0) width 449: "This sentence should NOT be underlined due to the linked style sheet "
        RenderInline {CODE} at (0,0) size 102x15
          RenderText {#text} at (448,2) size 102x15
            text run at (448,2) width 102: "linktest2.css"
        RenderText {#text} at (549,0) size 9x18
          text run at (549,0) width 9: ", "
        RenderInline {STRONG} at (0,0) size 43x18
          RenderText {#text} at (557,0) size 43x18
            text run at (557,0) width 43: "unless"
        RenderText {#text} at (599,0) size 750x36
          text run at (599,0) width 151: " the external style sheet"
          text run at (0,18) width 330: "\"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 7x18: bullet
          RenderText {#text} at (0,0) size 398x18
            text run at (0,0) width 398: "This sentence should be green due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 204x15
            RenderText {#text} at (397,2) size 204x15
              text run at (397,2) width 204: "@import url(imptest1.css);"
          RenderText {#text} at (600,0) size 10x18
            text run at (600,0) width 10: "]."
        RenderListItem {LI} at (40,18) size 729x18 [color=#800080]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 404x18
            text run at (0,0) width 404: "This sentence should be purple due to an imported style sheet ["
          RenderInline {CODE} at (0,0) size 180x15
            RenderText {#text} at (403,2) size 180x15
              text run at (403,2) width 180: "@import \"imptest1a.css\""
          RenderText {#text} at (582,0) size 10x18
            text run at (582,0) width 10: "]."
        RenderListItem {LI} at (40,36) size 729x18 [color=#008000]
          RenderListMarker at (-17,0) size 7x18: bullet
          RenderText {#text} at (0,0) size 400x18
            text run at (0,0) width 400: "This sentence should be green thanks to the STYLE attribute ["
          RenderInline {CODE} at (0,0) size 164x15
            RenderText {#text} at (399,2) size 164x15
              text run at (399,2) width 164: "STYLE=\"color: green;\""
          RenderText {#text} at (562,0) size 11x18
            text run at (562,0) width 11: "]."
      RenderBlock {P} at (0,371) size 769x18 [color=#800080]
        RenderText {#text} at (0,0) size 510x18
          text run at (0,0) width 510: "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 16x18: "1"
          RenderText {#text} at (0,0) size 204x18
            text run at (0,0) width 204: "This list should NOT be purple."
        RenderListItem {LI} at (40,18) size 729x18
          RenderListMarker at (-20,0) size 16x18: "2"
          RenderText {#text} at (0,0) size 176x18
            text run at (0,0) width 176: "It should, instead, be black."
        RenderListItem {LI} at (40,36) size 729x18
          RenderListMarker at (-20,0) size 16x18: "3"
          RenderText {#text} at (0,0) size 512x18
            text run at (0,0) width 512: "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 714x18
          text run at (0,0) width 200: "This sentence should be black. "
          text run at (199,0) width 515: "If it is red, then the browser has inappropriately imported the styles from the file"
        RenderInline {TT} at (0,0) size 94x15
          RenderText {#text} at (0,20) size 94x15
            text run at (0,20) width 94: "imptest2.css"
        RenderText {#text} at (93,18) size 35x18
          text run at (93,18) width 35: " (see "
        RenderInline {A} at (0,0) size 70x18 [color=#0000FF]
          RenderText {#text} at (127,18) size 70x18
            text run at (127,18) width 70: "section 3.0"
        RenderText {#text} at (196,18) size 282x18
          text run at (196,18) width 282: " of the CSS1 specification for more details)."
      RenderBlock {P} at (0,527) size 769x18 [color=#008000]
        RenderText {#text} at (0,0) size 206x18
          text run at (0,0) width 206: "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 161x18
                RenderText {#text} at (4,4) size 161x18
                  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 4x18
                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 412x18
                  text run at (0,0) width 412: "This sentence should be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 95x15
                  RenderText {#text} at (411,2) size 95x15
                    text run at (411,2) width 95: "linktest.css"
                RenderText {#text} at (505,0) size 717x36
                  text run at (505,0) width 212: ", the reference to which is shown"
                  text run at (0,18) width 43: "above."
              RenderBlock {P} at (4,56) size 747x36
                RenderText {#text} at (0,0) size 449x18
                  text run at (0,0) width 449: "This sentence should NOT be underlined due to the linked style sheet "
                RenderInline {CODE} at (0,0) size 102x15
                  RenderText {#text} at (448,2) size 102x15
                    text run at (448,2) width 102: "linktest2.css"
                RenderText {#text} at (549,0) size 9x18
                  text run at (549,0) width 9: ", "
                RenderInline {STRONG} at (0,0) size 43x18
                  RenderText {#text} at (557,0) size 43x18
                    text run at (557,0) width 43: "unless"
                RenderText {#text} at (599,0) size 714x36
                  text run at (599,0) width 115: " the external style"
                  text run at (0,18) width 367: "sheet \"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 7x18: bullet
                  RenderText {#text} at (0,0) size 398x18
                    text run at (0,0) width 398: "This sentence should be green due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 204x15
                    RenderText {#text} at (397,2) size 204x15
                      text run at (397,2) width 204: "@import url(imptest1.css);"
                  RenderText {#text} at (600,0) size 10x18
                    text run at (600,0) width 10: "]."
                RenderListItem {LI} at (40,18) size 707x18 [color=#800080]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 404x18
                    text run at (0,0) width 404: "This sentence should be purple due to an imported style sheet ["
                  RenderInline {CODE} at (0,0) size 180x15
                    RenderText {#text} at (403,2) size 180x15
                      text run at (403,2) width 180: "@import \"imptest1a.css\""
                  RenderText {#text} at (582,0) size 10x18
                    text run at (582,0) width 10: "]."
                RenderListItem {LI} at (40,36) size 707x18 [color=#008000]
                  RenderListMarker at (-17,0) size 7x18: bullet
                  RenderText {#text} at (0,0) size 400x18
                    text run at (0,0) width 400: "This sentence should be green thanks to the STYLE attribute ["
                  RenderInline {CODE} at (0,0) size 164x15
                    RenderText {#text} at (399,2) size 164x15
                      text run at (399,2) width 164: "STYLE=\"color: green;\""
                  RenderText {#text} at (562,0) size 11x18
                    text run at (562,0) width 11: "]."
              RenderBlock {P} at (4,178) size 747x18 [color=#800080]
                RenderText {#text} at (0,0) size 510x18
                  text run at (0,0) width 510: "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 16x18: "1"
                  RenderText {#text} at (0,0) size 204x18
                    text run at (0,0) width 204: "This list should NOT be purple."
                RenderListItem {LI} at (40,18) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "2"
                  RenderText {#text} at (0,0) size 176x18
                    text run at (0,0) width 176: "It should, instead, be black."
                RenderListItem {LI} at (40,36) size 707x18
                  RenderListMarker at (-20,0) size 16x18: "3"
                  RenderText {#text} at (0,0) size 512x18
                    text run at (0,0) width 512: "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 714x18
                  text run at (0,0) width 200: "This sentence should be black. "
                  text run at (199,0) width 515: "If it is red, then the browser has inappropriately imported the styles from the file"
                RenderInline {TT} at (0,0) size 94x15
                  RenderText {#text} at (0,20) size 94x15
                    text run at (0,20) width 94: "imptest2.css"
                RenderText {#text} at (93,18) size 35x18
                  text run at (93,18) width 35: " (see "
                RenderInline {A} at (0,0) size 70x18 [color=#0000FF]
                  RenderText {#text} at (127,18) size 70x18
                    text run at (127,18) width 70: "section 3.0"
                RenderText {#text} at (196,18) size 282x18
                  text run at (196,18) width 282: " of the CSS1 specification for more details)."
              RenderBlock {P} at (4,334) size 747x18 [color=#008000]
                RenderText {#text} at (0,0) size 206x18
                  text run at (0,0) width 206: "This paragraph should be green."
