code: def decode_uri(cls, repo: "Repo", uri: str) -> List[Optional[str]]:
      decryptor = Fernet(key=repo.encryption_key)
      decrypted_uri = decryptor.decrypt(uri.encode()).decode()
      result = decrypted_uri.split(URIService.SEPARATOR, maxsplit=2)
      assert len(result) <= 3
      # extend result length to 3, fill with [None]s
      result.extend([None] * (3 - len(result)))
  
      return result
  
file_path: aim/aim/sdk/uri_service.py
imports: from cryptography.fernet import Fernet
  from collections import defaultdict
  from typing import Iterator, List, Optional, Dict
  from typing import TYPE_CHECKING
  from aim.storage.encoding import encode_path, decode_path
  from aim.storage.types import BLOB
label_desc: Use image node_id 3 for calling the URIService obj's underlying member method code with example usage: obj.decode_uri(cls, repo, uri) and returns: result