(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:PI) op:Equal rhs:{(.postinstall)} spids:[4])]
      spids: [4]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:TMP) op:Equal rhs:{(/usr/tmp)} spids:[7])]
      spids: [7]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:PATH)
          op: Equal
          rhs: {(/bin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/usr/local/bin)}
          spids: [10]
        )
      ]
      spids: [10]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-ne)} {(1)} {(Lit_Other ']')})]
          action: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' <package file>'))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 32]
        )
      ]
      spids: [16777215 48]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dir)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(pwd)})])
                left_token: <Left_Backtick '`'>
                spids: [52 54]
              )
            }
          spids: [51]
        )
      ]
      spids: [51]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (-))} 
              {(Lit_Other ']')}
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:f) op:Equal rhs:{(DQ )} spids:[74])]
              spids: [74]
            )
          ]
          spids: [16777215 72]
        )
      ]
      else_action: [
        (Case
          to_match: {(DQ ($ VSub_Number '$1'))}
          arms: [
            (case_arm
              pat_list: [{(/) (Lit_Other '*')}]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:f)
                      op: Equal
                      rhs: {(DQ ($ VSub_Number '$1'))}
                      spids: [93]
                    )
                  ]
                  spids: [93]
                )
              ]
              spids: [89 91 98 16777215]
            )
            (case_arm
              pat_list: [{(Lit_Other '*')}]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:f)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$dir') (/) ($ VSub_Number '$1'))}
                      spids: [104]
                    )
                  ]
                  spids: [104]
                )
              ]
              spids: [101 102 111 16777215]
            )
          ]
          spids: [80 86 114]
        )
      ]
      spids: [78 116]
    )
    (C {(cd)} {($ VSub_Name '$TMP')})
    (C {(rm)} {(-f)} {($ VSub_Name '$PI')})
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$PI')} {(Lit_Other ']')})]
          action: [
            (C {(echo)} 
              {
                (DQ ($ VSub_Name '$PI') (' is in ') ($ VSub_Name '$TMP') (', please remove it first.'))
              }
            )
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 140]
        )
      ]
      spids: [16777215 156]
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {($ VSub_Name '$f')} {(Lit_Other ']')})]
          action: [
            (C {(echo)} {(DQ ("Couldn't find package ") ($ VSub_Name '$f') (.))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 171]
        )
      ]
      spids: [16777215 186]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Pipeline
              children: [
                (SimpleCommand
                  words: [{(bunzip2)} {(--help)}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[198])]
                )
                (SimpleCommand
                  words: [{(grep)} {(usage)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/dev/null)}
                      spids: [207]
                    )
                  ]
                )
              ]
              negated: F
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:BUNZIP2) op:Equal rhs:{(bunzip2)} spids:[212])]
              spids: [212]
            )
          ]
          spids: [16777215 210]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:BUNZIP2) op:Equal rhs:{(smallbunzip2)} spids:[217])]
          spids: [217]
        )
      ]
      spids: [215 220]
    )
    (Pipeline
      children: [
        (C {(cat)} {($ VSub_Name '$f')})
        (C {($ VSub_Name '$BUNZIP2')})
        (C {(pax)} {(-r)} {(-p)} {(e)})
      ]
      negated: F
    )
    (If
      arms: [
        (if_arm
          cond: [(C {(Lit_Other '[')} {(-f)} {($ VSub_Name '$PI')} {(Lit_Other ']')})]
          action: [(C {(sh)} {(-e)} {($ VSub_Name '$PI')}) (C {(rm)} {(-f)} {($ VSub_Name '$PI')})]
          spids: [16777215 251]
        )
      ]
      spids: [16777215 267]
    )
    (ForEach
      iter_name: d
      iter_words: [{(/usr/man)} {(/usr/local/man)} {(/usr/gnu/man)} {(/usr/X11R6/man)}]
      do_arg_iter: F
      body: 
        (DoGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [(C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$d'))} {(Lit_Other ']')})]
                  action: [(C {(makewhatis)} {($ VSub_Name '$d')})]
                  spids: [16777215 299]
                )
              ]
              spids: [16777215 306]
            )
          ]
          spids: [284 308]
        )
      spids: [275 16777215]
    )
  ]
)