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 (16,25) size 701x467
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGResourceFilter {filter} [id="default"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMinMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMidMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMaxMeet"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMinSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMidSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMinYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMidYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
        RenderSVGResourceFilter {filter} [id="xMaxYMaxSlice"] [filterUnits=objectBoundingBox] [primitiveUnits=userSpaceOnUse]
          [feImage image-size="100.00x100.00"]
      RenderSVGContainer {g} at (16,25) size 701x467 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
        RenderSVGText {text} at (57,-15) size 366x19 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 366x19
            chunk 1 (middle anchor) text run 1 at (57.00,0.00) startOffset 0 endOffset 47 width 366.00: "Test preserveAspectRatio on an feImage element."
        RenderSVGText {text} at (17,21) size 46x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 46x11
            chunk 1 (middle anchor) text run 1 at (17.50,30.00) startOffset 0 endOffset 13 width 45.00: "Raster to fit"
        RenderSVGContainer {g} at (33,116) size 67x68 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGRect {rect} at (33,116) size 67x68 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=40.00] [height=40.00]
            [filter="default"] RenderSVGResourceFilter {filter} at (0,0) size 40x40
        RenderSVGText {text} at (14,101) size 43x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 42x11
            chunk 1 (middle anchor) text run 1 at (14.80,110.00) startOffset 0 endOffset 10 width 41.40: "Viewport 1"
        RenderSVGContainer {g} at (16,250) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (16,250) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (14,171) size 43x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 42x11
            chunk 1 (middle anchor) text run 1 at (14.80,180.00) startOffset 0 endOffset 10 width 41.40: "Viewport 2"
        RenderSVGContainer {g} at (33,366) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (33,366) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (200,86) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 115x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 115x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 114.60: "---------- meet --------------------"
          RenderSVGContainer {g} at (200,111) size 84x73
            RenderSVGText {text} at (0,-14) size 23x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.80: "xMin*"
            RenderSVGRect {rect} at (200,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (200,133) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMinYMinMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (316,111) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.80: "xMid*"
            RenderSVGRect {rect} at (316,133) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (316,133) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMidYMidMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (200,194) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 26x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.80: "xMax*"
            RenderSVGRect {rect} at (200,216) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (200,216) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMaxYMaxMeet"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
        RenderSVGContainer {g} at (500,86) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 127x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 127x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 126.60: "---------- meet ------------------------"
          RenderSVGContainer {g} at (500,111) size 50x123
            RenderSVGText {text} at (0,-14) size 24x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "*YMin"
            RenderSVGRect {rect} at (500,133) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (500,133) size 50x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMinYMinMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (583,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 24x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "*YMid"
            RenderSVGRect {rect} at (583,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (583,133) size 51x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMidYMidMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (666,111) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 27x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMax"
            RenderSVGRect {rect} at (666,133) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (666,133) size 51x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMaxYMaxMeet"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
        RenderSVGContainer {g} at (200,311) size 217x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 128x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 128x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.80: "---------- slice -------------------------"
          RenderSVGContainer {g} at (200,336) size 50x123
            RenderSVGText {text} at (0,-14) size 23x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.80: "xMin*"
            RenderSVGRect {rect} at (200,358) size 50x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (200,358) size 50x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMinYMinSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (283,336) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 23x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 23x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 22.80: "xMid*"
            RenderSVGRect {rect} at (283,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (283,358) size 51x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMidYMidSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
          RenderSVGContainer {g} at (366,336) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 26x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 25.80: "xMax*"
            RenderSVGRect {rect} at (366,358) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGRect {rect} at (366,358) size 51x101 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=30.00] [height=60.00]
              [filter="xMaxYMaxSlice"] RenderSVGResourceFilter {filter} at (0,0) size 30x60
        RenderSVGContainer {g} at (500,311) size 200x181 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
          RenderSVGText {text} at (0,-29) size 116x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 116x11
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.80: "---------- slice ---------------------"
          RenderSVGContainer {g} at (500,336) size 84x73
            RenderSVGText {text} at (0,-14) size 24x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "*YMin"
            RenderSVGRect {rect} at (500,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (500,358) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMinYMinSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (616,336) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 24x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.00: "*YMid"
            RenderSVGRect {rect} at (616,358) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (616,358) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMidYMidSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
          RenderSVGContainer {g} at (500,419) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-14) size 27x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x11
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 27.00: "*YMax"
            RenderSVGRect {rect} at (500,441) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGRect {rect} at (500,441) size 84x51 [fill={[type=SOLID] [color=#FF0000]}] [x=0.00] [y=0.00] [width=50.00] [height=30.00]
              [filter="xMaxYMaxSlice"] RenderSVGResourceFilter {filter} at (0,0) size 50x30
    RenderSVGContainer {g} at (16,518) size 380x60
      RenderSVGText {text} at (10,311) size 228x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.3 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
