
(Frame scrolling node
  (scrollable area size 785 600)
  (contents size 785 1016)
  (parent relative scrollable rect at (0,0) size 800x600)
  (scrollable area parameters 
    (horizontal scroll elasticity 2)
    (vertical scroll elasticity 2)
    (horizontal scrollbar mode 0)
    (vertical scrollbar mode 0)
    (has enabled vertical scrollbar 1))
  (layout viewport at (0,0) size 785x600)
  (min layout viewport origin (0,0))
  (max layout viewport origin (0,416))
  (synchronous event dispatch region for event wheel
    at (45,37) size 404x304)
  (behavior for fixed 0)
  (children 1
    (Fixed node
      (anchor edges: AnchorEdgeLeft AnchorEdgeTop)
      (viewport rect at last layout at (0,0) size 785x600)
      (layer position at last layout (8,0))
      (children 1
        (Frame hosting node
          (parent relative scrollable rect at (29,29) size 500x300)
          (children 1
            (Frame scrolling node
              (scrollable area size 485 300)
              (contents size 485 420)
              (parent relative scrollable rect at (0,0) size 500x300)
              (scrollable area parameters 
                (horizontal scroll elasticity 0)
                (vertical scroll elasticity 0)
                (horizontal scrollbar mode 0)
                (vertical scrollbar mode 0)
                (has enabled vertical scrollbar 1))
              (layout viewport at (0,0) size 485x300)
              (min layout viewport origin (0,0))
              (max layout viewport origin (0,120))
              (behavior for fixed 0)
              (children 1
                (Sticky node
                  (anchor edges: AnchorEdgeTop AnchorEdgeBottom)
                  (top offset 10.00)
                  (bottom offset 10.00)
                  (containing block rect at (8,8) size 469x404)
                  (sticky box rect at (8,312) size 100x100)
                  (constraining rect at (0,0) size 485x300)
                  (sticky offset at last layout width=0 height=-122)
                  (layer position at last layout (8,190))
                )
              )
            )
          )
        )
      )
    )
  )
)

