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 (16,36) size 706x381
      RenderSVGContainer {g} at (16,36) size 706x381
        RenderSVGText {text} at (10,21) size 38x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 38x10
            chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 10 width 37.80: "SVG to fit"
        RenderSVGContainer {g} at (33,66) size 84x84 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGImage {image} at (33,66) size 84x84
        RenderSVGText {text} at (10,101) size 43x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x10
            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 42.00: "Viewport 1"
        RenderSVGContainer {g} at (16,200) size 84x50 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (16,200) size 84x50 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (10,171) size 43x11 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 43x10
            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 42.00: "Viewport 2"
        RenderSVGContainer {g} at (33,316) size 51x101 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (33,316) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (166,36) size 139x98 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 83x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 26 width 82.80: "---------- meet ----------"
          RenderSVGContainer {g} at (216,61) size 84x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 25x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 25x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 24.60: "xMid*"
            RenderSVGRect {rect} at (216,83) size 84x51 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (216,83) size 84x51
        RenderSVGContainer {g} at (383,36) size 139x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(230.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 83x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 26 width 82.80: "---------- meet ----------"
          RenderSVGContainer {g} at (433,61) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 27x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 27x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.40: "*YMid"
            RenderSVGRect {rect} at (433,83) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (433,83) size 51x101
        RenderSVGContainer {g} at (583,36) size 139x148 [transform={m=((1.00,0.00)(0.00,1.00)) t=(350.00,50.00)}]
          RenderSVGText {text} at (0,-29) size 83x11 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 26 width 82.80: "---------- meet ----------"
          RenderSVGContainer {g} at (633,61) size 51x123 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,0.00)}]
            RenderSVGText {text} at (0,-14) size 24x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 24x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 23.40: "*none"
            RenderSVGRect {rect} at (633,83) size 51x101 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (633,83) size 51x101
    RenderSVGText {text} at (10,304) size 289x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 289x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 17 width 288.60: "$Revision: 1.11 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
