async def load_cache(self, archive: bool = False) -> int:
LOGGER.debug('<STR_LIT>', archive)<EOL>rv = int(time())<EOL>for s_id in self.cfg.get('<STR_LIT>', {}).get('<STR_LIT>', {}):<EOL><INDENT>with SCHEMA_CACHE.lock:<EOL><INDENT>await self.get_schema(s_id)<EOL><DEDENT><DEDENT>for cd_id in self.cfg.get('<STR_LIT>', {}).get('<STR_LIT>', {}):<EOL><INDENT>with CRED_DEF_CACHE.lock:<EOL><INDENT>await self.get_cred_def(cd_id)<EOL><DEDENT><DEDENT>for rr_id in self.cfg.get('<STR_LIT>', {}).get('<STR_LIT>', {}):<EOL><INDENT>await self._get_rev_reg_def(rr_id)<EOL>with REVO_CACHE.lock:<EOL><INDENT>revo_cache_entry = REVO_CACHE.get(rr_id, None)<EOL>if revo_cache_entry:<EOL><INDENT>try:<EOL><INDENT>await revo_cache_entry.get_state_json(self._build_rr_state_json, rv, rv)<EOL><DEDENT>except ClosedPool:<EOL><INDENT>LOGGER.warning(<EOL>'<STR_LIT>',<EOL>self.wallet.name,<EOL>self.pool.name,<EOL>rr_id,<EOL>rv)<EOL><DEDENT><DEDENT><DEDENT><DEDENT>if archive:<EOL><INDENT>Caches.archive(self.dir_cache)<EOL><DEDENT>LOGGER.debug('<STR_LIT>', rv)<EOL>return rv<EOL>
Load caches and archive enough to go offline and be able to verify proof
on content marked of interest in configuration.

Return timestamp (epoch seconds) of cache load event, also used as subdirectory
for cache archives.

:param archive: whether to archive caches to disk
:return: cache load event timestamp (epoch seconds)