10a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 1
20a8c90248264a8b26970b4473770bcc3df8515fJosh Gao'A module docstring.'
30a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
40a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoimport sys, inspect
50a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 5
60a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
70a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 7
80a8c90248264a8b26970b4473770bcc3df8515fJosh Gaodef spam(a, b, c, d=3, (e, (f,))=(4, (5,)), *g, **h):
90a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    eggs(b + d, c + f)
100a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
110a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 11
120a8c90248264a8b26970b4473770bcc3df8515fJosh Gaodef eggs(x, y):
130a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    "A docstring."
140a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    global fr, st
150a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    fr = inspect.currentframe()
160a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    st = inspect.stack()
170a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    p = x
180a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    q = y // 0
190a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
200a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 20
210a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass StupidGit:
220a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    """A longer,
230a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
240a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    indented
250a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
260a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    docstring."""
270a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 27
280a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
290a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    def abuse(self, a, b, c):
300a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        """Another
310a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
320a8c90248264a8b26970b4473770bcc3df8515fJosh Gao\tdocstring
330a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
340a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        containing
350a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
360a8c90248264a8b26970b4473770bcc3df8515fJosh Gao\ttabs
370a8c90248264a8b26970b4473770bcc3df8515fJosh Gao\t
380a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        """
390a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        self.argue(a, b, c)
400a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 40
410a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    def argue(self, a, b, c):
420a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        try:
430a8c90248264a8b26970b4473770bcc3df8515fJosh Gao            spam(a, b, c)
440a8c90248264a8b26970b4473770bcc3df8515fJosh Gao        except:
450a8c90248264a8b26970b4473770bcc3df8515fJosh Gao            self.ex = sys.exc_info()
460a8c90248264a8b26970b4473770bcc3df8515fJosh Gao            self.tr = inspect.trace()
470a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
480a8c90248264a8b26970b4473770bcc3df8515fJosh Gao# line 48
490a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass MalodorousPervert(StupidGit):
500a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    pass
510a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
520a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass ParrotDroppings:
530a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    pass
540a8c90248264a8b26970b4473770bcc3df8515fJosh Gao
550a8c90248264a8b26970b4473770bcc3df8515fJosh Gaoclass FesteringGob(MalodorousPervert, ParrotDroppings):
560a8c90248264a8b26970b4473770bcc3df8515fJosh Gao    pass
57