(command.CommandList
  children: [
    (C {<set>} {<-o>} {<errexit>})
    (C {<set>} {<-o>} {<nounset>})
    (C {<set>} {<-o>} {<pipefail>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:KUBE_ROOT)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: (C {<dirname>} {(DQ (${ Id.VSub_Name BASH_SOURCE))})
              ) <'/..'>
            }
          spids: [63]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:staging_repos)
          op: assign_op.Equal
          rhs: 
            {
              (sh_array_literal
                left: <Id.Op_LParen _>
                words: [
                  {
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<ls>} {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/staging/src/k8s.io/'>)})
                    )
                  }
                ]
              )
            }
          spids: [76]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:staging_repos_pattern)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.CommandList
                    children: [
                      (command.Sentence
                        child: 
                          (command.ShAssignment
                            pairs: [
                              (assign_pair
                                lhs: (sh_lhs_expr.Name name:IFS)
                                op: assign_op.Equal
                                rhs: {(DQ <'|'>)}
                                spids: [92]
                              )
                            ]
                          )
                        terminator: <Id.Op_Semi _>
                      )
                      (C {<echo>} 
                        {
                          (DQ 
                            (braced_var_sub
                              token: <Id.VSub_Name staging_repos>
                              bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star)
                            )
                          )
                        }
                      )
                    ]
                  )
              )
            }
          spids: [90]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:failed)
          op: assign_op.Equal
          rhs: {<false>}
          spids: [111]
        )
      ]
    )
    (command.ForEach
      iter_name: i
      iter_words: [
        {
          (command_sub
            left_token: <Id.Left_DollarParen '$('>
            child: (C {<find>} {<'vendor/'>} {<-type>} {<d>})
          )
        }
      ]
      do_arg_iter: F
      body: 
        (command.DoGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:deps)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.AndOr
                            ops: [Id.Op_DPipe]
                            children: [
                              (command.Simple
                                words: [
                                  {<go>}
                                  {<list>}
                                  {<-f>}
                                  {(SQ <'{{range .Deps}}{{.}}{{"\\n"}}{{end}}'>)}
                                  {<'./'> ($ Id.VSub_DollarName '$i')}
                                ]
                                redirects: [
                                  (redir
                                    op: <Id.Redir_Great '2>'>
                                    loc: (redir_loc.Fd fd:2)
                                    arg: {<'/dev/null'>}
                                  )
                                ]
                                do_fork: T
                              )
                              (C {<echo>} {(DQ )})
                            ]
                          )
                      )
                    }
                  spids: [134]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:deps_on_main)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.AndOr
                            ops: [Id.Op_DPipe]
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {<echo>} {(DQ (${ Id.VSub_Name deps))})
                                  (C {<grep>} {<-v>} {(DQ <'k8s.io/kubernetes/vendor/'>)})
                                  (C {<grep>} {(DQ <'k8s.io/kubernetes'>)})
                                ]
                                negated: F
                              )
                              (C {<echo>} {(DQ )})
                            ]
                          )
                      )
                    }
                  spids: [162]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name deps_on_main))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ <'Package '> (${ Id.VSub_Name i) 
                          <' has a cyclic dependency on the main repository.'>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:failed)
                          op: assign_op.Equal
                          rhs: {<true>}
                          spids: [228]
                        )
                      ]
                    )
                  ]
                  spids: [199 214]
                )
              ]
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:deps_on_staging)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.AndOr
                            ops: [Id.Op_DPipe]
                            children: [
                              (command.Pipeline
                                children: [
                                  (C {<echo>} {(DQ (${ Id.VSub_Name deps))})
                                  (C {<grep>} {(DQ <'k8s.io/kubernetes/vendor/k8s.io'>)})
                                  (C {<grep>} {<-E>} 
                                    {
                                      (DQ <k8s.io> <Id.Lit_BadBackslash '\\'> <'/'> 
                                        (${ Id.VSub_Name staging_repos_pattern) <Id.Lit_BadBackslash '\\'> <'>'>
                                      )
                                    }
                                  )
                                ]
                                negated: F
                              )
                              (C {<echo>} {(DQ )})
                            ]
                          )
                      )
                    }
                  spids: [235]
                )
              ]
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name deps_on_staging))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<echo>} 
                      {
                        (DQ <'Package '> (${ Id.VSub_Name i) 
                          <' has a cyclic dependency on staging repository packages: '> (${ Id.VSub_Name deps_on_staging)
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name name:failed)
                          op: assign_op.Equal
                          rhs: {<true>}
                          spids: [311]
                        )
                      ]
                    )
                  ]
                  spids: [279 294]
                )
              ]
            )
          ]
        )
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_GlobDEqual
                          left: {(DQ (${ Id.VSub_Name failed))}
                          right: {(DQ <true>)}
                        )
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})]
          spids: [320 339]
        )
      ]
    )
  ]
)