code: def search_library(self, query, *, max_results=100, **kwargs):
  		
  
  		def match_fields(item, fields):
  			return any(
  				query.casefold() in item.get(field, '').casefold()
  				for field in fields
  			)
  
  		types = [
  			(
  				'playlists',
  				['description', 'name'],
  				self.playlists
  			),
  			(
  				'podcasts',
  				['author', 'description', 'title'],
  				self.podcasts
  			),
  			(
  				'songs',
  				['album', 'albumArtist', 'artist', 'composer', 'genre', 'title'],
  				self.songs
  			),
  			(
  				'stations',
  				['byline', 'description', 'name'],
  				self.stations
  			),
  		]
  
  		results = {}
  
  		for type_, fields, func in types:
  			if (not kwargs) or (type_ in kwargs):
  				results[type_] = [
  					item
  					for item in func()
  					if match_fields(item, fields)
  				][:max_results]
  
  		return results
docs: Search Google Music for content.
  
  		Parameters:
  			query (str): Search text.
  			max_results (int, Optional): Maximum number of results per type to retrieve.
  				Default: ``100``
  			kwargs (bool, Optional): Any of ``playlists``, ``podcasts``,
  				``songs``, ``stations``, ``videos`` set to ``True``
  				will include that result type in the returned dict.
  				Setting none of them will include all result types in the returned dict.
  
  		Returns:
  			dict: A dict of results separated into keys:
  				``'playlists'``, ``'podcasts'``, ``'songs'``, ``'stations'``.