
(Frame scrolling node
  (scrollable area size 800 600)
  (contents size 800 1016)
  (scrollable area parameters
    (horizontal scroll elasticity 1)
    (vertical scroll elasticity 1)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0))
  (layout viewport at (0,0) size 800x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (behavior for fixed 0)
  (children 1
    (Frame hosting node
      (children 1
        (Frame scrolling node
          (scrollable area size 500 300)
          (contents size 500 420)
          (scrollable area parameters
            (horizontal scroll elasticity 1)
            (vertical scroll elasticity 1)
            (horizontal scrollbar mode 0)
            (vertical scrollbar mode 0))
          (layout viewport at (0,0) size 500x300)
          (min layout viewport origin (0,0))
          (max layout viewport origin (0,120))
          (behavior for fixed 0)
          (children 2
            (Overflow scrolling node
              (scrollable area size 400 300)
              (contents size 400 1760)
              (scrollable area parameters
                (horizontal scroll elasticity 1)
                (vertical scroll elasticity 1)
                (horizontal scrollbar mode 0)
                (vertical scrollbar mode 0)
                (allows vertical scrolling 1))
              (children 1
                (Sticky node
                  (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                  (top offset 10.00)
                  (bottom offset 10.00)
                  (containing block rect at (0,0) size 400x1760)
                  (sticky box rect at (0,830) size 100x100)
                  (constraining rect at (0,0) size 400x300)
                  (sticky offset at last layout width=0 height=-640)
                  (layer position at last layout (0,190))
                )
              )
            )
            (Sticky node
              (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
              (top offset 10.00)
              (bottom offset 10.00)
              (containing block rect at (8,8) size 484x404)
              (sticky box rect at (8,312) size 100x100)
              (constraining rect at (0,0) size 500x300)
              (sticky offset at last layout width=0 height=-122)
              (layer position at last layout (8,190))
            )
          )
        )
      )
    )
  )
)

