def print_proto(d, parent=(), indent=0):
 for (m, sd) in sorted(d.items(), cmp=(lambda x, y: cmp(x[0], y[0]))):
  full_name_l = (parent + (m,))
  full_name = '$'.join(full_name_l)
  is_message_or_group = (full_name in messages_info)
  if is_message_or_group:
   print_message(m, sd, parent, indent)
  else:
   print_proto(sd, full_name_l, indent)

def print_proto ( d , parent = ( ) , indent = 0 ) : for ( m , sd ) in sorted ( d . items ( ) , cmp = ( lambda x , y : cmp ( x [ 0 ] , y [ 0 ] ) ) ) : full_name_l = ( parent + ( m , ) ) full_name = '$' . join ( full_name_l ) is_message_or_group = ( full_name in messages_info ) if is_message_or_group : print_message ( m , sd , parent , indent ) else : print_proto ( sd , full_name_l , indent )
display all protos .