class_docstr: This Blueprint has a subtasks number option to combine multiple conversations into
  "sub-HITs".
  
  It also has options for the onboarding data answers and the annotation bucket
  definitions.
code: def __init__(
      self,
      task_run: "TaskRun",
      args: "DictConfig",
      shared_state: "SharedTaskState",
  ):
      super().__init__(task_run, args=args, shared_state=shared_state)
      self.subtasks_per_unit = self.args.blueprint.subtasks_per_unit
  
      if self.subtasks_per_unit <= 0:
          raise Exception(
              f"subtasks_per_unit must be greater than zero but was {self.subtasks_per_unit}"
          )
  
      self.raw_data = self._initialization_data_dicts
  
      # Now chunk the data into groups of <num_subtasks>
      grouped_data = []
      logging.info(
          f"Raw data length: {len(self.raw_data)}. self.subtasks_per_unit: {self.subtasks_per_unit}"
      )
      for i in range(
          0,
          len(self._initialization_data_dicts),
          self.subtasks_per_unit,
      ):
          chunk = self._initialization_data_dicts[
              i : i + self.subtasks_per_unit
          ]
          grouped_data.append(chunk)
      self._initialization_data_dicts = grouped_data  # type: ignore
      # Last group may have less unless an exact multiple
      logging.info(
          f"Grouped data into {len(self._initialization_data_dicts)} tasks with {self.subtasks_per_unit} subtasks each."
      )
  
file_path: ParlAI/parlai/crowdsourcing/tasks/dialcrowd/dialcrowd_blueprint.py
imports: import json
  import logging
  import os
  from dataclasses import dataclass, field
  from typing import Any, Dict, List, Union, TYPE_CHECKING
  from mephisto.operations.registry import register_mephisto_abstraction
  from mephisto.abstractions.blueprint import SharedTaskState
  from mephisto.abstractions.blueprints.static_react_task.static_react_blueprint import StaticReactBlueprint, StaticReactBlueprintArgs
  from omegaconf import DictConfig
label_desc: Use image node_id 1 to create a new DialCrowdStaticBlueprint object from inherited base classes: StaticReactBlueprint with example: obj = DialCrowdStaticBlueprint(task_run, args, shared_state)