layer at (0,0) size 800x600
  RenderView at (0,0) size 800x600
layer at (0,0) size 400x400
  RenderSVGRoot {svg} at (10,0) size 100x367
    RenderSVGContainer {g} at (10,0) size 100x20
      RenderSVGText {text} at (10,-2) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,14) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,28) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
      RenderSVGText {text} at (10,-2) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,44) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,58) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,60.00)}]
      RenderSVGText {text} at (10,-2) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,74) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,88) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,90.00)}]
      RenderSVGText {text} at (10,-2) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,104) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,123) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
      RenderSVGText {text} at (10,3) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,134) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,148) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
      RenderSVGText {text} at (10,-2) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,15.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,164) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,191) size 100x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,180.00)}]
      RenderSVGText {text} at (10,11) size 100x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,28.60) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,194) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,216) size 100x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,210.00)}]
      RenderSVGText {text} at (10,6) size 100x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,23.50) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,224) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,244) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}]
      RenderSVGText {text} at (10,4) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,21.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,254) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,272) size 100x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
      RenderSVGText {text} at (10,2) size 100x23 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,19.50) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,284) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,303) size 100x22 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,300.00)}]
      RenderSVGText {text} at (10,3) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,20.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,314) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
    RenderSVGContainer {g} at (10,344) size 100x23 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,330.00)}]
      RenderSVGText {text} at (10,15) size 100x22 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 100x22
          chunk 1 text run 1 at (10.00,32.00) startOffset 0 endOffset 14 width 100.00: "This is a test"
      RenderSVGPath {line} at (10,344) size 100x2 [stroke={[type=SOLID] [color=#FF0000]}] [fill={[type=SOLID] [color=#000000]}] [x1=10.00] [y1=15.00] [x2=110.00] [y2=15.00]
