(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:TEXTDOMAIN spids:[49])
          op: Equal
          rhs: {(libc)}
          spids: [49]
        )
      ]
      spids: [49]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:TEXTDOMAINDIR spids:[52])
          op: Equal
          rhs: {(Lit_Other '@') (TEXTDOMAINDIR) (Lit_Other '@')}
          spids: [52]
        )
      ]
      spids: [52]
    )
    (C {(unset)} {(SOTRUSS_FROMLIST)})
    (C {(unset)} {(SOTRUSS_TOLIST)})
    (C {(unset)} {(SOTRUSS_OUTNAME)})
    (C {(unset)} {(SOTRUSS_EXIT)})
    (C {(unset)} {(SOTRUSS_NOINDENT)})
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:SOTRUSS_WHICH spids:[78])
          op: Equal
          rhs: {($ VSub_Dollar '$$')}
          spids: [78]
        )
      ]
      spids: [78]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:lib spids:[81])
          op: Equal
          rhs: {(SQ <'@PREFIX@/$LIB/audit/sotruss-lib.so'>)}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (command.FuncDef
      name: do_help
      body: 
        (command.BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ('Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]\n') 
                  ('  -F, --from FROMLIST     Trace calls from objects on FROMLIST\n') ('  -T, --to TOLIST         Trace calls to objects on TOLIST\n') ('\n') 
                  ('  -e, --exit              Also show exits from the function calls\n') ('  -f, --follow            Trace child processes\n') 
                  ('  -o, --output FILENAME   Write output to FILENAME (or FILENAME.') ($ VSub_DollarName '$PID') (' in case\n') ('\t\t\t  -f is also used) instead of standard error\n') 
                  ('\n') ('  -?, --help              Give this help list\n') 
                  ('      --usage             Give a short usage message\n') ('      --version           Print program version')
                )
              }
            )
            (C {(echo)})
            (C {(printf)} 
              {
                (DQ ('Mandatory arguments to long options are also mandatory for any corresponding') 
                  (Lit_Other '\\') ('nshort options.') (Lit_Other '\\') (n)
                )
              }
            )
            (C {(echo)})
            (C {(printf)} 
              {
                (DQ ('For bug reporting instructions, please see:') 
                  (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ('n%s.') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) (n)
                )
              } {(DQ ('@REPORT_BUGS_TO@'))}
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
          ]
          spids: [91]
        )
      spids: [87 90]
    )
    (command.FuncDef
      name: do_missing_arg
      body: 
        (command.BraceGroup
          children: [
            (command.SimpleCommand
              words: [
                {(printf)}
                {(DQ ("%s: option requires an argument -- '%s'") (Lit_Other '\\') (n))}
                {(sotruss)}
                {(DQ ($ VSub_Number '$1'))}
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.SimpleCommand
              words: [
                {(printf)}
                {
                  (DQ ('Try ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                    ("%s --help' or ") (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("%s --usage' for more information.") 
                    (Lit_Other '\\') (n)
                  )
                }
                {(sotruss)}
                {(sotruss)}
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [161]
        )
      spids: [157 160]
    )
    (command.FuncDef
      name: do_ambiguous
      body: 
        (command.BraceGroup
          children: [
            (command.SimpleCommand
              words: [{(printf)} {(DQ ('%s: option is ambiguous; possibilities:'))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.WhileUntil
              keyword: <KW_While while>
              cond: [
                (command.Sentence
                  child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (command.DoGroup
                  children: [
                    (command.SimpleCommand
                      words: [{(printf)} {(DQ (" '%s'"))} {($ VSub_Number '$1')}]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (C {(shift)})
                  ]
                  spids: [237 255]
                )
            )
            (command.SimpleCommand
              words: [{(printf)} {(DQ (Lit_Other '\\') (n))}]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.SimpleCommand
              words: [
                {(printf)}
                {
                  (DQ ('Try ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                    ("%s --help' or ") (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("%s --usage' for more information.") 
                    (Lit_Other '\\') (n)
                  )
                }
                {(sotruss)}
                {(sotruss)}
              ]
              redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
            )
            (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [213]
        )
      spids: [209 212]
    )
    (command.WhileUntil
      keyword: <KW_While while>
      cond: [
        (command.Sentence
          child: (C {(test)} {($ VSub_Pound '$#')} {(-gt)} {(0)})
          terminator: <Op_Semi ';'>
        )
      ]
      body: 
        (command.DoGroup
          children: [
            (command.Case
              to_match: {(DQ ($ VSub_Number '$1'))}
              arms: [
                (case_arm
                  pat_list: [{(--v)} {(--ve)} {(--ver)} {(--vers)} {(--versi)} {(--versio)} {(--version)}]
                  action: [
                    (C {(echo)} {(DQ ('sotruss @PKGVERSION@@VERSION@'))})
                    (C {(printf)} 
                      {
                        (DQ ('Copyright (C) %s Free Software Foundation, Inc.\n') 
                          (
'This is free software; see the source for copying conditions.  There is NO\n'
                          ) ('warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n')
                        )
                      } {(DQ (2016))}
                    )
                    (C {(printf)} {(DQ ('Written by %s.') (Lit_Other '\\') (n))} 
                      {(DQ ('Ulrich Drepper'))}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {(0)}
                    )
                  ]
                  spids: [319 344 385 16777215]
                )
                (case_arm
                  pat_list: [
                    {(-) (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\?'>)}
                    {(--h)}
                    {(--he)}
                    {(--hel)}
                    {(--help)}
                  ]
                  action: [(C {(do_help)})]
                  spids: [388 406 412 16777215]
                )
                (case_arm
                  pat_list: [{(--u)} {(--us)} {(--usa)} {(--usag)} {(--usage)}]
                  action: [
                    (C {(printf)} 
                      {
                        (DQ ('Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n') 
                          (
'\t    [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n'
                          ) ('\t    [--help] [--usage] [--version] [--]\n') ('\t    EXECUTABLE [EXECUTABLE-OPTION...]') 
                          (Lit_Other '\\') (n)
                        )
                      } {(sotruss)}
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {(0)}
                    )
                  ]
                  spids: [415 432 454 16777215]
                )
                (case_arm
                  pat_list: [{(-F)} {(--fr)} {(--fro)} {(--from)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {(DQ ($ VSub_Number '$1'))})]
                          spids: [16777215 484]
                        )
                      ]
                      spids: [16777215 494]
                    )
                    (C {(shift)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:SOTRUSS_FROMLIST spids:[500])
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [500]
                        )
                      ]
                      spids: [500]
                    )
                  ]
                  spids: [457 470 506 16777215]
                )
                (case_arm
                  pat_list: [{(-T)} {(--t)} {(--to)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {(DQ ($ VSub_Number '$1'))})]
                          spids: [16777215 532]
                        )
                      ]
                      spids: [16777215 542]
                    )
                    (C {(shift)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:SOTRUSS_TOLIST spids:[548])
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [548]
                        )
                      ]
                      spids: [548]
                    )
                  ]
                  spids: [509 518 554 16777215]
                )
                (case_arm
                  pat_list: [{(-o)} {(--o)} {(--ou)} {(--out)} {(--outp)} {(--outpu)} {(--output)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {(DQ ($ VSub_Number '$1'))})]
                          spids: [16777215 596]
                        )
                      ]
                      spids: [16777215 606]
                    )
                    (C {(shift)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:SOTRUSS_OUTNAME spids:[612])
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [612]
                        )
                      ]
                      spids: [612]
                    )
                  ]
                  spids: [557 582 618 16777215]
                )
                (case_arm
                  pat_list: [{(-f)} {(--fo)} {(--fol)} {(--foll)} {(--follo)} {(--follow)}]
                  action: [(C {(unset)} {(SOTRUSS_WHICH)})]
                  spids: [621 642 650 16777215]
                )
                (case_arm
                  pat_list: [{(-l)} {(--l)} {(--li)} {(--lib)}]
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: [
                            (command.Sentence
                              child: (C {(test)} {($ VSub_Pound '$#')} {(-eq)} {(1)})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(do_missing_arg)} {(DQ ($ VSub_Number '$1'))})]
                          spids: [16777215 680]
                        )
                      ]
                      spids: [16777215 690]
                    )
                    (C {(shift)})
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:lib spids:[696])
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [696]
                        )
                      ]
                      spids: [696]
                    )
                  ]
                  spids: [653 666 702 16777215]
                )
                (case_arm
                  pat_list: [{(-e)} {(--e)} {(--ex)} {(--exi)} {(--exit)}]
                  action: [
                    (command.Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (lhs_expr.LhsName name:SOTRUSS_EXIT spids:[725])
                          op: Equal
                          rhs: {(1)}
                          spids: [725]
                        )
                      ]
                      spids: [725]
                    )
                  ]
                  spids: [705 722 729 16777215]
                )
                (case_arm
                  pat_list: [{(--f)}]
                  action: [(C {(do_ambiguous)} {(SQ <--from>)} {(SQ <--follow>)})]
                  spids: [732 733 747 16777215]
                )
                (case_arm
                  pat_list: [{(--)}]
                  action: [(C {(shift)}) (command.ControlFlow token:<ControlFlow_Break break>)]
                  spids: [750 751 760 16777215]
                )
                (case_arm
                  pat_list: [{(-) (Lit_Other '*')}]
                  action: [
                    (command.SimpleCommand
                      words: [
                        {(printf)}
                        {(DQ ("%s: unrecognized option '%c%s'") (Lit_Other '\\') (n))}
                        {(sotruss)}
                        {(SQ <->)}
                        {
                          (word_part.BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(-)})
                            spids: [785 789]
                          )
                        }
                      ]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (command.SimpleCommand
                      words: [
                        {(printf)}
                        {
                          (DQ ('Try ') (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) 
                            ("%s --help' or ") (word_part.EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("%s --usage' for more information.") 
                            (Lit_Other '\\') (n)
                          )
                        }
                        {(sotruss)}
                        {(sotruss)}
                      ]
                      redirects: [(redir.Redir op:<Redir_GreatAnd '>&'> fd:16777215 arg_word:{(2)})]
                    )
                    (command.ControlFlow
                      token: <ControlFlow_Exit exit>
                      arg_word: {(1)}
                    )
                  ]
                  spids: [763 765 817 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [(command.ControlFlow token:<ControlFlow_Break break>)]
                  spids: [820 821 827 16777215]
                )
              ]
              spids: [310 316 830]
            )
            (C {(shift)})
          ]
          spids: [307 835]
        )
    )
    (C {(export)} {(SOTRUSS_FROMLIST)})
    (C {(export)} {(SOTRUSS_TOLIST)})
    (C {(export)} {(SOTRUSS_OUTNAME)})
    (C {(export)} {(SOTRUSS_WHICH)})
    (C {(export)} {(SOTRUSS_EXIT)})
    (C {(export)} {(Lit_VarLike 'LD_AUDIT=') (DQ ($ VSub_DollarName '$lib'))})
    (C {(exec)} {(DQ ($ VSub_At '$@'))})
  ]
)