code: def get_paths(self, connection, path):
          
          virtual_path = pathlib.PurePosixPath(path)
          if not virtual_path.is_absolute():
              virtual_path = connection.current_directory / virtual_path
          resolved_virtual_path = pathlib.PurePosixPath("/")
          for part in virtual_path.parts[1:]:
              if part == "..":
                  resolved_virtual_path = resolved_virtual_path.parent
              else:
                  resolved_virtual_path /= part
          base_path = connection.user.base_path
          real_path = base_path / resolved_virtual_path.relative_to("/")
          return real_path, resolved_virtual_path
docs: Return *real* and *virtual* paths, resolves ".." with "up" action.
          *Real* path is path for path_io, when *virtual* deals with
          "user-view" and user requests
  
          :param connection: internal options for current connected user
          :type connection: :py:class:`dict`
  
          :param path: received path from user
          :type path: :py:class:`str` or :py:class:`pathlib.PurePosixPath`
  
          :return: (real_path, virtual_path)
          :rtype: (:py:class:`pathlib.Path`, :py:class:`pathlib.PurePosixPath`)