(command.CommandList children: [ (command.ShFunction name: _mdadm_raid_level body: (BraceGroup children: [ (C {<local>} {<mode>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: <Id.Lit_ArithVarLike cword> ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr:<Id.Lit_ArithVarLike i>) ) } arms: [ (case_arm pat_list: [{<-C>} {<--create>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {<create>} spids: [61] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [55 58 68 -1] ) (case_arm pat_list: [{<-B>} {<--build>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mode) op: assign_op.Equal rhs: {<build>} spids: [77] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [71 74 84 -1] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$mode')} arms: [ (case_arm pat_list: [{<create>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'linear raid0 0 stripe raid1 1 mirror\n'> < ' raid4 4 raid5 5 raid6 6 raid10 10 multipath mp faulty' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [105] ) ] ) ] spids: [101 102 132 -1] ) (case_arm pat_list: [{<build>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'linear stripe raid0 0 raid1 multipath mp\n'> <' faulty'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [139] ) ] ) ] spids: [135 136 164 -1] ) ] ) ] ) ) (command.ShFunction name: _mdadm_raid_layout body: (BraceGroup children: [ (C {<local>} {<level>}) (command.ForExpr init: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) cond: (arith_expr.Binary op_id: Id.Arith_Less left: <Id.Lit_ArithVarLike i> right: <Id.Lit_ArithVarLike cword> ) update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:<Id.Lit_ArithVarLike i>) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: <Id.Lit_ArithVarLike i> ) ) ) } right: {<-> (word_part.ExtGlob op: <Id.ExtGlob_At '@('> arms: [{<l>} {<-level>}] ) } ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:level) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Plus left: <Id.Lit_ArithVarLike i> right: {<Id.Lit_Digits 1>} ) ) ) } spids: [238] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [210 235] ) ] ) ] ) ) (command.Case to_match: {($ Id.VSub_DollarName '$level')} arms: [ (case_arm pat_list: [{<raid5>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'left-asymmetric left-symmetric\n'> < ' right-asymmetric right-symmetric la ra ls rs' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [270] ) ] ) ] spids: [266 267 295 -1] ) (case_arm pat_list: [{<raid10>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'n o p'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [302] ) ] ) ] spids: [298 299 326 -1] ) (case_arm pat_list: [{<faulty>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'write-transient wt read-transient rt\n'> < ' write-persistent wp read-persistent rp write-all read-fixable\n' > <' rf clear flush none'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [333] ) ] ) ] spids: [329 330 359 -1] ) ] ) ] ) ) (command.ShFunction name: _mdadm_auto_flag body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} {(SQ <'no yes md mdp part p'>)} {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [374] ) ] ) ] ) ) (command.ShFunction name: _mdadm_update_flag body: (BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (SQ <'sparc2.2 summaries uuid name homehost resync\n'> <' byteorder super-minor'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [407] ) ] ) ] ) ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.ShFunction name: _mdadm body: (BraceGroup children: [ (C {<local>} {<cur>} {<prev>} {<words>} {<cword>} {<split>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<_init_completion>} {<-s>}) (command.ControlFlow token:<Id.ControlFlow_Return return>) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$prev')} arms: [ (case_arm pat_list: [{<-c>} {<--config>} {<-b>} {<--bitmap>} {<--backup-file>}] action: [ (C {<_filedir>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [472 481 492 -1] ) (case_arm pat_list: [{<-l>} {<--level>}] action: [ (C {<_mdadm_raid_level>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [495 498 509 -1] ) (case_arm pat_list: [{<-p>} {<--layout>} {<--parity>}] action: [ (C {<_mdadm_raid_layout>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [512 517 528 -1] ) (case_arm pat_list: [{<-a>} {<--auto>}] action: [ (C {<_mdadm_auto_flag>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [531 534 545 -1] ) (case_arm pat_list: [{<-U>} {<--update>}] action: [ (C {<_mdadm_update_flag>}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [548 551 562 -1] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {($ Id.VSub_DollarName '$split')}) (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] ) (C {<local>} {<Id.Lit_VarLike 'options='> (SQ <'--help --help-options --version --verbose --quiet --brief\n'> <' --force --config= --scan --metadata= --homehost='> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ ($ Id.VSub_DollarName '$cur'))} right: {<-> <Id.Lit_Other '*'>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_eq left: {($ Id.VSub_DollarName '$cword')} right: {<1>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --assemble --build --create\n'> <' --monitor --grow'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [625] ) ] ) ] spids: [608 622] ) ] else_action: [ (command.Case to_match: { (braced_var_sub token: <Id.VSub_Name words> bracket_op: (bracket_op.ArrayIndex expr: (arith_expr.Binary op_id: Id.Arith_Minus left: <Id.Lit_ArithVarLike cword> right: {<Id.Lit_Digits 1>} ) ) ) } arms: [ (case_arm pat_list: [{<-A>} {<--assemble>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --uuid= --super-minor=\n'> <' --name= --force --run --no-degraded --auto= --bitmap=\n'> < ' --backup-file= --update= --auto-update-homehost' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [674] ) ] ) ] spids: [668 671 703 -1] ) (case_arm pat_list: [{<-B>} {<-C>} {<-G>} {<--build>} {<--create>} {<--grow>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --raid-devices=\n'> <' --spare-devices= --size= --chunk= --rounding= --level=\n'> < ' --layout= --parity= --bitmap= --bitmap-chunk=\n' > <' --write-mostly --write-behind= --assume-clean\n'> < ' --backup-file= --name= --run --force --auto=' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [720] ) ] ) ] spids: [706 717 751 -1] ) (case_arm pat_list: [{<-F>} {<--follow>} {<--monitor>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --mail --program\n'> <' --alert --syslog --delay --daemonise --pid-file\n'> < ' --oneshot --test' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [762] ) ] ) ] spids: [754 759 790 -1] ) (case_arm pat_list: [ {<'/dev/'> <Id.Lit_Star '*'>} {<--add>} {<--fail>} {<--remove>} ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --add --re-add\n'> <' --remove --fail --set-faulty'> ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [804] ) ] ) ] spids: [793 801 830 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:COMPREPLY) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<compgen>} {<-W>} { (DQ ($ Id.VSub_DollarName '$options') <' --query --detail\n'> <' --examine --sparc2.2 --examine-bitmap --run --stop\n'> < ' --readonly --readwrite --zero-superblock --test' > ) } {<-->} {(DQ ($ Id.VSub_DollarName '$cur'))} ) ) } ] ) } spids: [837] ) ] ) ] spids: [833 834 866 -1] ) ] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName '$COMPREPLY')} right: {<Id.Lit_Other '*'> <Id.BoolBinary_GlobEqual '='>} ) ) (C {<compopt>} {<-o>} {<nospace>}) ] ) ] spids: [589 605] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:cur) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name cur> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonEquals ':='> arg_word: {<Id.Lit_Slash '/'> <dev> <Id.Lit_Slash '/'>} ) ) } spids: [898] ) ] ) (C {<_filedir>}) ] ) ] ) ) (C {<complete>} {<-F>} {<_mdadm>} {<mdadm>}) ] ) ] )