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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (38,15) size 722x473
      RenderSVGResourcePattern {pattern} [id="pat1"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
        RenderSVGRect {rect} at (8,8) size 17x17 [fill={[type=SOLID] [color=#FFFF00]}] [x=5.00] [y=5.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (16,16) size 18x18 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
      RenderSVGRect {rect} at (40,15) size 720x103 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=PATTERN] [id="pat1"]}] [x=25.00] [y=10.00] [width=430.00] [height=60.00]
      RenderSVGText {text} at (25,74) size 403x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 403x14
          chunk 1 text run 1 at (25.00,85.00) startOffset 0 endOffset 78 width 402.91: "Pattern created using yellow and green rectangles applied to fill of rectangle"
      RenderSVGResourcePattern {pattern} [id="pat2"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
        RenderSVGRect {rect} at (0,0) size 17x17 [fill={[type=SOLID] [color=#800000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (16,0) size 18x17 [fill={[type=SOLID] [color=#008000]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (0,16) size 17x18 [fill={[type=SOLID] [color=#0000FF]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (16,16) size 18x18 [fill={[type=SOLID] [color=#FFFF00]}] [x=10.00] [y=10.00] [width=10.00] [height=10.00]
      RenderSVGRect {rect} at (41,166) size 718x101 [stroke={[type=PATTERN] [id="pat2"] [stroke width=20.00]}] [x=35.00] [y=110.00] [width=410.00] [height=40.00]
      RenderSVGText {text} at (25,164) size 302x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 302x14
          chunk 1 text run 1 at (25.00,175.00) startOffset 0 endOffset 59 width 301.52: "Pattern of 4 rectangles applied to a stroke of a rectangle."
      RenderSVGResourcePattern {pattern} [id="pat3"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
        RenderSVGRect {rect} at (0,0) size 17x17 [fill={[type=SOLID] [color=#FFA500]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (0,16) size 17x18 [fill={[type=SOLID] [color=#008000]}] [x=0.00] [y=10.00] [width=10.00] [height=10.00]
      RenderSVGText {text} at (25,174) size 291x57 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 291x56
          chunk 1 text run 1 at (25.00,220.00) startOffset 0 endOffset 15 width 290.65: "Pattern on fill"
      RenderSVGText {text} at (25,224) size 226x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 226x14
          chunk 1 text run 1 at (25.00,235.00) startOffset 0 endOffset 41 width 225.46: "Pattern consists of orange and green rows"
      RenderSVGResourcePattern {pattern} [id="pat4"] [patternUnits=userSpaceOnUse] [patternContentUnits=userSpaceOnUse]
        RenderSVGRect {rect} at (0,0) size 17x17 [fill={[type=SOLID] [color=#800000]}] [x=0.00] [y=0.00] [width=10.00] [height=10.00]
        RenderSVGRect {rect} at (16,0) size 18x17 [fill={[type=SOLID] [color=#0000FF]}] [x=10.00] [y=0.00] [width=10.00] [height=10.00]
      RenderSVGText {text} at (25,238) size 307x46 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 307x45
          chunk 1 text run 1 at (25.00,275.00) startOffset 0 endOffset 17 width 306.13: "Pattern on stroke"
      RenderSVGText {text} at (25,279) size 241x14 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 241x14
          chunk 1 text run 1 at (25.00,290.00) startOffset 0 endOffset 43 width 240.13: "Pattern consists of maroon and blue columns"
    RenderSVGContainer {g} at (16,517) size 381x62
      RenderSVGText {text} at (10,310) size 229x38 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 229x37
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 228.03: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
