class_docstr: A mapped task group.
  
  This doesn't really do anything special, just holds some additional metadata
  for expansion later.
  
  Don't instantiate this class directly; call *expand* or *expand_kwargs* on
  a ``@task_group`` function instead.
class_docstr_tok: ["A","mapped","task","group",".","This","does","n't","really","do","anything","special",",","just","holds","some","additional","metadata","for","expansion","later",".","Do","n't","instantiate","this","class","directly",";","call","*","expand","*","or","*","expand_kwargs","*","on","a","``","@","task_group","``","function","instead","."]
docstr: Return the Number of instances a task in this group should be mapped to, when a DAG run is created.
  
  This only considers literal mapped arguments, and would return *None*
  when any non-literal values are used for mapping.
  
  If this group is inside mapped task groups, all the nested counts are
  multiplied and accounted.
  
  :meta private:
  
  :raise NotFullyPopulated: If any non-literal mapped arguments are encountered.
  :return: The total number of mapped instances each task should have.
docstr_tok: ["Return","the","Number","of","instances","a","task","in","this","group","should","be","mapped","to",",","when","a","DAG","run","is","created",".","This","only","considers","literal","mapped","arguments",",","and","would","return","*","None","*","when","any","non-literal","values","are","used","for","mapping",".","If","this","group","is","inside","mapped","task","groups",",","all","the","nested","counts","are","multiplied","and","accounted",".",":","meta","private",":",":","raise","NotFullyPopulated",":","If","any","non-literal","mapped","arguments","are","encountered",".",":","return",":","The","total","number","of","mapped","instances","each","task","should","have","."]
code: def get_parse_time_mapped_ti_count(self) -> int:
      """
      Return the Number of instances a task in this group should be mapped to, when a DAG run is created.
  
      This only considers literal mapped arguments, and would return *None*
      when any non-literal values are used for mapping.
  
      If this group is inside mapped task groups, all the nested counts are
      multiplied and accounted.
  
      :meta private:
  
      :raise NotFullyPopulated: If any non-literal mapped arguments are encountered.
      :return: The total number of mapped instances each task should have.
      """
      return functools.reduce(
          operator.mul,
          (
              g._expand_input.get_parse_time_mapped_ti_count()
              for g in self.iter_mapped_task_groups()
          ),
      )
  
imports: from __future__ import annotations
  import copy
  import functools
  import operator
  import weakref
  from typing import TYPE_CHECKING, Any, Generator, Iterator, Sequence
  import re2
  from airflow.compat.functools import cache
  from airflow.exceptions import AirflowDagCycleException, AirflowException, DuplicateTaskIdFound, TaskAlreadyInTaskGroup
  from airflow.models.taskmixin import DAGNode
  from airflow.serialization.enums import DagAttributeTypes
  from airflow.utils.helpers import validate_group_key
label_desc: Use image node_id 3 for calling the MappedTaskGroup obj's underlying member method code with example usage: obj.get_parse_time_mapped_ti_count() and returns: functools