(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [45 53]
              ) (/../..)
            }
          spids: [44]
        )
      ]
      spids: [44]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:focus)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name FOCUS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [67 72]
              )
            }
          spids: [66]
        )
      ]
      spids: [66]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:skip)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name SKIP>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_Hyphen
                    arg_word: 
                      {
                        (DQ (Lit_Other '\\') ('[Flaky') (Lit_Other '\\') (']|') (Lit_Other '\\') ('[Slow') 
                          (Lit_Other '\\') (']|') (Lit_Other '\\') ('[Serial') (Lit_Other '\\') (']')
                        )
                      }
                  )
                spids: [75 92]
              )
            }
          spids: [74]
        )
      ]
      spids: [74]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:parallelism)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name PARALLELISM>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(8)})
                spids: [113 117]
              )
            }
          spids: [112]
        )
      ]
      spids: [112]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:artifacts)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name ARTIFACTS>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (DQ (/tmp/_artifacts/) 
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(date)} 
                                    {(Lit_Other '+') (Lit_Other '%') (y) (Lit_Other '%') (m) 
                                      (Lit_Other '%') (dT) (Lit_Other '%') (H) (Lit_Other '%') (M) (Lit_Other '%') (S)
                                    }
                                  )
                                ]
                              )
                            left_token: <Left_Backtick '`'>
                            spids: [125 141]
                          )
                        )
                      }
                  )
                spids: [120 143]
              )
            }
          spids: [119]
        )
      ]
      spids: [119]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:remote)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name REMOTE>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (false))})
                spids: [146 152]
              )
            }
          spids: [145]
        )
      ]
      spids: [145]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:runtime)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name RUNTIME>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (docker))})
                spids: [155 161]
              )
            }
          spids: [154]
        )
      ]
      spids: [154]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:container_runtime_endpoint)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name CONTAINER_RUNTIME_ENDPOINT>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [164 169]
              )
            }
          spids: [163]
        )
      ]
      spids: [163]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:image_service_endpoint)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name IMAGE_SERVICE_ENDPOINT>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [172 177]
              )
            }
          spids: [171]
        )
      ]
      spids: [171]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:run_until_failure)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name RUN_UNTIL_FAILURE>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (false))})
                spids: [180 186]
              )
            }
          spids: [179]
        )
      ]
      spids: [179]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:test_args)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name TEST_ARGS>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                spids: [189 194]
              )
            }
          spids: [188]
        )
      ]
      spids: [188]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:system_spec_name)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name SYSTEM_SPEC_NAME>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                spids: [197 200]
              )
            }
          spids: [196]
        )
      ]
      spids: [196]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ginkgoflags) op:Equal rhs:{(DQ )} spids:[206])]
      spids: [206]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolBinary op_id:Redir_Great left:{($ VSub_Name '$parallelism')} right:{(1)})
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ginkgoflags)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$ginkgoflags') (' -nodes=') ($ VSub_Name '$parallelism') (' '))
                    }
                  spids: [226]
                )
              ]
              spids: [226]
            )
          ]
          spids: [16777215 223]
        )
      ]
      spids: [16777215 234]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Name '$focus')} right:{(DQ )})
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ginkgoflags)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$ginkgoflags') (' -focus=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$focus') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                      )
                    }
                  spids: [254]
                )
              ]
              spids: [254]
            )
          ]
          spids: [16777215 251]
        )
      ]
      spids: [16777215 264]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Name '$skip')} right:{(DQ )})
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ginkgoflags)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$ginkgoflags') (' -skip=') 
                        (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) ($ VSub_Name '$skip') (EscapedLiteralPart token:<Lit_EscapedChar '\\"'>) (' ')
                      )
                    }
                  spids: [284]
                )
              ]
              spids: [284]
            )
          ]
          spids: [16777215 281]
        )
      ]
      spids: [16777215 294]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobNEqual
                      left: {($ VSub_Name '$run_until_failure')}
                      right: {(DQ )}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ginkgoflags)
                  op: Equal
                  rhs: 
                    {
                      (DQ ($ VSub_Name '$ginkgoflags') (' -untilItFails=') 
                        ($ VSub_Name '$run_until_failure') (' ')
                      )
                    }
                  spids: [314]
                )
              ]
              spids: [314]
            )
          ]
          spids: [16777215 311]
        )
      ]
      spids: [16777215 322]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(DQ (${ VSub_Name artifacts))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Creating artifacts directory at ') (${ VSub_Name artifacts))})
            (C {(mkdir)} {(-p)} {(${ VSub_Name artifacts)})
          ]
          spids: [16777215 345]
        )
      ]
      spids: [16777215 366]
    )
    (C {(echo)} {(DQ ('Test artifacts will be written to ') (${ VSub_Name artifacts))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {($ VSub_Name '$remote')} {(Lit_Other '=')} {(true)} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:images)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name IMAGES>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                        spids: [400 405]
                      )
                    }
                  spids: [399]
                )
              ]
              spids: [399]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:hosts)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name HOSTS>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                        spids: [409 414]
                      )
                    }
                  spids: [408]
                )
              ]
              spids: [408]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image_project)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name IMAGE_PROJECT>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(DQ (kubernetes-node-e2e-images))}
                          )
                        spids: [418 424]
                      )
                    }
                  spids: [417]
                )
              ]
              spids: [417]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:metadata)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name INSTANCE_METADATA>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                        spids: [428 433]
                      )
                    }
                  spids: [427]
                )
              ]
              spids: [427]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:list_images)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name LIST_IMAGES>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                        spids: [437 441]
                      )
                    }
                  spids: [436]
                )
              ]
              spids: [436]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$list_images')}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(gcloud)} {(compute)} {(images)} {(list)} 
                          {(--project) (Lit_Other '=') (DQ (${ VSub_Name image_project))}
                        )
                        (C {(grep)} {(DQ (e2e-node))})
                      ]
                      negated: False
                    )
                    (C {(exit)} {(0)})
                  ]
                  spids: [16777215 459]
                )
              ]
              spids: [16777215 492]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gubernator)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name GUBERNATOR>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (false))})
                        spids: [496 502]
                      )
                    }
                  spids: [495]
                )
              ]
              spids: [495]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image_config_file)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name IMAGE_CONFIG_FILE>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )})
                        spids: [506 511]
                      )
                    }
                  spids: [505]
                )
              ]
              spids: [505]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Name '$hosts')}
                                  right: {(DQ )}
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$images')}
                                      right: {(DQ )}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {($ VSub_Name '$image_config_file')}
                                      right: {(DQ )}
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:image_project)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name IMAGE_PROJECT>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonHyphen
                                    arg_word: {(DQ (cos-cloud))}
                                  )
                                spids: [550 556]
                              )
                            }
                          spids: [549]
                        )
                      ]
                      spids: [549]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gci_image)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(gcloud)} {(compute)} {(images)} {(list)} {(--project)} 
                                        {($ VSub_Name '$image_project')} {(--no-standard-images)} {(--filter) (Lit_Other '=') (DQ ("name ~ 'cos-beta.*'"))} 
                                        {(--format) (Lit_Other '=') (DQ ('table[no-heading](name)'))}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [560 588]
                              )
                            }
                          spids: [559]
                        )
                      ]
                      spids: [559]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:images)
                          op: Equal
                          rhs: {($ VSub_Name '$gci_image')}
                          spids: [591]
                        )
                      ]
                      spids: [591]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:metadata)
                          op: Equal
                          rhs: 
                            {
                              (DQ ('user-data<') (${ VSub_Name KUBE_ROOT) 
                                (
'/test/e2e_node/jenkins/gci-init.yaml,gci-update-strategy=update_disabled'
                                )
                              )
                            }
                          spids: [595]
                        )
                      ]
                      spids: [595]
                    )
                  ]
                  spids: [16777215 546]
                )
              ]
              spids: [16777215 605]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:instance_prefix)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name INSTANCE_PREFIX>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (test))})
                        spids: [609 615]
                      )
                    }
                  spids: [608]
                )
              ]
              spids: [608]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cleanup)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name CLEANUP>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (true))})
                        spids: [619 625]
                      )
                    }
                  spids: [618]
                )
              ]
              spids: [618]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:delete_instances)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name DELETE_INSTANCES>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (false))})
                        spids: [629 635]
                      )
                    }
                  spids: [628]
                )
              ]
              spids: [628]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:zone)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(gcloud)} {(info)} 
                                {(--format) (Lit_Other '=') 
                                  (SQ <'value(config.properties.compute.zone)'>)
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [644 654]
                      )
                    }
                  spids: [643]
                )
              ]
              spids: [643]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolBinary op_id:BoolBinary_GlobDEqual left:{($ VSub_Name '$zone')} right:{(DQ )})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('Could not find gcloud compute/zone when running: ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("gcloud info --format='value(config.properties.compute.zone)'") 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                        )
                      }
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [16777215 671]
                )
              ]
              spids: [16777215 689]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:project)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(gcloud)} {(info)} 
                                {(--format) (Lit_Other '=') (SQ <'value(config.project)'>)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [698 708]
                      )
                    }
                  spids: [697]
                )
              ]
              spids: [697]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {($ VSub_Name '$project')}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ('Could not find gcloud project when running: ') 
                          (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>) ("gcloud info --format='value(config.project)'") (EscapedLiteralPart token:<Lit_EscapedChar '\\`'>)
                        )
                      }
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [16777215 725]
                )
              ]
              spids: [16777215 743]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolBinary op_id:BoolBinary_GlobNEqual left:{($ VSub_Name '$images')} right:{(DQ )})
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(read)} {(-ra)} {(IM)}]
                      redirects: [
                        (Redir
                          op_id: Redir_TLess
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$images'))}
                          spids: [783]
                        )
                      ]
                      more_env: [(env_pair name:IFS val:{(SQ <','>)} spids:[772])]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:images)
                          op: Equal
                          rhs: {(DQ )}
                          spids: [790]
                        )
                      ]
                      spids: [790]
                    )
                    (ForEach
                      iter_name: i
                      iter_words: [
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name IM>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [802 807]
                            )
                          )
                        }
                      ]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (WordTest
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (Pipeline
                                                            children: [
                                                              (C {(gcloud)} {(compute)} {(instances)} 
                                                                {(list)} {(DQ (${ VSub_Name instance_prefix) (-) ($ VSub_Name '$i'))}
                                                              )
                                                              (C {(grep)} {($ VSub_Name '$i')})
                                                            ]
                                                            negated: False
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [818 840]
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DBracket
                                                  expr: 
                                                    (BoolBinary
                                                      op_id: BoolBinary_GlobNEqual
                                                      left: {($ VSub_Name '$hosts')}
                                                      right: {(DQ )}
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:hosts)
                                                  op: Equal
                                                  rhs: {(DQ ($ VSub_Name '$hosts') (','))}
                                                  spids: [865]
                                                )
                                              ]
                                              spids: [865]
                                            )
                                          ]
                                          spids: [16777215 862]
                                        )
                                      ]
                                      spids: [16777215 872]
                                    )
                                    (C {(echo)} 
                                      {
                                        (DQ ('Reusing host ') (${ VSub_Name instance_prefix) (-) 
                                          ($ VSub_Name '$i')
                                        )
                                      }
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:hosts)
                                          op: Equal
                                          rhs: 
                                            {
                                              (DQ (${ VSub_Name hosts) (${ VSub_Name instance_prefix) 
                                                (-) (${ VSub_Name i)
                                              )
                                            }
                                          spids: [887]
                                        )
                                      ]
                                      spids: [887]
                                    )
                                  ]
                                  spids: [16777215 845]
                                )
                              ]
                              else_action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DBracket
                                              expr: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobNEqual
                                                  left: {($ VSub_Name '$images')}
                                                  right: {(DQ )}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:images)
                                              op: Equal
                                              rhs: {(DQ ($ VSub_Name '$images') (','))}
                                              spids: [922]
                                            )
                                          ]
                                          spids: [922]
                                        )
                                      ]
                                      spids: [16777215 919]
                                    )
                                  ]
                                  spids: [16777215 929]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:images)
                                      op: Equal
                                      rhs: {(DQ ($ VSub_Name '$images') ($ VSub_Name '$i'))}
                                      spids: [932]
                                    )
                                  ]
                                  spids: [932]
                                )
                              ]
                              spids: [902 939]
                            )
                          ]
                          spids: [811 942]
                        )
                      spids: [800 809]
                    )
                  ]
                  spids: [16777215 769]
                )
              ]
              spids: [16777215 945]
            )
            (C {(echo)} {(DQ ('Running tests remotely using'))})
            (C {(echo)} {(DQ ('Project: ') ($ VSub_Name '$project'))})
            (C {(echo)} {(DQ ('Image Project: ') ($ VSub_Name '$image_project'))})
            (C {(echo)} {(DQ ('Compute/Zone: ') ($ VSub_Name '$zone'))})
            (C {(echo)} {(DQ ('Images: ') ($ VSub_Name '$images'))})
            (C {(echo)} {(DQ ('Hosts: ') ($ VSub_Name '$hosts'))})
            (C {(echo)} {(DQ ('Ginkgo Flags: ') ($ VSub_Name '$ginkgoflags'))})
            (C {(echo)} {(DQ ('Instance Metadata: ') ($ VSub_Name '$metadata'))})
            (C {(echo)} {(DQ ('Image Config File: ') ($ VSub_Name '$image_config_file'))})
            (Pipeline
              children: [
                (SimpleCommand
                  words: [
                    {(go)}
                    {(run)}
                    {(test/e2e_node/runner/remote/run_remote.go)}
                    {(--logtostderr)}
                    {(--vmodule) (Lit_Other '=') (Lit_Other '*') (Lit_Other '=') (4)}
                    {(--ssh-env) (Lit_Other '=') (DQ (gce))}
                    {(--zone) (Lit_Other '=') (DQ ($ VSub_Name '$zone'))}
                    {(--project) (Lit_Other '=') (DQ ($ VSub_Name '$project'))}
                    {(--gubernator) (Lit_Other '=') (DQ ($ VSub_Name '$gubernator'))}
                    {(--hosts) (Lit_Other '=') (DQ ($ VSub_Name '$hosts'))}
                    {(--images) (Lit_Other '=') (DQ ($ VSub_Name '$images'))}
                    {(--cleanup) (Lit_Other '=') (DQ ($ VSub_Name '$cleanup'))}
                    {(--results-dir) (Lit_Other '=') (DQ ($ VSub_Name '$artifacts'))}
                    {(--ginkgo-flags) (Lit_Other '=') (DQ ($ VSub_Name '$ginkgoflags'))}
                    {(--image-project) (Lit_Other '=') (DQ ($ VSub_Name '$image_project'))}
                    {(--instance-name-prefix) (Lit_Other '=') (DQ ($ VSub_Name '$instance_prefix'))}
                    {(--delete-instances) (Lit_Other '=') (DQ ($ VSub_Name '$delete_instances'))}
                    {(--test_args) (Lit_Other '=') (DQ ($ VSub_Name '$test_args'))}
                    {(--instance-metadata) (Lit_Other '=') (DQ ($ VSub_Name '$metadata'))}
                    {(--image-config-file) (Lit_Other '=') (DQ ($ VSub_Name '$image_config_file'))}
                    {(--system-spec-name) (Lit_Other '=') (DQ ($ VSub_Name '$system_spec_name'))}
                  ]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1152])]
                )
                (C {(tee)} {(-i)} {(DQ (${ VSub_Name artifacts) (/build-log.txt))})
              ]
              negated: False
            )
            (C {(exit)} {($ VSub_QMark '$?')})
          ]
          spids: [16777215 392]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [(C {(ping)} {(-c)} {(1)} {(-q)} {(metadata.google.internal)})]
                      negated: True
                    )
                  terminator: <Op_Amp '&'>
                )
                (Sentence
                  child: 
                    (SimpleCommand
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/dev/null)}
                          spids: [1196]
                        )
                      ]
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(echo)} {(DQ ('Updating sudo credentials'))})
                (AndOr
                  children: [(C {(sudo)} {(-v)}) (C {(exit)} {(1)})]
                  op_id: Op_DPipe
                )
              ]
              spids: [16777215 1201]
            )
          ]
          spids: [16777215 1222]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:test_args)
              op: Equal
              rhs: 
                {(SQ <'--kubelet-flags="--network-plugin= --cni-bin-dir=" '>) 
                  ($ VSub_Name '$test_args')
                }
              spids: [1234]
            )
          ]
          spids: [1234]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:test_args)
              op: Equal
              rhs: 
                {(SQ <'--kubelet-flags="--container-runtime='>) ($ VSub_Name '$runtime') (SQ <'" '>) 
                  ($ VSub_Name '$test_args')
                }
              spids: [1246]
            )
          ]
          spids: [1246]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: {($ VSub_Name '$runtime')}
                          right: {(DQ (remote))}
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: {($ VSub_Name '$container_runtime_endpoint')}
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:test_args)
                              op: Equal
                              rhs: 
                                {(SQ <'--kubelet-flags="--container-runtime-endpoint='>) 
                                  ($ VSub_Name '$container_runtime_endpoint') (SQ <'" '>) ($ VSub_Name '$test_args')
                                }
                              spids: [1293]
                            )
                          ]
                          spids: [1293]
                        )
                      ]
                      spids: [16777215 1290]
                    )
                  ]
                  spids: [16777215 1304]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: {($ VSub_Name '$image_service_endpoint')}
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:test_args)
                              op: Equal
                              rhs: 
                                {(SQ <'--kubelet-flags="--image-service-endpoint='>) 
                                  ($ VSub_Name '$image_service_endpoint') (SQ <'" '>) ($ VSub_Name '$test_args')
                                }
                              spids: [1324]
                            )
                          ]
                          spids: [1324]
                        )
                      ]
                      spids: [16777215 1321]
                    )
                  ]
                  spids: [16777215 1335]
                )
              ]
              spids: [16777215 1273]
            )
          ]
          spids: [16777215 1338]
        )
        (Pipeline
          children: [
            (SimpleCommand
              words: [
                {(go)}
                {(run)}
                {(test/e2e_node/runner/local/run_local.go)}
                {(--system-spec-name) (Lit_Other '=') (DQ ($ VSub_Name '$system_spec_name'))}
                {(--ginkgo-flags) (Lit_Other '=') (DQ ($ VSub_Name '$ginkgoflags'))}
                {(--test-flags) (Lit_Other '=') 
                  (DQ ('--container-runtime=') (${ VSub_Name runtime) (' ') 
                    ('    --container-runtime-endpoint=') (${ VSub_Name container_runtime_endpoint) (' ') ('    --image-service-endpoint=') 
                    (${ VSub_Name image_service_endpoint) (' ') ('    --alsologtostderr --v 4 --report-dir=') (${ VSub_Name artifacts) (' --node-name ') 
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(hostname)})])
                      left_token: <Left_CommandSub '$('>
                      spids: [1398 1400]
                    ) (' ') ('    ') ($ VSub_Name '$test_args')
                  )
                }
                {(--build-dependencies) (Lit_Other '=') (true)}
              ]
              redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1411])]
            )
            (C {(tee)} {(-i)} {(DQ (${ VSub_Name artifacts) (/build-log.txt))})
          ]
          negated: False
        )
        (C {(exit)} {($ VSub_QMark '$?')})
      ]
      spids: [1174 1432]
    )
  ]
)