(CommandList
  children: [
    (C {(set)} {(-e)})
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:E_INVALID_ARG) op:Equal rhs:{(128)} spids:[50])]
      spids: [50]
    )
    (FuncDef
      name: usage
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' [--options]'))})
            (C {(echo)} {(DQ ('Options:'))})
            (C {(echo)} {(DQ ('  --[no-]verbose:           display information about each step'))})
            (C {(echo)} {(DQ ('  --directory base:         base directory of local git repository'))})
            (C {(echo)} {(DQ ('                            (e.g., ~/dartium-roll implies directory'))})
            (C {(echo)} {(DQ ('                            ~/dartium-roll/src and'))})
            (C {(echo)} {(DQ ('                            ~/dartium-roll/src/third_party/WebKit)**'))})
            (C {(echo)} 
              {(DQ ('  --chrome:                 for the Chrome branch (not with --blink)**'))}
            )
            (C {(echo)} 
              {(DQ ('  --blink:                  for the Blink branch (not with --chrome)**'))}
            )
            (C {(echo)} 
              {(DQ ('  --old-branch name:        name of previous true branch (e.g., use 1847'))}
            )
            (C {(echo)} {(DQ ('                            for version 34.0.1847.92) *'))})
            (C {(echo)} 
              {
                (DQ ('  --old-revision revision:  revision of base trunk for ') ($ VSub_Name '$OLD') 
                  (' version *')
                )
              }
            )
            (C {(echo)} {(DQ ('  --new-branch name:        name of new true branch to create *'))})
            (C {(echo)} {(DQ ('  --new-revision revision:  revision of base trunk for new branch *'))})
            (C {(echo)} {(DQ ('  --pre-roll:               display commands to prepare for the roll'))})
            (C {(echo)} 
              {(DQ ('  --roll:                   display Git commands to execute for creating'))}
            )
            (C {(echo)} {(DQ ('                            branches for the roll'))})
            (C {(echo)} 
              {
                (DQ ('  --info:                   display hashes for ') ($ VSub_Name '$BASE') (' and ') 
                  ($ VSub_Name '$LAST') (' on each')
                )
              }
            )
            (C {(echo)} 
              {
                (DQ ('                            branch (stripped') ($ VSub_Name '$OLD') 
                  (', trunkdata') ($ VSub_Name '$OLD') (', and')
                )
              }
            )
            (C {(echo)} {(DQ ('                            trunkdata') ($ VSub_Name '$NEW') (')'))})
            (C {(echo)} {(DQ ('  --help:                   this message'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('* - required'))})
            (C {(echo)})
            (C {(echo)} {(DQ ('*  Script will prompt interactively if options not given.'))})
            (C {(echo)} {(DQ ('** Argument must be specified.'))})
            (C {(echo)})
            (C {(exit)} {(1)})
          ]
          spids: [58]
        )
      spids: [54 57]
    )
    (FuncDef
      name: verbose_message
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_verbose'))} {(Lit_Other '=')} {(1)} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ (${ VSub_Number 1))} {(Lit_Other '=')} {(DQ )} 
                                  {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(echo)})]
                          spids: [-1 303]
                        )
                      ]
                      else_action: [(C {(echo)} {(-e)} {(DQ (...) (${ VSub_Number 1) (...))})]
                      spids: [309 325]
                    )
                  ]
                  spids: [-1 282]
                )
              ]
              spids: [-1 328]
            )
          ]
          spids: [264]
        )
      spids: [260 263]
    )
    (FuncDef
      name: validate_remotes
      body: 
        (BraceGroup
          children: [
            (C {(verbose_message)} {(DQ ('Validating Remotes'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_last)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} {(DQ (remotes/dart) (${ VSub_Name do_old_branch))})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [434 451]
                              )
                            }
                          spids: [433]
                        )
                      ]
                      spids: [433]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} {(DQ (remotes/dart) (${ VSub_Name do_new_branch))})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [459 476]
                              )
                            }
                          spids: [458]
                        )
                      ]
                      spids: [458]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_last'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing old remotes/dart') 
                                              (${ VSub_Name do_old_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [498 507]
                                )
                              }
                            )
                            (C {(exit)} {(-1)})
                          ]
                          spids: [-1 495]
                        )
                      ]
                      spids: [-1 515]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_new'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing new remotes/dart') 
                                              (${ VSub_Name do_new_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [537 546]
                                )
                              }
                            )
                            (C {(exit)} {(-1)})
                          ]
                          spids: [-1 534]
                        )
                      ]
                      spids: [-1 554]
                    )
                  ]
                  spids: [-1 426]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_last)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} 
                                            {(DQ (remotes/blink-svn/) (${ VSub_Name do_old_branch))}
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [582 599]
                              )
                            }
                          spids: [581]
                        )
                      ]
                      spids: [581]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:remote_dart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(git)} {(branch)} {(-a)})
                                          (C {(grep)} 
                                            {
                                              (DQ (remotes/blink-svn/multivm-) 
                                                (${ VSub_Name do_new_branch)
                                              )
                                            }
                                          )
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [607 624]
                              )
                            }
                          spids: [606]
                        )
                      ]
                      spids: [606]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_last'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing old remotes/blink-svn/') 
                                              (${ VSub_Name do_old_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [647 656]
                                )
                              }
                            )
                            (C {(exit)} {(-1)})
                          ]
                          spids: [-1 644]
                        )
                      ]
                      spids: [-1 664]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$remote_dart_new'))} 
                                  {(Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {
                                            (DQ ('missing new remotes/blink-svn/multivm-') 
                                              (${ VSub_Name do_new_branch)
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [686 695]
                                )
                              }
                            )
                            (C {(exit)} {(-1)})
                          ]
                          spids: [-1 683]
                        )
                      ]
                      spids: [-1 703]
                    )
                  ]
                  spids: [557 574]
                )
              ]
              else_action: [
                (C 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C {(display_error)} {(DQ ('--chrome or --blink must be specified'))})
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [709 715]
                    )
                  }
                )
                (C {(exit)} {(-1)})
              ]
              spids: [706 723]
            )
          ]
          spids: [398]
        )
      spids: [394 397]
    )
    (FuncDef
      name: stripped_exist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(branch)} {(--no-color)} {(--list)} 
                                    {
                                      (CommandSubPart
                                        command_list: (CommandList children:[(C {(stripped_name)})])
                                        left_token: <Left_CommandSub '$('>
                                        spids: [747 749]
                                      )
                                    }
                                  )
                                  (C {(sed)} {(SQ <'s/^[ \\t\\*]*//'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [738 758]
                      )
                    }
                  spids: [737]
                )
              ]
              spids: [735]
            )
            (C {(echo)} {($ VSub_Name '$branch_name')})
          ]
          spids: [732]
        )
      spids: [728 731]
    )
    (FuncDef
      name: trunk_exist
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(branch)} {(--list)} {(--no-color)} 
                                    {(trunkdart) (${ VSub_Number 1)}
                                  )
                                  (C {(sed)} {(SQ <'s/^[ \\t\\*]*//'>)})
                                  (C {(tail)} {(-n)} {(1)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [790 819]
                      )
                    }
                  spids: [789]
                )
              ]
              spids: [787]
            )
            (C {(echo)} {($ VSub_Name '$branch_name')})
          ]
          spids: [784]
        )
      spids: [780 783]
    )
    (FuncDef
      name: validate_repository
      body: 
        (BraceGroup
          children: [
            (C {(verbose_message)} {(DQ ('Validating Repository'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: {(${ VSub_Name stripped_name)}
                  spids: [844]
                )
              ]
              spids: [844]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: {(${ VSub_Name stripped_exist)}
                  spids: [855]
                )
              ]
              spids: [855]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [862 868]
                      )
                    }
                  spids: [861]
                )
              ]
              spids: [861]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [872 878]
                      )
                    }
                  spids: [871]
                )
              ]
              spids: [871]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {(DQ ('branch ') (${ VSub_Name strip_branch) (' already exist'))}
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [902 912]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 899]
                )
              ]
              spids: [-1 920]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('branch trunkdart') (${ VSub_Name do_old_branch) 
                                      (' already exist')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [944 954]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 941]
                )
              ]
              spids: [-1 962]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('branch trunkdart') (${ VSub_Name do_new_branch) 
                                      (' already exist')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [986 996]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 983]
                )
              ]
              spids: [-1 1004]
            )
          ]
          spids: [833]
        )
      spids: [829 832]
    )
    (FuncDef
      name: display_error
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [
                {(echo)}
                {(-e)}
                {
                  (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[1;31mERROR: ') (${ VSub_Number 1) (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[0m') 
                    (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>)
                  )
                }
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[1034])]
            )
            (C {(exit)} {(1)})
          ]
          spids: [1015]
        )
      spids: [1009 1014]
    )
    (FuncDef
      name: hash_trunk_revision
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_trunk)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(master)} 
                                {(--grep) (Lit_Other '=') (src) (Lit_Other '@') (${ VSub_Number 1)} {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-n)} {(1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1061 1087]
                      )
                    }
                  spids: [1060]
                )
              ]
              spids: [1060]
            )
          ]
          spids: [1053]
        )
      spids: [1049 1052]
    )
    (FuncDef
      name: last_revision
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(git)} {(svn)} {(log)} {(${ VSub_Number 1)} {(--oneline)} {(-1)})
                            (C {(cut)} {(-d)} {(SQ <'|'>)} {(-f1)})
                            (C {(sed)} {(DQ (s/r//))})
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [1110 1144]
                )
              }
            )
          ]
          spids: [1105]
        )
      spids: [1099 1104]
    )
    (FuncDef
      name: stripped_name
      body: 
        (BraceGroup
          children: [(C {(echo)} {(DQ (stripped) (${ VSub_Name do_old_branch))})]
          spids: [1160]
        )
      spids: [1156 1159]
    )
    (FuncDef
      name: trunkdart_name
      body: (BraceGroup children:[(C {(echo)} {(DQ (trunkdart) (${ VSub_Number 1))})] spids:[1183])
      spids: [1179 1182]
    )
    (FuncDef
      name: hash_codes_base_last
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_base)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(rev-list)} {(${ VSub_Number 1)} 
                                    {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)}
                                  )
                                  (C {(tail)} {(-n)} {(1)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1217 1241]
                      )
                    }
                  spids: [1216]
                )
              ]
              spids: [1216]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_last)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1250 1268]
                      )
                    }
                  spids: [1249]
                )
              ]
              spids: [1249]
            )
          ]
          spids: [1209]
        )
      spids: [1205 1208]
    )
    (FuncDef
      name: hash_codes_base2_last2
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_last2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)} {(-1)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1292 1310]
                      )
                    }
                  spids: [1291]
                )
              ]
              spids: [1291]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:search) op:Equal spids:[1316])]
              spids: [1314]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:search)
                          op: Equal
                          rhs: {(DQ ('chrome/trunk/src@') (${ VSub_Name do_old_revision))}
                          spids: [1339]
                        )
                      ]
                      spids: [1339]
                    )
                  ]
                  spids: [-1 1336]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:search)
                      op: Equal
                      rhs: 
                        {
                          (DQ (blink/branches/dart/multivm-) (${ VSub_Name do_new_revision) ('@') 
                            (${ VSub_Name do_old_revision)
                          )
                        }
                      spids: [1351]
                    )
                  ]
                  spids: [1351]
                )
              ]
              spids: [1348 1364]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hash_base2)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(log)} {(${ VSub_Number 1)} 
                                    {(--grep) (Lit_Other '=') (Lit_Other '@') 
                                      (${ VSub_Name do_old_revision)
                                    } {(--pretty) (Lit_Other '=') (format) (Lit_Other ':') (SQ <'%H'>)}
                                  )
                                  (C {(tail)} {(-1)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1373 1402]
                      )
                    }
                  spids: [1372]
                )
              ]
              spids: [1372]
            )
          ]
          spids: [1284]
        )
      spids: [1280 1283]
    )
    (FuncDef
      name: space_pad
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:spaces)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(printf)} {(SQ <'%0.1s'>)} 
                                {(DQ (' ')) (Lit_LBrace '{') (1..80) (Lit_RBrace '}')}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1435 1448]
                      )
                    }
                  spids: [1434]
                )
              ]
              spids: [1432]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:spaces_pad)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name spaces>
                        suffix_op: 
                          (Slice
                            begin: (ArithWord w:{(Lit_Digits 0)})
                            length: (ArithWord w:{($ VSub_Number '$2')})
                          )
                        spids: [1454 1460]
                      )
                    }
                  spids: [1453]
                )
              ]
              spids: [1451]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:padding)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(printf)} {(DQ ('%s'))} 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name spaces_pad>
                                      suffix_op: 
                                        (Slice
                                          begin: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Number 1>
                                                    prefix_op: VSub_Pound
                                                    spids: [1477 1480]
                                                  )
                                                }
                                            )
                                        )
                                      spids: [1474 1481]
                                    )
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1466 1483]
                      )
                    }
                  spids: [1465]
                )
              ]
              spids: [1463]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolBinary op_id:BoolBinary_GlobEqual left:{(DQ ($ VSub_Number '$3'))} right:{(DQ )})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(DQ (${ VSub_Number 1) (${ VSub_Name padding))})]
                  spids: [-1 1503]
                )
              ]
              else_action: [(C {(echo)} {(DQ (${ VSub_Name padding) (${ VSub_Number 1))})]
              spids: [1522 1541]
            )
          ]
          spids: [1429]
        )
      spids: [1423 1428]
    )
    (FuncDef
      name: display_url
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:format_url)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(space_pad)} {($ VSub_Number '$1')} {(55)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1576 1582]
                      )
                    }
                  spids: [1575]
                )
              ]
              spids: [1573]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:valid_url)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(valid_branch_url)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1588 1592]
                      )
                    }
                  spids: [1587]
                )
              ]
              spids: [1585]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: {(DQ ($ VSub_Name '$valid_url'))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_err)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(space_pad)} {(DQ ('WARNING ON TRUNK - FIX IMMEDIATELY'))} 
                                        {(55)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1621 1629]
                              )
                            }
                          spids: [1620]
                        )
                      ]
                      spids: [1618]
                    )
                    (C {(echo)} {(-e)} 
                      {
                        (DQ ('|  URL:  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[1;31m') 
                          (${ VSub_Name format_url) (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[0m|') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>) ('|        ') (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[1;31m') (${ VSub_Name format_err) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\e'>) ('[0m|')
                        )
                      }
                    )
                  ]
                  spids: [-1 1611]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('|  URL:  ') (${ VSub_Name format_url) ('|'))})]
              spids: [1661 1679]
            )
          ]
          spids: [1562]
        )
      spids: [1556 1561]
    )
    (FuncDef
      name: display_hashes
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_info_hashes'))} {(Lit_Other '=')} 
                          {(1)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:format_which)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(space_pad)} {($ VSub_Name '$do_which')} {(6)} {(1)})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1713 1721]
                              )
                            }
                          spids: [1712]
                        )
                      ]
                      spids: [1710]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stripped_branch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_name)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [1725 1727]
                              )
                            }
                          spids: [1724]
                        )
                      ]
                      spids: [1724]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:stripped_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_exist)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [1735 1737]
                              )
                            }
                          spids: [1734]
                        )
                      ]
                      spids: [1734]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_codes_base_last)} {(${ VSub_Name stripped_branch)})
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_old_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$stripped_branch')} {(32)} 
                                                {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1792 1800]
                                      )
                                    }
                                  spids: [1791]
                                )
                              ]
                              spids: [1789]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('OLD: ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$stripped_branch')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1830 1834]
                                      )
                                    }
                                  spids: [1829]
                                )
                              ]
                              spids: [1827]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1848 1852]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_hash)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_base')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1866 1872]
                                      )
                                    }
                                  spids: [1865]
                                )
                              ]
                              spids: [1863]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('BASE  | ') (${ VSub_Name format_hash) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_hash)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_last')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [1896 1902]
                                      )
                                    }
                                  spids: [1895]
                                )
                              ]
                              spids: [1895]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('LAST  | ') (${ VSub_Name format_hash) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [-1 1757]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name stripped_branch) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [1928 1944]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1953 1959]
                              )
                            }
                          spids: [1952]
                        )
                      ]
                      spids: [1952]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:old_branch_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1963 1969]
                              )
                            }
                          spids: [1962]
                        )
                      ]
                      spids: [1962]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_old_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$branch_trunkdart_old')} 
                                                {(32)} {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2024 2032]
                                      )
                                    }
                                  spids: [2023]
                                )
                              ]
                              spids: [2021]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('OLD  ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$branch_trunkdart_old')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2062 2066]
                                      )
                                    }
                                  spids: [2061]
                                )
                              ]
                              spids: [2059]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2072 2076]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_base2)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_base2')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2090 2096]
                                      )
                                    }
                                  spids: [2089]
                                )
                              ]
                              spids: [2087]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('BASE2 | ') (${ VSub_Name format_base2) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_last2)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$hash_last2')} {(51)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2122 2128]
                                      )
                                    }
                                  spids: [2121]
                                )
                              ]
                              spids: [2119]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('LAST2 | ') (${ VSub_Name format_last2) (' |')
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [-1 1989]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name branch_trunkdart_old) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [2154 2170]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2179 2185]
                              )
                            }
                          spids: [2178]
                        )
                      ]
                      spids: [2178]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:new_branch_found)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [2189 2195]
                              )
                            }
                          spids: [2188]
                        )
                      ]
                      spids: [2188]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(hash_trunk_revision)} {(${ VSub_Name do_new_revision)})
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_branch)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$branch_trunkdart_new')} 
                                                {(32)} {(1)}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2239 2247]
                                      )
                                    }
                                  spids: [2238]
                                )
                              ]
                              spids: [2236]
                            )
                            (C {(echo)} 
                              {
                                (DQ ('|  ') (EscapedLiteralPart token:<Lit_EscapedChar '\\$'>) 
                                  ('NEW  ') (${ VSub_Name format_which) (' dart') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision) 
                                  (${ VSub_Name format_branch) (' |')
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:remote_url)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(url_branch)} {($ VSub_Name '$branch_trunkdart_new')})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2277 2281]
                                      )
                                    }
                                  spids: [2276]
                                )
                              ]
                              spids: [2274]
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(display_url)} {($ VSub_Name '$remote_url')})]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2287 2291]
                                  )
                                )
                              }
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'|---------------------------------------------------------------|'
                                  )
                                )
                              }
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:revision)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(last_revision)} 
                                                {($ VSub_Name '$branch_trunkdart_new')}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2305 2309]
                                      )
                                    }
                                  spids: [2304]
                                )
                              ]
                              spids: [2302]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:format_revision)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(space_pad)} {($ VSub_Name '$revision')} {(43)})
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [2315 2321]
                                      )
                                    }
                                  spids: [2314]
                                )
                              ]
                              spids: [2312]
                            )
                            (C {(echo)} 
                              {(DQ ('|  last revision  | ') (${ VSub_Name format_revision) (' |'))}
                            )
                            (C {(echo)} 
                              {
                                (DQ 
                                  (
'================================================================='
                                  )
                                )
                              }
                            )
                            (C {(echo)})
                          ]
                          spids: [-1 2215]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name branch_trunkdart_new) (' not found'))})
                        (C {(echo)})
                      ]
                      spids: [2345 2361]
                    )
                  ]
                  spids: [-1 1707]
                )
              ]
              spids: [-1 2364]
            )
          ]
          spids: [1689]
        )
      spids: [1685 1688]
    )
    (FuncDef
      name: switch_branch
      body: 
        (BraceGroup
          children: [
            (C 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [(C {(git)} {(checkout)} {(${ VSub_Number 1)} {(--quiet)})]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [2379 2389]
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2395 2403]
                      )
                    }
                  spids: [2394]
                )
              ]
              spids: [2392]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$curr_branch'))}
                              right: {(DQ ($ VSub_Number '$1'))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Unable to switch to branch ') ($ VSub_Number '$1') 
                                      (' - pending commits/add?')
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2426 2434]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 2423]
                )
              ]
              spids: [-1 2442]
            )
            (C {(echo)} {($ VSub_Name '$curr_branch')})
          ]
          spids: [2376]
        )
      spids: [2370 2375]
    )
    (FuncDef
      name: check_branch
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2486 2494]
                      )
                    }
                  spids: [2485]
                )
              ]
              spids: [2483]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2500 2504]
                      )
                    }
                  spids: [2499]
                )
              ]
              spids: [2497]
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:trunk_url) op:Equal spids:[2509])]
                  spids: [2507]
                )
              terminator: <Op_Semi ';'>
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:trunk_url)
                          op: Equal
                          rhs: {(SQ <'Committing to svn://svn.chromium.org/chrome/trunk/src ...'>)}
                          spids: [2538]
                        )
                      ]
                      spids: [2538]
                    )
                  ]
                  spids: [-1 2531]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:trunk_url)
                          op: Equal
                          rhs: {(SQ <'Committing to svn://svn.chromium.org/blink/trunk ...'>)}
                          spids: [2568]
                        )
                      ]
                      spids: [2568]
                    )
                  ]
                  spids: [2544 2561]
                )
              ]
              else_action: [
                (C 
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [(C {(display_error)} {(DQ ('Neither blink or chrome specified'))})]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [2577 2583]
                    )
                  }
                )
                (C {(exit)} {(-1)})
              ]
              spids: [2574 2591]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remote_commit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(svn)} {(dcommit)} {(--dry-run)})
                                  (C {(head)} {(-1)})
                                  (C {(grep)} {(DQ (${ VSub_Name trunk_url))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2598 2622]
                      )
                    }
                  spids: [2597]
                )
              ]
              spids: [2595]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Name '$old_branch')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2627 2631]
                      )
                    }
                  spids: [2626]
                )
              ]
              spids: [2626]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$curr_branch'))}
                              right: {(DQ ($ VSub_Name '$old_branch'))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Unable to switch back to original branch ') 
                                      (${ VSub_Name old_branch)
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2654 2663]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 2651]
                )
              ]
              spids: [-1 2671]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name '$remote_commit'))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(display_error)} 
                                  {
                                    (DQ ('Branch ') (${ VSub_Number 1) 
                                      (
' is NOT pointing to the Dart branch repository but pointing to trunk.'
                                      )
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub '$('>
                          spids: [2694 2704]
                        )
                      }
                    )
                    (C {(exit)} {(-1)})
                  ]
                  spids: [-1 2691]
                )
              ]
              spids: [-1 2712]
            )
            (C {(echo)} 
              {
                (DQ ("Local branch '") (${ VSub_Number 1) 
                  ("' is based on the remote branch/dart repository.")
                )
              }
            )
          ]
          spids: [2480]
        )
      spids: [2474 2479]
    )
    (FuncDef
      name: valid_branch_url
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:src_dir) op:Equal rhs:{(DQ )} spids:[2774])]
              spids: [2772]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobEqual
                              left: {(DQ ($ VSub_Name '$do_which'))}
                              right: {(DQ (chrome))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:src_dir)
                          op: Equal
                          rhs: {(DQ (/src))}
                          spids: [2799]
                        )
                      ]
                      spids: [2799]
                    )
                  ]
                  spids: [-1 2796]
                )
              ]
              spids: [-1 2805]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_remote)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('svn://svn.chromium.org/') (${ VSub_Name do_which) (/branches/dart/) 
                        (${ VSub_Name do_old_branch) (${ VSub_Name src_dir)
                      )
                    }
                  spids: [2810]
                )
              ]
              spids: [2808]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_remote)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('svn://svn.chromium.org/') (${ VSub_Name do_which) (/branches/dart/) 
                        (${ VSub_Name do_new_branch) (${ VSub_Name src_dir)
                      )
                    }
                  spids: [2828]
                )
              ]
              spids: [2826]
            )
            (C {(echo)} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(DQ ($ VSub_Number '$1'))})
                            (C {(grep)} {(-e)} {(DQ (${ VSub_Name old_remote))} {(-e)} 
                              {(DQ (${ VSub_Name new_remote))}
                            )
                          ]
                          negated: False
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [2847 2873]
                )
              }
            )
          ]
          spids: [2745]
        )
      spids: [2739 2744]
    )
    (FuncDef
      name: url_branch
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(git)} {(name-rev)} {(--name-only)} {(HEAD)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2897 2905]
                      )
                    }
                  spids: [2896]
                )
              ]
              spids: [2894]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Number '$1')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2911 2915]
                      )
                    }
                  spids: [2910]
                )
              ]
              spids: [2908]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remote_commit)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(git)} {(svn)} {(dcommit)} {(--dry-run)})
                                  (C {(head)} {(-1)})
                                  (C {(sed)} {(SQ <'s/Committing to //'>)})
                                  (C {(sed)} {(SQ <'s/ ...//'>)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2922 2952]
                      )
                    }
                  spids: [2921]
                )
              ]
              spids: [2919]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:curr_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(switch_branch)} {($ VSub_Name '$old_branch')})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2957 2961]
                      )
                    }
                  spids: [2956]
                )
              ]
              spids: [2956]
            )
            (C {(echo)} {(DQ (${ VSub_Name remote_commit))})
          ]
          spids: [2891]
        )
      spids: [2885 2890]
    )
    (FuncDef
      name: validate_branches
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [2999 3001]
                      )
                    }
                  spids: [2998]
                )
              ]
              spids: [2996]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_name)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: (CommandList children:[(C {(stripped_name)})])
                                left_token: <Left_CommandSub '$('>
                                spids: [3027 3029]
                              )
                            }
                          spids: [3026]
                        )
                      ]
                      spids: [3024]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(check_branch)} {(${ VSub_Name branch_name)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3035 3041]
                              )
                            }
                          spids: [3034]
                        )
                      ]
                      spids: [3032]
                    )
                    (C {(printf)} {(DQ ('%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} 
                      {(DQ ($ VSub_Name '$check_result'))}
                    )
                  ]
                  spids: [-1 3021]
                )
              ]
              spids: [-1 3056]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_trunkdart_old)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3067 3073]
                      )
                    }
                  spids: [3066]
                )
              ]
              spids: [3064]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3079 3085]
                      )
                    }
                  spids: [3078]
                )
              ]
              spids: [3076]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(check_branch)} {($ VSub_Name '$branch_trunkdart_old')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3111 3115]
                              )
                            }
                          spids: [3110]
                        )
                      ]
                      spids: [3108]
                    )
                    (C {(printf)} {(DQ ('%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} 
                      {(DQ ($ VSub_Name '$check_result'))}
                    )
                  ]
                  spids: [-1 3105]
                )
              ]
              spids: [-1 3130]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:branch_trunkdart_new)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3141 3147]
                      )
                    }
                  spids: [3140]
                )
              ]
              spids: [3138]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3153 3159]
                      )
                    }
                  spids: [3152]
                )
              ]
              spids: [3150]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} 
                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:check_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(check_branch)} {($ VSub_Name '$branch_trunkdart_new')})
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3185 3189]
                              )
                            }
                          spids: [3184]
                        )
                      ]
                      spids: [3182]
                    )
                    (C {(printf)} {(DQ ('%s') (EscapedLiteralPart token:<Lit_EscapedChar '\\n'>))} 
                      {(DQ ($ VSub_Name '$check_result'))}
                    )
                  ]
                  spids: [-1 3179]
                )
              ]
              spids: [-1 3204]
            )
          ]
          spids: [2989]
        )
      spids: [2983 2988]
    )
    (FuncDef
      name: display_roll_commands
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$roll_branches'))} {(Lit_Other '=')} 
                          {(1)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                                  {(DQ (chrome))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(roll_chrome_commands)})]
                          spids: [-1 3254]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                                  {(DQ (blink))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(roll_blink_commands)})]
                          spids: [3260 3277]
                        )
                      ]
                      spids: [-1 3283]
                    )
                  ]
                  spids: [-1 3234]
                )
              ]
              spids: [-1 3286]
            )
          ]
          spids: [3216]
        )
      spids: [3210 3215]
    )
    (FuncDef
      name: display_remote_repository_creation
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ('Do the following pre-roll setup'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (chrome))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('  mkdir dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} {(DQ ('  cd dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('  svn mkdir -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Preparing Chrome 35/') (${ VSub_Name do_new_branch) (' branch') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/chrome/branches/dart/') (${ VSub_Name do_new_branch))}
                    )
                    (C {(echo)} 
                      {
                        (DQ ('  svn cp -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Branching for ') (${ VSub_Name do_new_branch) (' @') (${ VSub_Name do_new_revision) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/chrome/trunk/src@') (${ VSub_Name do_new_revision) (' '))} 
                      {
                        (DQ ('svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_new_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} 
                      {(DQ ('  git svn clone -r241107 svn://svn.chromium.org/chrome/trunk/src src'))}
                    )
                    (C {(echo)})
                    (C {(echo)} {(DQ ('  cd src'))})
                    (C {(echo)} {(DQ ('  git cl rebase'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('-----After rebase finishes-----'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 1. Add the below lines to src/.git/config'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_old_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_old_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_old_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_new_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/chrome/branches/dart/') 
                          (${ VSub_Name do_new_branch) (/src)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_new_branch))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 2. Get the code'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('    cd src'))})
                    (C {(echo)} 
                      {
                        (DQ ('    git svn fetch dart') (${ VSub_Name do_old_branch) 
                          (' && git svn fetch dart') (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                  ]
                  spids: [-1 3343]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} 
                          {(DQ (blink))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ('  Directory dartium-') (${ VSub_Name do_new_branch) (' exists.'))}
                    )
                    (C {(echo)} {(DQ ('  cd dartium-') (${ VSub_Name do_new_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('  svn cp -m ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) 
                          ('Branching ') (${ VSub_Name do_new_branch) (' @') (${ VSub_Name do_new_revision) 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                        )
                      } {(DQ ('svn://svn.chromium.org/blink/trunk@') (${ VSub_Name do_new_revision) (' '))} 
                      {
                        (DQ ('svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('  git svn clone --trunk=trunk --branches=branches/dart'))} 
                      {(DQ (' --prefix=blink-svn/ -r165883:HEAD '))} {(DQ ('svn://svn.chromium.org/blink src/third_party/WebKit'))}
                    )
                    (C {(echo)})
                    (C {(echo)} {(DQ ('  cd src/third_party/WebKit'))})
                    (C {(echo)} {(DQ ('  git cl rebase'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('-----After rebase finishes-----'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 1. Add the below lines to src/third_party/WebKit/.git/config'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_old_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_old_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_old_branch))})
                    (C {(echo)} 
                      {
                        (DQ ('[svn-remote ') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (dart) 
                          (${ VSub_Name do_new_branch) (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (']')
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('      url = svn://svn.chromium.org/blink/branches/dart/') 
                          (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                    (C {(echo)} {(DQ ('      fetch = :refs/remotes/dart') (${ VSub_Name do_new_branch))})
                    (C {(echo)})
                    (C {(echo)} {(DQ (' 2. Get the code'))})
                    (C {(echo)})
                    (C {(echo)} {(DQ ('    cd src/third_party/WebKit'))})
                    (C {(echo)} 
                      {
                        (DQ ('    git svn fetch dart') (${ VSub_Name do_old_branch) 
                          (' && git svn fetch dart') (${ VSub_Name do_new_branch)
                        )
                      }
                    )
                  ]
                  spids: [3576 3593]
                )
              ]
              spids: [-1 3817]
            )
          ]
          spids: [3301]
        )
      spids: [3295 3300]
    )
    (FuncDef
      name: roll_chrome_commands
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4243 4245]
                      )
                    }
                  spids: [4242]
                )
              ]
              spids: [4242]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4249 4255]
                      )
                    }
                  spids: [4248]
                )
              ]
              spids: [4248]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4259 4265]
                      )
                    }
                  spids: [4258]
                )
              ]
              spids: [4258]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('================================================'))})
            (C {(echo)} {(DQ ('|             git commands to run:             |'))})
            (C {(echo)} {(DQ ('================================================'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remoteOld)
                  op: Equal
                  rhs: {(dart) (${ VSub_Name do_old_branch)}
                  spids: [4294]
                )
              ]
              spids: [4294]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_name)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4302 4304]
                      )
                    }
                  spids: [4301]
                )
              ]
              spids: [4301]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 1. ---------------------'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name strip_branch) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(hash_codes_base_last)} {(${ VSub_Name remoteOld)})
                    (C {(echo)} {(DQ ('git rebase -i ') (${ VSub_Name hash_base))})
                    (C {(echo)})
                  ]
                  spids: [-1 4324]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 2. ---------------------'))})
                    (C {(echo)})
                    (C {(hash_codes_base_last)} {(${ VSub_Name strip_branch)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4437 4443]
                              )
                            }
                          spids: [4436]
                        )
                      ]
                      spids: [4436]
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_old) (' ') 
                          (${ VSub_Name hash_base)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base) (..) (${ VSub_Name hash_last))
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4382 4398]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 3. ---------------------'))})
                    (C {(echo)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4513 4519]
                              )
                            }
                          spids: [4512]
                        )
                      ]
                      spids: [4512]
                    )
                    (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_new) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base2) (..) 
                          (${ VSub_Name hash_last2)
                        )
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4478 4494]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('===== Nothing to do - Roll setup complete. ====='))})]
              spids: [4567 4577]
            )
            (C {(echo)} {(DQ ('================================================'))})
          ]
          spids: [4239]
        )
      spids: [4233 4238]
    )
    (FuncDef
      name: roll_blink_commands
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:stripped_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_exist)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4601 4603]
                      )
                    }
                  spids: [4600]
                )
              ]
              spids: [4600]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:old_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_old_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4607 4613]
                      )
                    }
                  spids: [4606]
                )
              ]
              spids: [4606]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:new_branch_found)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(trunk_exist)} {(${ VSub_Name do_new_branch)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [4617 4623]
                      )
                    }
                  spids: [4616]
                )
              ]
              spids: [4616]
            )
            (C {(echo)})
            (C {(echo)} {(DQ ('================================================'))})
            (C {(echo)} {(DQ ('|             git commands to run:             |'))})
            (C {(echo)} {(DQ ('================================================'))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:remoteOld)
                  op: Equal
                  rhs: {(dart) (${ VSub_Name do_old_branch)}
                  spids: [4652]
                )
              ]
              spids: [4652]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:strip_branch)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(stripped_name)})])
                        left_token: <Left_CommandSub '$('>
                        spids: [4660 4662]
                      )
                    }
                  spids: [4659]
                )
              ]
              spids: [4659]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$stripped_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 1. ---------------------'))})
                    (C {(echo)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name strip_branch) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(hash_codes_base_last)} {(${ VSub_Name remoteOld)})
                    (C {(eho)} {(DQ ('git rebase -i ') (${ VSub_Name hash_base))})
                    (C {(echo)})
                  ]
                  spids: [-1 4682]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$old_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 2. ---------------------'))})
                    (C {(echo)})
                    (C {(hash_codes_base_last)} {(${ VSub_Name strip_branch)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_old)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_old_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4795 4801]
                              )
                            }
                          spids: [4794]
                        )
                      ]
                      spids: [4794]
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_old) (' ') 
                          (${ VSub_Name hash_base)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base) (..) (${ VSub_Name hash_last))
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4740 4756]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$new_branch_found'))} {(Lit_Other '=')} {(DQ )} 
                          {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ('------------------ Step 3. ---------------------'))})
                    (C {(echo)})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:branch_trunkdart_new)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(trunkdart_name)} {(${ VSub_Name do_new_branch)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4872 4878]
                              )
                            }
                          spids: [4871]
                        )
                      ]
                      spids: [4871]
                    )
                    (C {(hash_codes_base2_last2)} {(${ VSub_Name branch_trunkdart_old)})
                    (C {(echo)} 
                      {
                        (DQ ('git checkout -b ') (${ VSub_Name branch_trunkdart_new) (' ') 
                          (${ VSub_Name remoteOld)
                        )
                      }
                    )
                    (C {(echo)} 
                      {
                        (DQ ('git cherry-pick ') (${ VSub_Name hash_base2) (..) 
                          (${ VSub_Name hash_last2)
                        )
                      }
                    )
                    (C {(echo)})
                  ]
                  spids: [4836 4852]
                )
              ]
              else_action: [(C {(echo)} {(DQ ('===== Nothing to do - Roll setup complete. ====='))})]
              spids: [4926 4936]
            )
            (C {(echo)} {(DQ ('================================================'))})
          ]
          spids: [4597]
        )
      spids: [4591 4596]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:create_branches) op:Equal rhs:{(0)} spids:[4953])]
      spids: [4953]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_info_hashes) op:Equal rhs:{(0)} spids:[4957])]
      spids: [4957]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:base_dir) op:Equal rhs:{(DQ )} spids:[4961])]
      spids: [4961]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_pre_roll) op:Equal rhs:{(0)} spids:[4969])]
      spids: [4969]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_which) op:Equal rhs:{(DQ )} spids:[4976])]
      spids: [4976]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_verbose) op:Equal rhs:{(0)} spids:[4984])]
      spids: [4984]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_old_branch) op:Equal rhs:{(DQ )} spids:[4991])]
      spids: [4991]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_old_revision) op:Equal rhs:{(DQ )} spids:[4995])]
      spids: [4995]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_new_branch) op:Equal rhs:{(DQ )} spids:[5003])]
      spids: [5003]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:do_new_revision) op:Equal rhs:{(DQ )} spids:[5007])]
      spids: [5007]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:curr_switch) op:Equal rhs:{(DQ )} spids:[5012])]
      spids: [5012]
    )
    (ForEach
      iter_name: var
      iter_words: [{(DQ ($ VSub_At '$@'))}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name '$var'))}
              arms: [
                (case_arm
                  pat_list: [{(--help)}]
                  action: [(C {(usage)}) (C {(exit)})]
                  spids: [5038 5039 5048 -1]
                )
                (case_arm
                  pat_list: [{(--verbose)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_verbose)
                          op: Equal
                          rhs: {(1)}
                          spids: [5055]
                        )
                      ]
                      spids: [5055]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5059]
                        )
                      ]
                      spids: [5059]
                    )
                  ]
                  spids: [5051 5052 5064 -1]
                )
                (case_arm
                  pat_list: [{(--no-verbose)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_verbose)
                          op: Equal
                          rhs: {(0)}
                          spids: [5071]
                        )
                      ]
                      spids: [5071]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5075]
                        )
                      ]
                      spids: [5075]
                    )
                  ]
                  spids: [5067 5068 5080 -1]
                )
                (case_arm
                  pat_list: [{(--chrome)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('--chrome can not be specified with --blink'))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5107 5113]
                                )
                              }
                            )
                            (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
                          ]
                          spids: [-1 5104]
                        )
                      ]
                      spids: [-1 5121]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_which)
                          op: Equal
                          rhs: {(DQ (chrome))}
                          spids: [5124]
                        )
                      ]
                      spids: [5124]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5130]
                        )
                      ]
                      spids: [5130]
                    )
                  ]
                  spids: [5083 5084 5135 -1]
                )
                (case_arm
                  pat_list: [{(--blink)}]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} 
                                  {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('--blink can not be specified with --chrome'))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5162 5168]
                                )
                              }
                            )
                            (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
                          ]
                          spids: [-1 5159]
                        )
                      ]
                      spids: [-1 5176]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_which)
                          op: Equal
                          rhs: {(DQ (blink))}
                          spids: [5179]
                        )
                      ]
                      spids: [5179]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5185]
                        )
                      ]
                      spids: [5185]
                    )
                  ]
                  spids: [5138 5139 5190 -1]
                )
                (case_arm
                  pat_list: [{(--pre-roll)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_pre_roll)
                          op: Equal
                          rhs: {(1)}
                          spids: [5197]
                        )
                      ]
                      spids: [5197]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5201]
                        )
                      ]
                      spids: [5201]
                    )
                  ]
                  spids: [5193 5194 5206 -1]
                )
                (case_arm
                  pat_list: [{(--roll)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:roll_branches)
                          op: Equal
                          rhs: {(1)}
                          spids: [5213]
                        )
                      ]
                      spids: [5213]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5217]
                        )
                      ]
                      spids: [5217]
                    )
                  ]
                  spids: [5209 5210 5222 -1]
                )
                (case_arm
                  pat_list: [{(--info)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:do_info_hashes)
                          op: Equal
                          rhs: {(1)}
                          spids: [5229]
                        )
                      ]
                      spids: [5229]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5233]
                        )
                      ]
                      spids: [5233]
                    )
                  ]
                  spids: [5225 5226 5238 -1]
                )
                (case_arm
                  pat_list: [{(--directory)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (base-directory))}
                          spids: [5245]
                        )
                      ]
                      spids: [5245]
                    )
                  ]
                  spids: [5241 5242 5254 -1]
                )
                (case_arm
                  pat_list: [{(--old-branch)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (old-branch))}
                          spids: [5261]
                        )
                      ]
                      spids: [5261]
                    )
                  ]
                  spids: [5257 5258 5270 -1]
                )
                (case_arm
                  pat_list: [{(--new-branch)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (new-branch))}
                          spids: [5277]
                        )
                      ]
                      spids: [5277]
                    )
                  ]
                  spids: [5273 5274 5286 -1]
                )
                (case_arm
                  pat_list: [{(--old-revision)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (old-revision))}
                          spids: [5293]
                        )
                      ]
                      spids: [5293]
                    )
                  ]
                  spids: [5289 5290 5302 -1]
                )
                (case_arm
                  pat_list: [{(--new-revision)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ (new-revision))}
                          spids: [5309]
                        )
                      ]
                      spids: [5309]
                    )
                  ]
                  spids: [5305 5306 5318 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other '*')}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:prefix)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name var>
                                suffix_op: 
                                  (Slice
                                    begin: (ArithWord w:{(Lit_Digits 0)})
                                    length: (ArithWord w:{(Lit_Digits 2)})
                                  )
                                spids: [5326 5332]
                              )
                            }
                          spids: [5325]
                        )
                      ]
                      spids: [5325]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$prefix'))} {(Lit_Other '=')} 
                                  {(DQ (--))} {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(display_error)} 
                                          {(DQ ('unexpected switch ') (${ VSub_Name var))}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [5355 5364]
                                )
                              }
                            )
                            (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
                          ]
                          spids: [-1 5352]
                        )
                      ]
                      spids: [-1 5372]
                    )
                    (Case
                      to_match: {(DQ ($ VSub_Name '$curr_switch'))}
                      arms: [
                        (case_arm
                          pat_list: [{(base-directory)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:base_dir)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5388]
                                )
                              ]
                              spids: [5388]
                            )
                          ]
                          spids: [5384 5385 5396 -1]
                        )
                        (case_arm
                          pat_list: [{(old-branch)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_old_branch)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5403]
                                )
                              ]
                              spids: [5403]
                            )
                          ]
                          spids: [5399 5400 5411 -1]
                        )
                        (case_arm
                          pat_list: [{(old-revision)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_old_revision)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5418]
                                )
                              ]
                              spids: [5418]
                            )
                          ]
                          spids: [5414 5415 5426 -1]
                        )
                        (case_arm
                          pat_list: [{(new-branch)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_new_branch)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5433]
                                )
                              ]
                              spids: [5433]
                            )
                          ]
                          spids: [5429 5430 5441 -1]
                        )
                        (case_arm
                          pat_list: [{(new-revision)}]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:do_new_revision)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name var))}
                                  spids: [5448]
                                )
                              ]
                              spids: [5448]
                            )
                          ]
                          spids: [5444 5445 5456 -1]
                        )
                        (case_arm
                          pat_list: [{(Lit_Other '*')}]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$curr_switch'))} 
                                          {(KW_Bang '!') (Lit_Other '=')} {(DQ )} {(Lit_Other ']')}
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(display_error)} 
                                                  {
                                                    (DQ ('unexpected paramter for ') 
                                                      (${ VSub_Name curr_switch)
                                                    )
                                                  }
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [5483 5492]
                                        )
                                      }
                                    )
                                    (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
                                  ]
                                  spids: [-1 5480]
                                )
                              ]
                              else_action: [
                                (C 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(display_error)} 
                                              {(DQ ('unexpected switch ') (${ VSub_Name var))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [5503 5512]
                                    )
                                  }
                                )
                                (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
                              ]
                              spids: [5500 5520]
                            )
                          ]
                          spids: [5459 5460 5523 -1]
                        )
                      ]
                      spids: [5375 5381 5526]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:curr_switch)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [5529]
                        )
                      ]
                      spids: [5529]
                    )
                  ]
                  spids: [5321 5322 5534 -1]
                )
              ]
              spids: [5029 5035 5537]
            )
          ]
          spids: [5026 5539]
        )
      spids: [5021 -1]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$base_dir'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('--directory switch must be specified.'))})
            (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
          ]
          spids: [-1 5561]
        )
      ]
      spids: [-1 5575]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('--chrome or --blink switch must be specified.'))})
            (C {(exit)} {($ VSub_Name '$E_INVALID_ARG')})
          ]
          spids: [-1 5595]
        )
      ]
      spids: [-1 5609]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_old_branch'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('Enter LAST ') (${ VSub_Name do_which) 
                  (' true branch (e.g., Chrome version 34.0.1847.92 true branch is 1847)')
                )
              }
            )
            (C {(read)} {(do_old_branch)})
          ]
          spids: [-1 5628]
        )
      ]
      spids: [-1 5646]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_old_revision'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Enter LAST ') (${ VSub_Name do_which) (' base trunk revision #'))})
            (C {(read)} {(do_old_revision)})
          ]
          spids: [-1 5665]
        )
      ]
      spids: [-1 5683]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_new_branch'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ('Enter NEW ') (${ VSub_Name do_which) 
                  (' true branch (e.g., Chrome version 35.0.1908.4 true branch is 1908)')
                )
              }
            )
            (C {(read)} {(do_new_branch)})
          ]
          spids: [-1 5702]
        )
      ]
      spids: [-1 5720]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_new_revision'))} {(Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Enter NEW ') (${ VSub_Name do_which) (' base trunk revision #'))})
            (C {(read)} {(do_new_revision)})
          ]
          spids: [-1 5739]
        )
      ]
      spids: [-1 5757]
    )
    (C {(echo)})
    (C {(echo)} 
      {
        (DQ ('Rolling new branch ') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision))
      }
    )
    (C {(verbose_message)})
    (C {(verbose_message)} 
      {(DQ ('Previous branch ') (${ VSub_Name do_old_branch) ('@') (${ VSub_Name do_old_revision))}
    )
    (C {(verbose_message)} 
      {(DQ ('New branch ') (${ VSub_Name do_new_branch) ('@') (${ VSub_Name do_new_revision))}
    )
    (C {(verbose_message)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobEqual
                      left: {(DQ ($ VSub_Name '$do_pre_roll'))}
                      right: {(DQ (1))}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(display_remote_repository_creation)}) (C {(exit)} {(1)})]
          spids: [-1 5824]
        )
      ]
      spids: [-1 5834]
    )
    (SimpleCommand
      words: [{(pushd)} {(.)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[5841])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$base_dir'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ )} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cd)} {(${ VSub_Name base_dir)})]
          spids: [-1 5863]
        )
      ]
      spids: [-1 5872]
    )
    (C {(cd)} {(src)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$do_which'))} {(Lit_Other '=')} {(DQ (blink))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(C {(cd)} {(third_party/WebKit)})]
          spids: [-1 5897]
        )
      ]
      spids: [-1 5904]
    )
    (C {(trap)} {(SQ )} {(INT)})
    (C {(trap)} {(SQ )} {(TSTP)})
    (C {(validate_remotes)})
    (C {(display_roll_commands)})
    (C {(display_hashes)})
    (C {(validate_branches)})
    (C {(trap)} {(-)} {(INT)})
    (C {(trap)} {(-)} {(TSTP)})
    (SimpleCommand
      words: [{(popd)}]
      redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[5961])]
    )
  ]
)