(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name BASH_SOURCE>
                        bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                        spids: [9 14]
                      )
                    )
                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:current_script_path)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name BASH_SOURCE>
                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)}))
                          spids: [31 36]
                        )
                      )
                    }
                  spids: [29]
                )
              ]
              spids: [29]
            )
          ]
          spids: [-1 26]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:current_script_path)
              op: Equal
              rhs: {(DQ ($ VSub_Number '$0'))}
              spids: [42]
            )
          ]
          spids: [42]
        )
      ]
      spids: [39 47]
    )
    (C {(export)} {(ASDF_DIR)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ASDF_DIR)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Sentence
                          child: 
                            (C {(cd)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(dirname)} {(DQ ($ VSub_Name '$current_script_path'))})
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [60 66]
                                  )
                                )
                              }
                            )
                          terminator: <Op_Amp '&'>
                        )
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (SimpleCommand
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(/dev/null)}
                                      spids: [70]
                                    )
                                  ]
                                )
                                (C {(exit)} {(1)})
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ';'>
                        )
                        (C {(pwd)})
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [56 82]
                )
              )
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (C {(export)} 
      {(Lit_VarLike 'PATH=') 
        (DQ (${ VSub_Name ASDF_DIR) ('/bin:') (${ VSub_Name ASDF_DIR) ('/shims:') ($ VSub_Name '$PATH'))
      }
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$ZSH_VERSION'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(autoload)} {(-U)} {(bashcompinit)}) (C {(bashcompinit)})]
          spids: [-1 114]
        )
      ]
      spids: [-1 126]
    )
  ]
)