This file is indexed.

/usr/lib/python2.7/dist-packages/elftools/construct/__init__.py is in python-pyelftools 0.24-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
"""
    ####                                                               ####
   ##     ####  ##  ##  #### ###### #####  ##  ##  #### ######        ##  ##
   ##    ##  ## ### ## ##      ##   ##  ## ##  ## ##      ##    ####      ##
   ##    ##  ## ######  ###    ##   #####  ##  ## ##      ##            ##
   ##    ##  ## ## ###    ##   ##   ##  ## ##  ## ##      ##          ##
    ####  ####  ##  ## ####    ##   ##  ##  #####  ####   ##          ######

                 Parsing made even more fun (and faster too)

Homepage:
    http://construct.wikispaces.com (including online tutorial)

Typical usage:
    >>> from construct import *

Hands-on example:
    >>> from construct import *
    >>> s = Struct("foo",
    ...     UBInt8("a"),
    ...     UBInt16("b"),
    ... )
    >>> s.parse("\\x01\\x02\\x03")
    Container(a = 1, b = 515)
    >>> print s.parse("\\x01\\x02\\x03")
    Container:
        a = 1
        b = 515
    >>> s.build(Container(a = 1, b = 0x0203))
    "\\x01\\x02\\x03"
"""

from .core import *
from .adapters import *
from .macros import *
from .debug import Probe, Debugger


#===============================================================================
# Metadata
#===============================================================================
__author__ = "tomer filiba (tomerfiliba [at] gmail.com)"
__maintainer__ = "Corbin Simpson <MostAwesomeDude@gmail.com>"
__version__ = "2.06"

#===============================================================================
# Shorthand expressions
#===============================================================================
Bits = BitField
Byte = UBInt8
Bytes = Field
Const = ConstAdapter
Tunnel = TunnelAdapter
Embed = Embedded

#===============================================================================
# Deprecated names
# Next scheduled name cleanout: 2.1
#===============================================================================
import functools, warnings

def deprecated(f):
    @functools.wraps(f)
    def wrapper(*args, **kwargs):
        warnings.warn(
            "This name is deprecated, use %s instead" % f.__name__,
            DeprecationWarning, stacklevel=2)
        return f(*args, **kwargs)
    return wrapper

MetaBytes = deprecated(MetaField)
GreedyRepeater = deprecated(GreedyRange)
OptionalGreedyRepeater = deprecated(OptionalGreedyRange)
Repeater = deprecated(Range)
StrictRepeater = deprecated(Array)
MetaRepeater = deprecated(Array)
OneOfValidator = deprecated(OneOf)
NoneOfValidator = deprecated(NoneOf)

#===============================================================================
# exposed names
#===============================================================================
__all__ = [
    'AdaptationError', 'Adapter', 'Alias', 'Aligned', 'AlignedStruct',
    'Anchor', 'Array', 'ArrayError', 'BFloat32', 'BFloat64', 'Bit', 'BitField',
    'BitIntegerAdapter', 'BitIntegerError', 'BitStruct', 'Bits', 'Bitwise',
    'Buffered', 'Byte', 'Bytes', 'CString', 'CStringAdapter', 'Const',
    'ConstAdapter', 'ConstError', 'Construct', 'ConstructError', 'Container',
    'Debugger', 'Embed', 'Embedded', 'EmbeddedBitStruct', 'Enum', 'ExprAdapter',
    'Field', 'FieldError', 'Flag', 'FlagsAdapter', 'FlagsContainer',
    'FlagsEnum', 'FormatField', 'GreedyRange', 'GreedyRepeater',
    'HexDumpAdapter', 'If', 'IfThenElse', 'IndexingAdapter', 'LFloat32',
    'LFloat64', 'LazyBound', 'LengthValueAdapter', 'ListContainer',
    'MappingAdapter', 'MappingError', 'MetaArray', 'MetaBytes', 'MetaField',
    'MetaRepeater', 'NFloat32', 'NFloat64', 'Nibble', 'NoneOf',
    'NoneOfValidator', 'Octet', 'OnDemand', 'OnDemandPointer', 'OneOf',
    'OneOfValidator', 'OpenRange', 'Optional', 'OptionalGreedyRange',
    'OptionalGreedyRepeater', 'PaddedStringAdapter', 'Padding',
    'PaddingAdapter', 'PaddingError', 'PascalString', 'Pass', 'Peek',
    'Pointer', 'PrefixedArray', 'Probe', 'Range', 'RangeError', 'Reconfig',
    'Rename', 'RepeatUntil', 'Repeater', 'Restream', 'SBInt16', 'SBInt32',
    'SBInt64', 'SBInt8', 'SLInt16', 'SLInt32', 'SLInt64', 'SLInt8', 'SNInt16',
    'SNInt32', 'SNInt64', 'SNInt8', 'Select', 'SelectError', 'Sequence',
    'SizeofError', 'SlicingAdapter', 'StaticField', 'StrictRepeater', 'String',
    'StringAdapter', 'Struct', 'Subconstruct', 'Switch', 'SwitchError',
    'SymmetricMapping', 'Terminator', 'TerminatorError', 'Tunnel',
    'TunnelAdapter', 'UBInt16', 'UBInt32', 'UBInt64', 'UBInt8', 'ULInt16',
    'ULInt32', 'ULInt64', 'ULInt8', 'UNInt16', 'UNInt32', 'UNInt64', 'UNInt8',
    'Union', 'ValidationError', 'Validator', 'Value', "Magic",
]