(CommandList
  children: [
    (AndOr
      ops: [Op_DAmp Op_DPipe]
      children: [
        (C {(_have)} {(grep-status)})
        (BraceGroup
          children: [
            (FuncDef
              name: _comp_dpkg_installed_packages
              body: 
                (BraceGroup
                  children: [
                    (C {(grep-status)} {(-P)} {(-e)} {(DQ ('^') ($ VSub_Number '$1'))} {(-a)} {(-FStatus)} 
                      {(SQ <'install ok installed'>)} {(-n)} {(-s)} {(Package)}
                    )
                  ]
                  spids: [16]
                )
              spids: [12 15]
            )
          ]
          spids: [10]
        )
        (BraceGroup
          children: [
            (FuncDef
              name: _comp_dpkg_installed_packages
              body: 
                (BraceGroup
                  children: [
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [
                            {(command)}
                            {(grep)}
                            {(-A)}
                            {(1)}
                            {(DQ ('Package: ') ($ VSub_Number '$1'))}
                            {(/var/lib/dpkg/status)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [74]
                            )
                          ]
                        )
                        (C {(command)} {(grep)} {(-B)} {(1)} {(-Ee)} 
                          {
                            (DQ ('ok installed|half-installed|unpacked| ') 
                              ('            half-configured')
                            )
                          } {(-Ee)} {(DQ ('^Essential: yes'))}
                        )
                        (SimpleCommand
                          words: [
                            {(awk)}
                            {
                              (DQ ('/Package: ') ($ VSub_Number '$1') ('/ { print ') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\$'>
                                ) ('2 }')
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [119]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                  ]
                  spids: [56]
                )
              spids: [52 55]
            )
          ]
          spids: [50]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp Op_DPipe]
      children: [
        (C {(_have)} {(grep-status)})
        (BraceGroup
          children: [
            (FuncDef
              name: _comp_dpkg_purgeable_packages
              body: 
                (BraceGroup
                  children: [
                    (C {(grep-status)} {(-P)} {(-e)} {(DQ ('^') ($ VSub_Number '$1'))} {(-a)} {(-FStatus)} 
                      {(SQ <'install ok installed'>)} {(-o)} {(-FStatus)} {(SQ <'deinstall ok config-files'>)} {(-n)} {(-s)} {(Package)}
                    )
                  ]
                  spids: [139]
                )
              spids: [135 138]
            )
          ]
          spids: [133]
        )
        (BraceGroup
          children: [
            (FuncDef
              name: _comp_dpkg_purgeable_packages
              body: 
                (BraceGroup
                  children: [
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [
                            {(command)}
                            {(grep)}
                            {(-A)}
                            {(1)}
                            {(DQ ('Package: ') ($ VSub_Number '$1'))}
                            {(/var/lib/dpkg/status)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [205]
                            )
                          ]
                        )
                        (C {(command)} {(grep)} {(-B)} {(1)} {(-Ee)} 
                          {
                            (DQ ('ok installed|half-installed|unpacked| ') 
                              ('            half-configured|config-files')
                            )
                          } {(-Ee)} {(DQ ('^Essential: yes'))}
                        )
                        (SimpleCommand
                          words: [
                            {(awk)}
                            {
                              (DQ ('/Package: ') ($ VSub_Number '$1') ('/ { print ') 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar '\\$'>
                                ) ('2 }')
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [250]
                            )
                          ]
                        )
                      ]
                      negated: F
                    )
                  ]
                  spids: [187]
                )
              spids: [183 186]
            )
          ]
          spids: [181]
        )
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _dpkg
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[273])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[275])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[277])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[279])
                    (assign_pair lhs:(LhsName name:split) op:Equal spids:[281])
                  ]
                  spids: [271]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_init_completion)} {(-s)})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(_expand)})
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                  ]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:i)
                      op: Equal
                      rhs: {($ VSub_Name '$cword')}
                      spids: [306]
                    )
                  ]
                  spids: [304]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: {($ VSub_Name '$cur')}
                                  right: {(-) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (While
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalAnd
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobNEqual
                                          left: {($ VSub_Name '$prev')}
                                          right: {(-) (Lit_Other '*')}
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_ne
                                          left: {($ VSub_Name '$i')}
                                          right: {(1)}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          body: 
                            (DoGroup
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:i)
                                      op: Equal
                                      rhs: 
                                        {
                                          (ArithSubPart
                                            anode: 
                                              (ArithBinary
                                                op_id: Arith_Minus
                                                left: (ArithVarRef name:i)
                                                right: (ArithWord w:{(Lit_Digits 1)})
                                              )
                                            spids: [358 363]
                                          )
                                        }
                                      spids: [357]
                                    )
                                  ]
                                  spids: [357]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:prev)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name words>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithBinary
                                                    op_id: Arith_Minus
                                                    left: (ArithVarRef name:i)
                                                    right: (ArithWord w:{(Lit_Digits 1)})
                                                  )
                                              )
                                            spids: [367 374]
                                          )
                                        }
                                      spids: [366]
                                    )
                                  ]
                                  spids: [366]
                                )
                              ]
                              spids: [354 377]
                            )
                        )
                      ]
                      spids: [16777215 329]
                    )
                  ]
                  spids: [16777215 380]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [
                        {(-c)}
                        {(-i)}
                        {(-A)}
                        {(-I)}
                        {(-f)}
                        {(-e)}
                        {(-x)}
                        {(-X)}
                        {(-W)}
                        {(--install)}
                        {(--unpack)}
                        {(--record-avail)}
                        {(--contents)}
                        {(--info)}
                        {(--fsys-tarfile)}
                        {(--field)}
                        {(--control)}
                        {(--extract)}
                        {(--show)}
                      ]
                      action: [
                        (C {(_filedir)} {(SQ <'?(u|d)deb'>)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [391 434 449 16777215]
                    )
                    (case_arm
                      pat_list: [{(-b)} {(--build)}]
                      action: [
                        (C {(_filedir)} {(-d)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [452 455 468 16777215]
                    )
                    (case_arm
                      pat_list: [{(-s)} {(-p)} {(-l)} {(--status)} {(--print-avail)} {(--list)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(apt-cache)}
                                                    {(pkgnames)}
                                                    {(DQ ($ VSub_Name '$cur'))}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 2
                                                      arg_word: {(/dev/null)}
                                                      spids: [498]
                                                    )
                                                  ]
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [488 501]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [485]
                            )
                          ]
                          spids: [485]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [471 482 511 16777215]
                    )
                    (case_arm
                      pat_list: [{(-S)} {(--search)}]
                      action: [
                        (C {(_filedir)})
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [514 517 528 16777215]
                    )
                    (case_arm
                      pat_list: [{(-r)} {(--remove)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(_comp_dpkg_installed_packages)} 
                                                  {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [540 548]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [537]
                            )
                          ]
                          spids: [537]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [531 534 558 16777215]
                    )
                    (case_arm
                      pat_list: [{(-L)} {(-P)} {(--listfiles)} {(--purge)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:COMPREPLY)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(_comp_dpkg_purgeable_packages)} 
                                                  {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [574 582]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [571]
                            )
                          ]
                          spids: [571]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [561 568 592 16777215]
                    )
                  ]
                  spids: [384 388 595]
                )
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (C {($ VSub_Name '$split')})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                )
                (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: [610 626]
                                )
                              }
                            ]
                          )
                        }
                      spids: [607]
                    )
                  ]
                  spids: [607]
                )
                (AndOr
                  ops: [Op_DAmp]
                  children: [
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: {($ VSub_Name '$COMPREPLY')}
                          right: {(Lit_Other '*') (BoolBinary_GlobEqual '=')}
                        )
                    )
                    (C {(compopt)} {(-o)} {(nospace)})
                  ]
                )
              ]
              spids: [268]
            )
          spids: [264 267]
        )
        (C {(complete)} {(-F)} {(_dpkg)} {(dpkg)} {(dpkg-deb)} {(dpkg-query)})
      ]
    )
    (AndOr
      ops: [Op_DAmp]
      children: [
        (FuncDef
          name: _dpkg_reconfigure
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair lhs:(LhsName name:cur) op:Equal spids:[682])
                    (assign_pair lhs:(LhsName name:prev) op:Equal spids:[684])
                    (assign_pair lhs:(LhsName name:words) op:Equal spids:[686])
                    (assign_pair lhs:(LhsName name:cword) op:Equal spids:[688])
                  ]
                  spids: [680]
                )
                (AndOr
                  ops: [Op_DPipe]
                  children: [(C {(_init_completion)}) (ControlFlow token:<ControlFlow_Return return>)]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:opt) op:Equal spids:[701])]
                  spids: [699]
                )
                (Case
                  to_match: {($ VSub_Name '$prev')}
                  arms: [
                    (case_arm
                      pat_list: [{(-f)} {(--frontend)}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(printf)} {(SQ <'%s\\n'>)} 
                                                  {(/usr/share/perl5/Debconf/FrontEnd/) 
                                                    (Lit_Other '*')
                                                  }
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [721 732]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [718]
                            )
                          ]
                          spids: [718]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name opt>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VOp1_DPound
                                              arg_word: {('*') (Lit_Slash /)}
                                            )
                                          spids: [740 748]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [737]
                            )
                          ]
                          spids: [737]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:opt)
                              op: Equal
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name opt>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.pm)})
                                          spids: [756 763]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [753]
                            )
                          ]
                          spids: [753]
                        )
                        (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 <'${opt[@]}'>)} {(--)} 
                                                  {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [771 787]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [768]
                            )
                          ]
                          spids: [768]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [712 715 797 16777215]
                    )
                    (case_arm
                      pat_list: [{(-p)} {(--priority)}]
                      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 <'low medium high critical'>)} 
                                                  {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [809 825]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [806]
                            )
                          ]
                          spids: [806]
                        )
                        (ControlFlow
                          token: <ControlFlow_Return return>
                          arg_word: {(0)}
                        )
                      ]
                      spids: [800 803 835 16777215]
                    )
                  ]
                  spids: [705 709 838]
                )
                (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 
                                                      <
'--frontend --priority --all --unseen-only\n'
                                                      > <'                      --help --showold --force --terse'>
                                                    )
                                                  } {(--)} {(DQ ($ VSub_Name '$cur'))}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [864 880]
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [861]
                            )
                          ]
                          spids: [861]
                        )
                      ]
                      spids: [16777215 858]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:COMPREPLY)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(_comp_dpkg_installed_packages)} 
                                              {(DQ ($ VSub_Name '$cur'))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [891 899]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [888]
                        )
                      ]
                      spids: [888]
                    )
                  ]
                  spids: [885 904]
                )
              ]
              spids: [677]
            )
          spids: [673 676]
        )
        (C {(complete)} {(-F)} {(_dpkg_reconfigure)} {(-o)} {(default)} {(dpkg-reconfigure)})
      ]
    )
  ]
)