(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:__git_printf_supports_v)
          op: Equal
          rhs: {(EmptyPart)}
          spids: [289]
        )
      ]
      spids: [289]
    )
    (SimpleCommand
      words: [{(printf)} {(-v)} {(__git_printf_supports_v)} {(--)} {(SQ <'%s'>)} {(yes)}]
      redirects: [
        (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
        (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
      ]
    )
    (FuncDef
      name: __git_ps1_show_upstream
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:key) op:Equal spids:[328])
                (assign_pair lhs:(LhsName name:value) op:Equal spids:[330])
              ]
              spids: [326]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:svn_remote) op:Equal spids:[335])
                (assign_pair lhs:(LhsName name:svn_url_pattern) op:Equal spids:[337])
                (assign_pair lhs:(LhsName name:count) op:Equal spids:[339])
                (assign_pair lhs:(LhsName name:n) op:Equal spids:[341])
              ]
              spids: [333]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:upstream)
                  op: Equal
                  rhs: {(git)}
                  spids: [346]
                )
                (assign_pair
                  lhs: (LhsName name:legacy)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [349]
                )
                (assign_pair
                  lhs: (LhsName name:verbose)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [353]
                )
                (assign_pair
                  lhs: (LhsName name:name)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [357]
                )
              ]
              spids: [344]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:svn_remote)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [363]
                )
              ]
              spids: [363]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (SimpleCommand
                                      words: [
                                        {(git)}
                                        {(config)}
                                        {(-z)}
                                        {(--get-regexp)}
                                        {(SQ <'^(svn-remote\\..*\\.url|bash\\.showupstream)$'>)}
                                      ]
                                      redirects: [
                                        (Redir
                                          op: <Redir_Great '2>'>
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                        )
                                      ]
                                    )
                                    (C {(tr)} {(SQ <'\\0\\n'>)} {(SQ <'\\n '>)})
                                  ]
                                  negated: F
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [376 403]
                        )
                      )
                    }
                  spids: [374]
                )
              ]
              spids: [372]
            )
            (WhileUntil
              keyword: <KW_While while>
              cond: [(Sentence child:(C {(read)} {(-r)} {(key)} {(value)}) terminator:<Op_Semi ';'>)]
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$key'))}
                      arms: [
                        (case_arm
                          pat_list: [{(bash.showupstream)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:GIT_PS1_SHOWUPSTREAM)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$value'))}
                                  spids: [434]
                                )
                              ]
                              spids: [434]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_z
                                              child: {(DQ (${ VSub_Name GIT_PS1_SHOWUPSTREAM))}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:p)
                                          op: Equal
                                          rhs: {(DQ )}
                                          spids: [458]
                                        )
                                      ]
                                      spids: [458]
                                    )
                                    (ControlFlow
                                      token: <ControlFlow_Return return>
                                    )
                                  ]
                                  spids: [16777215 455]
                                )
                              ]
                              spids: [16777215 466]
                            )
                          ]
                          spids: [430 431 469 16777215]
                        )
                        (case_arm
                          pat_list: [{(svn-remote.) (Lit_Other '*') (.url)}]
                          action: [
                            (C 
                              {(svn_remote) (Lit_Other '[') 
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Plus
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name svn_remote>
                                                prefix_op: VSub_Pound
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [481 487]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [480 493]
                                ) (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$value'))
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_url_pattern)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$svn_url_pattern') 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar '\\\\'>
                                        ) ('|') ($ VSub_Name '$value')
                                      )
                                    }
                                  spids: [501]
                                )
                              ]
                              spids: [501]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(svn) (Lit_Other '+') (git)}
                                  spids: [510]
                                )
                              ]
                              spids: [510]
                            )
                          ]
                          spids: [472 475 519 16777215]
                        )
                      ]
                      spids: [421 427 522]
                    )
                  ]
                  spids: [418 525]
                )
              redirects: [
                (Redir
                  op: <Redir_TLess '<<<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$output'))}
                )
              ]
            )
            (ForEach
              iter_name: option
              iter_words: [{(${ VSub_Name GIT_PS1_SHOWUPSTREAM)}]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$option'))}
                      arms: [
                        (case_arm
                          pat_list: [{(git)} {(svn)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(DQ ($ VSub_Name '$option'))}
                                  spids: [567]
                                )
                              ]
                              spids: [567]
                            )
                          ]
                          spids: [562 565 572 16777215]
                        )
                        (case_arm
                          pat_list: [{(verbose)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:verbose)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [578]
                                )
                              ]
                              spids: [578]
                            )
                          ]
                          spids: [575 576 581 16777215]
                        )
                        (case_arm
                          pat_list: [{(legacy)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:legacy)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [587]
                                )
                              ]
                              spids: [587]
                            )
                          ]
                          spids: [584 585 590 16777215]
                        )
                        (case_arm
                          pat_list: [{(name)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:name)
                                  op: Equal
                                  rhs: {(1)}
                                  spids: [596]
                                )
                              ]
                              spids: [596]
                            )
                          ]
                          spids: [593 594 599 16777215]
                        )
                      ]
                      spids: [553 559 602]
                    )
                  ]
                  spids: [550 605]
                )
              spids: [544 548]
            )
            (Case
              to_match: {(DQ ($ VSub_Name '$upstream'))}
              arms: [
                (case_arm
                  pat_list: [{(git)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:upstream)
                          op: Equal
                          rhs: {(DQ ('@{upstream}'))}
                          spids: [625]
                        )
                      ]
                      spids: [625]
                    )
                  ]
                  spids: [622 623 630 16777215]
                )
                (case_arm
                  pat_list: [{(svn) (Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: [-a]
                      pairs: [(assign_pair lhs:(LhsName name:svn_upstream) op:Equal spids:[650])]
                      spids: [646]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:svn_upstream)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {(git)}
                                                {(log)}
                                                {(--first-parent)}
                                                {(-1)}
                                                {(--grep) (Lit_Other '=') 
                                                  (DQ ('^git-svn-id: ') (Lit_Other '\\') ('(') 
                                                    (BracedVarSub
                                                      token: <VSub_Name svn_url_pattern>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VOp1_Pound
                                                          arg_word: {('??')}
                                                        )
                                                      spids: [672 676]
                                                    ) (Lit_Other '\\') (')')
                                                  )
                                                }
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '2>'>
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [655 683]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [653]
                        )
                      ]
                      spids: [653]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_ne
                                      left: {(0)}
                                      right: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name svn_upstream>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [695 701]
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_upstream)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name svn_upstream>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithBinary
                                                op_id: Arith_Minus
                                                left: 
                                                  (ArithWord
                                                    w: 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name svn_upstream>
                                                          prefix_op: VSub_Pound
                                                          bracket_op: (WholeArray op_id:Lit_At)
                                                          spids: [713 719]
                                                        )
                                                      }
                                                  )
                                                right: (ArithWord w:{(Lit_Digits 2)})
                                              )
                                          )
                                        spids: [710 725]
                                      )
                                    }
                                  spids: [709]
                                )
                              ]
                              spids: [709]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:svn_upstream)
                                  op: Equal
                                  rhs: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name svn_upstream>
                                        suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('@*')})
                                        spids: [729 733]
                                      )
                                    }
                                  spids: [728]
                                )
                              ]
                              spids: [728]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:n_stop)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name svn_remote>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [740 746]
                                        )
                                      )
                                    }
                                  spids: [738]
                                )
                              ]
                              spids: [736]
                            )
                            (ForExpr
                              init: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:n)
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                              cond: 
                                (ArithBinary
                                  op_id: Arith_LessEqual
                                  left: (ArithVarRef name:n)
                                  right: (ArithVarRef name:n_stop)
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:n))
                              body: 
                                (DoGroup
                                  children: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:svn_upstream)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name svn_upstream>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VOp1_Pound
                                                    arg_word: 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name svn_remote>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$n')})
                                                            )
                                                          spids: [778 783]
                                                        )
                                                      }
                                                  )
                                                spids: [775 784]
                                              )
                                            }
                                          spids: [774]
                                        )
                                      ]
                                      spids: [774]
                                    )
                                  ]
                                  spids: [771 787]
                                )
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_z
                                              child: {(DQ ($ VSub_Name '$svn_upstream'))}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:upstream)
                                          op: Equal
                                          rhs: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name GIT_SVN_ID>
                                                suffix_op: 
                                                  (StringUnary
                                                    op_id: VTest_ColonHyphen
                                                    arg_word: {(git-svn)}
                                                  )
                                                spids: [812 816]
                                              )
                                            }
                                          spids: [811]
                                        )
                                      ]
                                      spids: [811]
                                    )
                                  ]
                                  spids: [16777215 804]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:upstream)
                                      op: Equal
                                      rhs: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name svn_upstream>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VOp1_Pound
                                                arg_word: {(Lit_Slash /)}
                                              )
                                            spids: [823 827]
                                          )
                                        }
                                      spids: [822]
                                    )
                                  ]
                                  spids: [822]
                                )
                              ]
                              spids: [819 830]
                            )
                          ]
                          spids: [16777215 706]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: {(DQ ('svn+git'))}
                                      right: {(DQ ($ VSub_Name '$upstream'))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:upstream)
                                  op: Equal
                                  rhs: {(DQ ('@{upstream}'))}
                                  spids: [853]
                                )
                              ]
                              spids: [853]
                            )
                          ]
                          spids: [833 850]
                        )
                      ]
                      spids: [16777215 859]
                    )
                  ]
                  spids: [633 635 862 16777215]
                )
              ]
              spids: [613 619 865]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name '$legacy'))})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:count)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (SimpleCommand
                                          words: [
                                            {(git)}
                                            {(rev-list)}
                                            {(--count)}
                                            {(--left-right)}
                                            {(DQ ($ VSub_Name '$upstream')) (...HEAD)}
                                          ]
                                          redirects: [
                                            (Redir
                                              op: <Redir_Great '2>'>
                                              fd: 2
                                              arg_word: {(/dev/null)}
                                            )
                                          ]
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [891 909]
                                )
                              )
                            }
                          spids: [889]
                        )
                      ]
                      spids: [889]
                    )
                  ]
                  spids: [16777215 886]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:commits) op:Equal spids:[922])]
                  spids: [920]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:commits)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [
                                                {(git)}
                                                {(rev-list)}
                                                {(--left-right)}
                                                {(DQ ($ VSub_Name '$upstream')) (...HEAD)}
                                              ]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '2>'>
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [929 943]
                                    )
                                  )
                                }
                              spids: [927]
                            )
                          ]
                          spids: [927]
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:commit)
                              op: Equal
                              spids: [952]
                            )
                            (assign_pair
                              lhs: (LhsName name:behind)
                              op: Equal
                              rhs: {(0)}
                              spids: [954]
                            )
                            (assign_pair
                              lhs: (LhsName name:ahead)
                              op: Equal
                              rhs: {(0)}
                              spids: [957]
                            )
                          ]
                          spids: [950]
                        )
                        (ForEach
                          iter_name: commit
                          iter_words: [{($ VSub_Name '$commits')}]
                          do_arg_iter: F
                          body: 
                            (DoGroup
                              children: [
                                (Case
                                  to_match: {(DQ ($ VSub_Name '$commit'))}
                                  arms: [
                                    (case_arm
                                      pat_list: [{(DQ ('<')) (Lit_Other '*')}]
                                      action: [
                                        (DParen
                                          child: 
                                            (UnaryAssign
                                              op_id: Node_PostDPlus
                                              child: (LhsName name:behind)
                                            )
                                          spids: [988 992]
                                        )
                                      ]
                                      spids: [982 986 994 16777215]
                                    )
                                    (case_arm
                                      pat_list: [{(Lit_Other '*')}]
                                      action: [
                                        (DParen
                                          child: 
                                            (UnaryAssign
                                              op_id: Node_PostDPlus
                                              child: (LhsName name:ahead)
                                            )
                                          spids: [1000 1004]
                                        )
                                      ]
                                      spids: [997 998 1006 16777215]
                                    )
                                  ]
                                  spids: [973 979 1009]
                                )
                              ]
                              spids: [970 1012]
                            )
                          spids: [966 16777215]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:count)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$behind') ('\t') ($ VSub_Name '$ahead'))}
                              spids: [1015]
                            )
                          ]
                          spids: [1015]
                        )
                      ]
                      spids: [16777215 947]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:count)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [1026]
                        )
                      ]
                      spids: [1026]
                    )
                  ]
                  spids: [1023 1031]
                )
              ]
              spids: [913 1034]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name '$verbose'))})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ ($ VSub_Name '$count'))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ )}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [1075]
                                )
                              ]
                              spids: [1075]
                            )
                          ]
                          spids: [1067 1069 1079 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('0\t0'))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ('='))}
                                  spids: [1091]
                                )
                              ]
                              spids: [1091]
                            )
                          ]
                          spids: [1082 1085 1096 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ ('0\t')) (Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ('>'))}
                                  spids: [1109]
                                )
                              ]
                              spids: [1109]
                            )
                          ]
                          spids: [1099 1103 1114 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*') (DQ ('\t0'))}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ('<'))}
                                  spids: [1127]
                                )
                              ]
                              spids: [1127]
                            )
                          ]
                          spids: [1117 1121 1132 16777215]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: {(DQ ('<>'))}
                                  spids: [1142]
                                )
                              ]
                              spids: [1142]
                            )
                          ]
                          spids: [1135 1136 1147 16777215]
                        )
                      ]
                      spids: [1058 1064 1150]
                    )
                  ]
                  spids: [16777215 1055]
                )
              ]
              else_action: [
                (Case
                  to_match: {(DQ ($ VSub_Name '$count'))}
                  arms: [
                    (case_arm
                      pat_list: [{(DQ )}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: {(DQ )}
                              spids: [1173]
                            )
                          ]
                          spids: [1173]
                        )
                      ]
                      spids: [1165 1167 1177 16777215]
                    )
                    (case_arm
                      pat_list: [{(DQ ('0\t0'))}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: {(DQ (' u='))}
                              spids: [1189]
                            )
                          ]
                          spids: [1189]
                        )
                      ]
                      spids: [1180 1183 1194 16777215]
                    )
                    (case_arm
                      pat_list: [{(DQ ('0\t')) (Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' u+') 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('0\t')})
                                      spids: [1210 1214]
                                    )
                                  )
                                }
                              spids: [1207]
                            )
                          ]
                          spids: [1207]
                        )
                      ]
                      spids: [1197 1201 1217 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*') (DQ ('\t0'))}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' u-') 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('\t0')})
                                      spids: [1233 1237]
                                    )
                                  )
                                }
                              spids: [1230]
                            )
                          ]
                          spids: [1230]
                        )
                      ]
                      spids: [1220 1224 1240 16777215]
                    )
                    (case_arm
                      pat_list: [{(Lit_Other '*')}]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:p)
                              op: Equal
                              rhs: 
                                {
                                  (DQ (' u+') 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('*\t')})
                                      spids: [1253 1257]
                                    ) (-) 
                                    (BracedVarSub
                                      token: <VSub_Name count>
                                      suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{('\t*')})
                                      spids: [1259 1263]
                                    )
                                  )
                                }
                              spids: [1250]
                            )
                          ]
                          spids: [1250]
                        )
                      ]
                      spids: [1243 1244 1266 16777215]
                    )
                  ]
                  spids: [1156 1162 1269]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ ($ VSub_Name '$count'))}
                                    )
                                  right: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ ($ VSub_Name '$name'))}
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:__git_ps1_upstream_name)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(git)}
                                              {(rev-parse)}
                                              {(--abbrev-ref)}
                                              {(DQ ($ VSub_Name '$upstream'))}
                                            ]
                                            redirects: [
                                              (Redir
                                                op: <Redir_Great '2>'>
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1297 1312]
                                  )
                                }
                              spids: [1296]
                            )
                          ]
                          spids: [1296]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      ops: [Op_DAmp]
                                      children: [
                                        (C {(Lit_Other '[')} {($ VSub_Name '$pcmode')} {(Lit_Other '=')} 
                                          {(yes)} {(Lit_Other ']')}
                                        )
                                        (C {(Lit_Other '[')} {($ VSub_Name '$ps1_expanded')} 
                                          {(Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                                        )
                                      ]
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:p)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ($ VSub_Name '$p') (' ') 
                                            (EscapedLiteralPart
                                              token: <Lit_EscapedChar '\\$'>
                                            ) ('{__git_ps1_upstream_name}')
                                          )
                                        }
                                      spids: [1343]
                                    )
                                  ]
                                  spids: [1343]
                                )
                              ]
                              spids: [16777215 1340]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:p)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ($ VSub_Name '$p') (' ') 
                                        (${ VSub_Name __git_ps1_upstream_name)
                                      )
                                    }
                                  spids: [1355]
                                )
                              ]
                              spids: [1355]
                            )
                            (C {(unset)} {(__git_ps1_upstream_name)})
                          ]
                          spids: [1352 1378]
                        )
                      ]
                      spids: [16777215 1293]
                    )
                  ]
                  spids: [16777215 1381]
                )
              ]
              spids: [1153 1384]
            )
          ]
          spids: [323]
        )
      spids: [318 322]
    )
    (FuncDef
      name: __git_ps1_colorize_gitstring
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name ZSH_VERSION>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                                    spids: [1413 1416]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_red)
                          op: Equal
                          rhs: {(SQ <'%F{red}'>)}
                          spids: [1426]
                        )
                      ]
                      spids: [1424]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_green)
                          op: Equal
                          rhs: {(SQ <'%F{green}'>)}
                          spids: [1434]
                        )
                      ]
                      spids: [1432]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_lblue)
                          op: Equal
                          rhs: {(SQ <'%F{blue}'>)}
                          spids: [1442]
                        )
                      ]
                      spids: [1440]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:c_clear)
                          op: Equal
                          rhs: {(SQ <'%f'>)}
                          spids: [1450]
                        )
                      ]
                      spids: [1448]
                    )
                  ]
                  spids: [16777215 1421]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_red)
                      op: Equal
                      rhs: {(SQ <'\\[\\e[31m\\]'>)}
                      spids: [1469]
                    )
                  ]
                  spids: [1467]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_green)
                      op: Equal
                      rhs: {(SQ <'\\[\\e[32m\\]'>)}
                      spids: [1477]
                    )
                  ]
                  spids: [1475]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_lblue)
                      op: Equal
                      rhs: {(SQ <'\\[\\e[1;34m\\]'>)}
                      spids: [1485]
                    )
                  ]
                  spids: [1483]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:c_clear)
                      op: Equal
                      rhs: {(SQ <'\\[\\e[0m\\]'>)}
                      spids: [1493]
                    )
                  ]
                  spids: [1491]
                )
              ]
              spids: [1456 1499]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bad_color)
                  op: Equal
                  rhs: {($ VSub_Name '$c_red')}
                  spids: [1504]
                )
              ]
              spids: [1502]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ok_color)
                  op: Equal
                  rhs: {($ VSub_Name '$c_green')}
                  spids: [1510]
                )
              ]
              spids: [1508]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags_color)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$c_lblue'))}
                  spids: [1516]
                )
              ]
              spids: [1514]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:branch_color) op:Equal rhs:{(DQ )} spids:[1525])]
              spids: [1523]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$detached')} {(Lit_Other '=')} {(no)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_color)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$ok_color'))}
                          spids: [1546]
                        )
                      ]
                      spids: [1546]
                    )
                  ]
                  spids: [16777215 1543]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:branch_color)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$bad_color'))}
                      spids: [1555]
                    )
                  ]
                  spids: [1555]
                )
              ]
              spids: [1552 1561]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:c)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$branch_color') ($ VSub_Name '$c'))}
                  spids: [1564]
                )
              ]
              spids: [1564]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:z)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$c_clear') ($ VSub_Name '$z'))}
                  spids: [1572]
                )
              ]
              spids: [1572]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$w'))} {(Lit_Other '=')} {(DQ ('*'))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:w)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$bad_color') ($ VSub_Name '$w'))}
                          spids: [1599]
                        )
                      ]
                      spids: [1599]
                    )
                  ]
                  spids: [16777215 1596]
                )
              ]
              spids: [16777215 1606]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$i'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:i)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$ok_color') ($ VSub_Name '$i'))}
                          spids: [1625]
                        )
                      ]
                      spids: [1625]
                    )
                  ]
                  spids: [16777215 1622]
                )
              ]
              spids: [16777215 1632]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$s'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:s)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$flags_color') ($ VSub_Name '$s'))}
                          spids: [1651]
                        )
                      ]
                      spids: [1651]
                    )
                  ]
                  spids: [16777215 1648]
                )
              ]
              spids: [16777215 1658]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$u'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:u)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$bad_color') ($ VSub_Name '$u'))}
                          spids: [1677]
                        )
                      ]
                      spids: [1677]
                    )
                  ]
                  spids: [16777215 1674]
                )
              ]
              spids: [16777215 1684]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:r)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$c_clear') ($ VSub_Name '$r'))}
                  spids: [1687]
                )
              ]
              spids: [1687]
            )
          ]
          spids: [1404]
        )
      spids: [1399 1403]
    )
    (FuncDef
      name: __git_eread
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [1706]
                )
              ]
              spids: [1704]
            )
            (C {(shift)})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (C {(test)} {(-r)} {(DQ ($ VSub_Name '$f'))})
                (SimpleCommand
                  words: [{(read)} {(DQ ($ VSub_At '$@'))}]
                  redirects: [(Redir op:<Redir_Less '<'> fd:16777215 arg_word:{(DQ ($ VSub_Name '$f'))})]
                )
              ]
            )
          ]
          spids: [1701]
        )
      spids: [1696 1700]
    )
    (FuncDef
      name: __git_ps1
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:exit)
                  op: Equal
                  rhs: {($ VSub_QMark '$?')}
                  spids: [1786]
                )
              ]
              spids: [1784]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pcmode) op:Equal rhs:{(no)} spids:[1792])]
              spids: [1790]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:detached) op:Equal rhs:{(no)} spids:[1798])]
              spids: [1796]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ps1pc_start)
                  op: Equal
                  rhs: {(SQ <'\\u@\\h:\\w '>)}
                  spids: [1804]
                )
              ]
              spids: [1802]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ps1pc_end)
                  op: Equal
                  rhs: {(SQ <'\\$ '>)}
                  spids: [1812]
                )
              ]
              spids: [1810]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:printf_format)
                  op: Equal
                  rhs: {(SQ <' (%s)'>)}
                  spids: [1820]
                )
              ]
              spids: [1818]
            )
            (Case
              to_match: {(DQ ($ VSub_Pound '$#'))}
              arms: [
                (case_arm
                  pat_list: [{(2)} {(3)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pcmode)
                          op: Equal
                          rhs: {(yes)}
                          spids: [1841]
                        )
                      ]
                      spids: [1841]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1pc_start)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$1'))}
                          spids: [1845]
                        )
                      ]
                      spids: [1845]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ps1pc_end)
                          op: Equal
                          rhs: {(DQ ($ VSub_Number '$2'))}
                          spids: [1851]
                        )
                      ]
                      spids: [1851]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:printf_format)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 3>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {($ VSub_Name '$printf_format')}
                                    )
                                  spids: [1859 1863]
                                )
                              )
                            }
                          spids: [1857]
                        )
                      ]
                      spids: [1857]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PS1)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$ps1pc_start') ($ VSub_Name '$ps1pc_end'))}
                          spids: [1879]
                        )
                      ]
                      spids: [1879]
                    )
                  ]
                  spids: [1836 1839 1886 16777215]
                )
                (case_arm
                  pat_list: [{(0)} {(1)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:printf_format)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Number 1>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {($ VSub_Name '$printf_format')}
                                    )
                                  spids: [1896 1900]
                                )
                              )
                            }
                          spids: [1894]
                        )
                      ]
                      spids: [1894]
                    )
                  ]
                  spids: [1889 1892 1904 16777215]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name '$exit')}
                    )
                  ]
                  spids: [1907 1908 1915 16777215]
                )
              ]
              spids: [1827 1833 1918]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:ps1_expanded) op:Equal rhs:{(yes)} spids:[2056])]
              spids: [2054]
            )
            (AndOr
              ops: [Op_DPipe Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-z)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name ZSH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                        spids: [2065 2068]
                      )
                    )
                  } {(Lit_Other ']')}
                )
                (DBracket expr:(BoolUnary op_id:BoolUnary_o child:{(PROMPT_SUBST)}))
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:ps1_expanded)
                      op: Equal
                      rhs: {(no)}
                      spids: [2085]
                    )
                  ]
                  spids: [2085]
                )
              ]
            )
            (AndOr
              ops: [Op_DPipe Op_DPipe]
              children: [
                (C {(Lit_Other '[')} {(-z)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name BASH_VERSION>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                        spids: [2094 2097]
                      )
                    )
                  } {(Lit_Other ']')}
                )
                (C {(shopt)} {(-q)} {(promptvars)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:ps1_expanded)
                      op: Equal
                      rhs: {(no)}
                      spids: [2112]
                    )
                  ]
                  spids: [2112]
                )
              ]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair lhs:(LhsName name:repo_info) op:Equal spids:[2119])
                (assign_pair
                  lhs: (LhsName name:rev_parse_exit_code)
                  op: Equal
                  spids: [2121]
                )
              ]
              spids: [2117]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (SimpleCommand
                                  words: [
                                    {(git)}
                                    {(rev-parse)}
                                    {(--git-dir)}
                                    {(--is-inside-git-dir)}
                                    {(--is-bare-repository)}
                                    {(--is-inside-work-tree)}
                                    {(--short)}
                                    {(HEAD)}
                                  ]
                                  redirects: [(Redir op:<Redir_Great '2>'> fd:2 arg_word:{(/dev/null)})]
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2126 2149]
                        )
                      )
                    }
                  spids: [2124]
                )
              ]
              spids: [2124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rev_parse_exit_code)
                  op: Equal
                  rhs: {(DQ ($ VSub_QMark '$?'))}
                  spids: [2153]
                )
              ]
              spids: [2153]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$repo_info'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name '$exit')}
                    )
                  ]
                  spids: [16777215 2173]
                )
              ]
              spids: [16777215 2181]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:short_sha) op:Equal rhs:{(DQ )} spids:[2187])]
              spids: [2185]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$rev_parse_exit_code'))} 
                          {(Lit_Other '=')} {(DQ (0))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:short_sha)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name repo_info>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VOp1_DPound
                                      arg_word: 
                                        {('*') (Lit_Other '$') ("'") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\n'>
                                          ) ("'")
                                        }
                                    )
                                  spids: [2214 2222]
                                )
                              )
                            }
                          spids: [2212]
                        )
                      ]
                      spids: [2212]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:repo_info)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name repo_info>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VOp1_Percent
                                      arg_word: 
                                        {(Lit_Other '$') ("'") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar '\\n'>
                                          ) ("'*")
                                        }
                                    )
                                  spids: [2228 2235]
                                )
                              )
                            }
                          spids: [2226]
                        )
                      ]
                      spids: [2226]
                    )
                  ]
                  spids: [16777215 2209]
                )
              ]
              spids: [16777215 2239]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inside_worktree)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {('*') (Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'")
                                }
                            )
                          spids: [2246 2254]
                        )
                      )
                    }
                  spids: [2244]
                )
              ]
              spids: [2242]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'*")
                                }
                            )
                          spids: [2260 2267]
                        )
                      )
                    }
                  spids: [2258]
                )
              ]
              spids: [2258]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bare_repo)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {('*') (Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'")
                                }
                            )
                          spids: [2275 2283]
                        )
                      )
                    }
                  spids: [2273]
                )
              ]
              spids: [2271]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:repo_info)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'*")
                                }
                            )
                          spids: [2289 2296]
                        )
                      )
                    }
                  spids: [2287]
                )
              ]
              spids: [2287]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:inside_gitdir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_DPound
                              arg_word: 
                                {('*') (Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'")
                                }
                            )
                          spids: [2304 2312]
                        )
                      )
                    }
                  spids: [2302]
                )
              ]
              spids: [2300]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:g)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name repo_info>
                          suffix_op: 
                            (StringUnary
                              op_id: VOp1_Percent
                              arg_word: 
                                {(Lit_Other '$') ("'") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar '\\n'>
                                  ) ("'*")
                                }
                            )
                          spids: [2320 2327]
                        )
                      )
                    }
                  spids: [2318]
                )
              ]
              spids: [2316]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (AndOr
                      ops: [Op_DAmp Op_DAmp Op_DAmp]
                      children: [
                        (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$inside_worktree'))} {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name GIT_PS1_HIDE_IF_PWD_IGNORED>
                                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                spids: [2356 2359]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                        (C {(Lit_Other '[')} 
                          {
                            (DQ 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(git)} {(config)} {(--bool)} {(bash.hideIfPwdIgnored)})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2370 2378]
                              )
                            )
                          } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')}
                        )
                        (C {(git)} {(check-ignore)} {(-q)} {(.)})
                      ]
                    )
                  ]
                  action: [
                    (ControlFlow
                      token: <ControlFlow_Return return>
                      arg_word: {($ VSub_Name '$exit')}
                    )
                  ]
                  spids: [16777215 2402]
                )
              ]
              spids: [16777215 2410]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{(DQ )} spids:[2416])]
              spids: [2414]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:b) op:Equal rhs:{(DQ )} spids:[2423])]
              spids: [2421]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:step) op:Equal rhs:{(DQ )} spids:[2430])]
              spids: [2428]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:total) op:Equal rhs:{(DQ )} spids:[2437])]
              spids: [2435]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$g') (/rebase-merge))} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-merge/head-name))} {(b)})
                    (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-merge/msgnum))} {(step)})
                    (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-merge/end))} {(total)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(DQ ($ VSub_Name '$g') (/rebase-merge/interactive))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:r)
                                  op: Equal
                                  rhs: {(DQ ('|REBASE-i'))}
                                  spids: [2506]
                                )
                              ]
                              spids: [2506]
                            )
                          ]
                          spids: [16777215 2503]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ('|REBASE-m'))}
                              spids: [2515]
                            )
                          ]
                          spids: [2515]
                        )
                      ]
                      spids: [2512 2521]
                    )
                  ]
                  spids: [16777215 2456]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-d)} {(DQ ($ VSub_Name '$g') (/rebase-apply))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-apply/next))} {(step)})
                        (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-apply/last))} {(total)})
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-f)} 
                                      {(DQ ($ VSub_Name '$g') (/rebase-apply/rebasing))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/rebase-apply/head-name))} 
                                  {(b)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:r)
                                      op: Equal
                                      rhs: {(DQ ('|REBASE'))}
                                      spids: [2591]
                                    )
                                  ]
                                  spids: [2591]
                                )
                              ]
                              spids: [16777215 2578]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(-f)} 
                                      {(DQ ($ VSub_Name '$g') (/rebase-apply/applying))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:r)
                                      op: Equal
                                      rhs: {(DQ ('|AM'))}
                                      spids: [2614]
                                    )
                                  ]
                                  spids: [2614]
                                )
                              ]
                              spids: [2597 2611]
                            )
                          ]
                          else_action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:r)
                                  op: Equal
                                  rhs: {(DQ ('|AM/REBASE'))}
                                  spids: [2623]
                                )
                              ]
                              spids: [2623]
                            )
                          ]
                          spids: [2620 2629]
                        )
                      ]
                      spids: [16777215 2541]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$g') (/MERGE_HEAD))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ('|MERGING'))}
                              spids: [2649]
                            )
                          ]
                          spids: [2649]
                        )
                      ]
                      spids: [2632 2646]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$g') (/CHERRY_PICK_HEAD))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ('|CHERRY-PICKING'))}
                              spids: [2672]
                            )
                          ]
                          spids: [2672]
                        )
                      ]
                      spids: [2655 2669]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$g') (/REVERT_HEAD))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ('|REVERTING'))}
                              spids: [2695]
                            )
                          ]
                          spids: [2695]
                        )
                      ]
                      spids: [2678 2692]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$g') (/BISECT_LOG))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:r)
                              op: Equal
                              rhs: {(DQ ('|BISECTING'))}
                              spids: [2718]
                            )
                          ]
                          spids: [2718]
                        )
                      ]
                      spids: [2701 2715]
                    )
                  ]
                  spids: [16777215 2724]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$b'))} {(Lit_Other ']')})
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [(C {(Lit_Other ':')})]
                      spids: [16777215 2741]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(-h)} {(DQ ($ VSub_Name '$g') (/HEAD))} 
                              {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:b)
                              op: Equal
                              rhs: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (SimpleCommand
                                              words: [{(git)} {(symbolic-ref)} {(HEAD)}]
                                              redirects: [
                                                (Redir
                                                  op: <Redir_Great '2>'>
                                                  fd: 2
                                                  arg_word: {(/dev/null)}
                                                )
                                              ]
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [2770 2779]
                                    )
                                  )
                                }
                              spids: [2768]
                            )
                          ]
                          spids: [2768]
                        )
                      ]
                      spids: [2747 2761]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:head) op:Equal rhs:{(DQ )} spids:[2788])]
                      spids: [2786]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C {(__git_eread)} {(DQ ($ VSub_Name '$g') (/HEAD))} {(head)})
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ControlFlow
                              token: <ControlFlow_Return return>
                              arg_word: {($ VSub_Name '$exit')}
                            )
                          ]
                          spids: [16777215 2807]
                        )
                      ]
                      spids: [16777215 2815]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:b)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name head>
                                  suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{('ref: ')})
                                  spids: [2824 2828]
                                )
                              )
                            }
                          spids: [2822]
                        )
                      ]
                      spids: [2822]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$head'))} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$b'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:detached)
                                  op: Equal
                                  rhs: {(yes)}
                                  spids: [2852]
                                )
                              ]
                              spids: [2852]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:b)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (CommandSubPart
                                              command_list: 
                                                (CommandList
                                                  children: [
                                                    (Case
                                                      to_match: 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: 
                                                                <VSub_Name GIT_PS1_DESCRIBE_STYLE>
                                                              suffix_op: 
                                                                (StringUnary
                                                                  op_id: VTest_Hyphen
                                                                  arg_word: {(EmptyPart)}
                                                                )
                                                              spids: [2864 2867]
                                                            )
                                                          )
                                                        }
                                                      arms: [
                                                        (case_arm
                                                          pat_list: [{(contains)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--contains)} 
                                                              {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2873 2875 2886 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(branch)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--contains)} 
                                                              {(--all)} {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2889 2891 2904 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(describe)}]
                                                          action: [(C {(git)} {(describe)} {(HEAD)})]
                                                          spids: [2907 2909 2918 16777215]
                                                        )
                                                        (case_arm
                                                          pat_list: [{(Lit_Other '*')} {(default)}]
                                                          action: [
                                                            (C {(git)} {(describe)} {(--tags)} 
                                                              {(--exact-match)} {(HEAD)}
                                                            )
                                                          ]
                                                          spids: [2921 2927 2940 16777215]
                                                        )
                                                      ]
                                                      redirects: [
                                                        (Redir
                                                          op: <Redir_Great '2>'>
                                                          fd: 2
                                                          arg_word: {(/dev/null)}
                                                        )
                                                      ]
                                                      spids: [2861 2870 2943]
                                                    )
                                                  ]
                                                )
                                              left_token: <Left_CommandSub '$('>
                                              spids: [2858 2947]
                                            )
                                          )
                                        }
                                      spids: [2856]
                                    )
                                  ]
                                  spids: [2856]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:b)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$short_sha') (...))}
                                      spids: [2954]
                                    )
                                  ]
                                  spids: [2954]
                                )
                              ]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:b)
                                  op: Equal
                                  rhs: {(DQ ('(') ($ VSub_Name '$b') (')'))}
                                  spids: [2961]
                                )
                              ]
                              spids: [2961]
                            )
                          ]
                          spids: [16777215 2849]
                        )
                      ]
                      spids: [16777215 2969]
                    )
                  ]
                  spids: [2783 2972]
                )
              ]
              spids: [2524 2975]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$step'))} {(Lit_Other ']')})
                            (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$total'))} {(Lit_Other ']')})
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:r)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$r') (' ') ($ VSub_Name '$step') (/) 
                                ($ VSub_Name '$total')
                              )
                            }
                          spids: [3007]
                        )
                      ]
                      spids: [3007]
                    )
                  ]
                  spids: [16777215 3004]
                )
              ]
              spids: [16777215 3017]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:w) op:Equal rhs:{(DQ )} spids:[3023])]
              spids: [3021]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:i) op:Equal rhs:{(DQ )} spids:[3030])]
              spids: [3028]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:s) op:Equal rhs:{(DQ )} spids:[3037])]
              spids: [3035]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:u) op:Equal rhs:{(DQ )} spids:[3044])]
              spids: [3042]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:c) op:Equal rhs:{(DQ )} spids:[3051])]
              spids: [3049]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:p) op:Equal rhs:{(DQ )} spids:[3058])]
              spids: [3056]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$inside_gitdir'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} 
                                  {(DQ ($ VSub_Name '$bare_repo'))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:c)
                                  op: Equal
                                  rhs: {(DQ ('BARE:'))}
                                  spids: [3104]
                                )
                              ]
                              spids: [3104]
                            )
                          ]
                          spids: [16777215 3101]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:b)
                              op: Equal
                              rhs: {(DQ ('GIT_DIR!'))}
                              spids: [3113]
                            )
                          ]
                          spids: [3113]
                        )
                      ]
                      spids: [3110 3119]
                    )
                  ]
                  spids: [16777215 3081]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ (true))} {(Lit_Other '=')} 
                          {(DQ ($ VSub_Name '$inside_worktree'))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWDIRTYSTATE>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                        spids: [3149 3152]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(git)} {(config)} {(--bool)} {(bash.showDirtyState)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3163 3171]
                                      )
                                    )
                                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')}
                                )
                              ]
                            )
                          ]
                          action: [
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(git)} {(diff)} {(--no-ext-diff)} {(--quiet)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:w)
                                      op: Equal
                                      rhs: {(DQ ('*'))}
                                      spids: [3197]
                                    )
                                  ]
                                  spids: [3197]
                                )
                              ]
                            )
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(git)} {(diff)} {(--no-ext-diff)} {(--cached)} {(--quiet)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:i)
                                      op: Equal
                                      rhs: {(DQ ('+'))}
                                      spids: [3215]
                                    )
                                  ]
                                  spids: [3215]
                                )
                              ]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$short_sha'))} 
                                              {(Lit_Other ']')}
                                            )
                                            (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$i'))} 
                                              {(Lit_Other ']')}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:i)
                                          op: Equal
                                          rhs: {(DQ ('#'))}
                                          spids: [3249]
                                        )
                                      ]
                                      spids: [3249]
                                    )
                                  ]
                                  spids: [16777215 3246]
                                )
                              ]
                              spids: [16777215 3255]
                            )
                          ]
                          spids: [16777215 3184]
                        )
                      ]
                      spids: [16777215 3258]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWSTASHSTATE>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                        spids: [3268 3271]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                                (SimpleCommand
                                  words: [{(git)} {(rev-parse)} {(--verify)} {(--quiet)} {(refs/stash)}]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:s)
                                  op: Equal
                                  rhs: {(DQ (Lit_Other '$'))}
                                  spids: [3296]
                                )
                              ]
                              spids: [3296]
                            )
                          ]
                          spids: [16777215 3293]
                        )
                      ]
                      spids: [16777215 3302]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              ops: [Op_DAmp Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWUNTRACKEDFILES>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                        spids: [3313 3316]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(git)} {(config)} {(--bool)} 
                                                {(bash.showUntrackedFiles)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3327 3335]
                                      )
                                    )
                                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ (false))} {(Lit_Other ']')}
                                )
                                (SimpleCommand
                                  words: [
                                    {(git)}
                                    {(ls-files)}
                                    {(--others)}
                                    {(--exclude-standard)}
                                    {(--directory)}
                                    {(--no-empty-directory)}
                                    {(--error-unmatch)}
                                    {(--)}
                                    {(SQ <':/*'>)}
                                  ]
                                  redirects: [
                                    (Redir
                                      op: <Redir_Great '>'>
                                      fd: 16777215
                                      arg_word: {(/dev/null)}
                                    )
                                    (Redir
                                      op: <Redir_Great '2>'>
                                      fd: 2
                                      arg_word: {(/dev/null)}
                                    )
                                  ]
                                )
                              ]
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:u)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ('%') 
                                        (BracedVarSub
                                          token: <VSub_Name ZSH_VERSION>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_Plus
                                              arg_word: {(Lit_Percent '%')}
                                            )
                                          spids: [3383 3387]
                                        )
                                      )
                                    }
                                  spids: [3380]
                                )
                              ]
                              spids: [3380]
                            )
                          ]
                          spids: [16777215 3377]
                        )
                      ]
                      spids: [16777215 3391]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name GIT_PS1_SHOWUPSTREAM>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                        spids: [3402 3405]
                                      )
                                    )
                                  } {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(__git_ps1_show_upstream)})]
                          spids: [16777215 3411]
                        )
                      ]
                      spids: [16777215 3417]
                    )
                  ]
                  spids: [3122 3139]
                )
              ]
              spids: [16777215 3420]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:z)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GIT_PS1_STATESEPARATOR>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (' '))})
                          spids: [3428 3434]
                        )
                      )
                    }
                  spids: [3426]
                )
              ]
              spids: [3424]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(Lit_Other '[')} {($ VSub_Name '$pcmode')} {(Lit_Other '=')} {(yes)} 
                              {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name GIT_PS1_SHOWCOLORHINTS>
                                    suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                    spids: [3462 3465]
                                  )
                                )
                              } {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(__git_ps1_colorize_gitstring)})]
                  spids: [16777215 3471]
                )
              ]
              spids: [16777215 3477]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:b)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name b>
                        suffix_op: 
                          (StringUnary
                            op_id: VOp1_DPound
                            arg_word: {(refs) (Lit_Slash /) (heads) (Lit_Slash /)}
                          )
                        spids: [3482 3489]
                      )
                    }
                  spids: [3481]
                )
              ]
              spids: [3481]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (C {(Lit_Other '[')} {($ VSub_Name '$pcmode')} {(Lit_Other '=')} {(yes)} 
                              {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {($ VSub_Name '$ps1_expanded')} {(Lit_Other '=')} 
                              {(yes)} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:__git_ps1_branch_name)
                          op: Equal
                          rhs: {($ VSub_Name '$b')}
                          spids: [3520]
                        )
                      ]
                      spids: [3520]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:b)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                ('{__git_ps1_branch_name}')
                              )
                            }
                          spids: [3524]
                        )
                      ]
                      spids: [3524]
                    )
                  ]
                  spids: [16777215 3517]
                )
              ]
              spids: [16777215 3531]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$w') ($ VSub_Name '$i') ($ VSub_Name '$s') ($ VSub_Name '$u'))
                    }
                  spids: [3537]
                )
              ]
              spids: [3535]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gitstring)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$c') ($ VSub_Name '$b') 
                        (BracedVarSub
                          token: <VSub_Name f>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonPlus
                              arg_word: {($ VSub_Name '$z') ($ VSub_Name '$f')}
                            )
                          spids: [3552 3557]
                        ) ($ VSub_Name '$r') ($ VSub_Name '$p')
                      )
                    }
                  spids: [3548]
                )
              ]
              spids: [3546]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_Name '$pcmode')} {(Lit_Other '=')} {(yes)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name __git_printf_supports_v>
                                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)})
                                        spids: [3585 3588]
                                      )
                                    )
                                  } {(KW_Bang '!') (Lit_Other '=')} {(yes)} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gitstring)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(printf)} {(--)} {(DQ ($ VSub_Name '$printf_format'))} 
                                                {(DQ ($ VSub_Name '$gitstring'))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3603 3615]
                                      )
                                    }
                                  spids: [3602]
                                )
                              ]
                              spids: [3602]
                            )
                          ]
                          spids: [16777215 3599]
                        )
                      ]
                      else_action: [
                        (C {(printf)} {(-v)} {(gitstring)} {(--)} {(DQ ($ VSub_Name '$printf_format'))} 
                          {(DQ ($ VSub_Name '$gitstring'))}
                        )
                      ]
                      spids: [3618 3638]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PS1)
                          op: Equal
                          rhs: 
                            {
                              (DQ ($ VSub_Name '$ps1pc_start') ($ VSub_Name '$gitstring') 
                                ($ VSub_Name '$ps1pc_end')
                              )
                            }
                          spids: [3641]
                        )
                      ]
                      spids: [3641]
                    )
                  ]
                  spids: [16777215 3577]
                )
              ]
              else_action: [
                (C {(printf)} {(--)} {(DQ ($ VSub_Name '$printf_format'))} 
                  {(DQ ($ VSub_Name '$gitstring'))}
                )
              ]
              spids: [3649 3665]
            )
            (ControlFlow
              token: <ControlFlow_Return return>
              arg_word: {($ VSub_Name '$exit')}
            )
          ]
          spids: [1777]
        )
      spids: [1772 1776]
    )
  ]
)