Module Expr Str ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias ImportFrom alias Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str Assign AttributeStore NameLoad attr Str ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body TryExcept body Assign NameStore Call NameLoad AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad body Expr Call NameLoad BinOpMod Str AttributeLoad NameLoad attr Return TryExcept body Assign AttributeStore NameLoad attr ListLoad For NameStore NameLoad body If CompareIn SubscriptLoad NameLoad Index Num ListLoad Str Str body Continue Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr Str If CompareLt Call NameLoad NameLoad Num body Continue FunctionDef arguments args NameParam defaults body If Call AttributeLoad NameLoad attr body Return Call NameLoad NameLoad Return NameLoad decorator_list Assign NameStore ListComp Call NameLoad NameLoad comprehension NameStore SubscriptLoad NameLoad Slice Num Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num handlers ExceptHandler body Expr Call NameLoad Str Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr FunctionDef arguments args NameParam defaults body If CompareEq BinOpBitAnd NameLoad Num Num body Return NameLoad orelse If CompareEq BinOpBitAnd NameLoad Num Num body Return NameLoad orelse If CompareIn BinOpBitAnd NameLoad Num ListLoad Num Num body Return NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Call NameLoad NameLoad While BoolOpAnd Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad AttributeLoad NameLoad attr NameLoad body Break Assign NameStore AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot Call NameLoad NameLoad NameLoad UnaryOpNot Call NameLoad AttributeLoad NameLoad attr NameLoad body Raise Call NameLoad Str Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore BinOpDiv BinOpBitAnd AttributeLoad NameLoad attr Num Num Assign NameStore Call NameLoad NameLoad If CompareGt NameLoad Num body If CompareEq NameLoad NameLoad body Assign NameStore Str orelse Assign NameStore Num Assign NameStore Str Assign NameStore Num Assign NameStore NameLoad Assign NameStore NameLoad Assign NameStore BinOpSub BinOpLShift AttributeLoad AttributeLoad NameLoad attr attr Num Num For NameStore AttributeLoad AttributeLoad NameLoad attr attr body AugAssignSub NameStore Num If CompareEq SubscriptLoad NameLoad Index Num Str body AugAssignAdd NameStore BinOpAdd BinOpAdd Str Call NameLoad SubscriptLoad NameLoad Index Num Str Assign NameStore SubscriptLoad NameLoad Index Num AugAssignSub NameStore Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body AugAssignAdd NameStore BinOpAdd BinOpAdd Str Call NameLoad SubscriptLoad NameLoad Index Num Str AugAssignSub NameStore Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Num body AugAssignAdd NameStore Str orelse AugAssignAdd NameStore Str If CompareNotEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Num body Assign NameStore NameLoad AugAssignSub NameStore Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body AugAssignAdd NameStore Str AugAssignSub NameStore Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body AugAssignAdd NameStore Str orelse If CompareEq SubscriptLoad NameLoad Index Num Str body AugAssignAdd NameStore Str If CompareGt NameLoad Num body Assign NameStore NameLoad orelse If CompareIs Call NameLoad SubscriptLoad NameLoad Index Num NameLoad body AugAssignAdd NameStore BinOpMod Str SubscriptLoad SubscriptLoad NameLoad Index Num Index SubscriptLoad NameLoad Index Num orelse AugAssignAdd NameStore BinOpMod Str SubscriptLoad NameLoad Index Num Assign NameStore SubscriptLoad NameLoad Slice Num If CompareEq NameLoad Str body Assign NameStore Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr If CompareNotEq NameLoad Num body If BoolOpAnd CompareNotEq NameLoad Num CompareEq BinOpMod NameLoad NameLoad Num body Assign NameStore BinOpAdd Str Call NameLoad BinOpDiv NameLoad NameLoad orelse If CompareEq BinOpMod NameLoad BinOpAdd NameLoad Num Num body Assign NameStore BinOpAdd Str Call NameLoad BinOpDiv NameLoad BinOpAdd NameLoad Num Assign NameStore Call NameLoad NameLoad Assign NameStore Str If CompareEq NameLoad NameLoad body If CompareEq BinOpBitAnd AttributeLoad AttributeLoad NameLoad attr attr Num Num body AugAssignAdd NameStore Str If CompareEq AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr body AugAssignAdd NameStore Str If CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num body AugAssignAdd NameStore Str If NameLoad body AugAssignAdd NameStore Str If CompareEq AttributeLoad NameLoad attr Num body AugAssignAdd NameStore Str If CompareNotEq AttributeLoad NameLoad attr ListLoad body AugAssignAdd NameStore Str If CompareNotEq AttributeLoad AttributeLoad NameLoad attr attr Num body AugAssignAdd NameStore Str If CompareNotEq AttributeLoad AttributeLoad NameLoad attr attr Num body AugAssignAdd NameStore Str If CompareNotEq AttributeLoad AttributeLoad NameLoad attr attr Num body AugAssignAdd NameStore Str If NameLoad body AugAssignAdd NameStore Str AugAssignAdd NameStore Str If UnaryOpNot Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr NameLoad body AugAssignAdd NameStore Str If CompareEq NameLoad Str body Assign NameStore Str Return TupleLoad NameLoad TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore Num AugAssignAdd NameStore BoolOpOr CompareEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num CompareEq SubscriptLoad NameLoad Index Num Str BoolOpAnd CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str Call AttributeLoad SubscriptLoad NameLoad Index Num attr CompareEq BinOpMod Call NameLoad SubscriptLoad NameLoad Index Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num Num AugAssignAdd NameStore BoolOpAnd CompareGtE SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num CompareLt BinOpSub SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Num For NameStore ListLoad Num Num body AugAssignAdd NameStore BoolOpOr CompareEq SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad CompareEq SubscriptLoad NameLoad Index NameLoad Str AugAssignAdd NameStore CompareEq SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str Assign NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str If CompareEq Call NameLoad NameLoad Call NameLoad NameLoad body Assign NameStore NameLoad For NameStore Call NameLoad Call NameLoad NameLoad body If UnaryOpNot BoolOpOr CompareEq SubscriptLoad NameLoad Index NameLoad SubscriptLoad NameLoad Index NameLoad BoolOpAnd CompareEq Call NameLoad SubscriptLoad NameLoad Index NameLoad Num CompareGt Call NameLoad SubscriptLoad NameLoad Index NameLoad Num CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Str CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num BoolOpAnd CompareGt Call NameLoad SubscriptLoad NameLoad Index NameLoad Num CompareGt Call NameLoad SubscriptLoad NameLoad Index NameLoad Num CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num Str CompareEq SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num SubscriptLoad SubscriptLoad NameLoad Index NameLoad Index Num CompareEq BinOpMod Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Slice Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index NameLoad Slice Num Num body Assign NameStore NameLoad Break If NameLoad body AugAssignAdd NameStore Call NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign TupleStore NameStore NameStore Call NameLoad NameLoad If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr orelse Assign NameStore ListLoad If UnaryOpNot NameLoad body Expr Call NameLoad Str Return ListLoad Assign NameStore ListLoad Assign NameStore BinOpAdd Call NameLoad Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str Num For NameStore NameLoad body Assign NameStore Call NameLoad NameLoad NameLoad If CompareEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num BinOpSub SubscriptLoad NameLoad Index Num AttributeLoad SubscriptLoad NameLoad Index NameLoad attr Return NameLoad decorator_list AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args NameParam defaults body TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler body Return If CompareEq NameLoad ListLoad body Assign NameStore TupleLoad Str BinOpAdd BinOpAdd Str Call AttributeLoad Str attr ListComp Call NameLoad NameLoad comprehension NameStore SubscriptLoad Call NameLoad NameLoad Index Num Str NameLoad orelse Assign NameStore SubscriptLoad NameLoad Index Num Assign NameStore NameLoad TryExcept body Assign NameStore Call NameLoad NameLoad handlers ExceptHandler body Pass If CompareEq NameLoad Num body Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd BinOpAdd Str SubscriptLoad NameLoad Index Num Str SubscriptLoad NameLoad Index Num If CompareIsNot NameLoad NameLoad body AugAssignAdd NameStore Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str Call NameLoad BinOpFloorDiv NameLoad Num Str orelse AugAssignAdd NameStore Call AttributeLoad NameLoad attr Str If CompareIsNot SubscriptLoad NameLoad Index Num NameLoad body AugAssignAdd NameStore BinOpAdd BinOpAdd Str Call NameLoad SubscriptLoad NameLoad Index Num Str Print NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults Num body Expr Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Raise Call NameLoad Str If Call NameLoad NameLoad NameLoad body Raise Call NameLoad Str If UnaryOpNot Call NameLoad NameLoad NameLoad body Return Call NameLoad AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body If CompareEq SubscriptLoad NameLoad Index Num Str body Assign NameStore BinOpDiv SubscriptLoad SubscriptLoad NameLoad Index Num Index Num NameLoad Return NameLoad Raise Call NameLoad Str decorator_list AttributeLoad AttributeLoad NameLoad attr attr FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad Num Num NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr While BoolOpAnd Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad AttributeLoad NameLoad attr NameLoad body Break Assign NameStore AttributeLoad NameLoad attr If BoolOpOr UnaryOpNot Call NameLoad NameLoad NameLoad UnaryOpNot Call NameLoad AttributeLoad NameLoad attr NameLoad body Raise Call NameLoad Str If CompareIs NameLoad NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Num BinOpMult BinOpMult BinOpMult BinOpMult Num Num Num Num Num Assign NameStore Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr If NameLoad body Assign NameStore Call AttributeLoad NameLoad attr If CompareIs NameLoad NameLoad body Assign NameStore ListLoad Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareEq SubscriptLoad NameLoad Index Num NameLoad If NameLoad body Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareEq SubscriptLoad NameLoad Index Num NameLoad orelse If NameLoad body Assign NameStore ListLoad NameLoad orelse Assign NameStore SubscriptLoad Call NameLoad Index NameLoad If CompareEq NameLoad NameLoad body If CompareEq BinOpBitAnd AttributeLoad AttributeLoad NameLoad attr attr Num Num body Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareIn Str SubscriptLoad NameLoad Index Num orelse Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareNotIn Str SubscriptLoad NameLoad Index Num If UnaryOpNot NameLoad body Raise Call NameLoad Str Assign NameStore SubscriptLoad NameLoad Index Call AttributeLoad NameLoad attr Num BinOpSub Call NameLoad NameLoad Num Assign NameStore ListLoad If CompareNotEq SubscriptLoad NameLoad Index Num Str body For NameStore Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str body If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str body Assign NameStore BinOpDiv BinOpSub BinOpPow Num Num Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num orelse Assign NameStore BinOpSub BinOpPow Num Num Num If CompareEq SubscriptLoad NameLoad Slice Num Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str Call AttributeLoad NameLoad attr Num NameLoad orelse If CompareEq SubscriptLoad NameLoad Index Num Str body Assign NameStore Call NameLoad SubscriptLoad NameLoad Slice Num Expr Call AttributeLoad NameLoad attr TupleLoad Str BinOpMult NameLoad Call AttributeLoad NameLoad attr Num BinOpDiv NameLoad NameLoad orelse Expr Call AttributeLoad NameLoad attr TupleLoad Str Call NameLoad SubscriptLoad NameLoad Slice Num orelse If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareEq SubscriptLoad NameLoad Slice Num Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str Call NameLoad orelse If CompareEq SubscriptLoad NameLoad Index Num Str body Assign NameStore Call NameLoad SubscriptLoad NameLoad Slice Num Expr Call AttributeLoad NameLoad attr TupleLoad Str BinOpMult NameLoad Call NameLoad keyword Num keyword BinOpDiv BinOpSub BinOpPow Num Num Num NameLoad orelse Expr Call AttributeLoad NameLoad attr TupleLoad Str Call NameLoad SubscriptLoad NameLoad Slice Num orelse If CompareEq NameLoad Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str TupleLoad Num Num orelse If CompareEq NameLoad Str body If CompareIn Str SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad NameLoad attr TupleLoad Str TupleLoad NameLoad Call AttributeLoad NameLoad attr Num BinOpSub BinOpPow Num Num Num orelse Expr Call AttributeLoad NameLoad attr TupleLoad Str TupleLoad NameLoad Num orelse If CompareEq NameLoad Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str Str orelse If CompareEq NameLoad Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str NameLoad orelse If CompareEq NameLoad Str body Expr Call AttributeLoad NameLoad attr TupleLoad Str NameLoad orelse If CompareEq SubscriptLoad NameLoad Index Num Str body If CompareIn Call NameLoad SubscriptLoad NameLoad Slice Num SubscriptLoad NameLoad Index Num body Assign NameStore SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Call NameLoad SubscriptLoad NameLoad Slice Num Index Num Assign NameStore SubscriptLoad SubscriptLoad SubscriptLoad NameLoad Index Num Index Call NameLoad SubscriptLoad NameLoad Slice Num Index Num Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad Call AttributeLoad NameLoad attr NameLoad Call AttributeLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad attr orelse Expr Call AttributeLoad NameLoad attr TupleLoad Call NameLoad SubscriptLoad NameLoad Slice Num Str orelse Expr Call NameLoad BinOpAdd Str NameLoad Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad If CompareEq SubscriptLoad NameLoad Index Num Str body Assign AttributeStore AttributeLoad NameLoad attr attr Call NameLoad orelse If Call AttributeLoad SubscriptLoad NameLoad Index Num attr body Assign AttributeStore AttributeLoad NameLoad attr attr Call NameLoad SubscriptLoad NameLoad Index Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str body Assign NameStore Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num Assign AttributeStore AttributeLoad NameLoad attr attr BinOpMult NameLoad Call NameLoad keyword Num keyword BinOpDiv BinOpSub BinOpPow Num Num Num NameLoad orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str body Assign AttributeStore AttributeLoad NameLoad attr attr BinOpMult NameLoad Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num orelse If CompareEq SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Str body Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareEq SubscriptLoad NameLoad Index Num Str If UnaryOpNot NameLoad body Raise Call NameLoad Str Assign AttributeStore AttributeLoad NameLoad attr attr BinOpMult SubscriptLoad SubscriptLoad NameLoad Index Num Index Num Call NameLoad SubscriptLoad SubscriptLoad NameLoad Index Num Slice Num orelse Raise Call NameLoad Str Assign AttributeStore NameLoad attr BinOpSub SubscriptLoad NameLoad Index Num NameLoad AugAssignBitOr AttributeStore NameLoad attr BinOpMult Num SubscriptLoad NameLoad Index Num If CompareNotEq SubscriptLoad NameLoad Index Num Str body For NameStore SubscriptLoad NameLoad Index Num body If CompareEq NameLoad Str body Assign AttributeStore NameLoad attr Num orelse If CompareEq NameLoad Str body Assign AttributeStore AttributeLoad NameLoad attr attr Call NameLoad orelse If CompareEq NameLoad Str body Assign AttributeStore AttributeLoad NameLoad attr attr Call NameLoad orelse If CompareEq NameLoad Str body AugAssignBitOr AttributeStore AttributeLoad NameLoad attr attr Call NameLoad Num Num Num orelse If BoolOpAnd CompareEq NameLoad Str CompareNotEq NameLoad NameLoad body AugAssignDiv NameStore Call AttributeLoad NameLoad attr keyword Call NameLoad Call AttributeLoad NameLoad attr Num Num orelse If CompareEq NameLoad Str body Assign AttributeStore AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr If CompareIn Str SubscriptLoad NameLoad Index Num body Assign AttributeStore AttributeLoad NameLoad attr attr Num orelse If CompareEq AttributeLoad AttributeLoad NameLoad attr attr Num body Assign AttributeStore AttributeLoad NameLoad attr attr Call NameLoad While AttributeLoad NameLoad attr body Assign NameStore AttributeLoad NameLoad attr Return NameLoad decorator_list FunctionDef arguments args defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr Num Num If CompareGt NameLoad Num body Assign NameStore Dict FunctionDef arguments args NameParam defaults body If CompareNotIn SubscriptLoad NameLoad Index Num NameLoad body Assign SubscriptStore NameLoad Index SubscriptLoad NameLoad Index Num ListLoad SubscriptLoad NameLoad Index Num orelse If CompareNotIn SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num body Expr Call AttributeLoad SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num attr SubscriptLoad NameLoad Index Num decorator_list Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Index Num Assign NameStore Num Assign NameStore Call NameLoad keyword NameLoad keyword BinOpAdd Str Call NameLoad NameLoad keyword NameLoad keyword Num Expr Call NameLoad NameLoad Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Num orelse If CompareLt NameLoad Num body Expr Call AttributeLoad NameLoad attr Str orelse Expr Call AttributeLoad NameLoad attr Num Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr TryExcept body Expr Call AttributeLoad NameLoad attr TupleLoad Str NameLoad handlers ExceptHandler type AttributeLoad NameLoad attr body Pass Expr Call AttributeLoad NameLoad attr TupleLoad Str NameLoad Expr Call AttributeLoad NameLoad attr TupleLoad Str NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num Return NameLoad decorator_list
N/A N/A 
Clone of p0f passive OS fingerprinting
 scapy.data KnowledgeBase scapy.config conf scapy.error warning scapy.layers.inet IP TCP TCPOptions scapy.packet NoPayload N/A N/A conf p0f_base /etc/p0f/p0f.fp N/A N/A conf p0fa_base /etc/p0f/p0fa.fp N/A N/A conf p0fr_base /etc/p0f/p0fr.fp p0fKnowledgeBase N/A KnowledgeBase N/A __init__ N/A N/A self filename N/A N/A N/A N/A N/A KnowledgeBase __init__ self filename N/A lazy_init N/A N/A self N/A N/A N/A N/A N/A f N/A open N/A self filename N/A N/A N/A IOError N/A N/A N/A warning N/A Can't open base %s N/A self filename N/A N/A N/A N/A N/A self base N/A N/A l f N/A N/A N/A N/A l N/A 0 N/A # N/A N/A N/A l N/A tuple N/A N/A l split : N/A N/A N/A len l 8 N/A N/A a2i N/A N/A x N/A N/A N/A N/A N/A x isdigit N/A N/A N/A int x N/A x N/A N/A li N/A N/A a2i i N/A i N/A l N/A 1 4 N/A N/A N/A N/A self base append N/A N/A l N/A 0 N/A li N/A 0 N/A li N/A 1 N/A li N/A 2 N/A l N/A 4 N/A l N/A 5 N/A l N/A 6 N/A N/A l N/A 7 N/A -1 N/A N/A N/A N/A N/A warning Can't parse p0f database (new p0f version ?) N/A N/A self base None N/A N/A N/A f close N/A N/A N/A p0f_kdb N/A p0fKnowledgeBase N/A conf p0f_base N/A p0fa_kdb N/A p0fKnowledgeBase N/A conf p0fa_base N/A p0fr_kdb N/A p0fKnowledgeBase N/A conf p0fr_base p0f_selectdb N/A N/A flags N/A N/A N/A N/A N/A flags 22 2 N/A N/A p0f_kdb N/A N/A N/A N/A flags 22 18 N/A N/A p0fa_kdb N/A N/A N/A N/A flags 22 N/A 4 20 N/A N/A p0fr_kdb N/A N/A None N/A packet2p0f N/A N/A pkt N/A N/A N/A pkt N/A N/A pkt copy N/A pkt N/A N/A pkt __class__ N/A bytes pkt N/A N/A N/A N/A pkt haslayer IP N/A N/A pkt haslayer TCP N/A N/A pkt N/A N/A pkt getlayer IP N/A N/A isinstance N/A pkt payload TCP N/A N/A N/A pkt N/A pkt payload N/A N/A N/A N/A isinstance pkt IP N/A N/A isinstance N/A pkt payload TCP N/A N/A N/A TypeError Not a TCP/IP packet N/A db N/A p0f_selectdb N/A N/A pkt payload flags N/A ttl N/A pkt ttl N/A df N/A N/A N/A pkt flags 2 2 N/A ss N/A len pkt N/A N/A ss 100 N/A N/A N/A db p0fr_kdb N/A N/A ss * N/A N/A ss 0 N/A ooo N/A mss -1 N/A qqT False N/A qqP False N/A ilen N/A N/A N/A N/A pkt payload dataofs 2 20 N/A option N/A N/A pkt payload options N/A N/A ilen 1 N/A N/A N/A option N/A 0 MSS N/A N/A ooo N/A N/A M N/A str N/A option N/A 1 , N/A mss N/A option N/A 1 N/A ilen 3 N/A N/A N/A N/A option N/A 0 WScale N/A N/A ooo N/A N/A W N/A str N/A option N/A 1 , N/A ilen 2 N/A N/A N/A N/A option N/A 0 Timestamp N/A N/A N/A N/A N/A option N/A 1 N/A 0 0 N/A N/A ooo T0, N/A N/A ooo T, N/A N/A N/A N/A option N/A 1 N/A 1 0 N/A N/A qqT True N/A ilen 9 N/A N/A N/A N/A option N/A 0 SAckOK N/A N/A ooo S, N/A ilen 1 N/A N/A N/A N/A option N/A 0 NOP N/A N/A ooo N, N/A N/A N/A N/A option N/A 0 EOL N/A N/A ooo E, N/A N/A ilen 0 N/A N/A qqP True N/A N/A N/A N/A type N/A option N/A 0 str N/A N/A ooo N/A ?%i, N/A N/A TCPOptions N/A 1 N/A N/A option N/A 0 N/A N/A ooo N/A ?%i, N/A option N/A 0 N/A ooo N/A ooo N/A -1 N/A N/A ooo N/A N/A ooo . N/A win N/A N/A pkt payload window N/A N/A mss -1 N/A N/A N/A N/A mss 0 N/A N/A win mss 0 N/A N/A win N/A S N/A str N/A win mss N/A N/A N/A N/A win N/A mss 40 0 N/A N/A win N/A T N/A str N/A win N/A mss 40 N/A win N/A str win N/A qq N/A N/A db p0fr_kdb N/A N/A N/A N/A N/A N/A pkt payload flags 16 16 N/A N/A qq K N/A N/A N/A N/A pkt payload seq N/A N/A pkt payload ack N/A N/A qq Q N/A N/A N/A N/A pkt payload seq 0 N/A N/A qq 0 N/A qqP N/A N/A qq P N/A N/A N/A pkt id 0 N/A N/A qq Z N/A N/A N/A pkt options N/A N/A N/A qq I N/A N/A N/A N/A pkt payload urgptr 0 N/A N/A qq U N/A N/A N/A N/A pkt payload reserved 0 N/A N/A qq X N/A N/A N/A N/A pkt payload ack 0 N/A N/A qq A N/A qqT N/A N/A qq T N/A qq F N/A N/A N/A isinstance N/A N/A pkt payload payload NoPayload N/A N/A qq D N/A N/A qq N/A N/A qq . N/A N/A db N/A win ttl df ss ooo qq N/A p0f_correl N/A N/A x y N/A N/A N/A d 0 N/A d N/A N/A N/A x N/A 0 N/A y N/A 0 N/A N/A y N/A 0 * N/A N/A N/A N/A y N/A 0 N/A 0 % N/A N/A N/A x N/A 0 isdigit N/A N/A N/A int N/A x N/A 0 N/A int N/A N/A y N/A 0 N/A 1 0 N/A d N/A N/A N/A y N/A 1 N/A x N/A 1 N/A N/A N/A y N/A 1 N/A x N/A 1 32 N/A i N/A 2 5 N/A N/A d N/A N/A N/A x N/A i N/A y N/A i N/A N/A y N/A i * N/A d N/A N/A x N/A 3 N/A y N/A 3 N/A xopt N/A N/A N/A x N/A 4 split , N/A yopt N/A N/A N/A y N/A 4 split , N/A N/A N/A len xopt N/A len yopt N/A N/A same True N/A i N/A range N/A len xopt N/A N/A N/A N/A N/A N/A xopt N/A i N/A yopt N/A i N/A N/A N/A len N/A yopt N/A i 2 N/A N/A len N/A xopt N/A i 1 N/A N/A N/A yopt N/A i N/A 1 * N/A N/A N/A xopt N/A i N/A 0 N/A N/A yopt N/A i N/A 0 N/A N/A N/A len N/A yopt N/A i 2 N/A N/A len N/A xopt N/A i 1 N/A N/A N/A yopt N/A i N/A 1 % N/A N/A N/A xopt N/A i N/A 0 N/A N/A yopt N/A i N/A 0 N/A N/A N/A int N/A N/A xopt N/A i N/A 1 N/A int N/A N/A yopt N/A i N/A 2 0 N/A N/A same False N/A N/A same N/A N/A d N/A len xopt N/A d N/A p0f N/A N/A pkt N/A N/A N/A Passive OS fingerprinting: which OS emitted this TCP packet ?
