def flattenDevice(device: dict) -> dict:
    flattenedDict = {}
    for key in device.keys():
        typ = type(device[key])

        if typ is str or typ is int or typ is float:
            flattenedDict.update({str(device["Type"]) + "/" + str(key): device[key]})

        elif typ is dict:
            flat = flattenDict(device[key])
            flattenedDict.update({str(device["Type"]) + "/" + str(key): {}})
            for key2 in flat.keys():
                flattenedDict[str(device["Type"]) + "/" + str(key)].update({key2: flat[key2]})
        elif typ is list:
            flattenedDict.update({str(device["Type"]) + "/" + str(key): device[key]})

    return flattenedDict

def flattenDict(device: dict) -> dict:
    flattenedDict = {}
    typ = type(device)

    if typ is str or typ is int or typ is float:
        flattenedDict.update({"": device})

    elif typ is dict:
        return device

    elif typ is list:
        flattenedDict.update({"": device})

    return flattenedDict