<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_user_profile_photos( self, user_id: Union[int, str], offset: int = 0, limit: int = 100 ) -> "pyrogram.UserProfilePhotos": """Use this method to get a list of profile pictures for a user. Args: user_id (``int`` | ``str``):
 Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use "me" or "self". For a contact that exists in your Telegram address book you can use his phone number (str). offset (``int``, *optional*):
 Sequential number of the first photo to be returned. By default, all photos are returned. limit (``int``, *optional*):
 Limits the number of photos to be retrieved. Values between 1—100 are accepted. Defaults to 100. Returns: On success, a :obj:`UserProfilePhotos` object is returned. Raises: :class:`RPCError <pyrogram.RPCError>` in case of a Telegram RPC error. """

        return pyrogram.UserProfilePhotos._parse(
            self,
            self.send(
                functions.photos.GetUserPhotos(
                    user_id=self.resolve_peer(user_id),
                    offset=offset,
                    max_id=0,
                    limit=limit
                )
            )
        )