(CommandList
  children: [
    (FuncDef
      name: _samba_resolve_order
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <"lmhosts host wins bcast">)} {(--)} 
                                      {(DQ ($ VSub_Name "$cur"))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [14 30]
                            )
                          }
                        ]
                      )
                    }
                  spids: [11]
                )
              ]
              spids: [11]
            )
          ]
          spids: [8]
        )
      spids: [4 7]
    )
    (FuncDef
      name: _samba_domains
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name COMP_SAMBA_SCAN>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [50 53]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMPREPLY)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} {(SQ <"$( smbtree -N -D )">)} {(--)} 
                                              {(DQ ($ VSub_Name "$cur"))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [64 80]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [61]
                        )
                      ]
                      spids: [61]
                    )
                  ]
                  spids: [-1 58]
                )
              ]
              spids: [-1 85]
            )
          ]
          spids: [41]
        )
      spids: [37 40]
    )
    (FuncDef
      name: _samba_hosts
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name COMP_SAMBA_SCAN>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [103 106]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMPREPLY)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(compgen)} {(-W)} 
                                              {
                                                (DQ 
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(smbtree)} {(-N)} {(-S)})
                                                              (C {(sed)} {(-ne)} 
                                                                {
                                                                  (SQ 
                                                                    <
"s/^[[:space:]]*\\\\\\\\*\\([^[:space:]]*\\).*/\\1/p"
                                                                    >
                                                                  )
                                                                }
                                                              )
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub "$(">
                                                    spids: [124 146]
                                                  )
                                                )
                                              } {(--)} {(DQ ($ VSub_Name "$cur"))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [117 155]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [114]
                        )
                      ]
                      spids: [114]
                    )
                  ]
                  spids: [-1 111]
                )
              ]
              spids: [-1 160]
            )
          ]
          spids: [94]
        )
      spids: [90 93]
    )
    (FuncDef
      name: _samba_debuglevel
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <"{0..10}">)} {(--)} 
                                      {(DQ ($ VSub_Name "$cur"))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [175 191]
                            )
                          }
                        ]
                      )
                    }
                  spids: [172]
                )
              ]
              spids: [172]
            )
          ]
          spids: [169]
        )
      spids: [165 168]
    )
    (FuncDef
      name: _samba_sockopts
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} 
                                      {
                                        (SQ <"SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST\n"> 
                                          <
"        TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF\n"
                                          > <"        SO_SNDLOWAT SO_RCVLOWAT">
                                        )
                                      } {(--)} {(DQ ($ VSub_Name "$cur"))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [208 226]
                            )
                          }
                        ]
                      )
                    }
                  spids: [205]
                )
              ]
              spids: [205]
            )
          ]
          spids: [202]
        )
      spids: [198 201]
    )
    (FuncDef
      name: _samba_signing
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:COMPREPLY)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(compgen)} {(-W)} {(SQ <"on off required">)} {(--)} 
                                      {(DQ ($ VSub_Name "$cur"))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [243 259]
                            )
                          }
                        ]
                      )
                    }
                  spids: [240]
                )
              ]
              spids: [240]
            )
          ]
          spids: [237]
        )
      spids: [233 236]
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbclient
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[275])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[277])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[279])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[281])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[283])
                  ]
                  spids: [273]
                )
                (AndOr
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-R)} {(--name-resolve)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [303 306 317 -1]
                    )
                    (case_arm
                      pat_list: [{(-t)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <"SJIS EUC JIS7 JIS8 JUNET HEX CAP">)} {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [327 345]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [324]
                            )
                          ]
                          spids: [324]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [320 321 355 -1]
                    )
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [358 365 376 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)} {(-D)} {(--directory)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [379 386 399 -1]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [402 405 416 -1]
                    )
                    (case_arm
                      pat_list: [{(-T)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"c x I X F b g q r N a">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [426 442]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [423]
                            )
                          ]
                          spids: [423]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [419 420 452 -1]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [455 458 469 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [472 475 486 -1]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(--list)}]
                      action: [
                        (C {(_samba_hosts)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [489 492 503 -1]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [506 509 520 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-p)}
                        {(--port)}
                        {(-M)}
                        {(--message)}
                        {(-I)}
                        {(--ip-address)}
                        {(-b)}
                        {(--send-buffer)}
                        {(-U)}
                        {(--user)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-T)}
                        {(--tar)}
                        {(-c)}
                        {(--command)}
                        {(-m)}
                        {(--max-protocol)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [523 564 576 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)}
                        {(--help)}
                        {(-V)}
                        {(--version)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [579 587 599 -1]
                    )
                  ]
                  spids: [296 300 602]
                )
                (AndOr
                  children: [
                    (C {($ VSub_Name "$split")})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [638 654]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [635]
                            )
                          ]
                          spids: [635]
                        )
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name "$COMPREPLY")}
                                  right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [-1 632]
                    )
                  ]
                  spids: [-1 679]
                )
              ]
              spids: [270]
            )
          spids: [266 269]
        )
        (C {(complete)} {(-F)} {(_smbclient)} {(smbclient)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbget
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[703])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[705])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[707])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[709])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[711])
                  ]
                  spids: [701]
                )
                (AndOr
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-o)} {(--outputfile)} {(-f)} {(--rcfile)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [731 738 749 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [752 755 766 -1]
                    )
                    (case_arm
                      pat_list: [{(-w)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [769 772 783 -1]
                    )
                    (case_arm
                      pat_list: [{(-u)} {(--username)} {(-p)} {(--password)} {(-b)} {(--blocksize)}]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [786 797 805 -1]
                    )
                  ]
                  spids: [724 728 808]
                )
                (AndOr
                  children: [
                    (C {($ VSub_Name "$split")})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [844 860]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [841]
                            )
                          ]
                          spids: [841]
                        )
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name "$COMPREPLY")}
                                  right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [-1 838]
                    )
                  ]
                  spids: [-1 885]
                )
              ]
              spids: [698]
            )
          spids: [694 697]
        )
        (C {(complete)} {(-F)} {(_smbget)} {(smbget)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbcacls
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[909])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[911])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[913])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[915])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[917])
                  ]
                  spids: [907]
                )
                (AndOr
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [937 944 955 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [958 961 974 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [977 980 991 -1]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [994 995 1006 -1]
                    )
                    (case_arm
                      pat_list: [{(-O)} {(--socket-options)}]
                      action: [
                        (C {(_samba_sockopts)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1009 1012 1023 -1]
                    )
                    (case_arm
                      pat_list: [{(-W)} {(--workgroup)}]
                      action: [
                        (C {(_samba_domains)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1026 1029 1040 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)}
                        {(--help)}
                        {(--usage)}
                        {(-D)}
                        {(--delete)}
                        {(-M)}
                        {(--modify)}
                        {(-a)}
                        {(--add)}
                        {(-S)}
                        {(--set)}
                        {(-C)}
                        {(--chown)}
                        {(-G)}
                        {(--chgrp)}
                        {(-n)}
                        {(--netbiosname)}
                        {(-i)}
                        {(--scope)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1043 1087 1095 -1]
                    )
                  ]
                  spids: [930 934 1098]
                )
                (AndOr
                  children: [
                    (C {($ VSub_Name "$split")})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1134 1150]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1131]
                            )
                          ]
                          spids: [1131]
                        )
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name "$COMPREPLY")}
                                  right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [-1 1128]
                    )
                  ]
                  spids: [-1 1175]
                )
              ]
              spids: [904]
            )
          spids: [900 903]
        )
        (C {(complete)} {(-F)} {(_smbcacls)} {(smbcacls)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbcquotas
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[1199])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[1201])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[1203])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[1205])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[1207])
                  ]
                  spids: [1197]
                )
                (AndOr
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1227 1234 1245 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1248 1251 1264 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1267 1270 1281 -1]
                    )
                    (case_arm
                      pat_list: [{(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1284 1285 1296 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)}
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(-u)}
                        {(--user)}
                        {(-S)}
                        {(--set)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1299 1315 1323 -1]
                    )
                  ]
                  spids: [1220 1224 1326]
                )
                (AndOr
                  children: [
                    (C {($ VSub_Name "$split")})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1362 1378]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1359]
                            )
                          ]
                          spids: [1359]
                        )
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name "$COMPREPLY")}
                                  right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [-1 1356]
                    )
                  ]
                  spids: [-1 1403]
                )
              ]
              spids: [1194]
            )
          spids: [1190 1193]
        )
        (C {(complete)} {(-F)} {(_smbcquotas)} {(smbcquotas)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbpasswd
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[1427])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[1429])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[1431])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[1433])
                  ]
                  spids: [1425]
                )
                (AndOr
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)}]
                      action: [
                        (C {(_samba_hosts)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1451 1452 1463 -1]
                    )
                    (case_arm
                      pat_list: [{(-R)}]
                      action: [
                        (C {(_samba_resolve_order)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1466 1467 1478 -1]
                    )
                    (case_arm
                      pat_list: [{(-c)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1481 1482 1493 -1]
                    )
                    (case_arm
                      pat_list: [{(-D)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1496 1497 1508 -1]
                    )
                    (case_arm
                      pat_list: [{(-U)} {(-h)} {(-w)}]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1511 1516 1524 -1]
                    )
                  ]
                  spids: [1444 1448 1527]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} 
                                                  {(SQ <"$( _parse_help \"$1\" -h )">)} {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1553 1569]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1550]
                            )
                          ]
                          spids: [1550]
                        )
                      ]
                      spids: [-1 1547]
                    )
                  ]
                  spids: [-1 1574]
                )
              ]
              spids: [1422]
            )
          spids: [1418 1421]
        )
        (C {(complete)} {(-F)} {(_smbpasswd)} {(smbpasswd)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbtar
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[1598])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[1600])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[1602])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[1604])
                  ]
                  spids: [1596]
                )
                (AndOr
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-r)} {(-t)}]
                      action: [
                        (C {(_filedir)} {(tar)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1622 1625 1638 -1]
                    )
                    (case_arm
                      pat_list: [{(-s)}]
                      action: [
                        (C {(_samba_hosts)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1641 1642 1653 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1656 1657 1668 -1]
                    )
                    (case_arm
                      pat_list: [{(-N)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1671 1672 1683 -1]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(-x)} {(-b)} {(-d)} {(-u)}]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1686 1695 1703 -1]
                    )
                  ]
                  spids: [1615 1619 1706]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1732 1748]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1729]
                            )
                          ]
                          spids: [1729]
                        )
                      ]
                      spids: [-1 1726]
                    )
                  ]
                  spids: [-1 1753]
                )
              ]
              spids: [1593]
            )
          spids: [1589 1592]
        )
        (C {(complete)} {(-F)} {(_smbtar)} {(smbtar)})
      ]
      op_id: Op_DAmp
    )
    (AndOr
      children: [
        (FuncDef
          name: _smbtree
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[1777])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[1779])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[1781])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[1783])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[1785])
                  ]
                  spids: [1775]
                )
                (AndOr
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  op_id: Op_DPipe
                )
                (Case
                  to_match: {($ VSub_Name "$prev")}
                  arms: [
                    (case_arm
                      pat_list: [{(-s)} {(--configfile)} {(-A)} {(--authentication-file)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1805 1812 1823 -1]
                    )
                    (case_arm
                      pat_list: [{(-l)} {(--log-basename)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1826 1829 1842 -1]
                    )
                    (case_arm
                      pat_list: [{(-d)} {(--debuglevel)}]
                      action: [
                        (C {(_samba_debuglevel)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1845 1848 1859 -1]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--signing)}]
                      action: [
                        (C {(_samba_signing)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [1862 1865 1876 -1]
                    )
                    (case_arm
                      pat_list: [
                        {(-) (EscapedLiteralPart token:<Lit_EscapedChar "\\?">)}
                        {(--help)}
                        {(--usage)}
                        {(-U)}
                        {(--user)}
                      ]
                      action: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})]
                      spids: [1879 1889 1897 -1]
                    )
                  ]
                  spids: [1798 1802 1900]
                )
                (AndOr
                  children: [
                    (C {($ VSub_Name "$split")})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                  op_id: Op_DAmp
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {(DQ ($ VSub_Name "$cur"))}
                                  right: {(-) (Lit_Other "*")}
                                )
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(compgen)} {(-W)} {(SQ <"$( _parse_help \"$1\" )">)} 
                                                  {(--)} {(DQ ($ VSub_Name "$cur"))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [1936 1952]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [1933]
                            )
                          ]
                          spids: [1933]
                        )
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name "$COMPREPLY")}
                                  right: {(Lit_Other "*") (BoolBinary_GlobEqual "=")}
                                )
                            )
                            (C {(compopt)} {(-o)} {(nospace)})
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      spids: [-1 1930]
                    )
                  ]
                  spids: [-1 1977]
                )
              ]
              spids: [1772]
            )
          spids: [1768 1771]
        )
        (C {(complete)} {(-F)} {(_smbtree)} {(smbtree)})
      ]
      op_id: Op_DAmp
    )
  ]
)