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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (16,15) size 609x490
      RenderSVGContainer {g} at (16,15) size 609x490
        RenderSVGContainer {g} at (28,15) size 597x259 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-60.00)}]
          RenderSVGText {text} at (30,134) size 344x20 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 344x20
              chunk 1 text run 1 at (30.00,150.00) startOffset 0 endOffset 37 width 344.00: "Rotated Text for testing SVGLocatable"
          RenderSVGText {text} at (100,114) size 296x20 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 296x20
              chunk 1 text run 1 at (100.00,130.00) startOffset 0 endOffset 35 width 295.71: "Some other text with id 'otherText'"
          RenderSVGViewportContainer {svg} at (458,75) size 167x167
            RenderSVGEllipse {circle} at (458,75) size 167x167 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGText {text} at (10,190) size 293x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 293x12
            chunk 1 text run 1 at (10.00,200.00) startOffset 0 endOffset 52 width 292.80: ".getScreenCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
        RenderSVGText {text} at (10,210) size 256x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 256x12
            chunk 1 text run 1 at (10.00,220.00) startOffset 0 endOffset 46 width 255.00: ".getCTM(): 0.71,0.71,-0.71,0.71,116.67,-100.00"
        RenderSVGText {text} at (10,230) size 312x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 312x12
            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 56 width 311.40: ".getTransformToElement(): 0.42,0.42,-0.42,0.42,0.00,0.00"
        RenderSVGText {text} at (10,250) size 344x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 344x12
            chunk 1 text run 1 at (10.00,260.00) startOffset 0 endOffset 65 width 343.20: ".getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100"
        RenderSVGText {text} at (10,270) size 256x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 256x12
            chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 47 width 255.00: ".farthestViewportElement of blueCircle=svg-root"
        RenderSVGText {text} at (10,290) size 272x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 272x12
            chunk 1 text run 1 at (10.00,300.00) startOffset 0 endOffset 47 width 271.80: ".nearestViewportElement of blueCircle=nestedSVG"
    RenderSVGContainer {g} at (16,524) size 380x54
      RenderSVGText {text} at (10,314) size 228x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x32
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
