layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0,0) size 480x360
    RenderSVGContainer {g} at (35,5) size 411x294
      RenderSVGText {text} at (65,5) size 298x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 298x14
          chunk 1 text run 1 at (65.00,16.00) startOffset 0 endOffset 69 width 298.00: "Link test of the 'view' element and its attributes, 1 of 2, internal."
      RenderSVGContainer {g} at (150,130) size 125x110 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,75.00)}]
        RenderSVGRect {rect} at (150,130) size 125x85 [fill={[type=SOLID] [color=#AAAAAA]}] [x=300.00] [y=55.00] [width=125.00] [height=85.00]
        RenderSVGContainer {a} at (170,131) size 103x17
          RenderSVGText {text} at (320,56) size 103x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 103x17
              chunk 1 text run 1 at (320.00,70.00) startOffset 0 endOffset 15 width 103.00: "Go to Rectangle"
        RenderSVGContainer {a} at (170,151) size 83x17
          RenderSVGText {text} at (320,76) size 83x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x17
              chunk 1 text run 1 at (320.00,90.00) startOffset 0 endOffset 13 width 83.00: "Go to Ellipse"
        RenderSVGContainer {a} at (170,171) size 78x17
          RenderSVGText {text} at (320,96) size 78x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 78x17
              chunk 1 text run 1 at (320.00,110.00) startOffset 0 endOffset 12 width 78.00: "Go to Circle"
        RenderSVGContainer {a} at (170,191) size 93x17
          RenderSVGText {text} at (320,116) size 93x17 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 93x17
              chunk 1 text run 1 at (320.00,130.00) startOffset 0 endOffset 13 width 93.00: "Go to Polygon"
        RenderSVGText {text} at (315,139) size 91x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 91x14
            chunk 1 text run 1 at (315.00,150.00) startOffset 0 endOffset 20 width 91.00: "Click element's line"
        RenderSVGText {text} at (315,151) size 82x14 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 82x14
            chunk 1 text run 1 at (315.00,162.00) startOffset 0 endOffset 19 width 82.00: "to link to its view"
      RenderSVGRect {rect} at (295,36) size 135x68 [fill={[type=SOLID] [color=#FF0000]}] [x=295.00] [y=36.00] [width=135.00] [height=68.00]
      RenderSVGText {text} at (340,102) size 63x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 63x17
          chunk 1 text run 1 at (340.00,116.00) startOffset 0 endOffset 9 width 63.00: "Rectangle"
      RenderSVGRect {rect} at (291,28) size 143x93 [stroke={[type=SOLID] [color=#000000]}] [x=292.00] [y=29.00] [width=141.00] [height=91.00]
      RenderSVGText {text} at (302,121) size 116x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 116x11
          chunk 1 text run 1 at (302.00,130.00) startOffset 0 endOffset 29 width 116.00: "No view attributes except id."
      RenderSVGEllipse {ellipse} at (298,219) size 144x64 [fill={[type=SOLID] [color=#0000FF]}] [cx=370.00] [cy=251.00] [rx=72.00] [ry=32.00]
      RenderSVGText {text} at (355,281) size 43x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 43x17
          chunk 1 text run 1 at (355.00,295.00) startOffset 0 endOffset 7 width 43.00: "Ellipse"
      RenderSVGRect {rect} at (294,215) size 152x84 [stroke={[type=SOLID] [color=#000000]}] [x=295.00] [y=216.00] [width=150.00] [height=82.00]
      RenderSVGText {text} at (315,205) size 112x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 112x11
          chunk 1 text run 1 at (315.00,214.00) startOffset 0 endOffset 27 width 112.00: "viewBox, should fill frame."
      RenderSVGEllipse {circle} at (49,32) size 72x72 [fill={[type=SOLID] [color=#FFFF00]}] [cx=85.00] [cy=68.00] [r=36.00]
      RenderSVGText {text} at (70,102) size 38x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x17
          chunk 1 text run 1 at (70.00,116.00) startOffset 0 endOffset 6 width 38.00: "Circle"
      RenderSVGRect {rect} at (35,28) size 100x93 [stroke={[type=SOLID] [color=#000000]}] [x=36.00] [y=29.00] [width=98.00] [height=91.00]
      RenderSVGText {text} at (36,119) size 100x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x11
          chunk 1 text run 1 at (36.00,128.00) startOffset 0 endOffset 21 width 100.00: "viewBox & non-uniform"
      RenderSVGText {text} at (36,128) size 81x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 81x11
          chunk 1 text run 1 at (36.00,137.00) startOffset 0 endOffset 19 width 81.00: "preserveAspectRatio"
      RenderSVGPath {polygon} at (39,211) size 95x72 [fill={[type=SOLID] [color=#008000]}] [points="87 211 134 238 116 283 57 283 39 238 87 211"]
      RenderSVGText {text} at (65,281) size 53x17 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 53x17
          chunk 1 text run 1 at (65.00,295.00) startOffset 0 endOffset 7 width 53.00: "Polygon"
      RenderSVGRect {rect} at (35,207) size 102x91 [stroke={[type=SOLID] [color=#000000]}] [x=36.00] [y=208.00] [width=100.00] [height=89.00]
      RenderSVGText {text} at (46,188) size 77x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 77x11
          chunk 1 text run 1 at (46.00,197.00) startOffset 0 endOffset 18 width 77.00: "viewTarget, should"
      RenderSVGText {text} at (46,197) size 73x11 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 73x11
          chunk 1 text run 1 at (46.00,206.00) startOffset 0 endOffset 17 width 73.00: "highlight polygon"
    RenderSVGText {text} at (10,304) size 264x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 264x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
