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
    RenderSVGContainer {g} at (41,41) size 668x457
      RenderSVGContainer {g} at (41,41) size 668x457
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceFilter {filter} [id="Turb1"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb2"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="2" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb3"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="TURBULENCE" baseFrequency="0.05, 0.05" seed="0.00" numOctaves="8" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb4"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb5"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.40, 0.40" seed="0.00" numOctaves="4" stitchTiles="0"]
          RenderSVGResourceFilter {filter} [id="Turb6"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feTurbulence type="NOISE" baseFrequency="0.10, 0.10" seed="0.00" numOctaves="1" stitchTiles="0"]
        RenderSVGRect {rect} at (41,41) size 168x126 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb1"] RenderSVGResourceFilter {filter} at (25,25) size 100x75
        RenderSVGText {text} at (39,107) size 72x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 71x12
            chunk 1 (middle anchor) text run 1 at (39.90,117.00) startOffset 0 endOffset 15 width 70.20: "type=turbulence"
        RenderSVGText {text} at (30,119) size 90x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x12
            chunk 1 (middle anchor) text run 1 at (30.60,129.00) startOffset 0 endOffset 18 width 88.80: "baseFrequency=0.05"
        RenderSVGText {text} at (42,131) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (42.90,141.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=2"
        RenderSVGRect {rect} at (291,41) size 168x126 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb2"] RenderSVGResourceFilter {filter} at (175,25) size 100x75
        RenderSVGText {text} at (189,107) size 72x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 71x12
            chunk 1 (middle anchor) text run 1 at (189.90,117.00) startOffset 0 endOffset 15 width 70.20: "type=turbulence"
        RenderSVGText {text} at (183,119) size 84x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x12
            chunk 1 (middle anchor) text run 1 at (183.30,129.00) startOffset 0 endOffset 17 width 83.40: "baseFrequency=0.1"
        RenderSVGText {text} at (192,131) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (192.90,141.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=2"
        RenderSVGRect {rect} at (541,41) size 168x126 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=25.00] [width=100.00] [height=75.00]
          [filter="Turb3"] RenderSVGResourceFilter {filter} at (325,25) size 100x75
        RenderSVGText {text} at (339,107) size 72x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 71x12
            chunk 1 (middle anchor) text run 1 at (339.90,117.00) startOffset 0 endOffset 15 width 70.20: "type=turbulence"
        RenderSVGText {text} at (330,119) size 90x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 89x12
            chunk 1 (middle anchor) text run 1 at (330.60,129.00) startOffset 0 endOffset 18 width 88.80: "baseFrequency=0.05"
        RenderSVGText {text} at (342,131) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (342.90,141.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=8"
        RenderSVGRect {rect} at (41,300) size 168x125 [fill={[type=SOLID] [color=#000000]}] [x=25.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb4"] RenderSVGResourceFilter {filter} at (25,180) size 100x75
        RenderSVGText {text} at (36,262) size 78x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x12
            chunk 1 (middle anchor) text run 1 at (36.60,272.00) startOffset 0 endOffset 17 width 76.80: "type=fractalNoise"
        RenderSVGText {text} at (33,274) size 84x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x12
            chunk 1 (middle anchor) text run 1 at (33.30,284.00) startOffset 0 endOffset 17 width 83.40: "baseFrequency=0.1"
        RenderSVGText {text} at (42,286) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (42.90,296.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=4"
        RenderSVGRect {rect} at (291,300) size 168x125 [fill={[type=SOLID] [color=#000000]}] [x=175.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb5"] RenderSVGResourceFilter {filter} at (175,180) size 100x75
        RenderSVGText {text} at (186,262) size 78x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x12
            chunk 1 (middle anchor) text run 1 at (186.60,272.00) startOffset 0 endOffset 17 width 76.80: "type=fractalNoise"
        RenderSVGText {text} at (183,274) size 84x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x12
            chunk 1 (middle anchor) text run 1 at (183.30,284.00) startOffset 0 endOffset 17 width 83.40: "baseFrequency=0.4"
        RenderSVGText {text} at (192,286) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (192.90,296.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=4"
        RenderSVGRect {rect} at (541,300) size 168x125 [fill={[type=SOLID] [color=#000000]}] [x=325.00] [y=180.00] [width=100.00] [height=75.00]
          [filter="Turb6"] RenderSVGResourceFilter {filter} at (325,180) size 100x75
        RenderSVGText {text} at (336,262) size 78x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 77x12
            chunk 1 (middle anchor) text run 1 at (336.60,272.00) startOffset 0 endOffset 17 width 76.80: "type=fractalNoise"
        RenderSVGText {text} at (333,274) size 84x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 84x12
            chunk 1 (middle anchor) text run 1 at (333.30,284.00) startOffset 0 endOffset 17 width 83.40: "baseFrequency=0.1"
        RenderSVGText {text} at (342,286) size 66x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 65x12
            chunk 1 (middle anchor) text run 1 at (342.90,296.00) startOffset 0 endOffset 12 width 64.20: "numOctaves=1"
    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.1 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
