layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 800x600
  RenderSVGRoot {svg} at (0,0) size 800x600
    RenderSVGContainer {g} at (59,8) size 684x490
      RenderSVGText {text} at (65,5) size 314x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 314x14
          chunk 1 text run 1 at (65.00,16.00) startOffset 0 endOffset 69 width 313.20: "Link test of the 'view' element and its attributes, 1 of 2, internal."
      RenderSVGContainer {g} at (250,216) size 214x184 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,75.00)}]
        RenderSVGRect {rect} at (250,216) size 209x143 [fill={[type=SOLID] [color=#AAAAAA]}] [x=300.00] [y=55.00] [width=125.00] [height=85.00]
        RenderSVGContainer {a} at (283,217) size 181x31
          RenderSVGText {text} at (320,55) size 108x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 109x18
              chunk 1 text run 1 at (320.00,70.00) startOffset 0 endOffset 15 width 108.00: "Go to Rectangle"
        RenderSVGContainer {a} at (283,250) size 149x31
          RenderSVGText {text} at (320,75) size 89x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 89x18
              chunk 1 text run 1 at (320.00,90.00) startOffset 0 endOffset 13 width 88.80: "Go to Ellipse"
        RenderSVGContainer {a} at (283,284) size 138x31
          RenderSVGText {text} at (320,95) size 83x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x18
              chunk 1 text run 1 at (320.00,110.00) startOffset 0 endOffset 12 width 82.20: "Go to Circle"
        RenderSVGContainer {a} at (283,317) size 164x31
          RenderSVGText {text} at (320,115) size 98x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 98x18
              chunk 1 text run 1 at (320.00,130.00) startOffset 0 endOffset 13 width 97.80: "Go to Polygon"
        RenderSVGText {text} at (315,139) size 98x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 98x14
            chunk 1 text run 1 at (315.00,150.00) startOffset 0 endOffset 20 width 97.20: "Click element's line"
        RenderSVGText {text} at (315,151) size 86x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 86x14
            chunk 1 text run 1 at (315.00,162.00) startOffset 0 endOffset 19 width 85.80: "to link to its view"
      RenderSVGRect {rect} at (491,60) size 226x114 [fill={[type=SOLID] [color=#FF0000]}] [x=295.00] [y=36.00] [width=135.00] [height=68.00]
      RenderSVGText {text} at (340,101) size 66x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 66x18
          chunk 1 text run 1 at (340.00,116.00) startOffset 0 endOffset 9 width 66.00: "Rectangle"
      RenderSVGRect {rect} at (485,47) size 238x154 [stroke={[type=SOLID] [color=#000000]}] [x=292.00] [y=29.00] [width=141.00] [height=91.00]
      RenderSVGText {text} at (302,120) size 122x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 122x12
          chunk 1 text run 1 at (302.00,130.00) startOffset 0 endOffset 29 width 121.80: "No view attributes except id."
      RenderSVGEllipse {ellipse} at (496,365) size 241x107 [fill={[type=SOLID] [color=#0000FF]}] [cx=370.00] [cy=251.00] [rx=72.00] [ry=32.00]
      RenderSVGText {text} at (355,280) size 47x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 47x18
          chunk 1 text run 1 at (355.00,295.00) startOffset 0 endOffset 7 width 46.80: "Ellipse"
      RenderSVGRect {rect} at (490,359) size 253x139 [stroke={[type=SOLID] [color=#000000]}] [x=295.00] [y=216.00] [width=150.00] [height=82.00]
      RenderSVGText {text} at (315,204) size 116x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 116x12
          chunk 1 text run 1 at (315.00,214.00) startOffset 0 endOffset 27 width 115.80: "viewBox, should fill frame."
      RenderSVGEllipse {circle} at (81,53) size 121x121 [fill={[type=SOLID] [color=#FFFF00]}] [cx=85.00] [cy=68.00] [r=36.00]
      RenderSVGText {text} at (70,101) size 41x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 41x18
          chunk 1 text run 1 at (70.00,116.00) startOffset 0 endOffset 6 width 40.20: "Circle"
      RenderSVGRect {rect} at (59,47) size 166x154 [stroke={[type=SOLID] [color=#000000]}] [x=36.00] [y=29.00] [width=98.00] [height=91.00]
      RenderSVGText {text} at (36,118) size 105x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 105x12
          chunk 1 text run 1 at (36.00,128.00) startOffset 0 endOffset 21 width 104.40: "viewBox & non-uniform"
      RenderSVGText {text} at (36,127) size 89x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 89x12
          chunk 1 text run 1 at (36.00,137.00) startOffset 0 endOffset 19 width 88.80: "preserveAspectRatio"
      RenderSVGPath {polygon} at (65,351) size 159x121 [fill={[type=SOLID] [color=#008000]}] [points="87 211 134 238 116 283 57 283 39 238 87 211"]
      RenderSVGText {text} at (65,280) size 56x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 56x18
          chunk 1 text run 1 at (65.00,295.00) startOffset 0 endOffset 7 width 55.80: "Polygon"
      RenderSVGRect {rect} at (59,345) size 169x151 [stroke={[type=SOLID] [color=#000000]}] [x=36.00] [y=208.00] [width=100.00] [height=89.00]
      RenderSVGText {text} at (46,187) size 82x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 82x12
          chunk 1 text run 1 at (46.00,197.00) startOffset 0 endOffset 18 width 81.60: "viewTarget, should"
      RenderSVGText {text} at (46,196) size 77x13 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 77x12
          chunk 1 text run 1 at (46.00,206.00) startOffset 0 endOffset 17 width 76.80: "highlight polygon"
    RenderSVGText {text} at (10,304) size 269x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 269x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
