code: def __init__(
      self,
      session_id,
      computing_session,
      party: PartyMeta,
      parties: List[PartyMeta],
      mq: MQ,
      pulsar_manager: PulsarManager,
      max_message_size,
      topic_ttl,
      cluster,
      tenant,
      conf,
      mode,
  ):
      super().__init__(
          session_id=session_id,
          computing_session=computing_session,
          party=party,
          parties=parties,
          mq=mq,
          max_message_size=max_message_size,
          conf=conf,
      )
  
      self._pulsar_manager = pulsar_manager
      self._topic_ttl = topic_ttl
      self._cluster = cluster
      self._tenant = tenant
      self._mode = mode
  
imports: import logging
  from typing import List, Optional
  from fate.arch.federation.api import PartyMeta
  from fate.arch.federation.message_queue import MessageQueueBasedFederation
  from ._mq_channel import DEFAULT_CLUSTER, DEFAULT_SUBSCRIPTION_NAME, DEFAULT_TENANT, MQChannel
  from ._pulsar_manager import PulsarManager
label_desc: Use image node_id 2 to create a new PulsarFederation object from inherited base classes: MessageQueueBasedFederation with example: obj = PulsarFederation(session_id, computing_session, party, parties, mq, pulsar_manager, max_message_size, topic_ttl, cluster, tenant, conf, mode)