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 (7,15) size 206x48 [transform={m=((0.60,0.00)(0.00,0.60)) t=(110.00,50.00)}]
      RenderSVGText {text} at (-160,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-160.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (-50,-58) size 85x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 85x35
          chunk 1 text run 1 at (-50.00,-30.00) startOffset 0 endOffset 7 width 84.99: "0.8-3.2"
      RenderSVGText {text} at (140,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (140.00,-30.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGContainer {g} at (19,49) size 180x2
        RenderSVGPath {polyline} at (19,49) size 180x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-150 0 0 0 150 0"]
      RenderSVGContainer {g} at (7,37) size 206x26
        RenderSVGEllipse {circle} at (7,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-150.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (97,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=0.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (187,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=150.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (7,37) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (267,15) size 206x48 [transform={m=((0.60,0.00)(0.00,0.60)) t=(370.00,50.00)}]
      RenderSVGText {text} at (-160,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-160.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (-100,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-100.00,-30.00) startOffset 0 endOffset 1 width 15.00: "2"
      RenderSVGText {text} at (80,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (80.00,-30.00) startOffset 0 endOffset 1 width 15.00: "2"
      RenderSVGText {text} at (140,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (140.00,-30.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGContainer {g} at (280,49) size 179x2
        RenderSVGPath {polyline} at (280,49) size 35x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-150 0 -90 0"]
        RenderSVGPath {polyline} at (424,49) size 35x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="90 0 150 0"]
      RenderSVGContainer {g} at (267,37) size 206x26
        RenderSVGEllipse {circle} at (267,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-150.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (303,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-90.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (411,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=90.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (447,37) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=150.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (267,37) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(-150.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (34,127) size 152x70 [transform={m=((0.60,0.00)(0.00,0.60)) t=(110.00,180.00)}]
      RenderSVGText {text} at (-115,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-115.00,-30.00) startOffset 0 endOffset 1 width 15.00: "3"
      RenderSVGText {text} at (-85,-88) size 38x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x35
          chunk 1 text run 1 at (-85.00,-60.00) startOffset 0 endOffset 3 width 37.50: "2.6"
      RenderSVGText {text} at (60,-88) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (60.00,-60.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (95,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (95.00,-30.00) startOffset 0 endOffset 1 width 15.00: "1"
      RenderSVGText {text} at (-75,-8) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-75.00,20.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGText {text} at (40,-8) size 38x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x35
          chunk 1 text run 1 at (40.00,20.00) startOffset 0 endOffset 3 width 37.50: "1.4"
      RenderSVGContainer {g} at (46,143) size 128x38
        RenderSVGPath {polyline} at (46,143) size 128x38 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-105 0 -25 -60 25 -60 105 0"]
      RenderSVGContainer {g} at (34,149) size 152x44
        RenderSVGEllipse {circle} at (34,167) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-105.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (58,149) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-65.00] [cy=-30.00] [r=20.00]
        RenderSVGEllipse {circle} at (136,149) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=65.00] [cy=-30.00] [r=20.00]
        RenderSVGEllipse {circle} at (160,167) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=105.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (136,149) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(65.00,-30.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGContainer {g} at (282,125) size 176x70 [transform={m=((0.60,0.00)(0.00,0.60)) t=(370.00,160.00)}]
      RenderSVGText {text} at (-135,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-135.00,-30.00) startOffset 0 endOffset 1 width 15.00: "3"
      RenderSVGText {text} at (-95,-58) size 38x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x35
          chunk 1 text run 1 at (-95.00,-30.00) startOffset 0 endOffset 3 width 37.50: "2.6"
      RenderSVGText {text} at (65,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (65.00,-30.00) startOffset 0 endOffset 1 width 15.00: "0"
      RenderSVGText {text} at (115,-58) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (115.00,-30.00) startOffset 0 endOffset 1 width 15.00: "1"
      RenderSVGText {text} at (-85,22) size 15x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 15x35
          chunk 1 text run 1 at (-85.00,50.00) startOffset 0 endOffset 1 width 15.00: "4"
      RenderSVGText {text} at (50,22) size 38x35 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 38x35
          chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 3 width 37.50: "1.4"
      RenderSVGContainer {g} at (295,159) size 150x2
        RenderSVGPath {polyline} at (295,159) size 150x2 [stroke={[type=SOLID] [color=#888888] [dash array={10.00, 6.00}]}] [points="-125 0 125 0"]
      RenderSVGContainer {g} at (282,147) size 176x26
        RenderSVGEllipse {circle} at (282,147) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-125.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (312,147) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=-75.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (402,147) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=75.00] [cy=0.00] [r=20.00]
        RenderSVGEllipse {circle} at (432,147) size 26x26 [stroke={[type=SOLID] [color=#555555]}] [fill={[type=SOLID] [color=#CCCCCC]}] [cx=125.00] [cy=0.00] [r=20.00]
      RenderSVGEllipse {circle} at (402,147) size 26x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(75.00,0.00)}] [stroke={[type=SOLID] [color=#000000] [stroke width=3.00]}] [fill={[type=SOLID] [color=#CC0066]}] [cx=0.00] [cy=0.00] [r=20.00]
    RenderSVGText {text} at (5,210) size 368x32 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 368x32
        chunk 1 text run 1 at (5.00,235.00) startOffset 0 endOffset 31 width 367.83: "Test of keyPoints and keyTimes."
    RenderSVGText {text} at (5,248) size 389x21 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 389x21
        chunk 1 text run 1 at (5.00,265.00) startOffset 0 endOffset 54 width 388.14: "Number indicates the circle's passing time in seconds."
    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 263.34: "$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]
