def METHOD_NAME(nc: SnapshotData, horizon=10000):
    """
    Get reliability events
    Args:
        nc: numerical circuit instance
        horizon: time horizon in hours
    Returns: dictionary of events
    Each event tuple has: (time in hours, element index, activation state (True/False))
    """
    all_events = list()
    # branches
    all_events += get_reliability_events(horizon,
                                         nc.branch_data.branch_mttf,
                                         nc.branch_data.branch_mttr, DeviceType.BranchDevice)
    all_events += get_reliability_events(horizon,
                                         nc.generator_data.generator_mttf,
                                         nc.generator_data.generator_mttr, DeviceType.GeneratorDevice)
    all_events += get_reliability_events(horizon,
                                         nc.battery_data.battery_mttf,
                                         nc.battery_data.battery_mttr, DeviceType.BatteryDevice)
    all_events += get_reliability_events(horizon,
                                         nc.static_generator_data.static_gen_mttf,
                                         nc.static_generator_data.static_gen_mttr, DeviceType.StaticGeneratorDevice)
    all_events += get_reliability_events(horizon,
                                         nc.load_data.load_mttf,
                                         nc.load_data.load_mttr, DeviceType.LoadDevice)
    all_events += get_reliability_events(horizon,
                                         nc.shunt_data.shunt_mttf,
                                         nc.shunt_data.shunt_mttr, DeviceType.ShuntDevice)
    # sort all
    all_events.sort(key=lambda tup: tup[0])
    return all_events