(AndOr OP_AND_IF (FunctionDef _crontab [] (List (= scope= flags=0 words=[{[LIT_CHARS cur]}, {[LIT_CHARS prev]}, {[LIT_CHARS words]}, {[LIT_CHARS cword]}] bindings=[]) (AndOr OP_OR_IF (Com {[LIT_CHARS _init_completion]} ) (Com {[LIT_CHARS return]} ) ) (Case to_match={[VarSub prev]}, pat_word_list=[[{[LIT_CHARS -u]}]] (List (Com {[LIT_CHARS _allowed_users]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (= scope= flags=0 words=[{[LIT_CHARS -A]}] bindings=[('opts', {[Array {[LIT_DBRACKET_LIKE "["] [LIT_CHARS -u] [LIT_DBRACKET_LIKE "]="]} {[LIT_DBRACKET_LIKE "["] [LIT_CHARS -l] [LIT_DBRACKET_LIKE "]="]} {[LIT_DBRACKET_LIKE "["] [LIT_CHARS -r] [LIT_DBRACKET_LIKE "]="]} {[LIT_DBRACKET_LIKE "["] [LIT_CHARS -e] [LIT_DBRACKET_LIKE "]="]}]})]) (AndOr OP_AND_IF (DBracket {B2 BINARY_STRING_EQUAL {[VarSub OSTYPE]} {[LIT_OTHER "*"] [LIT_CHARS linux] [LIT_OTHER "*"]}}) (Com {[LIT_CHARS opts] [LIT_DBRACKET_LIKE "["] [LIT_CHARS -i] [LIT_DBRACKET_LIKE "]="]} ) ) (AndOr OP_AND_IF (DBracket {B? LOGICAL_BINARY_OR {B1 UNARY_FILE_d {[LIT_CHARS /sys/fs/selinux]}} {B1 UNARY_FILE_d {[LIT_CHARS /selinux]}}}) (Com {[LIT_CHARS opts] [LIT_DBRACKET_LIKE "["] [LIT_CHARS -s] [LIT_DBRACKET_LIKE "]="]} ) ) (= scope= flags=0 words=[{[LIT_CHARS i]}] bindings=[]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}} {A2 AS_OP_LESS {A Atom NODE_ARITH_WORD {[VarSub i]}} {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) transform_ops=[(#len)]]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (List (AndOr OP_AND_IF (DBracket {B1 UNARY_STRING_n {[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]}}) (Com {[LIT_CHARS unset]} {[DQ [LIT_CHARS "opts["][VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})][LIT_CHARS "]"]]} ) ) (Case to_match={[DQ [VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]]}, pat_word_list=[[{[LIT_CHARS -l]}], [{[LIT_CHARS -e]}], [{[LIT_CHARS -r]}], [{[LIT_CHARS -u]}]] (Com {[LIT_CHARS unset]} {[SQ ]} {[SQ ]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS unset]} {[SQ ]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS unset]} {[SQ ]} {[SQ ]} ) (Com {[LIT_CHARS unset]} {[SQ ]} ) ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub cur]]} {[LIT_CHARS -] [LIT_OTHER "*"]}}) (List (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ ]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_OTHER "*"] [\ LIT_ESCAPED_CHAR "\\ "] [LIT_CHARS -] [LIT_DBRACKET_LIKE "["] [LIT_CHARS lre] [LIT_DBRACKET_LIKE "]"] [LIT_OTHER "*"]}}) (Com {[LIT_CHARS _filedir]} ) ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _crontab]} {[LIT_CHARS crontab]} ) )