class_docstr: This class implements copy for a list of transfers.
code: def __init__(self, router_fs):
      self.router_fs = router_fs
      # This is essentially a limit on amount of memory in temporary
      # buffers during copying.  We allow ~10 full-sized copies to
      # run concurrently.
      self.xfer_sema = WeightedSemaphore(100 * Copier.BUFFER_SIZE)
  
imports: from typing import Any, AsyncIterator, Awaitable, Optional, List, Union, Dict, Callable, Tuple
  import os
  import os.path
  import asyncio
  import functools
  import humanize
  from ...utils import retry_transient_errors, url_basename, url_join, bounded_gather2, time_msecs, humanize_timedelta_msecs
  from ..weighted_semaphore import WeightedSemaphore
  from .exceptions import FileAndDirectoryError, UnexpectedEOFError
  from .fs import MultiPartCreate, FileStatus, AsyncFS, FileListEntry
label_desc: Use image node_id 1 to create a new Copier object  with example: obj = Copier(router_fs)