(CommandList
  children: [
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_GO_PACKAGE)
          op: Equal
          rhs: {(k8s.io/kubernetes)}
          spids: [49]
        )
      ]
      spids: [47]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_GOPATH)
          op: Equal
          rhs: {(DQ (${ VSub_Name KUBE_OUTPUT) (/go))}
          spids: [54]
        )
      ]
      spids: [52]
    )
    (FuncDef
      name: 'kube::golang::server_targets'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(cmd/kube-proxy)}
                          {(cmd/kube-apiserver)}
                          {(cmd/kube-controller-manager)}
                          {(cmd/cloud-controller-manager)}
                          {(cmd/kubelet)}
                          {(cmd/kubeadm)}
                          {(cmd/hyperkube)}
                          {(vendor/k8s.io/kube-aggregator)}
                          {(vendor/k8s.io/apiextensions-apiserver)}
                          {(plugin/cmd/kube-scheduler)}
                        ]
                      )
                    }
                  spids: [84]
                )
              ]
              spids: [82]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [124 129]
                  )
                )
              }
            )
          ]
          spids: [79]
        )
      spids: [69 78]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_SERVER_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                (Lit_Other ':') (server_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [139 147]
                    )
                  }
                ]
              )
            }
          spids: [137]
        )
      ]
      spids: [135]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_SERVER_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [155 163]
                      )
                    )
                  }
                ]
              )
            }
          spids: [152]
        )
      ]
      spids: [150]
    )
    (FuncDef
      name: 'kube::golang::node_targets'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(cmd/kube-proxy)} {(cmd/kubelet)}])}
                  spids: [189]
                )
              ]
              spids: [187]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [205 210]
                  )
                )
              }
            )
          ]
          spids: [184]
        )
      spids: [174 183]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                (Lit_Other ':') (node_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [220 228]
                    )
                  }
                ]
              )
            }
          spids: [218]
        )
      ]
      spids: [216]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_NODE_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [236 244]
                      )
                    )
                  }
                ]
              )
            }
          spids: [233]
        )
      ]
      spids: [231]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_NODE_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_NODE_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [253 262]
                      )
                    )
                  }
                ]
              )
            }
          spids: [250]
        )
      ]
      spids: [248]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_n
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBE_BUILD_PLATFORMS>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [274 277]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [288]
                )
              ]
              spids: [286]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_NODE_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [298]
                )
              ]
              spids: [296]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [308]
                )
              ]
              spids: [306]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])}
                  spids: [318]
                )
              ]
              spids: [316]
            )
          ]
          spids: [16777215 283]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBE_FASTBUILD>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [330 333]
                            )
                          )
                        }
                      right: {(DQ (true))}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                  spids: [350]
                )
              ]
              spids: [348]
            )
            (Assignment
              keyword: Assign_Readonly
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_NODE_PLATFORMS)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                  spids: [358]
                )
              ]
              spids: [356]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BUILDER_OS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [369 372]
                                    )
                                  )
                                }
                              right: {(DQ (darwin)) (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Readonly
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(darwin/amd64)} {(linux/amd64)}])}
                          spids: [390]
                        )
                      ]
                      spids: [388]
                    )
                    (Assignment
                      keyword: Assign_Readonly
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(darwin/amd64)} {(linux/amd64)}])}
                          spids: [405]
                        )
                      ]
                      spids: [403]
                    )
                  ]
                  spids: [16777215 385]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Readonly
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KUBE_TEST_PLATFORMS)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                      spids: [423]
                    )
                  ]
                  spids: [421]
                )
                (Assignment
                  keyword: Assign_Readonly
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
                      op: Equal
                      rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])}
                      spids: [431]
                    )
                  ]
                  spids: [429]
                )
              ]
              spids: [418 437]
            )
          ]
          spids: [325 345]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_SERVER_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                    ]
                  )
                }
              spids: [449]
            )
          ]
          spids: [447]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_NODE_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(windows/amd64)}
                    ]
                  )
                }
              spids: [478]
            )
          ]
          spids: [476]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_CLIENT_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/386)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(darwin/amd64)}
                      {(darwin/386)}
                      {(windows/amd64)}
                      {(windows/386)}
                    ]
                  )
                }
              spids: [510]
            )
          ]
          spids: [508]
        )
        (Assignment
          keyword: Assign_Readonly
          pairs: [
            (assign_pair
              lhs: (LhsName name:KUBE_TEST_PLATFORMS)
              op: Equal
              rhs: 
                {
                  (ArrayLiteralPart
                    words: [
                      {(linux/amd64)}
                      {(linux/arm)}
                      {(linux/arm64)}
                      {(linux/s390x)}
                      {(linux/ppc64le)}
                      {(darwin/amd64)}
                      {(windows/amd64)}
                    ]
                  )
                }
              spids: [554]
            )
          ]
          spids: [552]
        )
      ]
      spids: [439 581]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_TARGETS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(cmd/kubectl)} {(federation/cmd/kubefed)}])}
          spids: [592]
        )
      ]
      spids: [590]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [608 616]
                      )
                    )
                  }
                ]
              )
            }
          spids: [605]
        )
      ]
      spids: [603]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CLIENT_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [625 634]
                      )
                    )
                  }
                ]
              )
            }
          spids: [622]
        )
      ]
      spids: [620]
    )
    (FuncDef
      name: 'kube::golang::test_targets'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(cmd/gendocs)}
                          {(cmd/genkubedocs)}
                          {(cmd/genman)}
                          {(cmd/genyaml)}
                          {(cmd/genswaggertypedocs)}
                          {(cmd/linkcheck)}
                          {(federation/cmd/genfeddocs)}
                          {(vendor/github.com/onsi/ginkgo/ginkgo)}
                          {(test/e2e/e2e.test)}
                        ]
                      )
                    }
                  spids: [660]
                )
              ]
              spids: [658]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [697 702]
                  )
                )
              }
            )
          ]
          spids: [655]
        )
      spids: [645 654]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                (Lit_Other ':') (test_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [711 719]
                    )
                  }
                ]
              )
            }
          spids: [709]
        )
      ]
      spids: [707]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [727 735]
                      )
                    )
                  }
                ]
              )
            }
          spids: [724]
        )
      ]
      spids: [722]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_BINARIES_WIN)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_BINARIES>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: 
                          (PatSub
                            pat: {}
                            replace: {(.exe)}
                            do_all: False
                            do_prefix: False
                            do_suffix: True
                          )
                        spids: [744 753]
                      )
                    )
                  }
                ]
              )
            }
          spids: [741]
        )
      ]
      spids: [739]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_PORTABLE)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(test/e2e/testing-manifests)}
                  {(test/kubemark)}
                  {(federation/develop)}
                  {(hack/e2e.go)}
                  {(hack/e2e-internal)}
                  {(hack/get-build.sh)}
                  {(hack/ginkgo-e2e.sh)}
                  {(hack/federated-ginkgo-e2e.sh)}
                  {(hack/lib)}
                ]
              )
            }
          spids: [762]
        )
      ]
      spids: [760]
    )
    (FuncDef
      name: 'kube::golang::server_test_targets'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [{(cmd/kubemark)} {(vendor/github.com/onsi/ginkgo/ginkgo)}]
                      )
                    }
                  spids: [822]
                )
              ]
              spids: [820]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name OSTYPE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [841 844]
                                    )
                                  )
                                }
                              right: {(DQ (linux)) (Lit_Other '*')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(test/e2e_node/e2e_node.test)}])}
                          spids: [860]
                        )
                      ]
                      spids: [860]
                    )
                  ]
                  spids: [16777215 857]
                )
              ]
              spids: [16777215 868]
            )
            (C {(echo)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name targets>
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [875 880]
                  )
                )
              }
            )
          ]
          spids: [817]
        )
      spids: [807 816]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                (Lit_Other ':') (server_test_targets)
                              }
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [890 898]
                    )
                  }
                ]
              )
            }
          spids: [888]
        )
      ]
      spids: [886]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [906 914]
                      )
                    )
                  }
                ]
              )
            }
          spids: [903]
        )
      ]
      spids: [901]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_TEST_SERVER_PLATFORMS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_PLATFORMS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [923 928]
                      )
                    )
                  }
                ]
              )
            }
          spids: [920]
        )
      ]
      spids: [918]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_PARALLEL_BUILD_MEMORY)
          op: Equal
          rhs: {(11)}
          spids: [944]
        )
      ]
      spids: [942]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ALL_TARGETS)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [964 969]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_CLIENT_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [974 979]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [984 989]
                      )
                    )
                  }
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_TEST_SERVER_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        spids: [994 999]
                      )
                    )
                  }
                  {(cmd/gke-certificates-controller)}
                ]
              )
            }
          spids: [959]
        )
      ]
      spids: [957]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ALL_BINARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name KUBE_ALL_TARGETS>
                        bracket_op: (WholeArray op_id:Lit_At)
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                        spids: [1012 1020]
                      )
                    )
                  }
                ]
              )
            }
          spids: [1009]
        )
      ]
      spids: [1007]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_STATIC_LIBRARIES)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(cloud-controller-manager)}
                  {(kube-apiserver)}
                  {(kube-controller-manager)}
                  {(kube-scheduler)}
                  {(kube-proxy)}
                  {(kube-aggregator)}
                  {(kubeadm)}
                  {(kubectl)}
                ]
              )
            }
          spids: [1027]
        )
      ]
      spids: [1025]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_BINDATAS)
          op: Equal
          rhs: {(ArrayLiteralPart words:[{(test/e2e/generated/gobindata_util.go)}])}
          spids: [1062]
        )
      ]
      spids: [1060]
    )
    (FuncDef
      name: 'kube::golang::is_statically_linked_library'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:e) op:Equal spids:[1086])]
              spids: [1084]
            )
            (Sentence
              child: 
                (ForEach
                  iter_name: e
                  iter_words: [
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBE_STATIC_LIBRARIES>
                          bracket_op: (WholeArray op_id:Lit_At)
                          spids: [1096 1101]
                        )
                      )
                    }
                  ]
                  do_arg_iter: False
                  body: 
                    (DoGroup
                      children: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ ($ VSub_Number '$1'))}
                                      right: {(Lit_Other '*') (DQ (/) ($ VSub_Name '$e'))}
                                    )
                                )
                                (ControlFlow
                                  token: <ControlFlow_Return return>
                                  arg_word: {(0)}
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      spids: [1105 1130]
                    )
                  spids: [1094 1103]
                )
              terminator: <Op_Semi ';'>
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_STATIC_OVERRIDES>
                                suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(x)})
                                spids: [1149 1153]
                              )
                            )
                          } {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (ForEach
                          iter_name: e
                          iter_words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_STATIC_OVERRIDES>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [1169 1174]
                                )
                              )
                            }
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (Sentence
                                  child: 
                                    (AndOr
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ ($ VSub_Number '$1'))}
                                              right: {(Lit_Other '*') (DQ (/) ($ VSub_Name '$e'))}
                                            )
                                        )
                                        (ControlFlow
                                          token: <ControlFlow_Return return>
                                          arg_word: {(0)}
                                        )
                                      ]
                                      op_id: Op_DAmp
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              spids: [1178 1203]
                            )
                          spids: [1167 1176]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1159]
                )
              ]
              spids: [16777215 1207]
            )
            (Sentence
              child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              terminator: <Op_Semi ';'>
            )
          ]
          spids: [1081]
        )
      spids: [1071 1080]
    )
    (FuncDef
      name: 'kube::golang::binaries_from_targets'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:target) op:Equal spids:[1239])]
              spids: [1237]
            )
            (ForEach
              iter_name: target
              do_arg_iter: True
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(DQ (${ VSub_Name target))}
                                      right: 
                                        {(Lit_Other '^') ('(') (Lit_Other '[') (Lit_Other '[') 
                                          (Lit_Other ':') (alnum) (Lit_Other ':') (Lit_Other ']') (Lit_Other ']') (Lit_Other '+') (DQ (.)) (')') (Lit_Other '+') 
                                          (Lit_Other '[') (Lit_Other '[') (Lit_Other ':') (alnum) (Lit_Other ':') (Lit_Other ']') (Lit_Other ']') (Lit_Other '+') 
                                          (DQ (/))
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(echo)} {(DQ (${ VSub_Name target))})]
                          spids: [16777215 1304]
                        )
                      ]
                      else_action: [
                        (C {(echo)} {(DQ (${ VSub_Name KUBE_GO_PACKAGE) (/) (${ VSub_Name target))})
                      ]
                      spids: [1316 1332]
                    )
                  ]
                  spids: [1247 1335]
                )
              spids: [16777215 16777215]
            )
          ]
          spids: [1234]
        )
      spids: [1224 1233]
    )
    (FuncDef
      name: 'kube::golang::host_platform'
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [1362 1368]
                  ) (/) 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})])
                    left_token: <Left_CommandSub '$('>
                    spids: [1370 1376]
                  )
                )
              }
            )
          ]
          spids: [1356]
        )
      spids: [1346 1355]
    )
    (FuncDef
      name: 'kube::golang::current_platform'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:os)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GOOS>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [1399 1402]
                        )
                      )
                    }
                  spids: [1397]
                )
              ]
              spids: [1395]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$os')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:os)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(go)} {(env)} {(GOHOSTOS)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1421 1427]
                              )
                            }
                          spids: [1420]
                        )
                      ]
                      spids: [1420]
                    )
                  ]
                  spids: [16777215 1417]
                )
              ]
              spids: [16777215 1430]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:arch)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name GOARCH>
                          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                          spids: [1438 1441]
                        )
                      )
                    }
                  spids: [1436]
                )
              ]
              spids: [1434]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name '$arch')}))
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:arch)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(go)} {(env)} {(GOHOSTARCH)})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [1460 1466]
                              )
                            }
                          spids: [1459]
                        )
                      ]
                      spids: [1459]
                    )
                  ]
                  spids: [16777215 1456]
                )
              ]
              spids: [16777215 1469]
            )
            (C {(echo)} {(DQ ($ VSub_Name '$os') (/) ($ VSub_Name '$arch'))})
          ]
          spids: [1392]
        )
      spids: [1382 1391]
    )
    (FuncDef
      name: 'kube::golang::set_platform_envs'
      body: 
        (BraceGroup
          children: [
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_n
                      child: 
                        {
                          (BracedVarSub
                            token: <VSub_Number 1>
                            suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                            spids: [1507 1510]
                          )
                        }
                    )
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (error_exit)
                      } {(DQ ('!!! Internal error. No platform set in kube::golang::set_platform_envs'))}
                    )
                  ]
                  spids: [1516]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(export)} 
              {(Lit_VarLike 'GOOS=') 
                (BracedVarSub
                  token: <VSub_Name platform>
                  suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
                  spids: [1539 1544]
                )
              }
            )
            (C {(export)} 
              {(Lit_VarLike 'GOARCH=') 
                (BracedVarSub
                  token: <VSub_Name platform>
                  suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{('*') (Lit_Slash /)})
                  spids: [1550 1555]
                )
              }
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C 
                                            {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                              (Lit_Other ':') (Lit_Other ':') (host_platform)
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1567 1575]
                                  )
                                }
                              right: {(DQ (linux/amd64))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Case
                      to_match: {(DQ (${ VSub_Name platform))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ (linux/arm))}]
                          action: [
                            (C {(export)} {(Lit_VarLike 'CGO_ENABLED=') (1)})
                            (C {(export)} {(Lit_VarLike 'CC=') (arm-linux-gnueabihf-gcc)})
                          ]
                          spids: [1609 1611 1626 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/arm64))}]
                          action: [
                            (C {(export)} {(Lit_VarLike 'CGO_ENABLED=') (1)})
                            (C {(export)} {(Lit_VarLike 'CC=') (aarch64-linux-gnu-gcc)})
                          ]
                          spids: [1630 1632 1647 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/ppc64le))}]
                          action: [
                            (C {(export)} {(Lit_VarLike 'CGO_ENABLED=') (1)})
                            (C {(export)} {(Lit_VarLike 'CC=') (powerpc64le-linux-gnu-gcc)})
                          ]
                          spids: [1651 1653 1668 16777215]
                        )
                        (case_arm
                          pat_list: [{(DQ (linux/s390x))}]
                          action: [
                            (C {(export)} {(Lit_VarLike 'CGO_ENABLED=') (1)})
                            (C {(export)} {(Lit_VarLike 'CC=') (s390x-linux-gnu-gcc)})
                          ]
                          spids: [1672 1674 1689 16777215]
                        )
                      ]
                      spids: [1597 1605 1692]
                    )
                  ]
                  spids: [16777215 1586]
                )
              ]
              spids: [16777215 1695]
            )
          ]
          spids: [1500]
        )
      spids: [1490 1499]
    )
    (FuncDef
      name: 'kube::golang::unset_platform_envs'
      body: 
        (BraceGroup
          children: [
            (C {(unset)} {(GOOS)})
            (C {(unset)} {(GOARCH)})
            (C {(unset)} {(GOROOT)})
            (C {(unset)} {(CGO_ENABLED)})
            (C {(unset)} {(CC)})
          ]
          spids: [1710]
        )
      spids: [1700 1709]
    )
    (FuncDef
      name: 'kube::golang::create_gopath_tree'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_pkg_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE))}
                  spids: [1758]
                )
              ]
              spids: [1756]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_pkg_basedir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(dirname)} {(DQ (${ VSub_Name go_pkg_dir))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [1773 1781]
                      )
                    }
                  spids: [1772]
                )
              ]
              spids: [1770]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name go_pkg_basedir))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_e
                                      child: {(DQ (${ VSub_Name go_pkg_dir))}
                                    )
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [(C {(readlink)} {(${ VSub_Name go_pkg_dir)})]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [1818 1824]
                                        )
                                      )
                                    }
                                  right: {(DQ (${ VSub_Name KUBE_ROOT))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(ln)} {(-snf)} {(DQ (${ VSub_Name KUBE_ROOT))} {(DQ (${ VSub_Name go_pkg_dir))})
                  ]
                  spids: [16777215 1838]
                )
              ]
              spids: [16777215 1858]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: 16777215
                  arg_word: {(DQ (${ VSub_Name KUBE_GOPATH) (/BUILD))}
                  spids: [1864]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: 16777215
                  body: 
                    {
                      (DQ 
                        (
'# This dummy BUILD file prevents Bazel from trying to descend through the\n'
                        ) ('# infinite loop created by the symlink at\n') ('# ') (${ VSub_Name go_pkg_dir) ('\n')
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [1872]
                )
              ]
            )
          ]
          spids: [1753]
        )
      spids: [1743 1752]
    )
    (FuncDef
      name: 'kube::golang::verify_go_version'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (CommandSubPart
                                      command_list: (CommandList children:[(C {(which)} {(go)})])
                                      left_token: <Left_CommandSub '$('>
                                      spids: [1909 1913]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                          (usage_from_stdin)
                        }
                      ]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ("Can't find 'go' in PATH, please fix and retry.\n") 
                                (
'See http://golang.org/doc/install for installation instructions.\n'
                                )
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [1930]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
                  ]
                  spids: [16777215 1919]
                )
              ]
              spids: [16777215 1942]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:go_version) op:Equal spids:[1948])]
              spids: [1946]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:go_version)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: (CommandList children:[(C {(go)} {(version)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [1953 1957]
                            )
                          }
                        ]
                      )
                    }
                  spids: [1951]
                )
              ]
              spids: [1951]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:minimum_go_version) op:Equal spids:[1963])]
              spids: [1961]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:minimum_go_version)
                  op: Equal
                  rhs: {(go1.8.3)}
                  spids: [1966]
                )
              ]
              spids: [1966]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: Redir_Less
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name go_version>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [1975 1980]
                                        )
                                      )
                                    }
                                  right: {(DQ (${ VSub_Name minimum_go_version))}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name go_version>
                                          bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)}))
                                          spids: [1994 1999]
                                        )
                                      )
                                    }
                                  right: {(DQ (devel))}
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                          (usage_from_stdin)
                        }
                      ]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: 16777215
                          body: 
                            {
                              (DQ ('Detected go version: ') 
                                (BracedVarSub
                                  token: <VSub_Name go_version>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  spids: [2026 2031]
                                ) ('.\n') ('Kubernetes requires ') (${ VSub_Name minimum_go_version) (' or greater.\n') ('Please install ') 
                                (${ VSub_Name minimum_go_version) (' or later.\n')
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2022]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)})
                  ]
                  spids: [16777215 2011]
                )
              ]
              spids: [16777215 2050]
            )
          ]
          spids: [1899]
        )
      spids: [1889 1898]
    )
    (FuncDef
      name: 'kube::golang::setup_env'
      body: 
        (BraceGroup
          children: [
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') 
                (verify_go_version)
              }
            )
            (C 
              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') 
                (create_gopath_tree)
              }
            )
            (C {(export)} {(Lit_VarLike 'GOPATH=') (DQ (${ VSub_Name KUBE_GOPATH))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name KUBE_EXTRA_GOPATH>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [2145 2148]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:GOPATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name GOPATH) (':') (${ VSub_Name KUBE_EXTRA_GOPATH))}
                          spids: [2156]
                        )
                      ]
                      spids: [2156]
                    )
                  ]
                  spids: [16777215 2153]
                )
              ]
              spids: [16777215 2168]
            )
            (C {(export)} 
              {(Lit_VarLike 'PATH=') (DQ (${ VSub_Name KUBE_GOPATH) ('/bin:') (${ VSub_Name PATH))}
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:subdir) op:Equal spids:[2209])]
              spids: [2207]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:subdir)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(kube) (Lit_Other ':') (Lit_Other ':') (realpath)} {(.)})
                                  (C {(sed)} {(DQ ('s|') ($ VSub_Name '$KUBE_ROOT') ('||'))})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2213 2230]
                      )
                    }
                  spids: [2212]
                )
              ]
              spids: [2212]
            )
            (C {(cd)} 
              {
                (DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE) (/) 
                  (${ VSub_Name subdir)
                )
              }
            )
            (C {(export)} 
              {(Lit_VarLike 'GOROOT=') 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})])
                  left_token: <Left_CommandSub '$('>
                  spids: [2258 2264]
                )
              }
            )
            (C {(unset)} {(GOBIN)})
            (C {(export)} {(Lit_VarLike 'GO15VENDOREXPERIMENT=') (1)})
          ]
          spids: [2101]
        )
      spids: [2091 2100]
    )
    (FuncDef
      name: 'kube::golang::place_bins'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[2329])]
              spids: [2327]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host_platform)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C 
                                {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                  (Lit_Other ':') (host_platform)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [2333 2341]
                      )
                    }
                  spids: [2332]
                )
              ]
              spids: [2332]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)}
                {(DQ ('Placing binaries'))}
              ]
              more_env: [(env_pair name:V val:{(2)} spids:[2345])]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[2364])]
              spids: [2362]
            )
            (ForEach
              iter_name: platform
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name KUBE_CLIENT_PLATFORMS>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [2374 2379]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platform_src)
                          op: Equal
                          rhs: 
                            {
                              (DQ (/) 
                                (BracedVarSub
                                  token: <VSub_Name platform>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)}
                                      replace: {(_)}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2399 2406]
                                )
                              )
                            }
                          spids: [2396]
                        )
                      ]
                      spids: [2394]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$platform')}
                                      right: {($ VSub_Name '$host_platform')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:platform_src)
                                  op: Equal
                                  rhs: {(DQ )}
                                  spids: [2426]
                                )
                              ]
                              spids: [2426]
                            )
                            (C {(rm)} {(-f)} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))})
                            (C {(ln)} {(-s)} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))}
                            )
                          ]
                          spids: [16777215 2423]
                        )
                      ]
                      spids: [16777215 2463]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:full_binpath_src)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin) (${ VSub_Name platform_src))}
                          spids: [2469]
                        )
                      ]
                      spids: [2467]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_d
                                      child: {(DQ (${ VSub_Name full_binpath_src))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))}
                            )
                            (C {(find)} {(DQ (${ VSub_Name full_binpath_src))} {(-maxdepth)} {(1)} 
                              {(-type)} {(f)} {(-exec)} {(rsync)} {(-pc)} {(Lit_LBrace '{') (Lit_RBrace '}')} 
                              {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(EscapedLiteralPart token:<Lit_EscapedChar '\\;'>)}
                            )
                          ]
                          spids: [16777215 2496]
                        )
                      ]
                      spids: [16777215 2554]
                    )
                  ]
                  spids: [2383 2557]
                )
              spids: [2372 2381]
            )
          ]
          spids: [2324]
        )
      spids: [2314 2323]
    )
    (FuncDef
      name: 'kube::golang::fallback_if_stdlib_not_installable'
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_root_dir)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [2578 2584]
                          )
                        }
                      spids: [2577]
                    )
                  ]
                  spids: [2575]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_host_os)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [2591 2597]
                          )
                        }
                      spids: [2590]
                    )
                  ]
                  spids: [2588]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:go_host_arch)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})])
                            left_token: <Left_CommandSub '$('>
                            spids: [2604 2610]
                          )
                        }
                      spids: [2603]
                    )
                  ]
                  spids: [2601]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:cgo_pkg_dir)
                      op: Equal
                      rhs: 
                        {(${ VSub_Name go_root_dir) (/pkg/) (${ VSub_Name go_host_os) (_) 
                          (${ VSub_Name go_host_arch) (_cgo)
                        }
                      spids: [2616]
                    )
                  ]
                  spids: [2614]
                )
              terminator: <Op_Semi ';'>
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-e)} {(${ VSub_Name cgo_pkg_dir)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 2646]
                )
              ]
              spids: [16777215 2655]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-w)} {(${ VSub_Name go_root_dir) (/pkg)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 2673]
                )
              ]
              spids: [16777215 2682]
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('+++ Warning: stdlib pkg with cgo flag not found.'))}
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
                  {
                    (DQ ('+++ Warning: stdlib pkg cannot be rebuilt since ') 
                      (${ VSub_Name go_root_dir) ('/pkg is not writable by ') 
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(whoami)})])
                        left_token: <Left_Backtick '`'>
                        spids: [2714 2716]
                      )
                    )
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {
                (DQ ('+++ Warning: Make ') (${ VSub_Name go_root_dir) ('/pkg writable for ') 
                  (CommandSubPart
                    command_list: (CommandList children:[(C {(whoami)})])
                    left_token: <Left_Backtick '`'>
                    spids: [2735 2737]
                  ) (' for a one-time stdlib install, Or')
                )
              }
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
                  {
                    (DQ 
                      (
"+++ Warning: Rebuild stdlib using the command 'CGO_ENABLED=0 go install -a -installsuffix cgo std'"
                      )
                    )
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} {(DQ ('+++ Falling back to go build, which is slower'))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_go_build)
                  op: Equal
                  rhs: {(true)}
                  spids: [2771]
                )
              ]
              spids: [2771]
            )
          ]
          spids: [2572]
        )
      spids: [2562 2571]
    )
    (FuncDef
      name: 'kube::golang::build_kube_toolchain'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:targets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(hack/cmd/teststale)}
                          {(vendor/github.com/jteeuwen/go-bindata/go-bindata)}
                        ]
                      )
                    }
                  spids: [2804]
                )
              ]
              spids: [2802]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[2820])]
              spids: [2818]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:binaries)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C 
                                      {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                        (Lit_Other ':') (binaries_from_targets)
                                      } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[2835 2840]))}
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub '$('>
                              spids: [2825 2842]
                            )
                          }
                        ]
                      )
                    }
                  spids: [2823]
                )
              ]
              spids: [2823]
            )
            (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status)} 
              {(DQ ('Building the toolchain targets:'))} {(DQ (BracedVarSub token:<VSub_Name binaries> bracket_op:(WholeArray op_id:Lit_At) spids:[2860 2865]))}
            )
            (C {(go)} {(install)} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name goflags>
                    bracket_op: (WholeArray op_id:Lit_At)
                    suffix_op: 
                      (StringUnary
                        op_id: VTest_ColonPlus
                        arg_word: 
                          {
                            (BracedVarSub
                              token: <VSub_Name goflags>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2880 2885]
                            )
                          }
                      )
                    spids: [2874 2886]
                  )
                )
              } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
              {
                (DQ 
                  (BracedVarSub
                    token: <VSub_Name binaries>
                    bracket_op: (WholeArray op_id:Lit_At)
                    suffix_op: 
                      (StringUnary
                        op_id: VTest_ColonPlus
                        arg_word: 
                          {
                            (BracedVarSub
                              token: <VSub_Name binaries>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [2918 2923]
                            )
                          }
                      )
                    spids: [2912 2924]
                  )
                )
              }
            )
          ]
          spids: [2799]
        )
      spids: [2789 2798]
    )
    (FuncDef
      name: 'kube::golang::output_filename_for_binary'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:binary)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [2951]
                )
              ]
              spids: [2949]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platform)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [2957]
                )
              ]
              spids: [2955]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:output_path)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin))}
                  spids: [2963]
                )
              ]
              spids: [2961]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {($ VSub_Name '$platform')}
                              right: {($ VSub_Name '$host_platform')}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:output_path)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name output_path) (/) 
                                (BracedVarSub
                                  token: <VSub_Name platform>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(EscapedLiteralPart token:<Lit_EscapedChar '\\/'>)}
                                      replace: {(_)}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2994 3001]
                                )
                              )
                            }
                          spids: [2988]
                        )
                      ]
                      spids: [2988]
                    )
                  ]
                  spids: [16777215 2985]
                )
              ]
              spids: [16777215 3005]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:bin)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(basename)} {(DQ (${ VSub_Name binary))})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [3011 3019]
                      )
                    }
                  spids: [3010]
                )
              ]
              spids: [3008]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name GOOS)}
                              right: {(DQ (windows))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:bin)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name bin) (.exe))}
                          spids: [3042]
                        )
                      ]
                      spids: [3042]
                    )
                  ]
                  spids: [16777215 3039]
                )
              ]
              spids: [16777215 3051]
            )
            (C {(echo)} {(DQ (${ VSub_Name output_path) (/) (${ VSub_Name bin))})
          ]
          spids: [2946]
        )
      spids: [2936 2945]
    )
    (FuncDef
      name: 'kube::golang::build_binaries_for_platform'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:platform)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [3084]
                )
              ]
              spids: [3082]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_go_build)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{})
                        spids: [3091 3094]
                      )
                    }
                  spids: [3090]
                )
              ]
              spids: [3088]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:statics)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3102]
                )
              ]
              spids: [3098]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:nonstatics)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3111]
                )
              ]
              spids: [3107]
            )
            (Assignment
              keyword: Assign_Local
              flags: [-a]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tests)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [3120]
                )
              ]
              spids: [3116]
            )
            (SimpleCommand
              words: [
                {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (info)}
                {
                  (DQ ('Env for ') (${ VSub_Name platform) (': GOOS=') 
                    (BracedVarSub
                      token: <VSub_Name GOOS>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3143 3146]
                    ) (' GOARCH=') 
                    (BracedVarSub
                      token: <VSub_Name GOARCH>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3148 3151]
                    ) (' GOROOT=') 
                    (BracedVarSub
                      token: <VSub_Name GOROOT>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3153 3156]
                    ) (' CGO_ENABLED=') 
                    (BracedVarSub
                      token: <VSub_Name CGO_ENABLED>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3158 3161]
                    ) (' CC=') 
                    (BracedVarSub
                      token: <VSub_Name CC>
                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                      spids: [3163 3166]
                    )
                  )
                }
              ]
              more_env: [(env_pair name:V val:{(2)} spids:[3126])]
            )
            (ForEach
              iter_name: binary
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name binaries>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [3178 3183]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_EqualTilde
                                      left: {(DQ (${ VSub_Name binary))}
                                      right: {(DQ (.test)) (Lit_Other '$')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:tests)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$binary')}])}
                                  spids: [3213]
                                )
                              ]
                              spids: [3213]
                            )
                          ]
                          spids: [16777215 3210]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                                    (Lit_Other ':') (is_statically_linked_library)
                                  } {(DQ (${ VSub_Name binary))}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:statics)
                                  op: PlusEqual
                                  rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$binary')}])}
                                  spids: [3239]
                                )
                              ]
                              spids: [3239]
                            )
                          ]
                          spids: [3219 3236]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:nonstatics)
                              op: PlusEqual
                              rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$binary')}])}
                              spids: [3248]
                            )
                          ]
                          spids: [3248]
                        )
                      ]
                      spids: [3245 3254]
                    )
                  ]
                  spids: [3187 3257]
                )
              spids: [3176 3185]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name statics>
                                      prefix_op: VSub_Pound
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [3266 3272]
                                    )
                                  )
                                }
                              right: {(0)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') 
                            (Lit_Other ':') (fallback_if_stdlib_not_installable)
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 3282]
                )
              ]
              spids: [16777215 3295]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name use_go_build>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [3305 3308]
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (progress)
                      } {(DQ ('    '))}
                    )
                    (ForEach
                      iter_name: binary
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name statics>
                              bracket_op: (WholeArray op_id:Lit_At)
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonPlus
                                  arg_word: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name statics>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3342 3347]
                                      )
                                    }
                                )
                              spids: [3336 3348]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:outfile)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                  (Lit_Other ':') (Lit_Other ':') (output_filename_for_binary)
                                                } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3358 3378]
                                      )
                                    }
                                  spids: [3357]
                                )
                              ]
                              spids: [3355]
                            )
                            (SimpleCommand
                              words: [
                                {(go)}
                                {(build)}
                                {(-o)}
                                {(DQ (${ VSub_Name outfile))}
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonPlus
                                          arg_word: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name goflags>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [3405 3410]
                                              )
                                            }
                                        )
                                      spids: [3399 3411]
                                    )
                                  )
                                }
                                {(-gcflags)}
                                {(DQ (${ VSub_Name gogcflags))}
                                {(-ldflags)}
                                {(DQ (${ VSub_Name goldflags))}
                                {(DQ (${ VSub_Name binary))}
                              ]
                              more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3381])]
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (progress)
                              } {(DQ ('*'))}
                            )
                          ]
                          spids: [3352 3456]
                        )
                      spids: [3334 3350]
                    )
                    (ForEach
                      iter_name: binary
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name nonstatics>
                              bracket_op: (WholeArray op_id:Lit_At)
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonPlus
                                  arg_word: 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name nonstatics>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3472 3477]
                                      )
                                    }
                                )
                              spids: [3466 3478]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:outfile)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                  (Lit_Other ':') (Lit_Other ':') (output_filename_for_binary)
                                                } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [3488 3508]
                                      )
                                    }
                                  spids: [3487]
                                )
                              ]
                              spids: [3485]
                            )
                            (C {(go)} {(build)} {(-o)} {(DQ (${ VSub_Name outfile))} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name goflags>
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    suffix_op: 
                                      (StringUnary
                                        op_id: VTest_ColonPlus
                                        arg_word: 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name goflags>
                                              bracket_op: (WholeArray op_id:Lit_At)
                                              spids: [3532 3537]
                                            )
                                          }
                                      )
                                    spids: [3526 3538]
                                  )
                                )
                              } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                              {(DQ (${ VSub_Name binary))}
                            )
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (progress)
                              } {(DQ ('*'))}
                            )
                          ]
                          spids: [3482 3583]
                        )
                      spids: [3464 3480]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (progress)
                      } {(DQ (Lit_Other '\\') (n))}
                    )
                  ]
                  spids: [16777215 3313]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name nonstatics>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3612 3618]
                                        )
                                      )
                                    }
                                  right: {(0)}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(go)} {(install)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name goflags>
                                bracket_op: (WholeArray op_id:Lit_At)
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonPlus
                                    arg_word: 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name goflags>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3642 3647]
                                        )
                                      }
                                  )
                                spids: [3636 3648]
                              )
                            )
                          } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name nonstatics>
                                bracket_op: (WholeArray op_id:Lit_At)
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonPlus
                                    arg_word: 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name nonstatics>
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3680 3685]
                                        )
                                      }
                                  )
                                spids: [3674 3686]
                              )
                            )
                          }
                        )
                      ]
                      spids: [16777215 3628]
                    )
                  ]
                  spids: [16777215 3690]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name statics>
                                          prefix_op: VSub_Pound
                                          bracket_op: (WholeArray op_id:Lit_At)
                                          spids: [3698 3704]
                                        )
                                      )
                                    }
                                  right: {(0)}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [
                            {(go)}
                            {(install)}
                            {(-installsuffix)}
                            {(cgo)}
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name goflags>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name goflags>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3735 3740]
                                          )
                                        }
                                    )
                                  spids: [3729 3741]
                                )
                              )
                            }
                            {(-gcflags)}
                            {(DQ (${ VSub_Name gogcflags))}
                            {(-ldflags)}
                            {(DQ (${ VSub_Name goldflags))}
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name statics>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name statics>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [3773 3778]
                                          )
                                        }
                                    )
                                  spids: [3767 3779]
                                )
                              )
                            }
                          ]
                          more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3717])]
                        )
                      ]
                      spids: [16777215 3714]
                    )
                  ]
                  spids: [16777215 3783]
                )
              ]
              spids: [3600 3786]
            )
            (ForEach
              iter_name: test
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name tests>
                      bracket_op: (WholeArray op_id:Lit_At)
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_ColonPlus
                          arg_word: 
                            {
                              (BracedVarSub
                                token: <VSub_Name tests>
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [3803 3808]
                              )
                            }
                        )
                      spids: [3797 3809]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:outfile)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                          (Lit_Other ':') (Lit_Other ':') (output_filename_for_binary)
                                        } {(DQ (${ VSub_Name test))} {(DQ (${ VSub_Name platform))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [3819 3841]
                              )
                            }
                          spids: [3818]
                        )
                      ]
                      spids: [3816]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:testpkg)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(dirname)} {(${ VSub_Name test)})]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [3849 3855]
                                )
                              )
                            }
                          spids: [3847]
                        )
                      ]
                      spids: [3845]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (AndOr
                              children: [
                                (C {(test)} {(-x)} {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))})
                                (Pipeline
                                  children: [
                                    (C {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))} {(-binary)} 
                                      {(DQ (${ VSub_Name outfile))} {(-package)} {(DQ (${ VSub_Name testpkg))}
                                    )
                                  ]
                                  negated: True
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                          spids: [16777215 3933]
                        )
                      ]
                      spids: [16777215 3939]
                    )
                    (C {(go)} {(install)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name goflags>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonPlus
                                arg_word: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [3982 3987]
                                    )
                                  }
                              )
                            spids: [3976 3988]
                          )
                        )
                      } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} 
                      {(DQ (${ VSub_Name testpkg))}
                    )
                    (C {(mkdir)} {(-p)} 
                      {
                        (DQ 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [(C {(dirname)} {(${ VSub_Name outfile)})]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4026 4032]
                          )
                        )
                      }
                    )
                    (C {(go)} {(test)} {(-i)} {(-c)} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name goflags>
                            bracket_op: (WholeArray op_id:Lit_At)
                            suffix_op: 
                              (StringUnary
                                op_id: VTest_ColonPlus
                                arg_word: 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name goflags>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [4053 4058]
                                    )
                                  }
                              )
                            spids: [4047 4059]
                          )
                        )
                      } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(-o)} 
                      {(DQ (${ VSub_Name outfile))} {(DQ (${ VSub_Name testpkg))}
                    )
                  ]
                  spids: [3813 4101]
                )
              spids: [3795 3811]
            )
          ]
          spids: [3079]
        )
      spids: [3069 3078]
    )
    (FuncDef
      name: 'kube::golang::get_physmem'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:mem) op:Equal spids:[4124])]
              spids: [4122]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(grep)} {(MemAvailable)} {(/proc/meminfo)})
                                              (C {(awk)} {(SQ <'{ print $2 }'>)})
                                            ]
                                            negated: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4135 4149]
                                  )
                                }
                              spids: [4134]
                            )
                          ]
                          spids: [4134]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1048576)})
                            )
                          spids: [4157 4168]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 4152]
                )
              ]
              spids: [16777215 4174]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(grep)} {(MemTotal)} {(/proc/meminfo)})
                                              (C {(awk)} {(SQ <'{ print $2 }'>)})
                                            ]
                                            negated: False
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4185 4199]
                                  )
                                }
                              spids: [4184]
                            )
                          ]
                          spids: [4184]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1048576)})
                            )
                          spids: [4207 4218]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 4202]
                )
              ]
              spids: [16777215 4224]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mem)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [{(sysctl)} {(-n)} {(hw.memsize)}]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [4254]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4247 4256]
                                  )
                                }
                              spids: [4246]
                            )
                          ]
                          spids: [4246]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (ArithSubPart
                          anode: 
                            (ArithBinary
                              op_id: Arith_Slash
                              left: (ArithWord w:{(${ VSub_Name mem)})
                              right: (ArithWord w:{(Lit_Digits 1073741824)})
                            )
                          spids: [4264 4275]
                        )
                      }
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 4259]
                )
              ]
              spids: [16777215 4281]
            )
            (C {(echo)} {(1)})
          ]
          spids: [4119]
        )
      spids: [4109 4118]
    )
    (FuncDef
      name: 'kube::golang::build_binaries'
      body: 
        (BraceGroup
          children: [
            (Subshell
              child: 
                (CommandList
                  children: [
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') 
                        (setup_env)
                      }
                    )
                    (SimpleCommand
                      words: [
                        {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                          (info)
                        }
                        {
                          (DQ ('Go version: ') 
                            (CommandSubPart
                              command_list: (CommandList children:[(C {(go)} {(version)})])
                              left_token: <Left_CommandSub '$('>
                              spids: [4363 4367]
                            )
                          )
                        }
                      ]
                      more_env: [(env_pair name:V val:{(2)} spids:[4350])]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[4374])]
                      spids: [4372]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:host_platform)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C 
                                        {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                          (Lit_Other ':') (Lit_Other ':') (host_platform)
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4378 4386]
                              )
                            }
                          spids: [4377]
                        )
                      ]
                      spids: [4377]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:goflags)
                          op: Equal
                          spids: [4396]
                        )
                        (assign_pair
                          lhs: (LhsName name:goldflags)
                          op: Equal
                          spids: [4398]
                        )
                        (assign_pair
                          lhs: (LhsName name:gogcflags)
                          op: Equal
                          spids: [4400]
                        )
                      ]
                      spids: [4394]
                    )
                    (C {(eval)} 
                      {
                        (DQ ('goflags=(') 
                          (BracedVarSub
                            token: <VSub_Name GOFLAGS>
                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                            spids: [4407 4410]
                          ) (')')
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:goldflags)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name GOLDFLAGS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [4417 4420]
                                ) (' ') 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C 
                                          {(kube) (Lit_Other ':') (Lit_Other ':') (version) 
                                            (Lit_Other ':') (Lit_Other ':') (ldflags)
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [4422 4430]
                                )
                              )
                            }
                          spids: [4415]
                        )
                      ]
                      spids: [4415]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gogcflags)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name GOGCFLAGS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [4436 4439]
                                )
                              )
                            }
                          spids: [4434]
                        )
                      ]
                      spids: [4434]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:use_go_build) op:Equal spids:[4446])]
                      spids: [4444]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: [-a]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:targets)
                          op: Equal
                          rhs: {(ArrayLiteralPart)}
                          spids: [4453]
                        )
                      ]
                      spids: [4449]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal spids:[4460])]
                      spids: [4458]
                    )
                    (ForEach
                      iter_name: arg
                      do_arg_iter: True
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name arg))}
                                              right: {(DQ (--use_go_build))}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:use_go_build)
                                          op: Equal
                                          rhs: {(true)}
                                          spids: [4494]
                                        )
                                      ]
                                      spids: [4494]
                                    )
                                  ]
                                  spids: [16777215 4491]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name arg))}
                                              right: {(-) (Lit_Other '*')}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:goflags)
                                          op: PlusEqual
                                          rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])}
                                          spids: [4523]
                                        )
                                      ]
                                      spids: [4523]
                                    )
                                  ]
                                  spids: [4498 4516]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:targets)
                                      op: PlusEqual
                                      rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])}
                                      spids: [4536]
                                    )
                                  ]
                                  spids: [4536]
                                )
                              ]
                              spids: [4533 4546]
                            )
                          ]
                          spids: [4469 4549]
                        )
                      spids: [16777215 16777215]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_eq
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name targets>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4557 4563]
                                          )
                                        }
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:targets)
                                  op: Equal
                                  rhs: 
                                    {
                                      (ArrayLiteralPart
                                        words: [
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name KUBE_ALL_TARGETS>
                                                bracket_op: (WholeArray op_id:Lit_At)
                                                spids: [4578 4583]
                                              )
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [4575]
                                )
                              ]
                              spids: [4575]
                            )
                          ]
                          spids: [16777215 4572]
                        )
                      ]
                      spids: [16777215 4588]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: [-a]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:platforms)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BUILD_PLATFORMS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4598 4601]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [4596]
                        )
                      ]
                      spids: [4592]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_eq
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name platforms>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4609 4615]
                                          )
                                        }
                                      right: {(0)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:platforms)
                                  op: Equal
                                  rhs: 
                                    {(ArrayLiteralPart words:[{(DQ (${ VSub_Name host_platform))}])}
                                  spids: [4627]
                                )
                              ]
                              spids: [4627]
                            )
                          ]
                          spids: [16777215 4624]
                        )
                      ]
                      spids: [16777215 4637]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[4643])]
                      spids: [4641]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:binaries)
                          op: Equal
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C 
                                              {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                (Lit_Other ':') (Lit_Other ':') (binaries_from_targets)
                                              } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[4658 4663]))}
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub '$('>
                                      spids: [4648 4665]
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [4646]
                        )
                      ]
                      spids: [4646]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:parallel)
                          op: Equal
                          rhs: {(false)}
                          spids: [4672]
                        )
                      ]
                      spids: [4670]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_gt
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name platforms>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4680 4686]
                                          )
                                        }
                                      right: {(1)}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              pairs: [(assign_pair lhs:(LhsName name:gigs) op:Equal spids:[4700])]
                              spids: [4698]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:gigs)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C 
                                                {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                  (Lit_Other ':') (Lit_Other ':') (get_physmem)
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [4704 4712]
                                      )
                                    }
                                  spids: [4703]
                                )
                              ]
                              spids: [4703]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_ge
                                              left: {(${ VSub_Name gigs)}
                                              right: {(${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY)}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C 
                                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                        (Lit_Other ':') (status)
                                      } 
                                      {
                                        (DQ ('Multiple platforms requested and available ') 
                                          (${ VSub_Name gigs) ('G >= threshold ') (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ('G, building platforms in parallel')
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:parallel)
                                          op: Equal
                                          rhs: {(true)}
                                          spids: [4757]
                                        )
                                      ]
                                      spids: [4757]
                                    )
                                  ]
                                  spids: [16777215 4733]
                                )
                              ]
                              else_action: [
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                    (Lit_Other ':') (status)
                                  } 
                                  {
                                    (DQ ('Multiple platforms requested, but available ') 
                                      (${ VSub_Name gigs) ('G < threshold ') (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ('G, building platforms in serial')
                                    )
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:parallel)
                                      op: Equal
                                      rhs: {(false)}
                                      spids: [4785]
                                    )
                                  ]
                                  spids: [4785]
                                )
                              ]
                              spids: [4761 4789]
                            )
                          ]
                          spids: [16777215 4695]
                        )
                      ]
                      spids: [16777215 4792]
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') 
                        (build_kube_toolchain)
                      }
                    )
                    (C 
                      {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') 
                        (status)
                      } {(DQ ('Generating bindata:'))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name KUBE_BINDATAS>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4823 4828]
                          )
                        )
                      }
                    )
                    (ForEach
                      iter_name: bindata
                      iter_words: [
                        {
                          (BracedVarSub
                            token: <VSub_Name KUBE_BINDATAS>
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [4838 4843]
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_f
                                              child: 
                                                {
                                                  (DQ (${ VSub_Name KUBE_ROOT) (/) 
                                                    (${ VSub_Name bindata)
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(go)} {(generate)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name goflags>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_ColonPlus
                                                arg_word: 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name goflags>
                                                      bracket_op: (WholeArray op_id:Lit_At)
                                                      spids: [4890 4895]
                                                    )
                                                  }
                                              )
                                            spids: [4884 4896]
                                          )
                                        )
                                      } {(DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name bindata))}
                                    )
                                  ]
                                  spids: [16777215 4876]
                                )
                              ]
                              spids: [16777215 4910]
                            )
                          ]
                          spids: [4846 4913]
                        )
                      spids: [4837 4844]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name parallel))}
                                      right: {(DQ (true))}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                (Lit_Other ':') (status)
                              } 
                              {
                                (DQ ('Building go targets for {') 
                                  (BracedVarSub
                                    token: <VSub_Name platforms>
                                    bracket_op: (WholeArray op_id:Arith_Star)
                                    spids: [4949 4954]
                                  ) ('} in parallel (output will appear in a burst when complete):')
                                )
                              } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[4959 4964]))}
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4970])]
                              spids: [4968]
                            )
                            (ForEach
                              iter_name: platform
                              iter_words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name platforms>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [4980 4985]
                                    )
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (Sentence
                                      child: 
                                        (Subshell
                                          child: 
                                            (CommandList
                                              children: [
                                                (C 
                                                  {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                    (Lit_Other ':') (Lit_Other ':') (set_platform_envs)
                                                  } {(DQ (${ VSub_Name platform))}
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) 
                                                    (Lit_Other ':') (Lit_Other ':') (status)
                                                  } {(DQ (${ VSub_Name platform) (': go build started'))}
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                                    (Lit_Other ':') (Lit_Other ':') (build_binaries_for_platform)
                                                  } {(${ VSub_Name platform)} 
                                                  {
                                                    (BracedVarSub
                                                      token: <VSub_Name use_go_build>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {}
                                                        )
                                                      spids: [5037 5040]
                                                    )
                                                  }
                                                )
                                                (C 
                                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) 
                                                    (Lit_Other ':') (Lit_Other ':') (status)
                                                  } {(DQ (${ VSub_Name platform) (': go build finished'))}
                                                )
                                              ]
                                            )
                                          spids: [4991 5059]
                                        )
                                      terminator: <Op_Amp '&'>
                                    )
                                    (Sentence
                                      child: 
                                        (SimpleCommand
                                          redirects: [
                                            (Redir
                                              op_id: Redir_Great
                                              fd: 16777215
                                              arg_word: 
                                                {
                                                  (DQ (/tmp//) 
                                                    (BracedVarSub
                                                      token: <VSub_Name platform>
                                                      suffix_op: 
                                                        (PatSub
                                                          pat: 
                                                            {
                                                              (EscapedLiteralPart
                                                                token: <Lit_EscapedChar '\\/'>
                                                              )
                                                            }
                                                          replace: {(_)}
                                                          do_all: True
                                                          do_prefix: False
                                                          do_suffix: False
                                                        )
                                                      spids: [5066 5073]
                                                    ) (.build)
                                                  )
                                                }
                                              spids: [5062]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Amp '&'>
                                    )
                                  ]
                                  spids: [4989 5080]
                                )
                              spids: [4978 4987]
                            )
                            (Assignment
                              keyword: Assign_Local
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:fails)
                                  op: Equal
                                  rhs: {(0)}
                                  spids: [5086]
                                )
                              ]
                              spids: [5084]
                            )
                            (ForEach
                              iter_name: job
                              iter_words: [
                                {
                                  (CommandSubPart
                                    command_list: (CommandList children:[(C {(jobs)} {(-p)})])
                                    left_token: <Left_CommandSub '$('>
                                    spids: [5096 5100]
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (AndOr
                                      children: [
                                        (C {(wait)} {(${ VSub_Name job)})
                                        (C {(let)} {(DQ ('fails+=1'))})
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  spids: [5103 5121]
                                )
                              spids: [5095 5101]
                            )
                            (ForEach
                              iter_name: platform
                              iter_words: [
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name platforms>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      spids: [5132 5137]
                                    )
                                  )
                                }
                              ]
                              do_arg_iter: False
                              body: 
                                (DoGroup
                                  children: [
                                    (C {(cat)} 
                                      {
                                        (DQ (/tmp//) 
                                          (BracedVarSub
                                            token: <VSub_Name platform>
                                            suffix_op: 
                                              (PatSub
                                                pat: 
                                                  {
                                                    (EscapedLiteralPart
                                                      token: <Lit_EscapedChar '\\/'>
                                                    )
                                                  }
                                                replace: {(_)}
                                                do_all: True
                                                do_prefix: False
                                                do_suffix: False
                                              )
                                            spids: [5148 5155]
                                          ) (.build)
                                        )
                                      }
                                    )
                                  ]
                                  spids: [5141 5160]
                                )
                              spids: [5130 5139]
                            )
                            (C {(exit)} {(${ VSub_Name fails)})
                          ]
                          spids: [16777215 4936]
                        )
                      ]
                      else_action: [
                        (ForEach
                          iter_name: platform
                          iter_words: [
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name platforms>
                                  bracket_op: (WholeArray op_id:Lit_At)
                                  spids: [5181 5186]
                                )
                              )
                            }
                          ]
                          do_arg_iter: False
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') 
                                    (Lit_Other ':') (status)
                                  } {(DQ ('Building go targets for ') (${ VSub_Name platform) (':'))} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name targets>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [5210 5215]
                                      )
                                    )
                                  }
                                )
                                (Subshell
                                  child: 
                                    (CommandList
                                      children: [
                                        (C 
                                          {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                            (Lit_Other ':') (Lit_Other ':') (set_platform_envs)
                                          } {(DQ (${ VSub_Name platform))}
                                        )
                                        (C 
                                          {(kube) (Lit_Other ':') (Lit_Other ':') (golang) 
                                            (Lit_Other ':') (Lit_Other ':') (build_binaries_for_platform)
                                          } {(${ VSub_Name platform)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name use_go_build>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [5249 5252]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  spids: [5219 5255]
                                )
                              ]
                              spids: [5190 5258]
                            )
                          spids: [5179 5188]
                        )
                      ]
                      spids: [5171 5261]
                    )
                  ]
                )
              spids: [4334 5264]
            )
          ]
          spids: [4327]
        )
      spids: [4317 4326]
    )
  ]
)