(command.CommandList
  children: [
    (C {<.>} 
      {
        (DQ 
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))})
          ) <'/bazel-common.sh'>
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:VERSION)
          op: assign_op.Equal
          rhs: 
            {
              (DQ <nightly-> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (C {<date>} {<Id.Lit_Other '+'> <Id.Lit_Other '%'> <F-> <Id.Lit_Other '%'> <H>})
                ) <-> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<git>} {<rev-parse>} {<--short>} {<Id.Lit_At '@'>})
                )
              )
            }
          spids: [94]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BAZEL_ARGS)
          op: assign_op.PlusEqual
          rhs: {(sh_array_literal left:<Id.Op_LParen _> words:[{<-c>} {<opt>}])}
          spids: [118]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUCKET)
          op: assign_op.Equal
          rhs: {<kythe-releases>}
          spids: [125]
        )
      ]
    )
    (C {<sed>} {<-ri>} 
      {
        (DQ <'s/^release_version = .+'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) 
          <'/release_version = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) (${ Id.VSub_Name VERSION) 
          (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'>) <'/'>
        )
      } {<'kythe/release/BUILD'>}
    )
    (C {<bazel>} {<test>} 
      {
        (DQ 
          (braced_var_sub
            token: <Id.VSub_Name BAZEL_ARGS>
            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
          )
        )
      } {<'//kythe/release'> <Id.Lit_Colon ':'> <release_test>}
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENFILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<bazel>} {<info>} 
                          {
                            (DQ 
                              (braced_var_sub
                                token: <Id.VSub_Name BAZEL_ARGS>
                                bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              )
                            )
                          }
                        )
                        (C {<awk>} {(SQ <'/^bazel-genfiles: / { print $2 }'>)})
                        (C {<tr>} {<--delete>} {(SQ <'\\r'>)})
                      ]
                      negated: F
                    )
                )
              )
            }
          spids: [168]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENFILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (braced_var_sub
                  token: <Id.VSub_Name GENFILES>
                  suffix_op: 
                    (suffix_op.PatSub
                      pat: 
                        {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'>) <root> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\/'>
                          ) <.cache>
                        }
                      replace: 
                        {($ Id.VSub_DollarName '$WORKSPACE') 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\/'>
                          ) <cache>
                        }
                      replace_mode: Id.Lit_Slash
                    )
                )
              )
            }
          spids: [206]
        )
      ]
    )
    (C {<gsutil>} {<cp>} 
      (word.BracedTree
        parts: [
          (DQ ($ Id.VSub_DollarName '$GENFILES'))
          <'/kythe/release/kythe-'>
          ($ Id.VSub_DollarName '$VERSION')
          <.tar.gz>
          (word_part.BracedTuple words:[{} {<.md5>}])
        ]
      ) {<gs> <Id.Lit_Colon ':'> <'//'> ($ Id.VSub_DollarName '$BUCKET') <'/'>}
    )
  ]
)