# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# class MibOperationError(SmiError):
# class GenError(MibOperationError): pass
# class NoAccessError(MibOperationError): pass
# class WrongTypeError(MibOperationError): pass
# class WrongValueError(MibOperationError): pass
# class NoCreationError(MibOperationError): pass
# class InconsistentValueError(MibOperationError): pass
# class ResourceUnavailableError(MibOperationError): pass
# class CommitFailedError(MibOperationError): pass
# class UndoFailedError(MibOperationError): pass
# class AuthorizationError(MibOperationError): pass
# class NotWritableError(MibOperationError): pass
# class InconsistentNameError(MibOperationError): pass
# class NoSuchObjectError(MibOperationError): pass
# class NoSuchInstanceError(MibOperationError): pass
# class EndOfMibViewError(MibOperationError): pass
# class RowCreationWanted(MibOperationError): pass
# class RowDestructionWanted(MibOperationError): pass
#     def __init__(self, **kwargs): self.__outArgs = kwargs
#     def __str__(self): return '%s(%s)' % (
#     def __getitem__(self, key): return self.__outArgs[key]
#     def __contains__(self, key): return key in self.__outArgs
#     def get(self, key, defVal=None): return self.__outArgs.get(key, defVal)
#     def keys(self): return self.__outArgs.keys()
#     def update(self, d): self.__outArgs.update(d)
# 
# Path: pysnmp/debug.py
# class Debug:
#     def __init__(self, *flags):
#     def __str__(self):
#     def __call__(self, msg):
#     def __and__(self, flag):
#     def __rand__(self, flag):
# def setLogger(l):
# def hexdump(octets):


import os, sys, imp, struct, marshal, time
    import types
from pysnmp.smi import error
from pysnmp import debug
                sources.append(DirMibSource(m))
        if self.defaultMiscMibs:
            for m in self.defaultMiscMibs.split(':'):
                try:
                    sources.append(ZipMibSource(m))
                except ImportError:
                    pass
        self.mibSymbols = {}
        self.__modSeen = {}
        self.__modPathsSeen = {}
        self.setMibSources(*sources)
        
    # MIB modules management

    def setMibSources(self, *mibSources):
        self.__mibSources = [ s.init() for s in mibSources ]
        debug.logger & debug.flagBld and debug.logger('setMibPath: new MIB sources %s' % (self.__mibSources,))

    def getMibSources(self): return tuple(self.__mibSources)

    # Legacy/compatibility methods (won't work for .eggs)
    def setMibPath(self, *mibPaths):
        self.setMibSources(*[ DirMibSource(x) for x in mibPaths ])

    def getMibPath(self):
        paths = ()
        for mibSource in self.getMibSources():
            if isinstance(mibSource, DirMibSource):
                paths += ( mibSource.fullPath(), )
            else:

# Path: pysnmp/smi/error.py
# class SmiError(PySnmpError, PyAsn1Error): pass
# class MibOperationError(SmiError):
# class GenError(MibOperationError): pass
# class NoAccessError(MibOperationError): pass
# class WrongTypeError(MibOperationError): pass
# class WrongValueError(MibOperationError): pass
# class NoCreationError(MibOperationError): pass
# class InconsistentValueError(MibOperationError): pass
# class ResourceUnavailableError(MibOperationError): pass
# class CommitFailedError(MibOperationError): pass
# class UndoFailedError(MibOperationError): pass
# class AuthorizationError(MibOperationError): pass
# class NotWritableError(MibOperationError): pass
# class InconsistentNameError(MibOperationError): pass
# class NoSuchObjectError(MibOperationError): pass
# class NoSuchInstanceError(MibOperationError): pass
# class EndOfMibViewError(MibOperationError): pass
# class RowCreationWanted(MibOperationError): pass
# class RowDestructionWanted(MibOperationError): pass
#     def __init__(self, **kwargs): self.__outArgs = kwargs
#     def __str__(self): return '%s(%s)' % (
#     def __getitem__(self, key): return self.__outArgs[key]
#     def __contains__(self, key): return key in self.__outArgs
#     def get(self, key, defVal=None): return self.__outArgs.get(key, defVal)
#     def keys(self): return self.__outArgs.keys()
#     def update(self, d): self.__outArgs.update(d)
# 
# Path: pysnmp/debug.py
# class Debug:
#     def __init__(self, *flags):
#     def __str__(self):
#     def __call__(self, msg):
#     def __and__(self, flag):
#     def __rand__(self, flag):
# def setLogger(l):
# def hexdump(octets):


# Path: pysnmp/smi/builder.py
import os, sys, imp, struct, marshal, time
    import types
from pysnmp.smi import error
from pysnmp import debug

                sources.append(DirMibSource(m))
        if self.defaultMiscMibs:
            for m in self.defaultMiscMibs.split(':'):
                try:
                    sources.append(ZipMibSource(m))
                except ImportError:
                    pass
        self.mibSymbols = {}
        self.__modSeen = {}
        self.__modPathsSeen = {}
        self.setMibSources(*sources)
        
    # MIB modules management

    def setMibSources(self, *mibSources):
        self.__mibSources = [ s.init() for s in mibSources ]
        debug.logger & debug.flagBld and debug.logger('setMibPath: new MIB sources %s' % (self.__mibSources,))

    def getMibSources(self): return tuple(self.__mibSources)

    # Legacy/compatibility methods (won't work for .eggs)
    def setMibPath(self, *mibPaths):
        self.setMibSources(*[ DirMibSource(x) for x in mibPaths ])

    def getMibPath(self):
        paths = ()
        for mibSource in self.getMibSources():
            if isinstance(mibSource, DirMibSource):
                paths += ( mibSource.fullPath(), )
            else:

                raise error.SmiError(