before
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (drawsContent 1)
      (backgroundColor #FFFFFF)
      (event region
        (rect (0,0) width=800 height=183)
        (rect (-17,183) width=817 height=100)
        (rect (0,283) width=800 height=317)
        (touch-action
          (none          
            (rect (83,208) width=25 height=75)
            (rect (8,283) width=100 height=25)
          )
        )
      )
    )
  )
)
mutation 1
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 784.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 784.00)
      (contentsOpaque 1)
      (drawsContent 1)
      (backgroundColor #FFFFFF)
      (event region
        (rect (0,0) width=800 height=183)
        (rect (-17,183) width=817 height=100)
        (rect (0,283) width=800 height=501)
        (touch-action
          (none          
            (rect (8,8) width=100 height=100)
            (rect (83,208) width=25 height=75)
            (rect (8,283) width=100 height=25)
          )
        )
      )
    )
  )
)
mutation 2
(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 1134.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 1134.00)
      (contentsOpaque 1)
      (drawsContent 1)
      (backgroundColor #FFFFFF)
      (event region
        (rect (0,0) width=800 height=1134)
        (touch-action
          (none          
            (rect (8,8) width=100 height=100)
            (rect (8,208) width=100 height=50)
            (rect (8,258) width=50 height=50)
          )
        )
      )
    )
  )
)

