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 (3,8) size 458x280
      RenderSVGText {text} at (3,8) size 321x46 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 321x45
          chunk 1 text run 1 at (3.00,45.00) startOffset 0 endOffset 17 width 320.78: "calcMode=\"linear\""
      RenderSVGText {text} at (3,63) size 390x46 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 390x45
          chunk 1 text run 1 at (3.00,100.00) startOffset 0 endOffset 21 width 389.69: "keyTimes=\"0;.25;.5;1\""
      RenderSVGContainer {g} at (10,138) size 451x150
        RenderSVGContainer {g} at (10,138) size 451x150 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,140.00)}]
          RenderSVGText {text} at (-140,107) size 142x41 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 142x41
              chunk 1 text run 1 at (-140.00,140.00) startOffset 0 endOffset 9 width 141.98: "Time (s):"
          RenderSVGText {text} at (290,107) size 21x41 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 21x41
              chunk 1 text run 1 at (290.00,140.00) startOffset 0 endOffset 1 width 20.02: "0"
          RenderSVGPath {line} at (448,140) size 4x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [x1=300.00] [y1=0.00] [x2=300.00] [y2=100.00]
          RenderSVGText {text} at (245,107) size 21x41 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 21x41
              chunk 1 text run 1 at (245.00,140.00) startOffset 0 endOffset 1 width 20.02: "2"
          RenderSVGPath {line} at (403,140) size 4x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [x1=255.00] [y1=0.00] [x2=255.00] [y2=100.00]
          RenderSVGText {text} at (170,107) size 21x41 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 21x41
              chunk 1 text run 1 at (170.00,140.00) startOffset 0 endOffset 1 width 20.02: "4"
          RenderSVGPath {line} at (328,140) size 4x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [x1=180.00] [y1=0.00] [x2=180.00] [y2=100.00]
          RenderSVGText {text} at (20,107) size 21x41 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 21x41
              chunk 1 text run 1 at (20.00,140.00) startOffset 0 endOffset 1 width 20.02: "8"
          RenderSVGPath {line} at (178,140) size 4x100 [stroke={[type=SOLID] [color=#880000] [stroke width=3.00]}] [x1=30.00] [y1=0.00] [x2=30.00] [y2=100.00]
          RenderSVGRect {rect} at (148,138) size 304x84 [stroke={[type=SOLID] [color=#880088] [stroke width=4.00]}] [fill={[type=SOLID] [color=#44AAFF]}] [x=0.00] [y=0.00] [width=300.00] [height=80.00]
    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.1 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