p0f(packet) -> accuracy, [list of guesses]
 N/A N/A db sig N/A packet2p0f pkt N/A db N/A N/A pb N/A N/A db get_base N/A N/A pb N/A N/A N/A pb N/A N/A N/A warning p0f base empty. N/A N/A N/A r N/A N/A max N/A N/A len N/A N/A N/A sig N/A 4 split , 5 N/A b pb N/A N/A d N/A p0f_correl sig b N/A N/A d max N/A N/A N/A N/A r append N/A N/A b N/A 6 N/A b N/A 7 N/A N/A b N/A 1 N/A N/A pkt N/A IP ttl N/A r N/A N/A N/A conf commands register prnp0f N/A N/A pkt N/A N/A N/A N/A N/A r N/A p0f pkt N/A N/A N/A N/A N/A N/A r N/A N/A N/A r N/A UNKNOWN N/A N/A [ N/A N/A : join N/A N/A str i N/A i N/A N/A packet2p0f pkt N/A 1 :?:?] None N/A N/A r N/A r N/A 0 N/A uptime None N/A N/A N/A uptime N/A pkt2uptime pkt N/A N/A N/A N/A N/A N/A uptime 0 N/A N/A uptime None N/A res N/A N/A pkt sprintf N/A N/A N/A %IP.src%:%TCP.sport% -  N/A r N/A 0 N/A r N/A 1 N/A N/A uptime None N/A N/A res N/A N/A pkt sprintf N/A N/A  (up:  N/A str N/A uptime 3600  hrs)
  -> %IP.dst%:%TCP.dport% (%TCP.flags%) N/A N/A res N/A N/A pkt sprintf 
  -> %IP.dst%:%TCP.dport% (%TCP.flags%) N/A N/A N/A r N/A 2 None N/A N/A res N/A N/A  (distance  N/A str N/A r N/A 2 ) N/A res N/A pkt2uptime N/A N/A pkt HZ N/A 100 N/A N/A Calculate the date the machine which emitted the packet booted using TCP timestamp 
