layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 450x500
  RenderSVGRoot {svg} at (74,16) size 302x475
    RenderSVGText {text} at (114,16) size 222x17 contains 1 chunk(s)
      RenderSVGInlineText {#text} at (0,0) size 222x17
        chunk 1 (middle anchor) text run 1 at (114.00,30.00) startOffset 0 endOffset 31 width 222.00: "text-anchor on a single <tspan>"
    RenderSVGContainer {g} at (74,49) size 302x442
      RenderSVGContainer {g} at (74,49) size 302x142
        RenderSVGRect {rect} at (74,49) size 302x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x=75.00] [y=50.00] [width=300.00] [height=20.00]
        RenderSVGRect {rect} at (74,69) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=70.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,109) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [x=75.00] [y=110.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,149) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=150.00] [width=300.00] [height=40.00]
        RenderSVGText {text} at (90,52) size 184x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 184x15
            chunk 1 text run 1 at (90.00,64.00) startOffset 0 endOffset 34 width 184.00: "x attributed tspan with extra text"
        RenderSVGContainer {g} at (149,70) size 162x120
          RenderSVGPath {line} at (149,70) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=150.00] [y1=70.00] [x2=150.00] [y2=190.00]
          RenderSVGPath {line} at (189,70) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=190.00] [y1=70.00] [x2=190.00] [y2=190.00]
          RenderSVGPath {line} at (229,70) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=230.00] [y1=70.00] [x2=230.00] [y2=190.00]
          RenderSVGPath {line} at (269,70) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=270.00] [y1=70.00] [x2=270.00] [y2=190.00]
          RenderSVGPath {line} at (309,70) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=310.00] [y1=70.00] [x2=310.00] [y2=190.00]
      RenderSVGContainer {g} at (74,199) size 302x142 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
        RenderSVGRect {rect} at (74,199) size 302x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x=75.00] [y=50.00] [width=300.00] [height=20.00]
        RenderSVGRect {rect} at (74,219) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=70.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,259) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [x=75.00] [y=110.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,299) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=150.00] [width=300.00] [height=40.00]
        RenderSVGText {text} at (90,52) size 145x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 145x15
            chunk 1 text run 1 at (90.00,64.00) startOffset 0 endOffset 26 width 145.00: "x attribute for some chars"
        RenderSVGContainer {g} at (149,220) size 82x120
          RenderSVGPath {line} at (149,220) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=150.00] [y1=70.00] [x2=150.00] [y2=190.00]
          RenderSVGPath {line} at (189,220) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=190.00] [y1=70.00] [x2=190.00] [y2=190.00]
          RenderSVGPath {line} at (229,220) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=230.00] [y1=70.00] [x2=230.00] [y2=190.00]
      RenderSVGContainer {g} at (74,349) size 302x142 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,300.00)}]
        RenderSVGRect {rect} at (74,349) size 302x22 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [x=75.00] [y=50.00] [width=300.00] [height=20.00]
        RenderSVGRect {rect} at (74,369) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=70.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,409) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#FFFFFF]}] [x=75.00] [y=110.00] [width=300.00] [height=40.00]
        RenderSVGRect {rect} at (74,449) size 302x42 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#EEEEEE]}] [x=75.00] [y=150.00] [width=300.00] [height=40.00]
        RenderSVGText {text} at (90,52) size 184x15 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 184x15
            chunk 1 text run 1 at (90.00,64.00) startOffset 0 endOffset 33 width 184.00: "x & y attributes with inheritance"
        RenderSVGContainer {g} at (149,370) size 122x120
          RenderSVGPath {line} at (149,370) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=150.00] [y1=70.00] [x2=150.00] [y2=190.00]
          RenderSVGPath {line} at (189,370) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=190.00] [y1=70.00] [x2=190.00] [y2=190.00]
          RenderSVGPath {line} at (229,370) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=230.00] [y1=70.00] [x2=230.00] [y2=190.00]
          RenderSVGPath {line} at (269,370) size 2x120 [stroke={[type=SOLID] [color=#B0C4DE]}] [x1=270.00] [y1=70.00] [x2=270.00] [y2=190.00]
      RenderSVGText {text} at (0,-14) size 207x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 168x27
          RenderSVGInlineText {#text} at (0,0) size 168x27
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 text run 1 at (40.00,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 text run 1 at (80.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 text run 1 at (120.00,0.00) startOffset 0 endOffset 1 width 4.00: "i"
            chunk 1 text run 1 at (160.00,10.00) startOffset 0 endOffset 1 width 8.00: "k"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (168,10) size 39x17
            chunk 1 text run 1 at (168.00,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
      RenderSVGText {text} at (-6,-14) size 190x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 150x27
          RenderSVGInlineText {#text} at (0,0) size 150x27
            chunk 1 (middle anchor) text run 1 at (-5.50,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (middle anchor) text run 1 at (36.50,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (middle anchor) text run 1 at (78.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 (middle anchor) text run 1 at (118.00,0.00) startOffset 0 endOffset 1 width 4.00: "i"
            chunk 1 (middle anchor) text run 1 at (136.50,10.00) startOffset 0 endOffset 1 width 8.00: "k"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (150,10) size 39x17
            chunk 1 text run 1 at (144.50,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
      RenderSVGText {text} at (-11,-14) size 171x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 132x27
          RenderSVGInlineText {#text} at (0,0) size 132x27
            chunk 1 (end anchor) text run 1 at (-11.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (end anchor) text run 1 at (33.00,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (end anchor) text run 1 at (76.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 (end anchor) text run 1 at (116.00,0.00) startOffset 0 endOffset 1 width 4.00: "i"
            chunk 1 (end anchor) text run 1 at (113.00,10.00) startOffset 0 endOffset 1 width 8.00: "k"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (132,10) size 39x17
            chunk 1 text run 1 at (121.00,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
      RenderSVGText {text} at (0,-14) size 96x17 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 96x17
          RenderSVGInlineText {#text} at (0,0) size 96x17
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 text run 1 at (40.00,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 text run 1 at (80.00,0.00) startOffset 0 endOffset 3 width 16.00: "tik"
      RenderSVGText {text} at (-6,-14) size 94x17 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 94x17
          RenderSVGInlineText {#text} at (0,0) size 94x17
            chunk 1 (middle anchor) text run 1 at (-5.50,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (middle anchor) text run 1 at (36.50,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (middle anchor) text run 1 at (72.00,0.00) startOffset 0 endOffset 3 width 16.00: "tik"
      RenderSVGText {text} at (-11,-14) size 91x17 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 91x17
          RenderSVGInlineText {#text} at (0,0) size 91x17
            chunk 1 (end anchor) text run 1 at (-11.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (end anchor) text run 1 at (33.00,0.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (end anchor) text run 1 at (64.00,0.00) startOffset 0 endOffset 3 width 16.00: "tik"
      RenderSVGText {text} at (0,-14) size 171x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 132x27
          RenderSVGInlineText {#text} at (0,0) size 132x27
            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 text run 1 at (40.00,10.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 text run 1 at (80.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 text run 1 at (120.00,10.00) startOffset 0 endOffset 2 width 12.00: "ik"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (132,10) size 39x17
            chunk 1 text run 1 at (132.00,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
      RenderSVGText {text} at (-6,-14) size 152x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 112x27
          RenderSVGInlineText {#text} at (0,0) size 112x27
            chunk 1 (middle anchor) text run 1 at (-5.50,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (middle anchor) text run 1 at (36.50,10.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (middle anchor) text run 1 at (78.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 (middle anchor) text run 1 at (94.50,10.00) startOffset 0 endOffset 2 width 12.00: "ik"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (112,10) size 39x17
            chunk 1 text run 1 at (106.50,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
      RenderSVGText {text} at (-11,-14) size 131x27 contains 1 chunk(s)
        RenderSVGTSpan {tspan} at (0,0) size 92x27
          RenderSVGInlineText {#text} at (0,0) size 92x27
            chunk 1 (end anchor) text run 1 at (-11.00,0.00) startOffset 0 endOffset 1 width 11.00: "B"
            chunk 1 (end anchor) text run 1 at (33.00,10.00) startOffset 0 endOffset 1 width 7.00: "a"
            chunk 1 (end anchor) text run 1 at (76.00,0.00) startOffset 0 endOffset 1 width 4.00: "t"
            chunk 1 (end anchor) text run 1 at (69.00,10.00) startOffset 0 endOffset 2 width 12.00: "ik"
        RenderSVGTSpan {tspan} at (0,0) size 39x17
          RenderSVGInlineText {#text} at (92,10) size 39x17
            chunk 1 text run 1 at (81.00,10.00) startOffset 0 endOffset 7 width 39.00: " rules!"
