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,13) size 413x537
      RenderSVGContainer {g} at (16,13) size 413x537
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
        RenderSVGHiddenContainer {defs} at (0,0) size 0x0
          RenderSVGContainer {g} at (0,0) size 7x7
            RenderSVGPath {line} at (0,0) size 0x0 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
            RenderSVGRect {rect} at (0,0) size 7x7 [fill={[type=SOLID] [color=#000000]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
        RenderSVGContainer {g} at (16,92) size 83x431 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,40.00)}]
          RenderSVGText {text} at (0,15) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 7 width 49.20: "1.x 1.y"
          RenderSVGText {text} at (0,45) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,60.00) startOffset 0 endOffset 7 width 49.20: "4.x 1.y"
          RenderSVGText {text} at (0,75) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,90.00) startOffset 0 endOffset 7 width 49.20: "2.x 1.y"
          RenderSVGText {text} at (0,105) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,120.00) startOffset 0 endOffset 7 width 49.20: "1.x 4.y"
          RenderSVGText {text} at (0,135) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,150.00) startOffset 0 endOffset 7 width 49.20: "4.x 4.y"
          RenderSVGText {text} at (0,165) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,180.00) startOffset 0 endOffset 7 width 49.20: "2.x 4.y"
          RenderSVGText {text} at (0,195) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,210.00) startOffset 0 endOffset 7 width 49.20: "1.x 2.y"
          RenderSVGText {text} at (0,225) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,240.00) startOffset 0 endOffset 7 width 49.20: "4.x 2.y"
          RenderSVGText {text} at (0,255) size 50x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 50x19
              chunk 1 text run 1 at (0.00,270.00) startOffset 0 endOffset 7 width 49.20: "2.x 2.y"
        RenderSVGContainer {g} at (181,13) size 248x537 [transform={m=((1.00,0.00)(0.00,1.00)) t=(150.00,40.00)}]
          RenderSVGText {text} at (-42,-32) size 84x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 83x19
              chunk 1 (middle anchor) text run 1 at (-41.10,-17.00) startOffset 0 endOffset 11 width 82.20: "text-anchor"
          RenderSVGText {text} at (-17,-18) size 34x19 contains 1 chunk(s)
            RenderSVGInlineText {#text} at (0,0) size 33x19
              chunk 1 (middle anchor) text run 1 at (-16.20,-3.00) startOffset 0 endOffset 5 width 32.40: "start"
          RenderSVGPath {line} at (249,83) size 2x467 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=10.00] [x2=0.00] [y2=290.00]
          RenderSVGContainer {g} at (243,91) size 186x424
            RenderSVGContainer {use} at (243,91) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,30.00)}]
              RenderSVGContainer {g} at (243,91) size 14x33
                RenderSVGPath {line} at (249,91) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (243,110) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGText {text} at (0,19) size 63x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 63x11
                chunk 1 text run 1 at (0.00,30.00) startOffset 0 endOffset 4 width 62.40: "1234"
            RenderSVGContainer {use} at (260,141) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,60.00)}]
              RenderSVGContainer {g} at (260,141) size 14x33
                RenderSVGPath {line} at (265,141) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (260,160) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGContainer {use} at (276,141) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,60.00)}]
              RenderSVGContainer {g} at (276,141) size 14x33
                RenderSVGPath {line} at (282,141) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (276,160) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGContainer {use} at (293,141) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,60.00)}]
              RenderSVGContainer {g} at (293,141) size 14x33
                RenderSVGPath {line} at (299,141) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (293,160) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGContainer {use} at (310,141) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,60.00)}]
              RenderSVGContainer {g} at (310,141) size 14x33
                RenderSVGPath {line} at (315,141) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (310,160) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGText {text} at (10,49) size 46x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 46x11
                chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 1 width 15.60: "1"
                chunk 1 text run 1 at (20.00,60.00) startOffset 0 endOffset 1 width 15.60: "2"
                chunk 1 text run 1 at (30.00,60.00) startOffset 0 endOffset 1 width 15.60: "3"
                chunk 1 text run 1 at (40.00,60.00) startOffset 0 endOffset 1 width 15.60: "4"
            RenderSVGContainer {use} at (260,191) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,90.00)}]
              RenderSVGContainer {g} at (260,191) size 14x33
                RenderSVGPath {line} at (265,191) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (260,210) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGContainer {use} at (343,191) size 14x33 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,90.00)}]
              RenderSVGContainer {g} at (343,191) size 14x33
                RenderSVGPath {line} at (349,191) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                RenderSVGRect {rect} at (343,210) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
            RenderSVGText {text} at (10,79) size 97x11 contains 1 chunk(s)
              RenderSVGInlineText {#text} at (0,0) size 97x11
                chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 1 width 15.60: "1"
                chunk 1 text run 1 at (60.00,90.00) startOffset 0 endOffset 3 width 46.80: "234"
            RenderSVGContainer {g} at (243,225) size 112x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,120.00)}]
              RenderSVGContainer {use} at (243,225) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
                RenderSVGContainer {g} at (243,225) size 14x32
                  RenderSVGPath {line} at (249,225) size 2x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (243,243) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (268,233) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,-5.00)}]
                RenderSVGContainer {g} at (268,233) size 14x32
                  RenderSVGPath {line} at (274,233) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (268,251) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (293,250) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
                RenderSVGContainer {g} at (293,250) size 14x32
                  RenderSVGPath {line} at (299,250) size 2x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (293,268) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (318,258) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(45.00,10.00)}]
                RenderSVGContainer {g} at (318,258) size 14x32
                  RenderSVGPath {line} at (324,258) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (318,276) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (0,-21) size 63x31 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 63x31
                  chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (15.60,-5.00) startOffset 0 endOffset 1 width 15.60: "2"
                  chunk 1 text run 1 at (31.20,5.00) startOffset 0 endOffset 1 width 15.60: "3"
                  chunk 1 text run 1 at (46.80,10.00) startOffset 0 endOffset 1 width 15.60: "4"
            RenderSVGContainer {g} at (260,275) size 83x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,150.00)}]
              RenderSVGContainer {use} at (260,275) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
                RenderSVGContainer {g} at (260,275) size 14x32
                  RenderSVGPath {line} at (265,275) size 3x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (260,293) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (276,283) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
                RenderSVGContainer {g} at (276,283) size 14x32
                  RenderSVGPath {line} at (282,283) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (276,301) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (293,300) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,5.00)}]
                RenderSVGContainer {g} at (293,300) size 14x32
                  RenderSVGPath {line} at (299,300) size 2x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (293,318) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (310,308) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,10.00)}]
                RenderSVGContainer {g} at (310,308) size 14x32
                  RenderSVGPath {line} at (315,308) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (310,326) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (10,-21) size 46x31 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 46x31
                  chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (20.00,-5.00) startOffset 0 endOffset 1 width 15.60: "2"
                  chunk 1 text run 1 at (30.00,5.00) startOffset 0 endOffset 1 width 15.60: "3"
                  chunk 1 text run 1 at (40.00,10.00) startOffset 0 endOffset 1 width 15.60: "4"
            RenderSVGContainer {g} at (260,325) size 102x65 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,180.00)}]
              RenderSVGContainer {use} at (260,325) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
                RenderSVGContainer {g} at (260,325) size 14x32
                  RenderSVGPath {line} at (265,325) size 3x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (260,343) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (276,333) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
                RenderSVGContainer {g} at (276,333) size 14x32
                  RenderSVGPath {line} at (282,333) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (276,351) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (301,350) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(35.00,5.00)}]
                RenderSVGContainer {g} at (301,350) size 14x32
                  RenderSVGPath {line} at (307,350) size 3x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (301,368) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (326,358) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(50.00,10.00)}]
                RenderSVGContainer {g} at (326,358) size 14x32
                  RenderSVGPath {line} at (332,358) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (326,376) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (10,-21) size 57x31 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 57x31
                  chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (20.00,-5.00) startOffset 0 endOffset 1 width 15.60: "2"
                  chunk 1 text run 1 at (35.60,5.00) startOffset 0 endOffset 1 width 15.60: "3"
                  chunk 1 text run 1 at (51.20,10.00) startOffset 0 endOffset 1 width 15.60: "4"
            RenderSVGContainer {g} at (243,375) size 112x57 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,210.00)}]
              RenderSVGContainer {use} at (243,375) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,-10.00)}]
                RenderSVGContainer {g} at (243,375) size 14x32
                  RenderSVGPath {line} at (249,375) size 2x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (243,393) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (268,400) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(15.00,5.00)}]
                RenderSVGContainer {g} at (268,400) size 14x32
                  RenderSVGPath {line} at (274,400) size 2x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (268,418) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (0,-21) size 63x26 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 63x26
                  chunk 1 text run 1 at (0.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (15.60,5.00) startOffset 0 endOffset 3 width 46.80: "234"
            RenderSVGContainer {g} at (260,425) size 83x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,240.00)}]
              RenderSVGContainer {use} at (260,425) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
                RenderSVGContainer {g} at (260,425) size 14x32
                  RenderSVGPath {line} at (265,425) size 3x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (260,443) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (276,433) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(20.00,-5.00)}]
                RenderSVGContainer {g} at (276,433) size 14x32
                  RenderSVGPath {line} at (282,433) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (276,451) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (293,433) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(30.00,-5.00)}]
                RenderSVGContainer {g} at (293,433) size 14x32
                  RenderSVGPath {line} at (299,433) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (293,451) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (310,433) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(40.00,-5.00)}]
                RenderSVGContainer {g} at (310,433) size 14x32
                  RenderSVGPath {line} at (315,433) size 3x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (310,451) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (10,-21) size 46x16 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 46x16
                  chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (20.00,-5.00) startOffset 0 endOffset 1 width 15.60: "2"
                  chunk 1 text run 1 at (30.00,-5.00) startOffset 0 endOffset 1 width 15.60: "3"
                  chunk 1 text run 1 at (40.00,-5.00) startOffset 0 endOffset 1 width 15.60: "4"
            RenderSVGContainer {g} at (260,475) size 169x40 [transform={m=((1.00,0.00)(0.00,1.00)) t=(0.00,270.00)}]
              RenderSVGContainer {use} at (260,475) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(10.00,-10.00)}]
                RenderSVGContainer {g} at (260,475) size 14x32
                  RenderSVGPath {line} at (265,475) size 3x25 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (260,493) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGContainer {use} at (343,483) size 14x32 [transform={m=((1.00,0.00)(0.00,1.00)) t=(60.00,-5.00)}]
                RenderSVGContainer {g} at (343,483) size 14x32
                  RenderSVGPath {line} at (349,483) size 2x26 [stroke={[type=SOLID] [color=#FF00FF]}] [fill={[type=SOLID] [color=#8888FF]}] [x1=0.00] [y1=0.00] [x2=0.00] [y2=-15.00]
                  RenderSVGRect {rect} at (343,501) size 14x14 [fill={[type=SOLID] [color=#8888FF]}] [x=-4.00] [y=-4.00] [width=8.00] [height=8.00]
              RenderSVGText {text} at (10,-21) size 97x16 contains 1 chunk(s)
                RenderSVGInlineText {#text} at (0,0) size 97x16
                  chunk 1 text run 1 at (10.00,-10.00) startOffset 0 endOffset 1 width 15.60: "1"
                  chunk 1 text run 1 at (60.00,-5.00) startOffset 0 endOffset 3 width 46.80: "234"
    RenderSVGContainer {g} at (16,518) size 380x60
      RenderSVGText {text} at (10,311) size 228x36 contains 1 chunk(s)
        RenderSVGInlineText {#text} at (0,0) size 228x36
          chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 227.40: "$Revision: 1.9 $"
    RenderSVGRect {rect} at (0,0) size 800x600 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
