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 (15,5) size 450x300
      RenderSVGViewportContainer {svg} at (15,5) size 450x300
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGResourceLinearGradient {linearGradient} [id="MyGradient"] [gradientUnits=userSpaceOnUse] [start=(10,0)] [end=(590,0)]
            RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
            RenderSVGGradientStop {stop} [offset=0.33] [color=#00FF00]
            RenderSVGGradientStop {stop} [offset=0.67] [color=#0000FF]
            RenderSVGGradientStop {stop} [offset=1.00] [color=#000000]
          RenderSVGResourceFilter {filter} [id="Identity"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer
                {red: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="IDENTITY" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Table"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer
                {red: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="TABLE" slope="1.00" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Linear"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer
                {red: type="LINEAR" slope="0.50" intercept="0.25" amplitude="1.00" exponent="1.00" offset="0.00"}
                {green: type="LINEAR" slope="0.50" intercept="0.00" amplitude="1.00" exponent="1.00" offset="0.00"}
                {blue: type="LINEAR" slope="0.50" intercept="0.50" amplitude="1.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
          RenderSVGResourceFilter {filter} [id="Gamma"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
            [feComponentTransfer
                {red: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="5.00" offset="0.00"}
                {green: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="3.00" offset="0.00"}
                {blue: type="GAMMA" slope="1.00" intercept="0.00" amplitude="2.00" exponent="1.00" offset="0.00"}
                {alpha: type="UNKNOWN" slope="0.00" intercept="0.00" amplitude="0.00" exponent="0.00" offset="0.00"}]
              [SourceGraphic]
        RenderSVGRect {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=628.00] [height=418.00]
        RenderSVGContainer {g} at (15,5) size 450x300
          RenderSVGRect {rect} at (15,5) size 450x300 [stroke={[type=SOLID] [color=#0000FF]}] [x=1.00] [y=1.00] [width=628.00] [height=418.00]
          RenderSVGRect {rect} at (22,12) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=10.00] [width=580.00] [height=40.00]
            [filter="Identity"] RenderSVGResourceFilter {filter} at (10,10) size 580x40
          RenderSVGText {text} at (10,53) size 160x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 160x34
              chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 14 width 159.60: "type: identity"
          RenderSVGRect {rect} at (22,83) size 415x30 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=110.00] [width=580.00] [height=40.00]
            [filter="Table"] RenderSVGResourceFilter {filter} at (10,110) size 580x40
          RenderSVGText {text} at (10,153) size 125x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 125x34
              chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 11 width 124.60: "type: table"
          RenderSVGRect {rect} at (22,155) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=210.00] [width=580.00] [height=40.00]
            [filter="Linear"] RenderSVGResourceFilter {filter} at (10,210) size 580x40
          RenderSVGText {text} at (10,253) size 451x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 451x34
              chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 40 width 450.80: "type:linear slope:.5 intercepts:.25/0/.5"
          RenderSVGRect {rect} at (22,226) size 415x29 [fill={[type=LINEAR-GRADIENT] [id="MyGradient"]}] [x=10.00] [y=310.00] [width=580.00] [height=40.00]
            [filter="Gamma"] RenderSVGResourceFilter {filter} at (10,310) size 580x40
          RenderSVGText {text} at (10,353) size 443x34 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 443x34
              chunk 1 text run 1 at (10.00,380.00) startOffset 0 endOffset 34 width 442.40: "type: gamma ampl:2 exponents:5/3/1"
    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 264.00: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
