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 (10,52) size 420x243 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
      RenderSVGContainer {g} at (10,52) size 420x243
        RenderSVGText {text} at (10,22) size 45x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 45x10
            chunk 1 text run 1 at (10.00,30.00) startOffset 0 endOffset 13 width 45.00: "Raster to fit"
        RenderSVGContainer {g} at (20,70) size 40x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,40.00)}]
          RenderSVGImage {image} at (20,70) size 40x40
        RenderSVGText {text} at (10,102) size 44x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 44x10
            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 10 width 44.00: "Viewport 1"
        RenderSVGContainer {g} at (10,150) size 50x30 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,120.00)}]
          RenderSVGRect {rect} at (10,150) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
        RenderSVGText {text} at (10,172) size 44x10 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 44x10
            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 10 width 44.00: "Viewport 2"
        RenderSVGContainer {g} at (20,220) size 30x60 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,190.00)}]
          RenderSVGRect {rect} at (20,220) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
        RenderSVGContainer {g} at (120,52) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,50.00)}]
          RenderSVGText {text} at (0,-28) size 112x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 112x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 36 width 112.00: "---------- meet --------------------"
          RenderSVGContainer {g} at (120,67) size 50x43
            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
            RenderSVGRect {rect} at (120,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (120,80) size 50x30
          RenderSVGContainer {g} at (190,67) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
            RenderSVGRect {rect} at (190,80) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (190,80) size 50x30
          RenderSVGContainer {g} at (120,117) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-13) size 27x10 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 27.00: "xMax*"
            RenderSVGRect {rect} at (120,130) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (120,130) size 50x30
        RenderSVGContainer {g} at (300,52) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,50.00)}]
          RenderSVGText {text} at (0,-28) size 124x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 124x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 40 width 124.00: "---------- meet ------------------------"
          RenderSVGContainer {g} at (300,67) size 30x73
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMin"
            RenderSVGRect {rect} at (300,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (300,80) size 30x60
          RenderSVGContainer {g} at (350,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMid"
            RenderSVGRect {rect} at (350,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (350,80) size 30x60
          RenderSVGContainer {g} at (400,67) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 29x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 29x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 29.00: "*YMax"
            RenderSVGRect {rect} at (400,80) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (400,80) size 30x60
        RenderSVGContainer {g} at (120,187) size 130x88 [transform={m=((1.00,0.00)(0.00,1.00)) t=(120.00,185.00)}]
          RenderSVGText {text} at (0,-28) size 127x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 127x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 42 width 127.00: "---------- slice -------------------------"
          RenderSVGContainer {g} at (120,202) size 30x73
            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMin*"
            RenderSVGRect {rect} at (120,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (120,215) size 30x60
          RenderSVGContainer {g} at (170,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 26x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 26.00: "xMid*"
            RenderSVGRect {rect} at (170,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (170,215) size 30x60
          RenderSVGContainer {g} at (220,202) size 30x73 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 27x10 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 27.00: "xMax*"
            RenderSVGRect {rect} at (220,215) size 30x60 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=29.00] [height=59.00]
            RenderSVGImage {image} at (220,215) size 30x60
        RenderSVGContainer {g} at (300,187) size 120x108 [transform={m=((1.00,0.00)(0.00,1.00)) t=(300.00,185.00)}]
          RenderSVGText {text} at (0,-28) size 115x10 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 115x10
              chunk 1 text run 1 at (0.00,-20.00) startOffset 0 endOffset 38 width 115.00: "---------- slice ---------------------"
          RenderSVGContainer {g} at (300,202) size 50x43
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMin"
            RenderSVGRect {rect} at (300,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (300,215) size 50x30
          RenderSVGContainer {g} at (370,202) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,0.00)}]
            RenderSVGText {text} at (0,-13) size 28x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 28x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 28.00: "*YMid"
            RenderSVGRect {rect} at (370,215) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (370,215) size 50x30
          RenderSVGContainer {g} at (300,252) size 50x43 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,50.00)}]
            RenderSVGText {text} at (0,-13) size 29x10 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 29x10
                chunk 1 text run 1 at (0.00,-5.00) startOffset 0 endOffset 5 width 29.00: "*YMax"
            RenderSVGRect {rect} at (300,265) size 50x30 [stroke={[type=SOLID] [color=#0000FF]}] [x=0.50] [y=0.50] [width=49.00] [height=29.00]
            RenderSVGImage {image} at (300,265) size 50x30
    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.5 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
