code: def joint_prior_on_parameters_and_state(
      parameter_prior,
      parameterized_initial_state_prior_fn,
      parameter_constraining_bijector,
      prior_is_constrained=True,
  ):
      """Constructs a joint dist. from p(parameters) and p(state | parameters)."""
      if prior_is_constrained:
          parameter_prior = (
              transformed_distribution.TransformedDistribution(
                  parameter_prior,
                  invert.Invert(parameter_constraining_bijector),
                  name="unconstrained_parameter_prior",
              )
          )
  
      return joint_distribution_named.JointDistributionNamed(
          ParametersAndState(
              unconstrained_parameters=parameter_prior,
              state=lambda unconstrained_parameters: (  # pylint: disable=g-long-lambda
                  parameterized_initial_state_prior_fn(
                      parameter_constraining_bijector.forward(
                          unconstrained_parameters
                      )
                  )
              ),
          )
      )
  
imports: import collections
  import contextlib
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.bijectors import invert
  from tensorflow_probability.python.distributions import distribution
  from tensorflow_probability.python.distributions import independent
  from tensorflow_probability.python.distributions import joint_distribution_named
  from tensorflow_probability.python.distributions import joint_distribution_sequential
  from tensorflow_probability.python.distributions import normal
  from tensorflow_probability.python.distributions import transformed_distribution
  from tensorflow_probability.python.experimental.mcmc.particle_filter import infer_trajectories
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import reparameterization
  from tensorflow_probability.python.internal import samplers
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 5 for calling a global function with example usage: joint_prior_on_parameters_and_state(parameter_prior, parameterized_initial_state_prior_fn, parameter_constraining_bijector, prior_is_constrained) and returns: joint_distribution_named