code: def test_var_vals_complex(self):
      x = Variable("x", 1, 100).bind(3)
      y = Variable("y", 1, 100).bind(4)
      z = Variable("z", 1, 100).bind(5)
      st = ShapeTracker.from_shape((x, 5, y)).shrink(
          ((0, x), (z, z + 1), (0, 3))
      )
      assert st.views[-1].offset == y * z
      assert st.var_vals == {
          Variable("x", 1, 100): 3,
          Variable("y", 1, 100): 4,
          Variable("z", 1, 100): 5,
      }
  
imports: import unittest
  from tinygrad.shape.shapetracker import ShapeTracker, View
  from tinygrad.shape.symbolic import Variable, NumNode
  from tinygrad.tensor import Tensor
label_desc: Use image node_id 5 for calling the TestSymbolicVarVals obj's underlying member method code with example usage: obj.test_var_vals_complex() without return types