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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (51,40) size 389x251
      RenderSVGText {text} at (51,40) size 159x19 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 159x18
          chunk 1 (end anchor) text run 1 at (51.12,55.00) startOffset 0 endOffset 19 width 158.88: "animVal != baseVal:"
      RenderSVGContainer {g} at (240,40) size 200x251 [transform={m=((0.00,1.00)(-1.00,0.00)) t=(500.00,0.00)}]
        RenderSVGRect {rect} at (420,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=60.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,63) size 161x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 161x14
            chunk 1 text run 1 at (70.00,75.00) startOffset 0 endOffset 21 width 160.50: "SVGAnimatedNumberList"
        RenderSVGRect {rect} at (390,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=90.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,93) size 132x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 132x14
            chunk 1 text run 1 at (70.00,105.00) startOffset 0 endOffset 17 width 131.50: "SVGAnimatedLength"
        RenderSVGRect {rect} at (360,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=120.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,123) size 154x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 154x14
            chunk 1 text run 1 at (70.00,135.00) startOffset 0 endOffset 21 width 153.46: "SVGAnimatedLengthList"
        RenderSVGRect {rect} at (330,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=150.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,153) size 124x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 124x14
            chunk 1 text run 1 at (70.00,165.00) startOffset 0 endOffset 16 width 123.54: "SVGAnimatedAngle"
        RenderSVGRect {rect} at (300,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=180.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,183) size 117x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 117x14
            chunk 1 text run 1 at (70.00,195.00) startOffset 0 endOffset 15 width 116.38: "SVGAnimatedRect"
        RenderSVGRect {rect} at (270,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=210.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,213) size 175x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 175x14
            chunk 1 text run 1 at (70.00,225.00) startOffset 0 endOffset 24 width 174.00: "SVGAnimatedTransformList"
        RenderSVGRect {rect} at (240,40) size 20x20 [fill={[type=SOLID] [color=#008000]}] [x=40.00] [y=240.00] [width=20.00] [height=20.00]
        RenderSVGText {text} at (70,243) size 221x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 221x14
            chunk 1 text run 1 at (70.00,255.00) startOffset 0 endOffset 30 width 220.29: "SVGAnimatedPreserveAspectRatio"
      RenderSVGHiddenContainer {g} at (0,0) size 0x0
        RenderSVGText {text} at (0,-15) size 37x24 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 37x23
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 10.00: "a"
            chunk 1 text run 2 at (10.00,0.00) startOffset 1 endOffset 2 width 10.00: "b"
            chunk 1 text run 3 at (20.00,0.00) startOffset 2 endOffset 3 width 9.00: "c"
        RenderSVGEllipse {circle} at (0,0) size 50x50 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGResourceMarker {marker} [id="marker"] [markerUnits=strokeWidth] [ref at (0,0)] [angle=90.00]
        RenderSVGViewportContainer {svg} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,314) size 228x33
      RenderSVGText {text} at (10,314) size 228x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x32
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.77: "$Revision: 1.8 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
