# Path: asammdf/types.py



from collections.abc import Iterator
from functools import lru_cache
from io import StringIO
from pathlib import Path
from random import randint
from struct import Struct
from tempfile import TemporaryDirectory
from typing import Any, Dict, overload, Tuple
from typing_extensions import Literal, TypedDict
    from cchardet import detect
        from chardet import detect
from canmatrix.canmatrix import CanMatrix
from numpy import arange, bool_, dtype, interp, where
from numpy.typing import NDArray
from pandas import Series
from . import v2_v3_constants as v3c
from . import v4_constants as v4c
from ..types import (
    ChannelType,
    DataGroupType,
    MDF_v2_v3_v4,
    RasterType,
    ReadableBufferType,
    StrPathType,
)
import logging
import re
import string
import subprocess
import sys
import xml.etree.ElementTree as ET
import canmatrix.formats
import numpy as np

            )
            result = float(result.stdout)
        except FileNotFoundError:
            result = None
    return result


class Group:

    __slots__ = (
        "channels",
        "channel_dependencies",
        "signal_data",
        "channel_group",
        "record_size",
        "sorted",
        "data_group",
        "data_location",
        "data_blocks",
        "data_blocks_info_generator",
        "record_size",
        "record",
        "signal_types",
        "trigger",
        "string_dtypes",
        "single_channel_dtype",
        "uses_ld",
        "read_split_count",
    )


# Path: asammdf/types.py



# Path: asammdf/blocks/utils.py
from collections.abc import Iterator
from functools import lru_cache
from io import StringIO
from pathlib import Path
from random import randint
from struct import Struct
from tempfile import TemporaryDirectory
from typing import Any, Dict, overload, Tuple
from typing_extensions import Literal, TypedDict
    from cchardet import detect
        from chardet import detect
from canmatrix.canmatrix import CanMatrix
from numpy import arange, bool_, dtype, interp, where
from numpy.typing import NDArray
from pandas import Series
from . import v2_v3_constants as v3c
from . import v4_constants as v4c
from ..types import (
    ChannelType,
    DataGroupType,
    MDF_v2_v3_v4,
    RasterType,
    ReadableBufferType,
    StrPathType,
)
import logging
import re
import string
import subprocess
import sys
import xml.etree.ElementTree as ET
import canmatrix.formats
import numpy as np

            )
            result = float(result.stdout)
        except FileNotFoundError:
            result = None
    return result


class Group:

    __slots__ = (
        "channels",
        "channel_dependencies",
        "signal_data",
        "channel_group",
        "record_size",
        "sorted",
        "data_group",
        "data_location",
        "data_blocks",
        "data_blocks_info_generator",
        "record_size",
        "record",
        "signal_types",
        "trigger",
        "string_dtypes",
        "single_channel_dtype",
        "uses_ld",
        "read_split_count",
    )


    def __init__(self, data_group: DataGroupType) -> None:
