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 (163,3) size 521x556
      RenderSVGHiddenContainer {defs} at (0,0) size 0x0
      RenderSVGText {text} at (98,2) size 284x29 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 132x29
          chunk 1 (middle anchor) text run 1 at (98.10,25.00) startOffset 0 endOffset 12 width 131.40: "Text Cursor "
        RenderSVGInline {a} at (0,0) size 153x29
          RenderSVGInlineText {#text} at (131,0) size 153x29
            chunk 1 (middle anchor) text run 1 at (229.50,25.00) startOffset 0 endOffset 14 width 152.40: "Pointer Cursor"
        RenderSVGInlineText {#text} at (0,0) size 0x0
      RenderSVGRect {rect} at (197,64) size 406x399 [stroke={[type=SOLID] [color=#666666] [stroke width=3.00]}] [x=120.00] [y=40.00] [width=240.00] [height=236.00]
      RenderSVGContainer {g} at (246,116) size 308x294
        RenderSVGContainer {g} at (246,116) size 135x54
          RenderSVGRect {rect} at (246,116) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=148.00] [y=70.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (154,75) size 75x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 75x19
              chunk 1 text run 1 at (154.00,90.00) startOffset 0 endOffset 9 width 74.40: "crosshair"
        RenderSVGContainer {g} at (246,196) size 134x54
          RenderSVGRect {rect} at (246,196) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=148.00] [y=118.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (154,123) size 54x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 54x19
              chunk 1 text run 1 at (154.00,138.00) startOffset 0 endOffset 7 width 54.00: "default"
        RenderSVGContainer {g} at (246,276) size 134x54
          RenderSVGRect {rect} at (246,276) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=148.00] [y=166.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (154,171) size 57x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 57x19
              chunk 1 text run 1 at (154.00,186.00) startOffset 0 endOffset 7 width 56.40: "pointer"
        RenderSVGContainer {g} at (246,356) size 134x54
          RenderSVGRect {rect} at (246,356) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=148.00] [y=214.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (154,220) size 43x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 43x19
              chunk 1 text run 1 at (154.00,235.00) startOffset 0 endOffset 4 width 42.60: "move"
        RenderSVGContainer {g} at (420,116) size 134x54
          RenderSVGRect {rect} at (420,116) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=252.00] [y=70.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (258,75) size 29x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 29x19
              chunk 1 text run 1 at (258.00,90.00) startOffset 0 endOffset 4 width 28.80: "text"
        RenderSVGContainer {g} at (420,196) size 134x54
          RenderSVGRect {rect} at (420,196) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=252.00] [y=118.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (258,123) size 32x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 32x19
              chunk 1 text run 1 at (258.00,138.00) startOffset 0 endOffset 4 width 31.80: "wait"
        RenderSVGContainer {g} at (420,276) size 134x54
          RenderSVGRect {rect} at (420,276) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=252.00] [y=166.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (258,171) size 35x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 35x19
              chunk 1 text run 1 at (258.00,186.00) startOffset 0 endOffset 4 width 34.20: "help"
        RenderSVGContainer {g} at (420,356) size 134x54
          RenderSVGRect {rect} at (420,356) size 134x54 [fill={[type=SOLID] [color=#666666]}] [x=252.00] [y=214.00] [width=80.00] [height=32.00]
          RenderSVGText {text} at (258,220) size 41x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 41x19
              chunk 1 text run 1 at (258.00,235.00) startOffset 0 endOffset 5 width 40.80: "<url>"
      RenderSVGContainer {g} at (192,58) size 416x410
        RenderSVGPath {polygon} at (192,59) size 57x57 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="116 36 116 68 148 36"]
        RenderSVGPath {polygon} at (551,59) size 57x57 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="364 36 364 68 332 36"]
        RenderSVGPath {polygon} at (551,411) size 57x57 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="364 280 332 280 364 248"]
        RenderSVGPath {polygon} at (192,411) size 57x57 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="116 280 148 280 116 248"]
        RenderSVGPath {polygon} at (565,221) size 43x85 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="340 134 340 182 364 158"]
        RenderSVGPath {polygon} at (192,221) size 43x85 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="116 158 140 134 140 182"]
        RenderSVGPath {polygon} at (354,58) size 88x49 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="240 36 264 63.3 214 63.3"]
        RenderSVGPath {polygon} at (354,420) size 88x48 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#990000]}] [points="240 280 264 252.7 214 252.7"]
      RenderSVGContainer {g} at (616,491) size 68x68
        RenderSVGEllipse {circle} at (623,498) size 54x54 [fill={[type=SOLID] [color=#FFFFCC]}] [cx=390.00] [cy=315.00] [r=16.00]
        RenderSVGPath {polyline} at (649,491) size 2x68 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [points="390 295 390 335"]
        RenderSVGPath {polyline} at (616,524) size 68x2 [stroke={[type=SOLID] [color=#000000]}] [fill={[type=SOLID] [color=#000000]}] [points="370 315 410 315"]
        RenderSVGEllipse {circle} at (640,515) size 20x20 [fill={[type=SOLID] [color=#FFFFFF]}] [cx=390.00] [cy=315.00] [r=6.00]
        RenderSVGContainer {a} at (646,521) size 8x8
          RenderSVGEllipse {circle} at (646,521) size 8x8 [fill={[type=SOLID] [color=#000000]}] [cx=390.00] [cy=315.00] [r=2.00]
    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.1 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
