(AndOr OP_AND_IF (FunctionDef _htpasswd [] (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]} ) ) (= scope= flags=0 words=[{[LIT_CHARS i]}] bindings=[('o', {[LIT_CHARS 0]})]) (ForExpr {A2 AS_OP_EQUAL {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}} {A2 AS_OP_LE {A Atom NODE_ARITH_WORD {[VarSub i]}} {A Atom NODE_ARITH_WORD {[VarSub cword]}}} {A1 AS_OP_DPLUS {A Atom NODE_ARITH_WORD {[VarSub i]}} } (Case to_match={[VarSub words bracket_op=(Index {A Atom NODE_ARITH_WORD {[VarSub i]}})]}, pat_word_list=[[{[LIT_CHARS -] [LIT_OTHER "*"] [LIT_CHARS n] [LIT_OTHER "*"]}], [{[LIT_CHARS -] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (Com {[LIT_CHARS return]} ) (ElseTrue) (List (= scope= flags=0 words=[] bindings=[('o', {[VarSub i]})]) (Com {[LIT_CHARS break]} ) ) ) ) (If (DBracket {B? LOGICAL_BINARY_OR {B2 BINARY_INT_EQ {[VarSub o]} {[LIT_CHARS 0]}} {B2 BINARY_INT_EQ {[VarSub o]} {[VarSub cword]}}}) (List (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]} ) ) ) (Com {[LIT_CHARS _filedir]} ) ) (DBracket {B2 BINARY_INT_EQ {[VarSub o]} {[VarSub cword] [LIT_CHARS -1]}}) (= scope= flags=0 words=[] bindings=[('COMPREPLY', {[Array {[ComSub (Com {[LIT_CHARS compgen]} {[LIT_CHARS -W]} {[SQ /dev/null )">]} {[LIT_CHARS --]} {[DQ [VarSub cur]]})]}]})]) ) ) ) (Com {[LIT_CHARS complete]} {[LIT_CHARS -F]} {[LIT_CHARS _htpasswd]} {[LIT_CHARS htpasswd]} ) )