pkt2uptime(pkt, [HZ=100]) N/A N/A N/A isinstance pkt Packet N/A N/A N/A TypeError Not a TCP packet N/A N/A isinstance pkt NoPayload N/A N/A N/A TypeError Not a TCP packet N/A N/A N/A isinstance pkt TCP N/A N/A N/A pkt2uptime N/A pkt payload N/A opt N/A pkt options N/A N/A N/A N/A opt N/A 0 Timestamp N/A N/A t N/A N/A N/A opt N/A 1 N/A 0 HZ N/A t N/A N/A TypeError No timestamp option N/A N/A N/A conf commands register p0f_impersonate N/A N/A pkt osgenre osdetails signature extrahops mtu uptime N/A None None None 0 1500 None N/A N/A Modifies pkt so that p0f will think it has been sent by a
specific OS.  If osdetails is None, then we randomly pick up a
personality matching osgenre. If osgenre and signature are also None,
we use a local signature (using p0f_getlocalsigs). If signature is
specified (as a tuple), we use the signature.

For now, only TCP Syn packets are supported.
Some specifications of the p0f.fp file are not (yet) implemented. N/A pkt N/A N/A pkt copy N/A N/A N/A N/A pkt haslayer IP N/A N/A pkt haslayer TCP N/A N/A pkt N/A N/A pkt getlayer IP N/A N/A isinstance N/A pkt payload TCP N/A N/A N/A pkt N/A pkt payload N/A N/A N/A N/A isinstance pkt IP N/A N/A isinstance N/A pkt payload TCP N/A N/A N/A TypeError Not a TCP/IP packet N/A N/A uptime None N/A N/A uptime N/A N/A random randint 120 N/A N/A N/A N/A 100 60 60 24 365 N/A db N/A p0f_selectdb N/A N/A pkt payload flags N/A osgenre N/A N/A pb N/A N/A db get_base N/A N/A pb None N/A N/A pb N/A N/A pb N/A x N/A x pb N/A N/A x N/A 6 osgenre N/A osdetails N/A N/A pb N/A x N/A x pb N/A N/A x N/A 7 osdetails N/A N/A signature N/A N/A pb N/A signature N/A N/A pb N/A N/A p0f_getlocalsigs N/A db N/A N/A db p0fr_kdb N/A N/A N/A N/A N/A N/A pkt payload flags 4 4 N/A N/A pb N/A x N/A x pb N/A K N/A x N/A 5 N/A N/A pb N/A x N/A x pb N/A K N/A x N/A 5 N/A N/A pb N/A N/A N/A Scapy_Exception No match in the p0f database N/A pers N/A pb N/A N/A N/A random randint 0 N/A N/A len pb 1 N/A options N/A N/A N/A N/A pers N/A 4 . N/A N/A opt N/A N/A N/A pers N/A 4 split , N/A N/A N/A N/A opt N/A 0 M N/A N/A N/A N/A N/A pers N/A 0 N/A 0 S N/A N/A maxmss N/A N/A N/A 2 16 1 N/A int N/A N/A pers N/A 0 N/A 1 N/A N/A maxmss N/A N/A 2 16 1 N/A N/A N/A opt N/A 1 * N/A N/A N/A N/A options append N/A MSS N/A N/A random randint 1 maxmss N/A N/A N/A N/A opt N/A 1 % N/A N/A coef N/A int N/A opt N/A 2 N/A N/A N/A options append N/A MSS N/A coef N/A N/A random randint 1 N/A maxmss coef N/A N/A N/A N/A options append N/A MSS N/A int N/A opt N/A 1 N/A N/A N/A N/A opt N/A 0 W N/A N/A N/A N/A opt N/A 1 * N/A N/A N/A N/A options append N/A WScale N/A RandByte N/A N/A N/A N/A opt N/A 1 % N/A N/A coef N/A int N/A opt N/A 2 N/A N/A N/A options append N/A WScale N/A coef N/A RandNum min 1 max N/A N/A N/A 2 8 1 coef N/A N/A N/A N/A options append N/A WScale N/A int N/A opt N/A 1 N/A N/A N/A opt T0 N/A N/A N/A N/A options append N/A Timestamp N/A 0 0 N/A N/A N/A opt T N/A N/A N/A T N/A pers N/A 5 N/A N/A N/A N/A options append N/A Timestamp N/A uptime N/A N/A random randint 1 N/A N/A 2 32 1 N/A N/A N/A N/A options append N/A Timestamp N/A uptime 0 N/A N/A N/A opt S N/A N/A N/A N/A options append N/A SAckOK N/A N/A N/A opt N N/A N/A N/A N/A options append N/A NOP None N/A N/A N/A opt E N/A N/A N/A N/A options append N/A EOL None N/A N/A N/A N/A opt N/A 0 ? N/A N/A N/A N/A int N/A opt N/A 1 N/A TCPOptions N/A 0 N/A N/A optname N/A N/A N/A TCPOptions N/A 0 N/A N/A int N/A opt N/A 1 N/A 0 N/A optstruct N/A N/A N/A TCPOptions N/A 0 N/A N/A int N/A opt N/A 1 N/A 1 N/A N/A N/A options append N/A optname N/A N/A struct unpack optstruct N/A N/A N/A RandString N/A N/A struct calcsize optstruct _fix N/A N/A N/A N/A options append N/A N/A int N/A opt N/A 1 N/A N/A N/A warning N/A unhandled TCP option  opt N/A N/A N/A pkt payload options options N/A N/A N/A pers N/A 0 * N/A N/A N/A N/A pkt payload window N/A RandShort N/A N/A N/A N/A N/A pers N/A 0 isdigit N/A N/A N/A N/A pkt payload window N/A int N/A pers N/A 0 N/A N/A N/A N/A N/A pers N/A 0 N/A 0 % N/A N/A coef N/A int N/A N/A pers N/A 0 N/A 1 N/A N/A N/A pkt payload window N/A coef N/A RandNum min 1 max N/A N/A N/A 2 16 1 coef N/A N/A N/A N/A N/A pers N/A 0 N/A 0 T N/A N/A N/A N/A pkt payload window N/A mtu N/A int N/A N/A pers N/A 0 N/A 1 N/A N/A N/A N/A N/A pers N/A 0 N/A 0 S N/A N/A MSS N/A x N/A x options N/A N/A x N/A 0 MSS N/A N/A MSS N/A N/A N/A Scapy_Exception TCP window value requires MSS, and MSS option not set N/A N/A N/A pkt payload window N/A N/A N/A MSS N/A 0 N/A 1 N/A int N/A N/A pers N/A 0 N/A 1 N/A N/A N/A Scapy_Exception Unhandled window size specification N/A N/A pkt ttl N/A N/A pers N/A 1 extrahops N/A N/A pkt flags N/A 2 N/A pers N/A 2 N/A N/A N/A pers N/A 5 . N/A N/A qq N/A pers N/A 5 N/A N/A N/A qq Z N/A N/A N/A pkt id 0 N/A N/A N/A qq U N/A N/A N/A N/A pkt payload urgptr N/A RandShort N/A N/A N/A qq A N/A N/A N/A N/A pkt payload ack N/A RandInt N/A N/A N/A qq F N/A N/A N/A N/A pkt payload flags N/A RandChoice 8 32 40 N/A N/A N/A N/A qq D N/A db p0fo_kdb N/A N/A pkt N/A N/A conf raw_layer load N/A RandString N/A N/A random randint 1 10 N/A N/A N/A qq Q N/A N/A N/A N/A pkt payload seq N/A N/A pkt payload ack N/A N/A 0 N/A pers N/A 5 N/A N/A N/A N/A pkt payload seq 0 N/A N/A N/A N/A N/A pkt payload seq 0 N/A N/A N/A N/A pkt payload seq N/A RandInt N/A N/A pkt underlayer N/A N/A pkt N/A pkt underlayer N/A pkt N/A p0f_getlocalsigs N/A N/A N/A N/A N/A This function returns a dictionary of signatures indexed by p0f
db (e.g., p0f_kdb, p0fa_kdb, ...) for the local TCP/IP stack.

