(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:gpg_version)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (SimpleCommand
                        words: [{(gpg)} {(--version)}]
                        redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[10])]
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [5 12]
              )
            }
          spids: [4]
        )
      ]
      spids: [4]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(test)} {($ VSub_QMark '$?')} {(KW_Bang '!') (Lit_Other '=')} {(127)})]
          action: [
            (Case
              to_match: {(DQ ($ VSub_Name '$gpg_version'))}
              arms: [
                (case_arm
                  pat_list: [{(SQ <'gpg (GnuPG) 1.0.6'>) (Lit_Other '*')}]
                  action: [(C {(say)} {(DQ ('Your version of gpg (1.0.6) is too buggy for testing'))})]
                  spids: [50 53 63 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (AndOr
                      children: [
                        (C {(mkdir)} {(./gpghome)})
                        (AndOr
                          children: [
                            (C {(chmod)} {(0700)} {(./gpghome)})
                            (AndOr
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:GNUPGHOME)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: (CommandList children:[(C {(pwd)})])
                                              left_token: <Left_CommandSub '$('>
                                              spids: [152 154]
                                            ) (/gpghome)
                                          )
                                        }
                                      spids: [150]
                                    )
                                  ]
                                  spids: [150]
                                )
                                (AndOr
                                  children: [
                                    (C {(export)} {(GNUPGHOME)})
                                    (AndOr
                                      children: [
                                        (SimpleCommand
                                          words: [
                                            {(gpg)}
                                            {(--homedir)}
                                            {(DQ (${ VSub_Name GNUPGHOME))}
                                            {(--import)}
                                            {(DQ ($ VSub_Name '$TEST_DIRECTORY')) 
                                              (/lib-gpg/keyring.gpg)
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                              spids: [178]
                                            )
                                          ]
                                        )
                                        (AndOr
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {(gpg)}
                                                {(--homedir)}
                                                {(DQ (${ VSub_Name GNUPGHOME))}
                                                {(--import-ownertrust)}
                                                {(DQ ($ VSub_Name '$TEST_DIRECTORY')) 
                                                  (/lib-gpg/ownertrust)
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op_id: Redir_Great
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                  spids: [203]
                                                )
                                              ]
                                            )
                                            (AndOr
                                              children: [
                                                (SimpleCommand
                                                  words: [
                                                    {(gpg)}
                                                    {(--homedir)}
                                                    {(DQ (${ VSub_Name GNUPGHOME))}
                                                    {(--sign)}
                                                    {(-u)}
                                                    {(committer) (Lit_Other '@') (example.com)}
                                                  ]
                                                  redirects: [
                                                    (Redir
                                                      op_id: Redir_Less
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [228]
                                                    )
                                                    (Redir
                                                      op_id: Redir_Great
                                                      fd: 16777215
                                                      arg_word: {(/dev/null)}
                                                      spids: [231]
                                                    )
                                                    (Redir
                                                      op_id: Redir_GreatAnd
                                                      fd: 2
                                                      arg_word: {(1)}
                                                      spids: [234]
                                                    )
                                                  ]
                                                )
                                                (C {(test_set_prereq)} {(GPG)})
                                              ]
                                              op_id: Op_DAmp
                                            )
                                          ]
                                          op_id: Op_DAmp
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  ]
                                  op_id: Op_DAmp
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      ]
                      op_id: Op_DAmp
                    )
                  ]
                  spids: [66 67 255 16777215]
                )
              ]
              spids: [40 46 258]
            )
          ]
          spids: [16777215 25]
        )
      ]
      spids: [16777215 260]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (AndOr
              children: [
                (C {(test_have_prereq)} {(GPG)})
                (Pipeline
                  children: [
                    (C {(echo)})
                    (SimpleCommand
                      words: [{(gpg)} {(--homedir)} {(DQ (${ VSub_Name GNUPGHOME))} {(-b)} {(--rfc1991)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [290]
                        )
                        (Redir
                          op_id: Redir_GreatAnd
                          fd: 2
                          arg_word: {(1)}
                          spids: [293]
                        )
                      ]
                    )
                  ]
                  negated: False
                )
              ]
              op_id: Op_DAmp
            )
          ]
          action: [(C {(test_set_prereq)} {(RFC1991)})]
          spids: [16777215 296]
        )
      ]
      spids: [16777215 303]
    )
    (FuncDef
      name: sanitize_pgp
      body: 
        (BraceGroup
          children: [
            (C {(perl)} {(-ne)} 
              {
                (SQ <'\n'> <'\t\t/^-----END PGP/ and $in_pgp = 0;\n'> <'\t\tprint unless $in_pgp;\n'> 
                  <'\t\t/^-----BEGIN PGP/ and $in_pgp = 1;\n'> <'\t'>
                )
              }
            )
          ]
          spids: [310]
        )
      spids: [306 309]
    )
  ]
)