<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_cmdstan( posterior=None, *, posterior_predictive=None, prior=None, prior_predictive=None, observed_data=None, observed_data_var=None, log_likelihood=None, coords=None, dims=None ):
 """Convert CmdStan data into an InferenceData object. Parameters posterior : List[str] List of paths to output.csv files. CSV file can be stacked csv containing all the chains cat output*.csv > combined_output.csv posterior_predictive : str, List[Str] Posterior predictive samples for the fit. If endswith ".csv" assumes file. prior : List[str] List of paths to output.csv files CSV file can be stacked csv containing all the chains. cat output*.csv > combined_output.csv prior_predictive : str, List[Str] Prior predictive samples for the fit. If endswith ".csv" assumes file. observed_data : str Observed data used in the sampling. Path to data file in Rdump format. observed_data_var : str, List[str] Variable(s) used for slicing observed_data. If not defined, all data variables are imported. log_likelihood : str Pointwise log_likelihood for the data. coords : dict[str, iterable] A dictionary containing the values that are used as index. The key is the name of the dimension, the values are the index values. dims : dict[str, List(str)] A mapping from variables to a list of coordinate names for the variable. Returns ------- InferenceData object """

    return CmdStanConverter(
        posterior=posterior,
        posterior_predictive=posterior_predictive,
        prior=prior,
        prior_predictive=prior_predictive,
        observed_data=observed_data,
        observed_data_var=observed_data_var,
        log_likelihood=log_likelihood,
        coords=coords,
        dims=dims,
    ).to_inference_data()