#!/usr/bin/env python

import common
import sys

class CrashManager(common.ModemManager):
    def EnumerateDevices(self, *args, **kwargs):
        sys.exit(0)

common.setup()
common.cleanup(lambda: sys.exit(1))
CrashManager(common.bus, common.OCMM)
common.run()
