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 (8,5) size 788x526
      RenderSVGText {text} at (5,3) size 473x46 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 473x45
          chunk 1 text run 1 at (5.00,40.00) startOffset 0 endOffset 29 width 472.20: "Test 'text-anchor' (vertical)"
      RenderSVGContainer {g} at (252,81) size 196x450
        RenderSVGContainer {g} at (252,81) size 196x450 [transform={m=((1.00,0.00)(0.00,1.00)) t=(160.00,150.00)}]
          RenderSVGContainer {g} at (252,245) size 29x286
            RenderSVGEllipse {circle} at (261,245) size 11x10 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=3.00]
            RenderSVGText {text} at (-9,0) size 18x169 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 17x169
                chunk 1 (vertical) text run 1 at (-10.50,0.00) startOffset 0 endOffset 1 height 33.60: "s"
                chunk 1 (vertical) text run 2 at (-10.50,33.60) startOffset 1 endOffset 2 height 33.60: "t"
                chunk 1 (vertical) text run 3 at (-10.50,67.20) startOffset 2 endOffset 3 height 33.60: "a"
                chunk 1 (vertical) text run 4 at (-10.50,100.80) startOffset 3 endOffset 4 height 33.60: "r"
                chunk 1 (vertical) text run 5 at (-10.50,134.40) startOffset 4 endOffset 5 height 33.60: "t"
          RenderSVGContainer {g} at (328,81) size 44x338 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,0.00)}]
            RenderSVGEllipse {circle} at (345,245) size 10x10 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=3.00]
            RenderSVGText {text} at (-13,-101) size 26x202 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 26x202
                chunk 1 (middle anchor, vertical) text run 1 at (-10.50,-100.80) startOffset 0 endOffset 1 height 33.60: "m"
                chunk 1 (middle anchor, vertical) text run 2 at (-10.50,-67.20) startOffset 1 endOffset 2 height 33.60: "i"
                chunk 1 (middle anchor, vertical) text run 3 at (-10.50,-33.60) startOffset 2 endOffset 3 height 33.60: "d"
                chunk 1 (middle anchor, vertical) text run 4 at (-10.50,-0.00) startOffset 3 endOffset 4 height 33.60: "d"
                chunk 1 (middle anchor, vertical) text run 5 at (-10.50,33.60) startOffset 4 endOffset 5 height 33.60: "l"
                chunk 1 (middle anchor, vertical) text run 6 at (-10.50,67.20) startOffset 5 endOffset 6 height 33.60: "e"
          RenderSVGContainer {g} at (419,81) size 29x174 [transform={m=((1.00,0.00)(0.00,1.00)) t=(100.00,0.00)}]
            RenderSVGEllipse {circle} at (428,245) size 11x10 [fill={[type=SOLID] [color=#000000]}] [cx=0.00] [cy=0.00] [r=3.00]
            RenderSVGText {text} at (-9,-101) size 18x101 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 17x101
                chunk 1 (end anchor, vertical) text run 1 at (-10.50,-100.80) startOffset 0 endOffset 1 height 33.60: "e"
                chunk 1 (end anchor, vertical) text run 2 at (-10.50,-67.20) startOffset 1 endOffset 2 height 33.60: "n"
                chunk 1 (end anchor, vertical) text run 3 at (-10.50,-33.60) startOffset 2 endOffset 3 height 33.60: "d"
    RenderSVGText {text} at (10,304) size 269x45 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 269x45
        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 268.20: "$Revision: 1.5 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
selection start: position 0 of child 0 {#text} of child 1 {text} of child 13 {g} of child 27 {svg} of document
selection end:   position 16 of child 0 {#text} of child 15 {text} of child 27 {svg} of document
