code: def steam3_to_tuple(value):
      
      match = re.match(r"^\["
                       r"(?P<type>[i%s]):"        # type char
                       r"(?P<universe>[0-4]):"     # universe
                       r"(?P<id>\d{1,10})"            # accountid
                       r"(:(?P<instance>\d+))?"  # instance
                       r"\]$" % ETypeChars,
                       value
                       )
      if not match:
          return None
  
      steam32 = int(match.group('id'))
      universe = EUniverse(int(match.group('universe')))
      typechar = match.group('type').replace('i', 'I')
      etype = EType(ETypeChar[typechar])
      instance = match.group('instance')
  
      if typechar in 'gT':
          instance = 0
      elif instance is not None:
          instance = int(instance)
      elif typechar == 'L':
          instance = EInstanceFlag.Lobby
      elif typechar == 'c':
          instance = EInstanceFlag.Clan
      elif etype in (EType.Individual, EType.GameServer):
          instance = 1
      else:
          instance = 0
  
      instance = int(instance)
  
      return (steam32, etype, universe, instance)
docs: :param value: steam3 (e.g. ``[U:1:1234]``)
      :type value: :class:`str`
      :return: (accountid, type, universe, instance)
      :rtype: :class:`tuple` or :class:`None`