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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
      RenderSVGResourceLinearGradient {linearGradient} [id="lgSpreadPad"] [gradientUnits=userSpaceOnUse] [start=(50,0)] [end=(100,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceLinearGradient {linearGradient} [id="lgSpreadReflect"] [gradientUnits=userSpaceOnUse] [spreadMethod=REFLECT] [start=(50,0)] [end=(100,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceLinearGradient {linearGradient} [id="lgSpreadRepeat"] [gradientUnits=userSpaceOnUse] [spreadMethod=REPEAT] [start=(50,0)] [end=(100,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceLinearGradient {linearGradient} [id="lgSpreadDefault"] [gradientUnits=userSpaceOnUse] [start=(50,0)] [end=(100,0)]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceRadialGradient {radialGradient} [id="rgSpreadPad"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.20] [focalRadius=0.00]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceRadialGradient {radialGradient} [id="rgSpreadReflect"] [gradientUnits=objectBoundingBox] [spreadMethod=REFLECT] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.20] [focalRadius=0.00]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceRadialGradient {radialGradient} [id="rgSpreadRepeat"] [gradientUnits=objectBoundingBox] [spreadMethod=REPEAT] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.20] [focalRadius=0.00]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
      RenderSVGResourceRadialGradient {radialGradient} [id="rgSpreadDefault"] [gradientUnits=objectBoundingBox] [center=(0.50,0.50)] [focal=(0.50,0.50)] [radius=0.20] [focalRadius=0.00]
        RenderSVGGradientStop {stop} [offset=0.00] [color=#FF0000]
        RenderSVGGradientStop {stop} [offset=1.00] [color=#FFD700]
    RenderSVGText {text} at (111,12) size 258x22 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 257x22
        chunk 1 (middle anchor) text run 1 at (111.50,30.00) startOffset 0 endOffset 30 width 257.00: "Gradient 'spreadMethod' values"
    RenderSVGRect {rect} at (10,60) size 225x40 [fill={[type=LINEAR-GRADIENT] [id="lgSpreadPad"]}] [x=10.00] [y=60.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (10,41) size 136x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 136x17
        chunk 1 text run 1 at (10.00,55.00) startOffset 0 endOffset 18 width 136.00: "spreadMethod=\"pad\""
    RenderSVGRect {rect} at (10,130) size 225x40 [fill={[type=LINEAR-GRADIENT] [id="lgSpreadReflect"]}] [x=10.00] [y=130.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (10,111) size 152x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 152x17
        chunk 1 text run 1 at (10.00,125.00) startOffset 0 endOffset 22 width 152.00: "spreadMethod=\"reflect\""
    RenderSVGRect {rect} at (10,200) size 225x40 [fill={[type=LINEAR-GRADIENT] [id="lgSpreadRepeat"]}] [x=10.00] [y=200.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (10,181) size 151x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 151x17
        chunk 1 text run 1 at (10.00,195.00) startOffset 0 endOffset 21 width 151.00: "spreadMethod=\"repeat\""
    RenderSVGRect {rect} at (10,270) size 225x40 [fill={[type=LINEAR-GRADIENT] [id="lgSpreadDefault"]}] [x=10.00] [y=270.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (10,251) size 156x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 156x17
        chunk 1 text run 1 at (10.00,265.00) startOffset 0 endOffset 22 width 156.00: "spreadMethod=\"default\""
    RenderSVGRect {rect} at (245,60) size 225x40 [fill={[type=RADIAL-GRADIENT] [id="rgSpreadPad"]}] [x=245.00] [y=60.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (245,41) size 136x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 136x17
        chunk 1 text run 1 at (245.00,55.00) startOffset 0 endOffset 18 width 136.00: "spreadMethod=\"pad\""
    RenderSVGRect {rect} at (245,130) size 225x40 [fill={[type=RADIAL-GRADIENT] [id="rgSpreadReflect"]}] [x=245.00] [y=130.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (245,111) size 152x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 152x17
        chunk 1 text run 1 at (245.00,125.00) startOffset 0 endOffset 22 width 152.00: "spreadMethod=\"reflect\""
    RenderSVGRect {rect} at (245,200) size 225x40 [fill={[type=RADIAL-GRADIENT] [id="rgSpreadRepeat"]}] [x=245.00] [y=200.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (245,181) size 151x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 151x17
        chunk 1 text run 1 at (245.00,195.00) startOffset 0 endOffset 21 width 151.00: "spreadMethod=\"repeat\""
    RenderSVGRect {rect} at (245,270) size 225x40 [fill={[type=RADIAL-GRADIENT] [id="rgSpreadDefault"]}] [x=245.00] [y=270.00] [width=225.00] [height=40.00]
    RenderSVGText {text} at (245,251) size 156x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 156x17
        chunk 1 text run 1 at (245.00,265.00) startOffset 0 endOffset 22 width 156.00: "spreadMethod=\"default\""
    RenderSVGText {text} at (10,323) size 198x33 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 198x33
        chunk 1 text run 1 at (10.00,350.00) startOffset 0 endOffset 16 width 198.00: "$Revision: 1.7 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
