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
    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]
    RenderSVGText {text} at (170,10) size 140x19 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 140x18
        chunk 1 (middle anchor) text run 1 at (170.10,25.00) startOffset 0 endOffset 18 width 139.80: "<animateTransform>"
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
      RenderSVGContainer {g} at (0,0) size 75x75
        RenderSVGEllipse {circle} at (0,0) size 69x69 [stroke={[type=SOLID] [color=#C0C0C0] [stroke width=2.00]}] [cx=0.00] [cy=0.00] [r=40.00]
        RenderSVGPath {line} at (0,0) size 75x1 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=-45.00] [y1=0.00] [x2=45.00] [y2=0.00]
        RenderSVGPath {line} at (0,0) size 1x75 [stroke={[type=SOLID] [color=#C0C0C0]}] [x1=0.00] [y1=-45.00] [x2=0.00] [y2=45.00]
    RenderSVGContainer {g} at (7,93) size 787x405
      RenderSVGContainer {g} at (7,93) size 186x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
        RenderSVGRect {rect} at (71,121) size 58x58 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (43,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-56,45) size 112x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 111x18
            chunk 1 (middle anchor) text run 1 at (-55.20,60.00) startOffset 0 endOffset 16 width 110.40: "additive=replace"
      RenderSVGContainer {g} at (210,93) size 180x163 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,90.00)}]
        RenderSVGRect {rect} at (255,121) size 90x58 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (210,93) size 180x114 [transform={m=((1.15,2.00)(-2.00,0.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-46,45) size 92x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 91x18
            chunk 1 (middle anchor) text run 1 at (-45.30,60.00) startOffset 0 endOffset 12 width 90.60: "additive=sum"
      RenderSVGContainer {g} at (402,93) size 196x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,90.00)}]
        RenderSVGRect {rect} at (471,121) size 58x58 [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (443,93) size 114x114 [transform={m=((2.00,0.00)(0.00,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-59,45) size 118x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 117x18
            chunk 1 (middle anchor) text run 1 at (-58.20,60.00) startOffset 0 endOffset 15 width 116.40: "accumulate=none"
        RenderSVGText {text} at (-56,60) size 112x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 111x18
            chunk 1 (middle anchor) text run 1 at (-55.20,75.00) startOffset 0 endOffset 16 width 110.40: "additive=replace"
      RenderSVGContainer {g} at (606,93) size 188x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,90.00)}]
        RenderSVGRect {rect} at (685,135) size 30x30 [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
        RenderSVGRect {rect} at (643,93) size 114x114 [transform={m=((4.00,0.00)(0.00,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
        RenderSVGText {text} at (-56,45) size 112x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 112x18
            chunk 1 (middle anchor) text run 1 at (-55.80,60.00) startOffset 0 endOffset 14 width 111.60: "accumulate=sum"
        RenderSVGText {text} at (-56,60) size 112x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 111x18
            chunk 1 (middle anchor) text run 1 at (-55.20,75.00) startOffset 0 endOffset 16 width 110.40: "additive=replace"
      RenderSVGContainer {g} at (402,310) size 196x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,220.00)}]
        RenderSVGRect {rect} at (455,338) size 90x57 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=4.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGRect {rect} at (410,310) size 180x114 [transform={m=((2.00,0.00)(1.15,2.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=4.00]}] [x=-15.00] [y=-15.00] [width=30.00] [height=30.00]
        RenderSVGText {text} at (-59,45) size 118x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 117x18
            chunk 1 (middle anchor) text run 1 at (-58.20,60.00) startOffset 0 endOffset 15 width 116.40: "accumulate=none"
        RenderSVGText {text} at (-46,60) size 92x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 91x18
            chunk 1 (middle anchor) text run 1 at (-45.30,75.00) startOffset 0 endOffset 12 width 90.60: "additive=sum"
      RenderSVGContainer {g} at (606,310) size 188x188 [transform={m=((1.00,0.00)(0.00,1.00)) t=(420.00,220.00)}]
        RenderSVGRect {rect} at (677,352) size 46x29 [transform={m=((1.00,0.00)(0.58,1.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#808080] [stroke width=2.00]}] [fill={[type=SOLID] [color=#E6E6E6]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
        RenderSVGRect {rect} at (610,310) size 180x114 [transform={m=((4.00,0.00)(2.31,4.00)) t=(0.00,0.00)}] [stroke={[type=SOLID] [color=#FFB400] [stroke width=2.00]}] [x=-7.50] [y=-7.50] [width=15.00] [height=15.00]
        RenderSVGText {text} at (-56,45) size 112x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 112x18
            chunk 1 (middle anchor) text run 1 at (-55.80,60.00) startOffset 0 endOffset 14 width 111.60: "accumulate=sum"
        RenderSVGText {text} at (-46,60) size 92x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 91x18
            chunk 1 (middle anchor) text run 1 at (-45.30,75.00) startOffset 0 endOffset 12 width 90.60: "additive=sum"