You need to have your firewall at least accepting the TCP packets
from/to a high port (30000 <= x <= 40000) on your loopback interface.

Please note that the generated signatures come from the loopback
interface and may (are likely to) be different than those generated on
"normal" interfaces. N/A pid N/A N/A os fork N/A port N/A N/A random randint 30000 40000 N/A N/A pid 0 N/A N/A result N/A addresult N/A N/A res N/A N/A N/A N/A N/A res N/A 0 result N/A N/A N/A result N/A N/A res N/A 0 N/A N/A res N/A 1 N/A N/A N/A N/A res N/A 1 N/A result N/A N/A res N/A 0 N/A N/A N/A N/A N/A result N/A N/A res N/A 0 append N/A res N/A 1 N/A N/A iface N/A N/A N/A N/A conf route route 127.0.0.1 N/A 0 N/A count 14 N/A pl N/A sniff iface iface filter N/A tcp and port  N/A str port count count timeout 3 N/A N/A map addresult N/A map packet2p0f pl N/A N/A N/A os waitpid pid 0 N/A N/A N/A pid 0 N/A N/A N/A N/A log_runtime error fork error N/A N/A N/A N/A time sleep 1 N/A s1 N/A N/A socket socket N/A socket AF_INET type N/A socket SOCK_STREAM N/A N/A N/A N/A N/A s1 connect N/A 127.0.0.1 port N/A N/A N/A N/A socket error N/A N/A N/A N/A N/A s1 bind N/A 127.0.0.1 port N/A N/A N/A s1 connect N/A 127.0.0.1 port N/A N/A N/A s1 close N/A N/A N/A os _exit 0 N/A result N/A