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
    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
    RenderSVGContainer {g} at (10,9) size 365x294
      RenderSVGContainer {g} at (10,9) size 365x294
        RenderSVGContainer {g} at (17,9) size 358x155 [transform={m=((1.00,0.00)(0.00,1.00)) t=(70.00,-60.00)}]
          RenderSVGText {text} at (30,133) size 343x22 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 343x21
              chunk 1 text run 1 at (30.00,150.00) startOffset 0 endOffset 37 width 342.40: "Rotated Text for testing SVGLocatable"
          RenderSVGText {text} at (100,113) size 302x22 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 302x21
              chunk 1 text run 1 at (100.00,130.00) startOffset 0 endOffset 35 width 301.10: "Some other text with id 'otherText'"
          RenderSVGViewportContainer {svg} at (275,45) size 100x100
            RenderSVGEllipse {circle} at (275,45) size 100x100 [fill={[type=SOLID] [color=#0000FF]}] [cx=0.00] [cy=0.00] [r=50.00]
        RenderSVGText {text} at (10,190) size 277x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 277x13
            chunk 1 text run 1 at (10.00,200.00) startOffset 0 endOffset 50 width 276.82: ".getScreenCTM(): 0.42,0.42,-0.42,0.42,70.00,-60.00"
        RenderSVGText {text} at (10,210) size 239x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 239x13
            chunk 1 text run 1 at (10.00,220.00) startOffset 0 endOffset 44 width 238.80: ".getCTM(): 0.42,0.42,-0.42,0.42,70.00,-60.00"
        RenderSVGText {text} at (10,230) size 309x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 309x13
            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 56 width 308.16: ".getTransformToElement(): 0.42,0.42,-0.42,0.42,0.00,0.00"
        RenderSVGText {text} at (10,250) size 341x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 341x13
            chunk 1 text run 1 at (10.00,260.00) startOffset 0 endOffset 65 width 340.75: ".getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100"
        RenderSVGText {text} at (10,270) size 255x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 255x13
            chunk 1 text run 1 at (10.00,280.00) startOffset 0 endOffset 47 width 254.42: ".farthestViewportElement of blueCircle=svg-root"
        RenderSVGText {text} at (10,290) size 273x13 contains 1 chunk(s)
          RenderSVGInlineText {#text} at (0,0) size 273x13
            chunk 1 text run 1 at (10.00,300.00) startOffset 0 endOffset 47 width 272.45: ".nearestViewportElement of blueCircle=nestedSVG"
    RenderSVGContainer {g} at (10,314) size 230x33
      RenderSVGText {text} at (10,314) size 230x33 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 230x33
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 229.44: "$Revision: 1.6 $"
    RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
