def foo_SummaryProvider (valobj,dict):
	a = valobj.GetChildMemberWithName('a');
	a_ptr = valobj.GetChildMemberWithName('a_ptr');
	bar = valobj.GetChildMemberWithName('b');
	i = bar.GetChildMemberWithName('i');
	i_ptr = bar.GetChildMemberWithName('i_ptr');
	b_ref = bar.GetChildMemberWithName('b_ref');
	b_ref_ptr = b_ref.AddressOf()
	b_ref = b_ref_ptr.Dereference()
	h = b_ref.GetChildMemberWithName('h');
	k = b_ref.GetChildMemberWithName('k');
	return 'a = ' + str(a.GetValueAsUnsigned(0)) + ', a_ptr = ' + \
	str(a_ptr.GetValueAsUnsigned(0)) + ' -> ' + str(a_ptr.Dereference().GetValueAsUnsigned(0)) + \
	', i = ' + str(i.GetValueAsUnsigned(0)) + \
	', i_ptr = ' + str(i_ptr.GetValueAsUnsigned(0)) + ' -> ' + str(i_ptr.Dereference().GetValueAsUnsigned(0)) + \
	', b_ref = ' + str(b_ref.GetValueAsUnsigned(0)) + \
	', h = ' + str(h.GetValueAsUnsigned(0)) + ' , k = ' + str(k.GetValueAsUnsigned(0))