layer at (0,0) size 785x1028
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1028
  RenderBlock {HTML} at (0,0) size 785x1028
    RenderBody {BODY} at (8,8) size 769x1012 [bgcolor=#CCCCCC]
      RenderBlock {P} at (20,0) size 749x18
        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 769x105
        RenderText {#text} at (0,0) size 344x105
          text run at (0,0) width 176: "P {margin-left: 20px;}"
          text run at (176,0) width 0: " "
          text run at (0,15) width 312: ".one {border-left: purple double 10px;}"
          text run at (312,15) width 0: " "
          text run at (0,30) width 304: ".two {border-left: purple thin solid;}"
          text run at (304,30) width 0: " "
          text run at (0,45) width 336: ".threea {border-left: black medium solid;}"
          text run at (336,45) width 0: " "
          text run at (0,60) width 344: ".threeb {border-left: purple medium solid;}"
          text run at (344,60) width 0: " "
          text run at (0,75) width 328: ".threec {border-left: blue medium solid;}"
          text run at (328,75) width 0: " "
          text run at (0,90) width 272: "TD {border-left: green 2px solid;}"
          text run at (272,90) width 0: " "
      RenderBlock {HR} at (0,152) size 769x2 [border: (1px inset #000000)]
      RenderBlock {P} at (20,170) size 749x36
        RenderText {#text} at (0,0) size 707x35
          text run at (0,0) width 634: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
          text run at (634,0) width 73: "This border"
          text run at (0,18) width 365: "applies only to the cells, not the rows which contain them."
      RenderBlock {P} at (20,222) size 749x18 [border: none (10px double #800080)]
        RenderText {#text} at (10,0) size 414x17
          text run at (10,0) width 414: "This paragraph should have a purple, double, 10-pixel left border."
      RenderBlock {P} at (20,256) size 749x18 [border: none (1px solid #800080)]
        RenderText {#text} at (1,0) size 331x17
          text run at (1,0) width 331: "This paragraph should have a thin purple left border."
      RenderTable {TABLE} at (0,290) size 769x107 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x105
          RenderTableRow {TR} at (0,5) size 767x40
            RenderTableCell {TD} at (5,5) size 758x40 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderText {#text} at (3,2) size 735x35
                text run at (3,2) width 429: "Every cell in this table should have a 2-pixel solid green left border. "
                text run at (432,2) width 306: "This is also true of the table-testing section in the"
                text run at (3,20) width 175: "second half of the test page."
          RenderTableRow {TR} at (0,50) size 767x50
            RenderTableCell {TD} at (5,64) size 194x22 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (3,2) size 53x17
                text run at (3,2) width 53: "Cell one"
            RenderTableCell {TD} at (203,50) size 560x50 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock (anonymous) at (3,2) size 554x18
                RenderText {#text} at (0,0) size 54x17
                  text run at (0,0) width 54: "Cell two"
              RenderTable {TABLE} at (3,20) size 162x28 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 160x26
                  RenderTableRow {TR} at (0,2) size 160x22
                    RenderTableCell {TD} at (2,2) size 156x22 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 151x17
                        text run at (3,2) width 151: "Nested single-cell table!"
      RenderBlock {UL} at (0,413) size 769x144
        RenderListItem {LI} at (40,0) size 729x72 [border: none (3px solid #000000)]
          RenderBlock (anonymous) at (3,0) size 726x18
            RenderListMarker at (-20,0) size 7x17: bullet
            RenderText {#text} at (0,0) size 118x17
              text run at (0,0) width 118: "This is a list item..."
          RenderBlock {UL} at (3,18) size 726x54
            RenderListItem {LI} at (40,0) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 73x17
                text run at (0,0) width 73: "...and this..."
            RenderListItem {LI} at (40,18) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 115x17
                text run at (0,0) width 115: "...is a second list..."
            RenderListItem {LI} at (40,36) size 686x18
              RenderListMarker at (-17,0) size 7x17: white bullet
              RenderText {#text} at (0,0) size 176x17
                text run at (0,0) width 176: "...nested within the list item."
        RenderListItem {LI} at (40,72) size 729x18 [border: none (3px solid #800080)]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (3,0) size 158x17
            text run at (3,0) width 158: "This is a second list item."
        RenderListItem {LI} at (40,90) size 729x54 [border: none (3px solid #0000FF)]
          RenderListMarker at (-17,0) size 7x17: bullet
          RenderText {#text} at (3,0) size 720x53
            text run at (3,0) width 695: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors. "
            text run at (698,0) width 25: "The"
            text run at (3,18) width 719: "first item's border should travel the entire height the nested list (to end near the baseline of the line \"...nested within"
            text run at (3,36) width 490: "the list item.\"), even though the nested list does not have any border styles set."
      RenderTable {TABLE} at (0,573) size 769x439 [border: (1px outset #808080)]
        RenderTableSection {TBODY} at (1,1) size 767x437
          RenderTableRow {TR} at (0,0) size 767x26
            RenderTableCell {TD} at (0,0) size 767x26 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
              RenderInline {STRONG} at (0,0) size 163x17
                RenderText {#text} at (5,4) size 163x17
                  text run at (5,4) width 163: "TABLE Testing Section"
          RenderTableRow {TR} at (0,26) size 767x411
            RenderTableCell {TD} at (0,218) size 13x27 [bgcolor=#C0C0C0] [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
              RenderText {#text} at (5,4) size 4x18
                text run at (5,5) width 4: " "
            RenderTableCell {TD} at (13,26) size 754x411 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
              RenderBlock {P} at (25,4) size 725x36
                RenderText {#text} at (0,0) size 707x35
                  text run at (0,0) width 634: "Note that all table cells on this page should have a two-pixel solid green border along their left sides. "
                  text run at (634,0) width 73: "This border"
                  text run at (0,18) width 365: "applies only to the cells, not the rows which contain them."
              RenderBlock {P} at (25,56) size 725x18 [border: none (10px double #800080)]
                RenderText {#text} at (10,0) size 414x17
                  text run at (10,0) width 414: "This paragraph should have a purple, double, 10-pixel left border."
              RenderBlock {P} at (25,90) size 725x18 [border: none (1px solid #800080)]
                RenderText {#text} at (1,0) size 331x17
                  text run at (1,0) width 331: "This paragraph should have a thin purple left border."
              RenderTable {TABLE} at (5,124) size 745x107 [border: (1px outset #808080)]
                RenderTableSection {TBODY} at (1,1) size 743x105
                  RenderTableRow {TR} at (0,5) size 743x40
                    RenderTableCell {TD} at (5,5) size 734x40 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=2]
                      RenderText {#text} at (3,2) size 712x35
                        text run at (3,2) width 429: "Every cell in this table should have a 2-pixel solid green left border. "
                        text run at (432,2) width 283: "This is also true of the table-testing section in"
                        text run at (3,20) width 198: "the second half of the test page."
                  RenderTableRow {TR} at (0,50) size 743x50
                    RenderTableCell {TD} at (5,64) size 188x22 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=0 rs=1 cs=1]
                      RenderText {#text} at (3,2) size 53x17
                        text run at (3,2) width 53: "Cell one"
                    RenderTableCell {TD} at (197,50) size 542x50 [border: (1px inset #808080) (2px solid #008000)] [r=1 c=1 rs=1 cs=1]
                      RenderBlock (anonymous) at (3,2) size 536x18
                        RenderText {#text} at (0,0) size 54x17
                          text run at (0,0) width 54: "Cell two"
                      RenderTable {TABLE} at (3,20) size 162x28 [border: (1px outset #808080)]
                        RenderTableSection {TBODY} at (1,1) size 160x26
                          RenderTableRow {TR} at (0,2) size 160x22
                            RenderTableCell {TD} at (2,2) size 156x22 [border: (1px inset #808080) (2px solid #008000)] [r=0 c=0 rs=1 cs=1]
                              RenderText {#text} at (3,2) size 151x17
                                text run at (3,2) width 151: "Nested single-cell table!"
              RenderBlock {UL} at (5,247) size 745x144
                RenderListItem {LI} at (40,0) size 705x72 [border: none (3px solid #000000)]
                  RenderBlock (anonymous) at (3,0) size 702x18
                    RenderListMarker at (-20,0) size 7x17: bullet
                    RenderText {#text} at (0,0) size 118x17
                      text run at (0,0) width 118: "This is a list item..."
                  RenderBlock {UL} at (3,18) size 702x54
                    RenderListItem {LI} at (40,0) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 73x17
                        text run at (0,0) width 73: "...and this..."
                    RenderListItem {LI} at (40,18) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 115x17
                        text run at (0,0) width 115: "...is a second list..."
                    RenderListItem {LI} at (40,36) size 662x18
                      RenderListMarker at (-17,0) size 7x17: white bullet
                      RenderText {#text} at (0,0) size 176x17
                        text run at (0,0) width 176: "...nested within the list item."
                RenderListItem {LI} at (40,72) size 705x18 [border: none (3px solid #800080)]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (3,0) size 158x17
                    text run at (3,0) width 158: "This is a second list item."
                RenderListItem {LI} at (40,90) size 705x54 [border: none (3px solid #0000FF)]
                  RenderListMarker at (-17,0) size 7x17: bullet
                  RenderText {#text} at (3,0) size 691x53
                    text run at (3,0) width 691: "Each list item in this 'parent' list should have a medium-width border along its left side, in each of three colors."
                    text run at (3,18) width 641: "The first item's border should travel the entire height the nested list (to end near the baseline of the line"
                    text run at (3,36) width 597: "\"...nested within the list item.\"), even though the nested list does not have any border styles set."
