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.7 $"
    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 (199,12) size 82x23 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 81x22
        chunk 1 (middle anchor) text run 1 at (199.80,30.00) startOffset 0 endOffset 9 width 80.40: "repeatDur"
    RenderSVGContainer {g} at (138,154) size 537x268 [transform={m=((1.00,0.00)(0.00,1.00)) t=(130.00,80.00)}]
      RenderSVGContainer {g} at (138,187) size 279x235 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,45.00)}]
        RenderSVGText {text} at (-167,-13) size 167x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 167x16
            chunk 1 (end anchor) text run 1 at (-166.80,0.00) startOffset 0 endOffset 28 width 166.80: "dur=5s repeatDur unspecified"
        RenderSVGText {text} at (-120,12) size 120x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 120x16
            chunk 1 (end anchor) text run 1 at (-119.40,25.00) startOffset 0 endOffset 19 width 119.40: "dur=1s repeatDur=5s"
        RenderSVGText {text} at (-131,37) size 131x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 131x16
            chunk 1 (end anchor) text run 1 at (-130.20,50.00) startOffset 0 endOffset 21 width 130.20: "dur=0.5s repeatDur=5s"
        RenderSVGText {text} at (-160,62) size 160x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 160x16
            chunk 1 (end anchor) text run 1 at (-159.60,75.00) startOffset 0 endOffset 27 width 159.60: "dur=1s repeatDur=indefinite"
        RenderSVGText {text} at (-41,77) size 41x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 41x16
            chunk 1 (end anchor) text run 1 at (-40.80,90.00) startOffset 0 endOffset 6 width 40.80: "end=5s"
        RenderSVGText {text} at (-131,112) size 131x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 131x16
            chunk 1 (end anchor) text run 1 at (-130.20,125.00) startOffset 0 endOffset 21 width 130.20: "dur=0.7s repeatDur=5s"
      RenderSVGContainer {g} at (496,154) size 179x26 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,25.00)}]
        RenderSVGText {text} at (-12,-13) size 24x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 24x16
            chunk 1 (middle anchor) text run 1 at (-12.00,0.00) startOffset 0 endOffset 4 width 24.00: "> 5s"
        RenderSVGText {text} at (65,-13) size 30x16 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 31x16
            chunk 1 (middle anchor) text run 1 at (65.00,0.00) startOffset 0 endOffset 5 width 30.00: "0s-5s"
      RenderSVGContainer {g} at (505,189) size 156x231 [transform={m=((1.00,0.00)(0.00,1.00)) t=(180.00,40.00)}]
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
        RenderSVGContainer {g} at (505,189) size 156x22
          RenderSVGContainer {use} at (505,189) size 23x22
            RenderSVGRect {rect} at (505,189) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {use} at (639,189) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
            RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGRect {rect} at (639,189) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
        RenderSVGContainer {g} at (505,230) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,25.00)}]
          RenderSVGContainer {use} at (505,230) size 23x23
            RenderSVGRect {rect} at (505,230) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {use} at (639,230) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
            RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGRect {rect} at (639,230) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
        RenderSVGContainer {g} at (505,272) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
          RenderSVGContainer {use} at (505,272) size 23x23
            RenderSVGRect {rect} at (505,272) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {use} at (639,272) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
            RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGRect {rect} at (639,272) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
        RenderSVGContainer {g} at (505,314) size 156x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,75.00)}]
          RenderSVGContainer {use} at (505,314) size 23x22
            RenderSVGRect {rect} at (505,314) size 23x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {use} at (639,314) size 22x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
            RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGRect {rect} at (639,314) size 22x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
        RenderSVGContainer {g} at (505,397) size 156x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,125.00)}]
          RenderSVGContainer {use} at (505,397) size 23x23
            RenderSVGRect {rect} at (505,397) size 23x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGContainer {use} at (639,397) size 22x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(80.00,0.00)}]
            RenderSVGRect {rect} at (639,397) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CCCCCC]}] [x=-6.00] [y=-6.00] [width=12.00] [height=12.00]
          RenderSVGRect {rect} at (639,397) size 22x23 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#CC0066]}] [x=74.00] [y=-6.00] [width=12.00] [height=12.00]
