1def foo_SummaryProvider (valobj,dict):
2	a = valobj.GetChildMemberWithName('a');
3	a_ptr = valobj.GetChildMemberWithName('a_ptr');
4	bar = valobj.GetChildMemberWithName('b');
5	i = bar.GetChildMemberWithName('i');
6	i_ptr = bar.GetChildMemberWithName('i_ptr');
7	b_ref = bar.GetChildMemberWithName('b_ref');
8	b_ref_ptr = b_ref.AddressOf()
9	b_ref = b_ref_ptr.Dereference()
10	h = b_ref.GetChildMemberWithName('h');
11	k = b_ref.GetChildMemberWithName('k');
12	return 'a = ' + str(a.GetValueAsUnsigned(0)) + ', a_ptr = ' + \
13	str(a_ptr.GetValueAsUnsigned(0)) + ' -> ' + str(a_ptr.Dereference().GetValueAsUnsigned(0)) + \
14	', i = ' + str(i.GetValueAsUnsigned(0)) + \
15	', i_ptr = ' + str(i_ptr.GetValueAsUnsigned(0)) + ' -> ' + str(i_ptr.Dereference().GetValueAsUnsigned(0)) + \
16	', b_ref = ' + str(b_ref.GetValueAsUnsigned(0)) + \
17	', h = ' + str(h.GetValueAsUnsigned(0)) + ' , k = ' + str(k.GetValueAsUnsigned(0))