layer at (0,0) size 480x360
  RenderView at (0,0) size 480x360
layer at (0,0) size 480x360
  RenderSVGRoot {svg} at (0.50,0.50) size 479x359
    RenderSVGContainer {g} at (20,26) size 432x233
      RenderSVGContainer {g} at (20,26) size 432x233
        RenderSVGContainer {g} at (20,26) size 202x233 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,50.00)}]
          RenderSVGText {text} at (0,203) size 113x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x33
              chunk 1 text run 1 at (0.00,203.00) startOffset 0 endOffset 9 width 113.00: "at 0 sec."
          RenderSVGText {text} at (0,136) size 113x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x33
              chunk 1 text run 1 at (0.00,136.33) startOffset 0 endOffset 9 width 113.00: "at 3 sec."
          RenderSVGText {text} at (0,69) size 113x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x34
              chunk 1 text run 1 at (0.00,69.66) startOffset 0 endOffset 9 width 113.00: "at 6 sec."
          RenderSVGText {text} at (3,3) size 98x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 98x33
              chunk 1 text run 1 at (3.00,3.00) startOffset 0 endOffset 7 width 98.00: "9+ sec."
          RenderSVGContainer {g} at (140,48) size 50x204
            RenderPath {line} at (140,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
            RenderPath {line} at (140,181.33) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,133.33L170.00,133.33"]
            RenderPath {line} at (140,114.66) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,66.66L170.00,66.66"]
            RenderPath {line} at (140,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
          RenderPath {rect} at (158,38) size 64x214 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,200.00L140.00,200.00"]
        RenderSVGContainer {g} at (250,26) size 202x233 [transform={m=((1.00,0.00)(0.00,1.00)) t=(250.00,50.00)}]
          RenderSVGText {text} at (0,203) size 113x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x33
              chunk 1 text run 1 at (0.00,203.00) startOffset 0 endOffset 9 width 113.00: "at 0 sec."
          RenderSVGText {text} at (0,136) size 113x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x33
              chunk 1 text run 1 at (0.00,136.33) startOffset 0 endOffset 9 width 113.00: "at 3 sec."
          RenderSVGText {text} at (0,69) size 113x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 113x34
              chunk 1 text run 1 at (0.00,69.66) startOffset 0 endOffset 9 width 113.00: "at 6 sec."
          RenderSVGText {text} at (3,3) size 98x33 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,-27) size 98x33
              chunk 1 text run 1 at (3.00,3.00) startOffset 0 endOffset 7 width 98.00: "9+ sec."
          RenderSVGContainer {g} at (370,48) size 50x204
            RenderPath {line} at (370,248) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,200.00L170.00,200.00"]
            RenderPath {line} at (370,181.33) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,133.33L170.00,133.33"]
            RenderPath {line} at (370,114.66) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,66.66L170.00,66.66"]
            RenderPath {line} at (370,48) size 50x4 [stroke={[type=SOLID] [color=#880000] [stroke width=4.00]}] [fill={[type=SOLID] [color=#000000]}] [data="M120.00,0.00L170.00,0.00"]
          RenderPath {rect} at (388,38) size 64x14 [stroke={[type=SOLID] [color=#FF00FF] [stroke width=4.00]}] [fill={[type=SOLID] [color=#FFAA44]}] [data="M140.00,-10.00L200.00,-10.00L200.00,0.00L140.00,0.00"]
    RenderSVGText {text} at (10,340) size 264x46 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,-36) size 264x46
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: "$Revision: 1.9 $"
    RenderPath {rect} at (0.50,0.50) size 479x359 [stroke={[type=SOLID] [color=#000000]}] [data="M1.00,1.00L479.00,1.00L479.00,359.00L1.00,359.00"]
