(command.CommandList
  children: [
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<errexit>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<nounset>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <set>
      more_env: []
      words: [{<set>} {<-o>} {<pipefail>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-dirs>
      name: create-dirs
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating required directories'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/var/lib/kubelet'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBERNETES_MASTER>
                                          var_name: KUBERNETES_MASTER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <false>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <mkdir>
                      more_env: []
                      words: [{<mkdir>} {<-p>} {<'/var/lib/kube-proxy'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [108 128]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-kube-controller-manager-dirs>
      name: create-kube-controller-manager-dirs
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [
                {<mkdir>}
                {<-p>}
                {<'/etc/srv/kubernetes'>}
                {<'/var/ssl'>}
                (word.BracedTree
                  parts: [<'/etc/'> (word_part.BracedTuple words:[{<ssl>} {<openssl>} {<pki>}])]
                )
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <safe-format-and-mount>
      name: safe-format-and-mount
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'device='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'device='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'device='> name:device)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 1)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'mountpoint='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'mountpoint='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mountpoint='> name:mountpoint)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_Number 2)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              negated: <Id.KW_Bang '!'>
                              children: [
                                (command.Simple
                                  blame_tok: <tune2fs>
                                  more_env: []
                                  words: [{<tune2fs>} {<-l>} {(DQ (${ Id.VSub_Name device))}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Formatting \''> (${ Id.VSub_Name device) <'\''>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mkfs.ext4>
                      more_env: []
                      words: [
                        {<mkfs.ext4>}
                        {<-F>}
                        {<-E>}
                        {<Id.Lit_VarLike 'lazy_itable_init='> <0> <Id.Lit_Comma ','> 
                          <Id.Lit_VarLike 'lazy_journal_init='> <0> <Id.Lit_Comma ','> <discard>
                        }
                        {(DQ (${ Id.VSub_Name device))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [207 223]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mountpoint))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'Mounting \''> (${ Id.VSub_Name device) <'\' at \''> (${ Id.VSub_Name mountpoint) 
                    <'\''>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mount>
              more_env: []
              words: [
                {<mount>}
                {<-o>}
                {<discard> <Id.Lit_Comma ','> <defaults>}
                {(DQ (${ Id.VSub_Name device))}
                {(DQ (${ Id.VSub_Name mountpoint))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <ensure-local-ssds>
      name: ensure-local-ssds
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [ssd]
              iterable: 
                (for_iter.Words
                  words: [{<'/dev/disk/by-id/google-local-ssd-'> <Id.Lit_Star '*'>}]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <Id.Lit_LBracket '['>
                                      more_env: []
                                      words: [
                                        {<Id.Lit_LBracket '['>}
                                        {<-e>}
                                        {(DQ (${ Id.VSub_Name ssd))}
                                        {<Id.Lit_RBracket ']'>}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'ssdnum='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'ssdnum='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ssdnum='> name:ssdnum)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (CommandSub
                                        left_token: <Id.Left_Backtick '`'>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (command.Simple
                                                blame_tok: <echo>
                                                more_env: []
                                                words: [{<echo>} {(${ Id.VSub_Name ssd)}]
                                                redirects: []
                                                do_fork: T
                                              )
                                              (command.Simple
                                                blame_tok: <sed>
                                                more_env: []
                                                words: [
                                                  {<sed>}
                                                  {<-e>}
                                                  {
                                                    (SQ 
                                                      <
's/\\/dev\\/disk\\/by-id\\/google-local-ssd-\\([0-9]*\\)/\\1/'
                                                      >
                                                    )
                                                  }
                                                ]
                                                redirects: []
                                                do_fork: T
                                              )
                                            ]
                                            ops: [<Id.Op_Pipe _>]
                                          )
                                        right: <Id.Backtick_Right '`'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'ssdmount='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'ssdmount='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'ssdmount='>
                                      name: ssdmount
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'/mnt/disks/ssd'> (${ Id.VSub_Name ssdnum) <'/'>)}
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <mkdir>
                              more_env: []
                              words: [{<mkdir>} {<-p>} {(${ Id.VSub_Name ssdmount)}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <safe-format-and-mount>
                              more_env: []
                              words: [
                                {<safe-format-and-mount>}
                                {(DQ (${ Id.VSub_Name ssd))}
                                {(${ Id.VSub_Name ssdmount)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <echo>
                              more_env: []
                              words: [
                                {<echo>}
                                {
                                  (DQ <'Mounted local SSD '> ($ Id.VSub_DollarName ssd) <' at '> 
                                    (${ Id.VSub_Name ssdmount)
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <chmod>
                              more_env: []
                              words: [
                                {<chmod>}
                                {<a> <Id.Lit_Other '+'> <w>}
                                {(${ Id.VSub_Name ssdmount)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [336 351]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ <'No local SSD disks found.'>)}]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <find-master-pd>
      name: find-master-pd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
                      name: MASTER_PD_DEVICE
                    )
                  op: assign_op.Equal
                  rhs: {(DQ )}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalNot
                                  child: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_e
                                      child: {<'/dev/disk/by-id/google-master-pd'>}
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)]
                  spids: [478 491]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'device_info='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'device_info='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'device_info='> name:device_info)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <ls>
                            more_env: []
                            words: [{<ls>} {<-l>} {<'/dev/disk/by-id/google-master-pd'>}]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'relative_path='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'relative_path='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'relative_path='> name:relative_path)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (BracedVarSub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name device_info>
                        var_name: device_info
                        suffix_op: 
                          (suffix_op.Unary
                            op: <Id.VOp1_DPound '##'>
                            arg_word: {<Id.Lit_Other '*'> <' '>}
                          )
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'MASTER_PD_DEVICE='>
                      name: MASTER_PD_DEVICE
                    )
                  op: assign_op.Equal
                  rhs: {(DQ <'/dev/disk/by-id/'> (${ Id.VSub_Name relative_path))}
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <mount-master-pd>
      name: mount-master-pd
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <find-master-pd>
              more_env: []
              words: [{<find-master-pd>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name MASTER_PD_DEVICE>
                                          var_name: MASTER_PD_DEVICE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)]
                  spids: [552 568]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Mounting master-pd'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'pd_path='> (DQ <'/dev/disk/by-id/google-master-pd'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'mount_point='> (DQ <'/mnt/disks/master-pd'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <safe-format-and-mount>
              more_env: []
              words: [
                {<safe-format-and-mount>}
                {(DQ (${ Id.VSub_Name pd_path))}
                {(DQ (${ Id.VSub_Name mount_point))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'Mounted master-pd \''> (${ Id.VSub_Name pd_path) <'\' at \''> 
                    (${ Id.VSub_Name mount_point) <'\''>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-m>} {<700>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [
                {<ln>}
                {<-s>}
                {<-f>}
                {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}
                {<'/var/etcd'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/srv'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/kubernetes'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [
                {<ln>}
                {<-s>}
                {<-f>}
                {(DQ (${ Id.VSub_Name mount_point) <'/srv/kubernetes'>)}
                {<'/etc/srv/kubernetes'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name mount_point) <'/srv/sshproxy'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <ln>
              more_env: []
              words: [
                {<ln>}
                {<-s>}
                {<-f>}
                {(DQ (${ Id.VSub_Name mount_point) <'/srv/sshproxy'>)}
                {<'/etc/srv/sshproxy'>}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              negated: <Id.KW_Bang '!'>
                              children: [
                                (command.Simple
                                  blame_tok: <id>
                                  more_env: []
                                  words: [{<id>} {<etcd>}]
                                  redirects: [
                                    (Redir
                                      op: <Id.Redir_AndGreat '&>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  do_fork: T
                                )
                              ]
                              ops: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <useradd>
                      more_env: []
                      words: [{<useradd>} {<-s>} {<'/sbin/nologin'>} {<-d>} {<'/var/etcd'>} {<etcd>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [780 792]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <chown>
              more_env: []
              words: [{<chown>} {<-R>} {<etcd>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <chgrp>
              more_env: []
              words: [{<chgrp>} {<-R>} {<etcd>} {(DQ (${ Id.VSub_Name mount_point) <'/var/etcd'>)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <replace_prefixed_line>
      name: replace_prefixed_line
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'file='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 1>
                      var_name: 1
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'prefix='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'suffix='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 3>
                      var_name: 3
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <touch>
              more_env: []
              words: [{<touch>} {(DQ (${ Id.VSub_Name file))}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <awk>
                  more_env: []
                  words: [
                    {<awk>}
                    {
                      (DQ <'substr('> 
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        ) <'0,0,length('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                        (${ Id.VSub_Name prefix) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <')) != '> 
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\"'>
                          ch: '"'
                        ) (${ Id.VSub_Name prefix) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                        <' { print }'>
                      )
                    }
                    {(DQ (${ Id.VSub_Name file))}
                  ]
                  redirects: [
                    (Redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(DQ (${ Id.VSub_Name file) <.filtered>)}
                    )
                  ]
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <mv>
                  more_env: []
                  words: [{<mv>} {(DQ (${ Id.VSub_Name file) <.filtered>)} {(DQ (${ Id.VSub_Name file))}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DAmp _>]
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ (${ Id.VSub_Name prefix) (${ Id.VSub_Name suffix))}]
              redirects: [
                (Redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ (${ Id.VSub_Name file))}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-master-auth>
      name: create-master-auth
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating master auth files'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'auth_dir='> (DQ <'/etc/srv/kubernetes'>)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.LogicalNot
                                      child: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_e
                                          child: {(DQ (${ Id.VSub_Name auth_dir) <'/ca.crt'>)}
                                        )
                                    )
                                  right: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.LogicalNot
                                          child: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_z
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name CA_CERT>
                                                      var_name: CA_CERT
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                        )
                                      right: 
                                        (bool_expr.LogicalAnd
                                          left: 
                                            (bool_expr.LogicalNot
                                              child: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_z
                                                  child: 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          left: <Id.Left_DollarBrace '${'>
                                                          token: <Id.VSub_Name MASTER_CERT>
                                                          var_name: MASTER_CERT
                                                          suffix_op: 
                                                            (suffix_op.Unary
                                                              op: <Id.VTest_ColonHyphen _>
                                                              arg_word: (rhs_word__Empty)
                                                            )
                                                          right: <Id.Right_DollarBrace '}'>
                                                        )
                                                      )
                                                    }
                                                )
                                            )
                                          right: 
                                            (bool_expr.LogicalNot
                                              child: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_z
                                                  child: 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          left: <Id.Left_DollarBrace '${'>
                                                          token: <Id.VSub_Name MASTER_KEY>
                                                          var_name: MASTER_KEY
                                                          suffix_op: 
                                                            (suffix_op.Unary
                                                              op: <Id.VTest_ColonHyphen _>
                                                              arg_word: (rhs_word__Empty)
                                                            )
                                                          right: <Id.Right_DollarBrace '}'>
                                                        )
                                                      )
                                                    }
                                                )
                                            )
                                        )
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name CA_CERT))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/ca.crt'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name MASTER_CERT))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/server.cert'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name MASTER_KEY))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/server.key'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                  ]
                  spids: [1017 1074]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'basic_auth_csv='> 
                  (DQ (${ Id.VSub_Name auth_dir) <'/basic_auth.csv'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBE_PASSWORD>
                                              var_name: KUBE_PASSWORD
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBE_USER>
                                              var_name: KUBE_USER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name basic_auth_csv))}
                        {(DQ (${ Id.VSub_Name KUBE_PASSWORD) <','> (${ Id.VSub_Name KUBE_USER) <','>)}
                        {(DQ <'admin,system:masters'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1165 1192]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'known_tokens_csv='> 
                  (DQ (${ Id.VSub_Name auth_dir) <'/known_tokens.csv'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_BEARER_TOKEN>
                                          var_name: KUBE_BEARER_TOKEN
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name known_tokens_csv))}
                        {(DQ (${ Id.VSub_Name KUBE_BEARER_TOKEN) <','>)}
                        {(DQ <'admin,admin,system:masters'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1235 1251]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN>
                                          var_name: KUBE_CONTROLLER_MANAGER_TOKEN
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name known_tokens_csv))}
                        {(DQ (${ Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN) <','>)}
                        {(DQ <'system:kube-controller-manager,uid:system:kube-controller-manager'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1277 1293]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_SCHEDULER_TOKEN>
                                          var_name: KUBE_SCHEDULER_TOKEN
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name known_tokens_csv))}
                        {(DQ (${ Id.VSub_Name KUBE_SCHEDULER_TOKEN) <','>)}
                        {(DQ <'system:kube-scheduler,uid:system:kube-scheduler'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1319 1335]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBELET_TOKEN>
                                          var_name: KUBELET_TOKEN
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name known_tokens_csv))}
                        {(DQ (${ Id.VSub_Name KUBELET_TOKEN) <','>)}
                        {(DQ <'kubelet,uid:kubelet,system:nodes'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1361 1377]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_PROXY_TOKEN>
                                          var_name: KUBE_PROXY_TOKEN
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <replace_prefixed_line>
                      more_env: []
                      words: [
                        {<replace_prefixed_line>}
                        {(DQ (${ Id.VSub_Name known_tokens_csv))}
                        {(DQ (${ Id.VSub_Name KUBE_PROXY_TOKEN) <','>)}
                        {(DQ <'system:kube-proxy,uid:kube_proxy'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1403 1419]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'use_cloud_config='> (DQ <false>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [<'[global]\n'>]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/gce.conf'>}
                )
              ]
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCE_API_ENDPOINT>
                                          var_name: GCE_API_ENDPOINT
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'api-endpoint = '>
                                (${ Id.VSub_Name GCE_API_ENDPOINT)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1465 1481]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name TOKEN_URL>
                                              var_name: TOKEN_URL
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name TOKEN_BODY>
                                              var_name: TOKEN_BODY
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'token-url = '>
                                (${ Id.VSub_Name TOKEN_URL)
                                <'\n'>
                                <'token-body = '>
                                (${ Id.VSub_Name TOKEN_BODY)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1503 1530]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name PROJECT_ID>
                                          var_name: PROJECT_ID
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [<'project-id = '> (${ Id.VSub_Name PROJECT_ID) <'\n'>]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1563 1579]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NETWORK_PROJECT_ID>
                                          var_name: NETWORK_PROJECT_ID
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'network-project-id = '>
                                (${ Id.VSub_Name NETWORK_PROJECT_ID)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1607 1623]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NODE_NETWORK>
                                          var_name: NODE_NETWORK
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [<'network-name = '> (${ Id.VSub_Name NODE_NETWORK) <'\n'>]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1651 1667]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NODE_SUBNETWORK>
                                          var_name: NODE_SUBNETWORK
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'subnetwork-name = '>
                                (${ Id.VSub_Name NODE_SUBNETWORK)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1695 1711]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NODE_INSTANCE_PREFIX>
                                          var_name: NODE_INSTANCE_PREFIX
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name NODE_TAGS>
                                                  var_name: NODE_TAGS
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <local>
                              more_env: []
                              words: [
                                {<local>}
                                {<-r>}
                                {<Id.Lit_VarLike 'node_tags='> (DQ (${ Id.VSub_Name NODE_TAGS))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [1764 1780]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.Simple
                          blame_tok: <local>
                          more_env: []
                          words: [
                            {<local>}
                            {<-r>}
                            {<Id.Lit_VarLike 'node_tags='> (DQ (${ Id.VSub_Name NODE_INSTANCE_PREFIX))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'node-tags = '>
                                (${ Id.VSub_Name node_tags)
                                <'\n'>
                                <'node-instance-prefix = '>
                                (${ Id.VSub_Name NODE_INSTANCE_PREFIX)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1739 1755]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name MULTIZONE>
                                          var_name: MULTIZONE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [<'multizone = '> (${ Id.VSub_Name MULTIZONE) <'\n'>]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1837 1853]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCE_ALPHA_FEATURES>
                                          var_name: GCE_ALPHA_FEATURES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'alpha-features = '>
                                (${ Id.VSub_Name GCE_ALPHA_FEATURES)
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1881 1897]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name SECONDARY_RANGE_NAME>
                                          var_name: SECONDARY_RANGE_NAME
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'use_cloud_config='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'use_cloud_config='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'use_cloud_config='>
                              name: use_cloud_config
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'secondary-range-name = '>
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name SECONDARY>
                                  var_name: SECONDARY
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op: <Id.VTest_Hyphen _>
                                      arg_word: {<RANGE-NAME>}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                )
                                <'\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gce.conf'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [1925 1941]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: {(DQ (${ Id.VSub_Name use_cloud_config))}
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <rm>
                      more_env: []
                      words: [{<rm>} {<-f>} {<'/etc/gce.conf'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [1972 1991]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCP_AUTHN_URL>
                                          var_name: GCP_AUTHN_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'clusters:\n'>
                                <'  - name: gcp-authentication-server\n'>
                                <'    cluster:\n'>
                                <'      server: '>
                                (${ Id.VSub_Name GCP_AUTHN_URL)
                                <'\n'>
                                <'users:\n'>
                                <'  - name: kube-apiserver\n'>
                                <'    user:\n'>
                                <'      auth-provider:\n'>
                                <'        name: gcp\n'>
                                <'current-context: webhook\n'>
                                <'contexts:\n'>
                                <'- context:\n'>
                                <'    cluster: gcp-authentication-server\n'>
                                <'    user: kube-apiserver\n'>
                                <'  name: webhook\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gcp_authn.config'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [2005 2021]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCP_AUTHZ_URL>
                                          var_name: GCP_AUTHZ_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'clusters:\n'>
                                <'  - name: gcp-authorization-server\n'>
                                <'    cluster:\n'>
                                <'      server: '>
                                (${ Id.VSub_Name GCP_AUTHZ_URL)
                                <'\n'>
                                <'users:\n'>
                                <'  - name: kube-apiserver\n'>
                                <'    user:\n'>
                                <'      auth-provider:\n'>
                                <'        name: gcp\n'>
                                <'current-context: webhook\n'>
                                <'contexts:\n'>
                                <'- context:\n'>
                                <'    cluster: gcp-authorization-server\n'>
                                <'    user: kube-apiserver\n'>
                                <'  name: webhook\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gcp_authz.config'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [2058 2074]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCP_IMAGE_VERIFICATION_URL>
                                          var_name: GCP_IMAGE_VERIFICATION_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'clusters:\n'>
                                <'  - name: gcp-image-review-server\n'>
                                <'    cluster:\n'>
                                <'      server: '>
                                (${ Id.VSub_Name GCP_IMAGE_VERIFICATION_URL)
                                <'\n'>
                                <'users:\n'>
                                <'  - name: kube-apiserver\n'>
                                <'    user:\n'>
                                <'      auth-provider:\n'>
                                <'        name: gcp\n'>
                                <'current-context: webhook\n'>
                                <'contexts:\n'>
                                <'- context:\n'>
                                <'    cluster: gcp-image-review-server\n'>
                                <'    user: kube-apiserver\n'>
                                <'  name: webhook\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gcp_image_review.config'>}
                        )
                      ]
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cat>
                      more_env: []
                      words: [{<cat>}]
                      redirects: [
                        (Redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<EOF>}
                              here_end_tok: <Id.Undefined_Tok ''>
                              stdin_parts: [
                                <'imagePolicy:\n'>
                                <'  kubeConfigFile: /etc/gcp_image_review.config\n'>
                                <'  allowTTL: 30\n'>
                                <'  denyTTL: 30\n'>
                                <'  retryBackoff: 500\n'>
                                <'  defaultAllow: true\n'>
                              ]
                            )
                        )
                        (Redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/admission_controller.config'>}
                        )
                      ]
                      do_fork: T
                    )
                  ]
                  spids: [2110 2126]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-kubelet-kubeconfig>
      name: create-kubelet-kubeconfig
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'apiserver_address='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_z
                                  child: {(DQ (${ Id.VSub_Name apiserver_address))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {(DQ <'Must provide API server address to create Kubelet kubeconfig file!'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [2211 2226]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating kubelet kubeconfig file'>)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBELET_CA_CERT>
                                          var_name: KUBELET_CA_CERT
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'KUBELET_CA_CERT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'KUBELET_CA_CERT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'KUBELET_CA_CERT='>
                              name: KUBELET_CA_CERT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name CA_CERT))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [2251 2267]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'apiVersion: v1\n'>
                        <'kind: Config\n'>
                        <'users:\n'>
                        <'- name: kubelet\n'>
                        <'  user:\n'>
                        <'    client-certificate-data: '>
                        (${ Id.VSub_Name KUBELET_CERT)
                        <'\n'>
                        <'    client-key-data: '>
                        (${ Id.VSub_Name KUBELET_KEY)
                        <'\n'>
                        <'clusters:\n'>
                        <'- name: local\n'>
                        <'  cluster:\n'>
                        <'    server: '>
                        (${ Id.VSub_Name apiserver_address)
                        <'\n'>
                        <'    certificate-authority-data: '>
                        (${ Id.VSub_Name KUBELET_CA_CERT)
                        <'\n'>
                        <'contexts:\n'>
                        <'- context:\n'>
                        <'    cluster: local\n'>
                        <'    user: kubelet\n'>
                        <'  name: service-account-context\n'>
                        <'current-context: service-account-context\n'>
                      ]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/var/lib/kubelet/kubeconfig'>}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-master-kubelet-auth>
      name: create-master-kubelet-auth
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBELET_APISERVER>
                                              var_name: KUBELET_APISERVER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name KUBELET_CERT>
                                                  var_name: KUBELET_CERT
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name KUBELET_KEY>
                                                  var_name: KUBELET_KEY
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'REGISTER_MASTER_KUBELET='>
                              name: REGISTER_MASTER_KUBELET
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <true>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <create-kubelet-kubeconfig>
                      more_env: []
                      words: [
                        {<create-kubelet-kubeconfig>}
                        {(DQ <'https://'> (${ Id.VSub_Name KUBELET_APISERVER))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [2355 2393]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-kubeproxy-user-kubeconfig>
      name: create-kubeproxy-user-kubeconfig
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating kube-proxy user kubeconfig file'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'apiVersion: v1\n'>
                        <'kind: Config\n'>
                        <'users:\n'>
                        <'- name: kube-proxy\n'>
                        <'  user:\n'>
                        <'    token: '>
                        (${ Id.VSub_Name KUBE_PROXY_TOKEN)
                        <'\n'>
                        <'clusters:\n'>
                        <'- name: local\n'>
                        <'  cluster:\n'>
                        <'    certificate-authority-data: '>
                        (${ Id.VSub_Name CA_CERT)
                        <'\n'>
                        <'contexts:\n'>
                        <'- context:\n'>
                        <'    cluster: local\n'>
                        <'    user: kube-proxy\n'>
                        <'  name: service-account-context\n'>
                        <'current-context: service-account-context\n'>
                      ]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/var/lib/kube-proxy/kubeconfig'>}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-kubecontrollermanager-kubeconfig>
      name: create-kubecontrollermanager-kubeconfig
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating kube-controller-manager kubeconfig file'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/srv/kubernetes/kube-controller-manager'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'apiVersion: v1\n'>
                        <'kind: Config\n'>
                        <'users:\n'>
                        <'- name: kube-controller-manager\n'>
                        <'  user:\n'>
                        <'    token: '>
                        (${ Id.VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN)
                        <'\n'>
                        <'clusters:\n'>
                        <'- name: local\n'>
                        <'  cluster:\n'>
                        <'    insecure-skip-tls-verify: true\n'>
                        <'    server: https://localhost:443\n'>
                        <'contexts:\n'>
                        <'- context:\n'>
                        <'    cluster: local\n'>
                        <'    user: kube-controller-manager\n'>
                        <'  name: service-account-context\n'>
                        <'current-context: service-account-context\n'>
                      ]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/srv/kubernetes/kube-controller-manager/kubeconfig'>}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-kubescheduler-kubeconfig>
      name: create-kubescheduler-kubeconfig
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Creating kube-scheduler kubeconfig file'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/srv/kubernetes/kube-scheduler'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'apiVersion: v1\n'>
                        <'kind: Config\n'>
                        <'users:\n'>
                        <'- name: kube-scheduler\n'>
                        <'  user:\n'>
                        <'    token: '>
                        (${ Id.VSub_Name KUBE_SCHEDULER_TOKEN)
                        <'\n'>
                        <'clusters:\n'>
                        <'- name: local\n'>
                        <'  cluster:\n'>
                        <'    insecure-skip-tls-verify: true\n'>
                        <'    server: https://localhost:443\n'>
                        <'contexts:\n'>
                        <'- context:\n'>
                        <'    cluster: local\n'>
                        <'    user: kube-scheduler\n'>
                        <'  name: kube-scheduler\n'>
                        <'current-context: kube-scheduler\n'>
                      ]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/srv/kubernetes/kube-scheduler/kubeconfig'>}
                )
              ]
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <create-master-etcd-auth>
      name: create-master-etcd-auth
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ETCD_CA_CERT>
                                              var_name: ETCD_CA_CERT
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name ETCD_PEER_KEY>
                                                  var_name: ETCD_PEER_KEY
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name ETCD_PEER_CERT>
                                                  var_name: ETCD_PEER_CERT
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'auth_dir='> (DQ <'/etc/srv/kubernetes'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_CA_CERT))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <gunzip>
                          more_env: []
                          words: [{<gunzip>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-ca.crt'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_PEER_KEY))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-peer.key'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _>]
                    )
                    (command.Pipeline
                      children: [
                        (command.Simple
                          blame_tok: <echo>
                          more_env: []
                          words: [{<echo>} {(DQ (${ Id.VSub_Name ETCD_PEER_CERT))}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <base64>
                          more_env: []
                          words: [{<base64>} {<--decode>}]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <gunzip>
                          more_env: []
                          words: [{<gunzip>}]
                          redirects: [
                            (Redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ (${ Id.VSub_Name auth_dir) <'/etcd-peer.crt'>)}
                            )
                          ]
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                    )
                  ]
                  spids: [2585 2623]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <configure-docker-daemon>
      name: configure-docker-daemon
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Configuring the Docker daemon'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'docker_opts='> 
                  (DQ <'-p /var/run/docker.pid --iptables=false --ip-masq=false'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name TEST_CLUSTER>
                                          var_name: TEST_CLUSTER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'docker_opts+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'docker_opts+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'docker_opts+='>
                              name: docker_opts
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --log-level=debug'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [2743 2763]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'docker_opts+='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'docker_opts+='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'docker_opts+='> name:docker_opts)
                      op: assign_op.PlusEqual
                      rhs: {(DQ <' --log-level=warn'>)}
                    )
                  ]
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'use_net_plugin='> (DQ <true>)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalOr
                                  left: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name NETWORK_PROVIDER>
                                              var_name: NETWORK_PROVIDER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <kubenet>)}
                                    )
                                  right: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name NETWORK_PROVIDER>
                                              var_name: NETWORK_PROVIDER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <cni>)}
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'docker_opts+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'docker_opts+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'docker_opts+='>
                              name: docker_opts
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --bip=169.254.123.1/24'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [2792 2827]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'use_net_plugin='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'use_net_plugin='>
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'use_net_plugin='>
                          name: use_net_plugin
                        )
                      op: assign_op.Equal
                      rhs: {(DQ <false>)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'docker_opts+='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'docker_opts+='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'docker_opts+='> name:docker_opts)
                      op: assign_op.PlusEqual
                      rhs: {(DQ <' --bridge=cbr0'>)}
                    )
                  ]
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL>
                                          var_name: DOCKER_REGISTRY_MIRROR_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ <'Enable docker registry mirror at: '> 
                            (${ Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL)
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'docker_opts+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'docker_opts+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'docker_opts+='>
                              name: docker_opts
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --registry-mirror='> (${ Id.VSub_Name DOCKER_REGISTRY_MIRROR_URL))
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [2867 2883]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/systemd/system/docker.service.d/'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'kubernetes_conf_dropin='> 
                  (DQ <'/etc/systemd/system/docker.service.d/00_kubelet.conf'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ (${ Id.VSub_Name kubernetes_conf_dropin))}
                )
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'[Service]\n'>
                        <'Environment='>
                        <Id.Right_DoubleQuote '"'>
                        <'DOCKER_OPTS='>
                        (${ Id.VSub_Name docker_opts)
                        <' '>
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name EXTRA_DOCKER_OPTS>
                          var_name: EXTRA_DOCKER_OPTS
                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                          right: <Id.Right_DollarBrace '}'>
                        )
                        <Id.Right_DoubleQuote '"'>
                        <'\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Docker daemon options updated. Restarting docker...'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<daemon-reload>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<restart>} {<docker>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <try-load-docker-image>
      name: try-load-docker-image
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'img='> ($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Try to load docker image file '> (${ Id.VSub_Name img))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {<Id.Lit_Other '+'> <e>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'max_attempts='> <5>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-i>} {<Id.Lit_VarLike 'attempt_num='> <1>}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CONTAINER_RUNTIME>
                                          var_name: CONTAINER_RUNTIME
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <rkt>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ForEach
                      keyword: <Id.KW_For for>
                      iter_names: [attempt_num]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {
                              (CommandSub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Simple
                                    blame_tok: <seq>
                                    more_env: []
                                    words: [{<seq>} {<1>} {(DQ (${ Id.VSub_Name max_attempts))}]
                                    redirects: []
                                    do_fork: T
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          ]
                        )
                      semi_tok: <Id.Op_Semi _>
                      body: 
                        (command.DoGroup
                          left: <Id.KW_Do do>
                          children: [
                            (command.Simple
                              blame_tok: <local>
                              more_env: []
                              words: [
                                {<local>}
                                {<Id.Lit_VarLike 'aci_tmpdir='> 
                                  (DQ 
                                    (CommandSub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Simple
                                          blame_tok: <mktemp>
                                          more_env: []
                                          words: [{<mktemp>} {<-t>} {<-d>} {<docker2aci.XXXXX>}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  )
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Subshell
                              left: <Id.Op_LParen _>
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          blame_tok: <cd>
                                          more_env: []
                                          words: [{<cd>} {(DQ (${ Id.VSub_Name aci_tmpdir))}]
                                          redirects: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (command.Simple
                                      blame_tok: <timeout>
                                      more_env: []
                                      words: [
                                        {<timeout>}
                                        {<40>}
                                        {(DQ (${ Id.VSub_Name DOCKER2ACI_BIN))}
                                        {(DQ ($ Id.VSub_Number 1))}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                )
                              right: <Id.Right_Subshell _>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <local>
                              more_env: []
                              words: [{<local>} {<Id.Lit_VarLike 'aci_success='> ($ Id.VSub_QMark '?')}]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <timeout>
                              more_env: []
                              words: [
                                {<timeout>}
                                {<40>}
                                {(DQ (${ Id.VSub_Name RKT_BIN))}
                                {<fetch>}
                                {<--insecure-options> <Id.Lit_Equals '='> <image>}
                                {(DQ (${ Id.VSub_Name aci_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <local>
                              more_env: []
                              words: [
                                {<local>}
                                {<Id.Lit_VarLike 'fetch_success='> ($ Id.VSub_QMark '?')}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <rm>
                              more_env: []
                              words: [
                                {<rm>}
                                {<-f>}
                                {(DQ (${ Id.VSub_Name aci_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <rmdir>
                              more_env: []
                              words: [{<rmdir>} {(DQ (${ Id.VSub_Name aci_tmpdir))}]
                              redirects: []
                              do_fork: T
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              left: <Id.KW_DLeftBracket '[['>
                                              expr: 
                                                (bool_expr.LogicalAnd
                                                  left: 
                                                    (bool_expr.WordTest
                                                      w: {(${ Id.VSub_Name fetch_success)}
                                                    )
                                                  right: 
                                                    (bool_expr.WordTest
                                                      w: {(${ Id.VSub_Name aci_success)}
                                                    )
                                                )
                                              right: <Id.Lit_DRightBracket ']]'>
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [{<echo>} {(DQ <'rkt: Loaded '> (${ Id.VSub_Name img))}]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [3187 3204]
                                )
                              ]
                              else_action: []
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              left: <Id.KW_DLeftBracket '[['>
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_GlobDEqual
                                                  left: {(DQ (${ Id.VSub_Name attempt))}
                                                  right: {(DQ (${ Id.VSub_Name max_attempts))}
                                                )
                                              right: <Id.Lit_DRightBracket ']]'>
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.Simple
                                      blame_tok: <echo>
                                      more_env: []
                                      words: [
                                        {<echo>}
                                        {
                                          (DQ <'rkt: Failed to load image file '> 
                                            (${ Id.VSub_Name img) <' after '> (${ Id.VSub_Name max_attempts) <' retries.'>
                                          )
                                        }
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Exit exit>
                                      arg_word: {<1>}
                                    )
                                  ]
                                  spids: [3223 3244]
                                )
                              ]
                              else_action: []
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <sleep>
                              more_env: []
                              words: [{<sleep>} {<5>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.KW_Done done>
                        )
                      redirects: []
                    )
                  ]
                  spids: [3039 3059]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.WhileUntil
                  keyword: <Id.KW_Until until>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <timeout>
                              more_env: []
                              words: [
                                {<timeout>}
                                {<30>}
                                {<docker>}
                                {<load>}
                                {<-i>}
                                {(DQ (${ Id.VSub_Name img))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  body: 
                    (command.DoGroup
                      left: <Id.KW_Do do>
                      children: [
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          left: <Id.KW_DLeftBracket '[['>
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobDEqual
                                              left: {(DQ (${ Id.VSub_Name attempt_num))}
                                              right: {(DQ (${ Id.VSub_Name max_attempts))}
                                            )
                                          right: <Id.Lit_DRightBracket ']]'>
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {
                                      (DQ <'Fail to load docker image file '> (${ Id.VSub_Name img) 
                                        <' after '> (${ Id.VSub_Name max_attempts) <' retries.'>
                                      )
                                    }
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.ControlFlow
                                  keyword: <Id.ControlFlow_Exit exit>
                                  arg_word: {<1>}
                                )
                              ]
                              spids: [3303 3324]
                            )
                          ]
                          else_kw: <Id.KW_Else else>
                          else_action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'attempt_num='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'attempt_num='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'attempt_num='>
                                      name: attempt_num
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (word_part.ArithSub
                                        left: <Id.Left_DollarDParen '$(('>
                                        anode: 
                                          (arith_expr.Binary
                                            op_id: Id.Arith_Plus
                                            left: ($ Id.Lit_ArithVarLike attempt_num)
                                            right: {<Id.Lit_Digits 1>}
                                          )
                                        right: <Id.Right_DollarDParen _>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <sleep>
                              more_env: []
                              words: [{<sleep>} {<5>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                      ]
                      right: <Id.KW_Done done>
                    )
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <set>
              more_env: []
              words: [{<set>} {<-e>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <load-docker-images>
      name: load-docker-images
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start loading kube-system docker images'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'img_dir='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-docker-files'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBERNETES_MASTER>
                                          var_name: KUBERNETES_MASTER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <try-load-docker-image>
                      more_env: []
                      words: [
                        {<try-load-docker-image>}
                        {(DQ (${ Id.VSub_Name img_dir) <'/kube-apiserver.tar'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <try-load-docker-image>
                      more_env: []
                      words: [
                        {<try-load-docker-image>}
                        {(DQ (${ Id.VSub_Name img_dir) <'/kube-controller-manager.tar'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <try-load-docker-image>
                      more_env: []
                      words: [
                        {<try-load-docker-image>}
                        {(DQ (${ Id.VSub_Name img_dir) <'/kube-scheduler.tar'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [3417 3437]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <try-load-docker-image>
                  more_env: []
                  words: [{<try-load-docker-image>} {(DQ (${ Id.VSub_Name img_dir) <'/kube-proxy.tar'>)}]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kubelet>
      name: start-kubelet
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kubelet'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'kubelet_bin='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/kubelet'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'version='> 
                  (DQ 
                    (CommandSub
                      left_token: <Id.Left_DollarParen '$('>
                      child: 
                        (command.Pipeline
                          children: [
                            (command.Simple
                              blame_tok: <Id.Left_DoubleQuote '"'>
                              more_env: []
                              words: [
                                {(DQ (${ Id.VSub_Name kubelet_bin))}
                                {<--version> <Id.Lit_Equals '='> <true>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <cut>
                              more_env: []
                              words: [{<cut>} {<-f2>} {<-d>} {(DQ <' '>)}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          ops: [<Id.Op_Pipe _>]
                        )
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Using kubelet binary at '> (${ Id.VSub_Name kubelet_bin))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'flags='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name KUBELET_TEST_LOG_LEVEL>
                      var_name: KUBELET_TEST_LOG_LEVEL
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)})
                      right: <Id.Right_DollarBrace '}'>
                    ) <' '> 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name KUBELET_TEST_ARGS>
                      var_name: KUBELET_TEST_ARGS
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --allow-privileged=true'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cgroup-root=/'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cloud-provider=gce'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cluster-dns='> (${ Id.VSub_Name DNS_SERVER_IP))}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cluster-domain='> (${ Id.VSub_Name DNS_DOMAIN))}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --pod-manifest-path=/etc/kubernetes/manifests'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'flags+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'flags+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --experimental-check-node-capabilities-before-mount=true'>)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBELET_PORT>
                                          var_name: KUBELET_PORT
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --port='> (${ Id.VSub_Name KUBELET_PORT))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [3629 3645]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBERNETES_MASTER>
                                          var_name: KUBERNETES_MASTER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --enable-debugging-handlers=false'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --hairpin-mode=none'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name REGISTER_MASTER_KUBELET>
                                                  var_name: REGISTER_MASTER_KUBELET
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: {<false>}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <true>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'flags+='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'flags+='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                                  op: assign_op.PlusEqual
                                  rhs: {(DQ <' --kubeconfig=/var/lib/kubelet/kubeconfig'>)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'flags+='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'flags+='>
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                                  op: assign_op.PlusEqual
                                  rhs: {(DQ <' --register-schedulable=false'>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [3695 3716]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'flags+='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'flags+='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                              op: assign_op.PlusEqual
                              rhs: {(DQ <' --pod-cidr='> (${ Id.VSub_Name MASTER_IP_RANGE))}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [3660 3680]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'flags+='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'flags+='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                      op: assign_op.PlusEqual
                      rhs: {(DQ <' --enable-debugging-handlers=true'>)}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'flags+='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'flags+='>
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                      op: assign_op.PlusEqual
                      rhs: {(DQ <' --kubeconfig=/var/lib/kubelet/kubeconfig'>)}
                    )
                  ]
                  redirects: []
                )
                (command.If
                  if_kw: <Id.KW_If if>
                  arms: [
                    (IfArm
                      keyword: <Id.KW_If if>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.AndOr
                                  children: [
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name HAIRPIN_MODE>
                                                  var_name: HAIRPIN_MODE
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <promiscuous-bridge>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name HAIRPIN_MODE>
                                                  var_name: HAIRPIN_MODE
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <hairpin-veth>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name HAIRPIN_MODE>
                                                  var_name: HAIRPIN_MODE
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <none>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  ]
                                  ops: [<Id.Op_DPipe _> <Id.Op_DPipe _>]
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      then_kw: <Id.KW_Then then>
                      action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'flags+='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'flags+='>
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                              op: assign_op.PlusEqual
                              rhs: {(DQ <' --hairpin-mode='> (${ Id.VSub_Name HAIRPIN_MODE))}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [3768 3830]
                    )
                  ]
                  else_action: []
                  fi_kw: <Id.KW_Fi fi>
                  redirects: []
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NETWORK_PROVIDER>
                                          var_name: NETWORK_PROVIDER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --cni-bin-dir=/opt/kubernetes/bin'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --network-plugin='> (${ Id.VSub_Name NETWORK_PROVIDER))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [3852 3868]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NON_MASQUERADE_CIDR>
                                          var_name: NON_MASQUERADE_CIDR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --non-masquerade-cidr='> (${ Id.VSub_Name NON_MASQUERADE_CIDR))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [3889 3905]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_MANIFEST_URL>
                                          var_name: ENABLE_MANIFEST_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --manifest-url='> (${ Id.VSub_Name MANIFEST_URL))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --manifest-url-header='> (${ Id.VSub_Name MANIFEST_URL_HEADER))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [3920 3940]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CUSTOM_METRICS>
                                          var_name: ENABLE_CUSTOM_METRICS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --enable-custom-metrics='> 
                                (${ Id.VSub_Name ENABLE_CUSTOM_METRICS)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [3964 3980]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'node_labels='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBE_PROXY_DAEMONSET>
                                              var_name: KUBE_PROXY_DAEMONSET
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <true>)}
                                    )
                                  right: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobNEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBERNETES_MASTER>
                                              var_name: KUBERNETES_MASTER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <true>)}
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'node_labels='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'node_labels='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'node_labels='>
                              name: node_labels
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'beta.kubernetes.io/kube-proxy-ds-ready=true'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4002 4037]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NODE_LABELS>
                                          var_name: NODE_LABELS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'node_labels='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'node_labels='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'node_labels='>
                              name: node_labels
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name node_labels>
                                  var_name: node_labels
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op: <Id.VTest_ColonPlus _>
                                      arg_word: {(${ Id.VSub_Name node_labels) <','>}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                ) (${ Id.VSub_Name NODE_LABELS)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4057 4073]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name node_labels>
                                          var_name: node_labels
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --node-labels='> (${ Id.VSub_Name node_labels))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4095 4111]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NODE_TAINTS>
                                          var_name: NODE_TAINTS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --register-with-taints='> (${ Id.VSub_Name NODE_TAINTS))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4126 4142]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name EVICTION_HARD>
                                          var_name: EVICTION_HARD
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --eviction-hard='> (${ Id.VSub_Name EVICTION_HARD))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4157 4173]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name FEATURE_GATES>
                                          var_name: FEATURE_GATES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4188 4204]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CONTAINER_RUNTIME>
                                          var_name: CONTAINER_RUNTIME
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --container-runtime='> (${ Id.VSub_Name CONTAINER_RUNTIME))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --rkt-path='> (${ Id.VSub_Name KUBE_HOME) <'/bin/rkt'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'flags+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'flags+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'flags+='> name:flags)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --rkt-stage1-image='> (${ Id.VSub_Name RKT_STAGE1_IMAGE))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4219 4235]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'kubelet_env_file='> (DQ <'/etc/kubelet-env'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'KUBELET_OPTS='> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\"'>
                      ch: '"'
                    ) (${ Id.VSub_Name flags) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                  )
                }
              ]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ (${ Id.VSub_Name kubelet_env_file))}
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'[Unit]\n'>
                        <'Description=Kubernetes kubelet\n'>
                        <'Requires=network-online.target\n'>
                        <'After=network-online.target\n'>
                        <'\n'>
                        <'[Service]\n'>
                        <'Restart=always\n'>
                        <'RestartSec=10\n'>
                        <'EnvironmentFile='>
                        (${ Id.VSub_Name kubelet_env_file)
                        <'\n'>
                        <'ExecStart='>
                        (${ Id.VSub_Name kubelet_bin)
                        <' '>
                        (word_part.EscapedLiteral
                          token: <Id.Lit_EscapedChar '\\$'>
                          ch: '$'
                        )
                        <'KUBELET_OPTS\n'>
                        <'\n'>
                        <'[Install]\n'>
                        <'WantedBy=multi-user.target\n'>
                      ]
                    )
                )
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/systemd/system/kubelet.service'>}
                )
              ]
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <iptables>
                  more_env: []
                  words: [{<iptables>} {<-t>} {<nat>} {<-F>}]
                  redirects: []
                  do_fork: T
                )
                (command.Simple
                  blame_tok: <true>
                  more_env: []
                  words: [{<true>}]
                  redirects: []
                  do_fork: T
                )
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<start>} {<kubelet.service>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <prepare-log-file>
      name: prepare-log-file
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <touch>
              more_env: []
              words: [{<touch>} {($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <chmod>
              more_env: []
              words: [{<chmod>} {<644>} {($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <chown>
              more_env: []
              words: [{<chown>} {<root> <Id.Lit_Colon ':'> <root>} {($ Id.VSub_Number 1)}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <prepare-kube-proxy-manifest-variables>
      name: prepare-kube-proxy-manifest-variables
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <local>
                  more_env: []
                  words: [{<local>} {<-r>} {<Id.Lit_VarLike 'src_file='> ($ Id.VSub_Number 1)}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Simple
              blame_tok: <remove-salt-config-comments>
              more_env: []
              words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'kubeconfig='> (DQ <'--kubeconfig=/var/lib/kube-proxy/kubeconfig'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'kube_docker_registry='> (DQ <'gcr.io/google_containers'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_DOCKER_REGISTRY>
                                          var_name: KUBE_DOCKER_REGISTRY
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kube_docker_registry='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kube_docker_registry='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'kube_docker_registry='>
                              name: kube_docker_registry
                            )
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name KUBE_DOCKER_REGISTRY)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4457 4473]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'kube_proxy_docker_tag='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <cat>
                        more_env: []
                        words: [{<cat>} {<'/opt/kubernetes/kube-docker-files/kube-proxy.docker_tag'>}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'api_servers='> 
                  (DQ <'--master=https://'> (${ Id.VSub_Name KUBERNETES_MASTER_NAME))
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'params='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name KUBEPROXY_TEST_LOG_LEVEL>
                      var_name: KUBEPROXY_TEST_LOG_LEVEL
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name FEATURE_GATES>
                                          var_name: FEATURE_GATES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4522 4538]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: 
                    {
                      (DQ 
                        <
' --iptables-sync-period=1m --iptables-min-sync-period=10s --ipvs-sync-period=1m --ipvs-min-sync-period=10s'
                        >
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBEPROXY_TEST_ARGS>
                                          var_name: KUBEPROXY_TEST_ARGS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' '> (${ Id.VSub_Name KUBEPROXY_TEST_ARGS))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4559 4575]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                          var_name: ENABLE_CACHE_MUTATION_DETECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'container_env='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'container_env='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'container_env='>
                              name: container_env
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'env:'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_name='>
                              name: kube_cache_mutation_detector_env_name
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'- name: KUBE_CACHE_MUTATION_DETECTOR'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'kube_cache_mutation_detector_env_value='>
                              name: kube_cache_mutation_detector_env_value
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'value: '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4611 4627]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'pod_priority='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_POD_PRIORITY>
                                          var_name: ENABLE_POD_PRIORITY
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'pod_priority='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'pod_priority='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'pod_priority='>
                              name: pod_priority
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'priorityClassName: system-node-critical'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [4663 4683]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{kubeconfig}}@'> (${ Id.VSub_Name kubeconfig) <'@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_docker_registry) <'@g'>
                  )
                }
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-proxy_docker_tag\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_proxy_docker_tag) <'@g'>
                  )
                }
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{kube_cache_mutation_detector_env_name}}@'> 
                    (${ Id.VSub_Name kube_cache_mutation_detector_env_name) <'@g'>
                  )
                }
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{kube_cache_mutation_detector_env_value}}@'> 
                    (${ Id.VSub_Name kube_cache_mutation_detector_env_value) <'@g'>
                  )
                }
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{pod_priority}}@'> (${ Id.VSub_Name pod_priority) <'@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ cpurequest }}@100m@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{api_servers_with_port}}@'> (${ Id.VSub_Name api_servers) <'@g'>)}
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{kubernetes_service_host_env_value}}@'> 
                    (${ Id.VSub_Name KUBERNETES_MASTER_NAME) <'@g'>
                  )
                }
                {(${ Id.VSub_Name src_file)}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CLUSTER_IP_RANGE>
                                          var_name: CLUSTER_IP_RANGE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{cluster_cidr}}@--cluster-cidr='> 
                            (${ Id.VSub_Name CLUSTER_IP_RANGE) <'@g'>
                          )
                        }
                        {(${ Id.VSub_Name src_file)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [4908 4924]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CONTAINER_RUNTIME>
                                          var_name: CONTAINER_RUNTIME
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <rkt>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<Id.Lit_VarLike 'extra_workaround_cmd='> 
                          (DQ <'ln -sf /proc/self/mounts /etc/mtab; '> 
                            <'      mount -o remount,rw /proc; '> <'      mount -o remount,rw /proc/sys; '> <'      mount -o remount,rw /sys; '>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@-'> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\\\'>
                              ch: '\\'
                            ) <s> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'+kube-proxy@- '> 
                            (${ Id.VSub_Name extra_workaround_cmd) <' kube-proxy@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name src_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [4949 4969]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-proxy>
      name: start-kube-proxy
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kube-proxy static pod'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/kube-proxy.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_file='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/kube-proxy.manifest'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-kube-proxy-manifest-variables>
              more_env: []
              words: [{<prepare-kube-proxy-manifest-variables>} {(DQ ($ Id.VSub_DollarName src_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <prepare-etcd-manifest>
      name: prepare-etcd-manifest
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'host_name='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <hostname>
                        more_env: []
                        words: [{<hostname>} {<-s>}]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'etcd_cluster='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'cluster_state='> (DQ <new>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'etcd_protocol='> (DQ <http>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'etcd_creds='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ETCD_CA_KEY>
                                              var_name: ETCD_CA_KEY
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name ETCD_CA_CERT>
                                                  var_name: ETCD_CA_CERT
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (bool_expr.LogicalAnd
                                          left: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name ETCD_PEER_KEY>
                                                      var_name: ETCD_PEER_KEY
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                          right: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name ETCD_PEER_CERT>
                                                      var_name: ETCD_PEER_CERT
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                        )
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'etcd_creds='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'etcd_creds='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etcd_creds='> name:etcd_creds)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                <
' --peer-trusted-ca-file /etc/srv/kubernetes/etcd-ca.crt --peer-cert-file /etc/srv/kubernetes/etcd-peer.crt --peer-key-file /etc/srv/kubernetes/etcd-peer.key -peer-client-cert-auth '
                                >
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'etcd_protocol='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'etcd_protocol='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'etcd_protocol='>
                              name: etcd_protocol
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <https>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [5157 5206]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [host]
              iterable: 
                (for_iter.Words
                  words: [
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (command.Simple
                                blame_tok: <echo>
                                more_env: []
                                words: [
                                  {<echo>}
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name INITIAL_ETCD_CLUSTER>
                                        var_name: INITIAL_ETCD_CLUSTER
                                        suffix_op: 
                                          (suffix_op.Unary
                                            op: <Id.VTest_ColonHyphen _>
                                            arg_word: {(${ Id.VSub_Name host_name)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    )
                                  }
                                ]
                                redirects: []
                                do_fork: T
                              )
                              (command.Simple
                                blame_tok: <tr>
                                more_env: []
                                words: [{<tr>} {(DQ <','>)} {(DQ <Id.Lit_BadBackslash '\\'> <n>)}]
                                redirects: []
                                do_fork: T
                              )
                            ]
                            ops: [<Id.Op_Pipe _>]
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  ]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'etcd_host='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'etcd_host='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'etcd_host='> name:etcd_host)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <etcd-> (${ Id.VSub_Name host) <'='> (${ Id.VSub_Name etcd_protocol) 
                                <'://'> (${ Id.VSub_Name host) <':'> ($ Id.VSub_Number 3)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: {(DQ (${ Id.VSub_Name etcd_cluster))}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'etcd_cluster+='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'etcd_cluster+='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'etcd_cluster+='>
                                      name: etcd_cluster
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(DQ <','>)}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'cluster_state='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'cluster_state='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'cluster_state='>
                                      name: cluster_state
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <existing>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [5281 5296]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'etcd_cluster+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'etcd_cluster+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'etcd_cluster+='>
                              name: etcd_cluster
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ (${ Id.VSub_Name etcd_host))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'temp_file='> (DQ <'/tmp/'> ($ Id.VSub_Number 5))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-manifests/kubernetes/gci-trusty/etcd.manifest'>
                  )
                }
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <remove-salt-config-comments>
              more_env: []
              words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name temp_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *suffix *}}@'> ($ Id.VSub_Number 1) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *port *}}@'> ($ Id.VSub_Number 2) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *server_port *}}@'> ($ Id.VSub_Number 3) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{ *cpulimit *}}@'> 
                    (word_part.EscapedLiteral
                      token: <Id.Lit_EscapedChar '\\"'>
                      ch: '"'
                    ) ($ Id.VSub_Number 4) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *hostname *}}@'> ($ Id.VSub_DollarName host_name) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *srv_kube_path *}}@/etc/srv/kubernetes@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *etcd_cluster *}}@'> ($ Id.VSub_DollarName etcd_cluster) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'default_storage_backend='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (command.Simple
                            blame_tok: <cat>
                            more_env: []
                            words: [{<cat>} {(DQ (${ Id.VSub_Name temp_file))}]
                            redirects: []
                            do_fork: T
                          )
                          (command.Simple
                            blame_tok: <grep>
                            more_env: []
                            words: [
                              {<grep>}
                              {<-o>}
                              {
                                (DQ <'{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                                  <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}'>
                                )
                              }
                            ]
                            redirects: []
                            do_fork: T
                          )
                          (command.Simple
                            blame_tok: <sed>
                            more_env: []
                            words: [
                              {<sed>}
                              {<-e>}
                              {
                                (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                                  <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> 
                                  <'1@g'>
                                )
                              }
                            ]
                            redirects: []
                            do_fork: T
                          )
                        ]
                        ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>]
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name STORAGE_BACKEND>
                                          var_name: STORAGE_BACKEND
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'.get(\'storage_backend\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> 
                            (${ Id.VSub_Name STORAGE_BACKEND) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name temp_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5553 5569]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {
                      (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'storage_backend\', \''> 
                        <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'>
                      )
                    }
                    {(DQ (${ Id.VSub_Name temp_file))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name STORAGE_BACKEND>
                                          var_name: STORAGE_BACKEND
                                          suffix_op: 
                                            (suffix_op.Unary
                                              op: <Id.VTest_ColonHyphen _>
                                              arg_word: {(${ Id.VSub_Name default_storage_backend)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <etcd3>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@{{ *quota_bytes *}}@--quota-backend-bytes=4294967296@g'>)}
                        {(DQ (${ Id.VSub_Name temp_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5630 5653]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {(DQ <'s@{{ *quota_bytes *}}@@g'>)}
                    {(DQ (${ Id.VSub_Name temp_file))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *cluster_state *}}@'> ($ Id.VSub_DollarName cluster_state) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ETCD_IMAGE>
                                          var_name: ETCD_IMAGE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'.get(\'etcd_docker_tag\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name ETCD_IMAGE) 
                            <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name temp_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5715 5731]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {
                      (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_docker_tag\', \''> 
                        <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'>
                      )
                    }
                    {(DQ (${ Id.VSub_Name temp_file))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ETCD_DOCKER_REPOSITORY>
                                          var_name: ETCD_DOCKER_REPOSITORY
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'.get(\'etcd_docker_repository\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> 
                            (${ Id.VSub_Name ETCD_DOCKER_REPOSITORY) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name temp_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5792 5808]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {
                      (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                        <'.get(\'etcd_docker_repository\', \''> <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> 
                        <'1@g'>
                      )
                    }
                    {(DQ (${ Id.VSub_Name temp_file))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *etcd_protocol *}}@'> ($ Id.VSub_DollarName etcd_protocol) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{ *etcd_creds *}}@'> ($ Id.VSub_DollarName etcd_creds) <'@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ETCD_VERSION>
                                          var_name: ETCD_VERSION
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_version\', \''> 
                            <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> (${ Id.VSub_Name ETCD_VERSION) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name temp_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [5908 5924]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {
                      (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'.get(\'etcd_version\', \''> 
                        <Id.Lit_BadBackslash '\\'> <'(.*'> <Id.Lit_BadBackslash '\\'> <')\') *}}@'> <Id.Lit_BadBackslash '\\'> <'1@g'>
                      )
                    }
                    {(DQ (${ Id.VSub_Name temp_file))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@/mnt/master-pd/var/etcd@/mnt/disks/master-pd/var/etcd@g'>)}
                {(DQ (${ Id.VSub_Name temp_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mv>
              more_env: []
              words: [{<mv>} {(DQ (${ Id.VSub_Name temp_file))} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-etcd-empty-dir-cleanup-pod>
      name: start-etcd-empty-dir-cleanup-pod
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <
'/kube-manifests/kubernetes/gci-trusty/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml'
                    >
                  )
                }
                {(DQ <'/etc/kubernetes/manifests'>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-etcd-servers>
      name: start-etcd-servers
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start etcd pods'>)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: (bool_expr.Unary op_id:Id.BoolUnary_d child:{<'/etc/etcd'>})
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <rm>
                      more_env: []
                      words: [{<rm>} {<-rf>} {<'/etc/etcd'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [6065 6076]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_e
                                  child: {<'/etc/default/etcd'>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <rm>
                      more_env: []
                      words: [{<rm>} {<-f>} {<'/etc/default/etcd'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [6089 6100]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_e
                                  child: {<'/etc/systemd/system/etcd.service'>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <rm>
                      more_env: []
                      words: [{<rm>} {<-f>} {<'/etc/systemd/system/etcd.service'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [6113 6124]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: (bool_expr.Unary op_id:Id.BoolUnary_e child:{<'/etc/init.d/etcd'>})
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <rm>
                      more_env: []
                      words: [{<rm>} {<-f>} {<'/etc/init.d/etcd'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [6137 6148]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/etcd.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-etcd-manifest>
              more_env: []
              words: [
                {<prepare-etcd-manifest>}
                {(DQ )}
                {(DQ <2379>)}
                {(DQ <2380>)}
                {(DQ <200m>)}
                {(DQ <etcd.manifest>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/etcd-events.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-etcd-manifest>
              more_env: []
              words: [
                {<prepare-etcd-manifest>}
                {(DQ <-events>)}
                {(DQ <4002>)}
                {(DQ <2381>)}
                {(DQ <100m>)}
                {(DQ <etcd-events.manifest>)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <compute-master-manifest-variables>
      name: compute-master-manifest-variables
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
                      name: CLOUD_CONFIG_OPT
                    )
                  op: assign_op.Equal
                  rhs: {(DQ )}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
                      name: CLOUD_CONFIG_VOLUME
                    )
                  op: assign_op.Equal
                  rhs: {(DQ )}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
                      name: CLOUD_CONFIG_MOUNT
                    )
                  op: assign_op.Equal
                  rhs: {(DQ )}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: (bool_expr.Unary op_id:Id.BoolUnary_f child:{<'/etc/gce.conf'>})
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CLOUD_CONFIG_OPT='>
                              name: CLOUD_CONFIG_OPT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'--cloud-config=/etc/gce.conf'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CLOUD_CONFIG_VOLUME='>
                              name: CLOUD_CONFIG_VOLUME
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <cloudconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gce.conf'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CLOUD_CONFIG_MOUNT='>
                              name: CLOUD_CONFIG_MOUNT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <cloudconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gce.conf'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': true},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6259 6270]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
                      name: DOCKER_REGISTRY
                    )
                  op: assign_op.Equal
                  rhs: {(DQ <'gcr.io/google_containers'>)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_DOCKER_REGISTRY>
                                          var_name: KUBE_DOCKER_REGISTRY
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'DOCKER_REGISTRY='>
                              name: DOCKER_REGISTRY
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name KUBE_DOCKER_REGISTRY))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6348 6364]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <remove-salt-config-comments>
      name: remove-salt-config-comments
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {(DQ <'/^[ |'> <Id.Lit_BadBackslash '\\'> <'t]*{[#|%]/d'>)}
                {($ Id.VSub_Number 1)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {(DQ <'/^[ |'> <Id.Lit_BadBackslash '\\'> <'t]*#/d'>)}
                {($ Id.VSub_Number 1)}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-apiserver>
      name: start-kube-apiserver
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kubernetes api-server'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/kube-apiserver.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/kube-apiserver-audit.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'params='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name API_SERVER_TEST_LOG_LEVEL>
                      var_name: API_SERVER_TEST_LOG_LEVEL
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)})
                      right: <Id.Right_DollarBrace '}'>
                    ) <' '> 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name APISERVER_TEST_ARGS>
                      var_name: APISERVER_TEST_ARGS
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    ) <' '> (${ Id.VSub_Name CLOUD_CONFIG_OPT)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --address=127.0.0.1'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --allow-privileged=true'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cloud-provider=gce'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --client-ca-file=/etc/srv/kubernetes/ca.crt'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --etcd-servers=http://127.0.0.1:2379'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --etcd-servers-overrides=/events#http://127.0.0.1:4002'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --secure-port=443'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --tls-cert-file=/etc/srv/kubernetes/server.cert'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --tls-private-key-file=/etc/srv/kubernetes/server.key'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --token-auth-file=/etc/srv/kubernetes/known_tokens.csv'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --enable-aggregator-routing=true'>)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBE_PASSWORD>
                                              var_name: KUBE_PASSWORD
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name KUBE_USER>
                                              var_name: KUBE_USER
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --basic-auth-file=/etc/srv/kubernetes/basic_auth.csv'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6580 6607]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name STORAGE_BACKEND>
                                          var_name: STORAGE_BACKEND
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --storage-backend='> (${ Id.VSub_Name STORAGE_BACKEND))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6619 6635]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name STORAGE_MEDIA_TYPE>
                                          var_name: STORAGE_MEDIA_TYPE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --storage-media-type='> (${ Id.VSub_Name STORAGE_MEDIA_TYPE))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6650 6666]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC>
                                          var_name: KUBE_APISERVER_REQUEST_TIMEOUT_SEC
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --request-timeout='> 
                                (${ Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC) <s>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6681 6697]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_GARBAGE_COLLECTOR>
                                          var_name: ENABLE_GARBAGE_COLLECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --enable-garbage-collector='> 
                                (${ Id.VSub_Name ENABLE_GARBAGE_COLLECTOR)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6713 6729]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NUM_NODES>
                                          var_name: NUM_NODES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_ge
                                          left: {(DQ (${ Id.VSub_Name NUM_NODES))}
                                          right: {<1000>}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'params+='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'params+='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'params+='>
                                      name: params
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (DQ 
                                        <
' --max-requests-inflight=1500 --max-mutating-requests-inflight=500'
                                        >
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [6767 6784]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --target-ram-mb='> 
                                (word_part.ArithSub
                                  left: <Id.Left_DollarDParen '$(('>
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Star
                                      left: {(${ Id.VSub_Name NUM_NODES)}
                                      right: {<Id.Lit_Digits 60>}
                                    )
                                  right: <Id.Right_DollarDParen _>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6744 6760]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name SERVICE_CLUSTER_IP_RANGE>
                                          var_name: SERVICE_CLUSTER_IP_RANGE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --service-cluster-ip-range='> 
                                (${ Id.VSub_Name SERVICE_CLUSTER_IP_RANGE)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6827 6843]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ETCD_QUORUM_READ>
                                          var_name: ETCD_QUORUM_READ
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --etcd-quorum-read='> (${ Id.VSub_Name ETCD_QUORUM_READ))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6858 6874]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_APISERVER_BASIC_AUDIT>
                                          var_name: ENABLE_APISERVER_BASIC_AUDIT
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --audit-log-path=/var/log/kube-apiserver-audit.log'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --audit-log-maxage=0'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --audit-log-maxbackup=0'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --audit-log-maxsize=2000000000'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6890 6910]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_APISERVER_LOGS_HANDLER>
                                          var_name: ENABLE_APISERVER_LOGS_HANDLER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <false>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --enable-logs-handler=false'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [6973 6993]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'admission_controller_config_mount='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'admission_controller_config_volume='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'image_policy_webhook_config_mount='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'image_policy_webhook_config_volume='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ADMISSION_CONTROL>
                                          var_name: ADMISSION_CONTROL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --admission-control='> (${ Id.VSub_Name ADMISSION_CONTROL))}
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: {(${ Id.VSub_Name ADMISSION_CONTROL)}
                                          right: 
                                            {<Id.Lit_Other '*'> (DQ <ImagePolicyWebhook>) 
                                              <Id.Lit_Other '*'>
                                            }
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'params+='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'params+='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'params+='>
                                      name: params
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (DQ 
                                        <
' --admission-control-config-file=/etc/admission_controller.config'
                                        >
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'admission_controller_config_mount='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'admission_controller_config_mount='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'admission_controller_config_mount='>
                                      name: admission_controller_config_mount
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'{'> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <admissioncontrollerconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <mountPath> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <'/etc/admission_controller.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'admission_controller_config_volume='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'admission_controller_config_volume='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'admission_controller_config_volume='>
                                      name: admission_controller_config_volume
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'{'> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <admissioncontrollerconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <hostPath> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': {'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <path> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <'/etc/admission_controller.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'image_policy_webhook_config_mount='>
                                      name: image_policy_webhook_config_mount
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'{'> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <imagepolicywebhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <mountPath> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <'/etc/gcp_image_review.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'image_policy_webhook_config_volume='>
                                      name: image_policy_webhook_config_volume
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'{'> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <imagepolicywebhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <','> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <hostPath> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': {'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <path> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <'/etc/gcp_image_review.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [7062 7081]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [7034 7050]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT>
                                          var_name: KUBE_APISERVER_REQUEST_TIMEOUT
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --min-request-timeout='> 
                                (${ Id.VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7225 7241]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name RUNTIME_CONFIG>
                                          var_name: RUNTIME_CONFIG
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --runtime-config='> (${ Id.VSub_Name RUNTIME_CONFIG))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7256 7272]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name FEATURE_GATES>
                                          var_name: FEATURE_GATES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7287 7303]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalAnd
                                  left: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name PROJECT_ID>
                                              var_name: PROJECT_ID
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (bool_expr.LogicalAnd
                                      left: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name TOKEN_URL>
                                                  var_name: TOKEN_URL
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (bool_expr.LogicalAnd
                                          left: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name TOKEN_BODY>
                                                      var_name: TOKEN_BODY
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                          right: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name NODE_NETWORK>
                                                      var_name: NODE_NETWORK
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                        )
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'vm_external_ip='> 
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <curl>
                                more_env: []
                                words: [
                                  {<curl>}
                                  {<--retry>}
                                  {<5>}
                                  {<--retry-delay>}
                                  {<3>}
                                  {<--fail>}
                                  {<--silent>}
                                  {<-H>}
                                  {(SQ <'Metadata-Flavor: Google'>)}
                                  {
                                    (DQ 
                                      <
'http://metadata/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip'
                                      >
                                    )
                                  }
                                ]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --advertise-address='> (${ Id.VSub_Name vm_external_ip))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --ssh-user='> (${ Id.VSub_Name PROXY_SSH_USER))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7318 7367]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <Id.Lit_LBracket '['>
                              more_env: []
                              words: [
                                {<Id.Lit_LBracket '['>}
                                {<-n>}
                                {
                                  (DQ 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name MASTER_ADVERTISE_ADDRESS>
                                      var_name: MASTER_ADVERTISE_ADDRESS
                                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                                {<Id.Lit_RBracket ']'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params='> name:params)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (${ Id.VSub_Name params) <' --advertise-address='> 
                                (${ Id.VSub_Name MASTER_ADVERTISE_ADDRESS)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7426 7442]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'webhook_authn_config_mount='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'webhook_authn_config_volume='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCP_AUTHN_URL>
                                          var_name: GCP_AUTHN_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ 
                                <
' --authentication-token-webhook-config-file=/etc/gcp_authn.config'
                                >
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'webhook_authn_config_mount='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'webhook_authn_config_mount='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'webhook_authn_config_mount='>
                              name: webhook_authn_config_mount
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <webhookauthnconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gcp_authn.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'webhook_authn_config_volume='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'webhook_authn_config_volume='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'webhook_authn_config_volume='>
                              name: webhook_authn_config_volume
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <webhookauthnconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gcp_authn.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7475 7491]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'authorization_mode='> (DQ <RBAC>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_dir='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_LEGACY_ABAC>
                                          var_name: ENABLE_LEGACY_ABAC
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <false>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [
                        {<echo>}
                        {
                          (DQ 
                            <
'Warning: Enabling legacy ABAC policy. All service accounts will have superuser API access. Set ENABLE_LEGACY_ABAC=false to disable this.'
                            >
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.LogicalOr
                                          left: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name KUBE_USER>
                                                      var_name: KUBE_USER
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                          right: 
                                            (bool_expr.LogicalNot
                                              child: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_e
                                                  child: 
                                                    {<'/etc/srv/kubernetes/abac-authz-policy.jsonl'>}
                                                )
                                            )
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <local>
                              more_env: []
                              words: [
                                {<local>}
                                {<-r>}
                                {<Id.Lit_VarLike 'abac_policy_json='> 
                                  (DQ (${ Id.VSub_Name src_dir) <'/abac-authz-policy.jsonl'>)
                                }
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.Simple
                              blame_tok: <remove-salt-config-comments>
                              more_env: []
                              words: [
                                {<remove-salt-config-comments>}
                                {(DQ (${ Id.VSub_Name abac_policy_json))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              left: <Id.KW_DLeftBracket '[['>
                                              expr: 
                                                (bool_expr.Unary
                                                  op_id: Id.BoolUnary_n
                                                  child: 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          left: <Id.Left_DollarBrace '${'>
                                                          token: <Id.VSub_Name KUBE_USER>
                                                          var_name: KUBE_USER
                                                          suffix_op: 
                                                            (suffix_op.Unary
                                                              op: <Id.VTest_ColonHyphen _>
                                                              arg_word: (rhs_word__Empty)
                                                            )
                                                          right: <Id.Right_DollarBrace '}'>
                                                        )
                                                      )
                                                    }
                                                )
                                              right: <Id.Lit_DRightBracket ']]'>
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.Simple
                                      blame_tok: <sed>
                                      more_env: []
                                      words: [
                                        {<sed>}
                                        {<-i>}
                                        {<-e>}
                                        {(DQ <'s/{{kube_user}}/'> (${ Id.VSub_Name KUBE_USER) <'/g'>)}
                                        {(DQ (${ Id.VSub_Name abac_policy_json))}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  ]
                                  spids: [7673 7689]
                                )
                              ]
                              else_kw: <Id.KW_Else else>
                              else_action: [
                                (command.Simple
                                  blame_tok: <sed>
                                  more_env: []
                                  words: [
                                    {<sed>}
                                    {<-i>}
                                    {<-e>}
                                    {(DQ <'/{{kube_user}}/d'>)}
                                    {(DQ (${ Id.VSub_Name abac_policy_json))}
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                            (command.Simple
                              blame_tok: <cp>
                              more_env: []
                              words: [
                                {<cp>}
                                {(DQ (${ Id.VSub_Name abac_policy_json))}
                                {<'/etc/srv/kubernetes/'>}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [7624 7648]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ 
                                <
' --authorization-policy-file=/etc/srv/kubernetes/abac-authz-policy.jsonl'
                                >
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'authorization_mode+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'authorization_mode+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'authorization_mode+='>
                              name: authorization_mode
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <',ABAC'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7590 7610]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'webhook_config_mount='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'webhook_config_volume='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name GCP_AUTHZ_URL>
                                          var_name: GCP_AUTHZ_URL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'authorization_mode+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'authorization_mode+='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'authorization_mode+='>
                              name: authorization_mode
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <',Webhook'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --authorization-webhook-config-file=/etc/gcp_authz.config'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'webhook_config_mount='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'webhook_config_mount='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'webhook_config_mount='>
                              name: webhook_config_mount
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <webhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <mountPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gcp_authz.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <readOnly> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': false},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'webhook_config_volume='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'webhook_config_volume='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'webhook_config_volume='>
                              name: webhook_config_volume
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <webhookconfigmount> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <','> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <hostPath> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': {'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <path> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'/etc/gcp_authz.config'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <type> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <FileOrCreate> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}},'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7781 7797]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --authorization-mode='> (${ Id.VSub_Name authorization_mode))}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                          var_name: ENABLE_CACHE_MUTATION_DETECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'container_env='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'container_env='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'container_env='>
                              name: container_env
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <KUBE_CACHE_MUTATION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7892 7908]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR>
                                          var_name: ENABLE_PATCH_CONVERSION_DETECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Unary
                                          op_id: Id.BoolUnary_n
                                          child: {(DQ (${ Id.VSub_Name container_env))}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'container_env='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'container_env='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'container_env='>
                                      name: container_env
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name container_env) <', '>)}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [7955 7970]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'container_env='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'container_env='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'container_env='>
                              name: container_env
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <KUBE_PATCH_CONVERSION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                (${ Id.VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [7936 7952]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: {(DQ (${ Id.VSub_Name container_env))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'container_env='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'container_env='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'container_env='>
                              name: container_env
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <env> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':[{'> 
                                (${ Id.VSub_Name container_env) <'}],'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8010 8025]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'src_file='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'src_file='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'src_file='> name:src_file)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name src_dir) <'/kube-apiserver.manifest'>)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <remove-salt-config-comments>
              more_env: []
              words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'kube_apiserver_docker_tag='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <cat>
                        more_env: []
                        words: [
                          {<cat>}
                          {<'/opt/kubernetes/kube-docker-files/kube-apiserver.docker_tag'>}
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{srv_sshproxy_path}}@/etc/srv/sshproxy@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-apiserver_docker_tag\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_apiserver_docker_tag) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'allow_privileged\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@true@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{secure_port}}@443@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{secure_port}}@8080@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{additional_cloud_config_mount}}@@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{additional_cloud_config_volume}}@@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{webhook_authn_config_mount}}@'> 
                    (${ Id.VSub_Name webhook_authn_config_mount) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{webhook_authn_config_volume}}@'> 
                    (${ Id.VSub_Name webhook_authn_config_volume) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{webhook_config_mount}}@'> (${ Id.VSub_Name webhook_config_mount) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{webhook_config_volume}}@'> (${ Id.VSub_Name webhook_config_volume) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{admission_controller_config_mount}}@'> 
                    (${ Id.VSub_Name admission_controller_config_mount) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{admission_controller_config_volume}}@'> 
                    (${ Id.VSub_Name admission_controller_config_volume) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{image_policy_webhook_config_mount}}@'> 
                    (${ Id.VSub_Name image_policy_webhook_config_mount) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{image_policy_webhook_config_volume}}@'> 
                    (${ Id.VSub_Name image_policy_webhook_config_volume) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-controller-manager>
      name: start-kube-controller-manager
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kubernetes controller-manager'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-kubecontrollermanager-kubeconfig>
              more_env: []
              words: [{<create-kubecontrollermanager-kubeconfig>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/kube-controller-manager.log'>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'params='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL>
                      var_name: CONTROLLER_MANAGER_TEST_LOG_LEVEL
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{(DQ <'--v=2'>)})
                      right: <Id.Right_DollarBrace '}'>
                    ) <' '> 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name CONTROLLER_MANAGER_TEST_ARGS>
                      var_name: CONTROLLER_MANAGER_TEST_ARGS
                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                      right: <Id.Right_DollarBrace '}'>
                    ) <' '> (${ Id.VSub_Name CLOUD_CONFIG_OPT)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --use-service-account-credentials'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --cloud-provider=gce'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --kubeconfig=/etc/srv/kubernetes/kube-controller-manager/kubeconfig'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --root-ca-file=/etc/srv/kubernetes/ca.crt'>)}
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --service-account-private-key-file=/etc/srv/kubernetes/server.key'>)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_GARBAGE_COLLECTOR>
                                          var_name: ENABLE_GARBAGE_COLLECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --enable-garbage-collector='> 
                                (${ Id.VSub_Name ENABLE_GARBAGE_COLLECTOR)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8623 8639]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name INSTANCE_PREFIX>
                                          var_name: INSTANCE_PREFIX
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --cluster-name='> (${ Id.VSub_Name INSTANCE_PREFIX))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8654 8670]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CLUSTER_IP_RANGE>
                                          var_name: CLUSTER_IP_RANGE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --cluster-cidr='> (${ Id.VSub_Name CLUSTER_IP_RANGE))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8685 8701]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name SERVICE_CLUSTER_IP_RANGE>
                                          var_name: SERVICE_CLUSTER_IP_RANGE
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --service-cluster-ip-range='> 
                                (${ Id.VSub_Name SERVICE_CLUSTER_IP_RANGE)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8716 8732]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name CONCURRENT_SERVICE_SYNCS>
                                          var_name: CONCURRENT_SERVICE_SYNCS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --concurrent-service-syncs='> 
                                (${ Id.VSub_Name CONCURRENT_SERVICE_SYNCS)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8747 8763]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NETWORK_PROVIDER>
                                          var_name: NETWORK_PROVIDER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <kubenet>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --allocate-node-cidrs=true'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8778 8798]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ALLOCATE_NODE_CIDRS>
                                          var_name: ALLOCATE_NODE_CIDRS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --allocate-node-cidrs='> (${ Id.VSub_Name ALLOCATE_NODE_CIDRS))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8807 8823]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name TERMINATED_POD_GC_THRESHOLD>
                                          var_name: TERMINATED_POD_GC_THRESHOLD
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --terminated-pod-gc-threshold='> 
                                (${ Id.VSub_Name TERMINATED_POD_GC_THRESHOLD)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8838 8854]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_IP_ALIASES>
                                          var_name: ENABLE_IP_ALIASES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(SQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --cidr-allocator-type=CloudAllocator'>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --configure-cloud-routes=false'>)}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8869 8889]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name FEATURE_GATES>
                                          var_name: FEATURE_GATES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8907 8923]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'kube_rc_docker_tag='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <cat>
                        more_env: []
                        words: [
                          {<cat>}
                          {<'/opt/kubernetes/kube-docker-files/kube-controller-manager.docker_tag'>}
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<Id.Lit_VarLike 'container_env='> (DQ )}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                          var_name: ENABLE_CACHE_MUTATION_DETECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'container_env='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'container_env='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'container_env='>
                              name: container_env
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <env> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':[{'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <name> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <': '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <KUBE_CACHE_MUTATION_DETECTOR> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <value> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <': '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                (${ Id.VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'}],'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [8957 8973]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_file='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-manifests/kubernetes/gci-trusty/kube-controller-manager.manifest'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <remove-salt-config-comments>
              more_env: []
              words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> 
                    <'[\'kube-controller-manager_docker_tag\''> <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_rc_docker_tag) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{container_env}}@'> (${ Id.VSub_Name container_env) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{additional_cloud_config_mount}}@@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{additional_cloud_config_volume}}@@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-scheduler>
      name: start-kube-scheduler
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kubernetes scheduler'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-kubescheduler-kubeconfig>
              more_env: []
              words: [{<create-kubescheduler-kubeconfig>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <prepare-log-file>
              more_env: []
              words: [{<prepare-log-file>} {<'/var/log/kube-scheduler.log'>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params='> name:params)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name SCHEDULER_TEST_LOG_LEVEL>
                          var_name: SCHEDULER_TEST_LOG_LEVEL
                          suffix_op: 
                            (suffix_op.Unary
                              op: <Id.VTest_ColonHyphen _>
                              arg_word: {(DQ <'--v=2'>)}
                            )
                          right: <Id.Right_DollarBrace '}'>
                        ) <' '> 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name SCHEDULER_TEST_ARGS>
                          var_name: SCHEDULER_TEST_ARGS
                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                          right: <Id.Right_DollarBrace '}'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'params+='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'params+='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                  op: assign_op.PlusEqual
                  rhs: {(DQ <' --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig'>)}
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name FEATURE_GATES>
                                          var_name: FEATURE_GATES
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: {(DQ <' --feature-gates='> (${ Id.VSub_Name FEATURE_GATES))}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [9299 9315]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name SCHEDULING_ALGORITHM_PROVIDER>
                                          var_name: SCHEDULING_ALGORITHM_PROVIDER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'params+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'params+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'params+='> name:params)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (DQ <' --algorithm-provider='> 
                                (${ Id.VSub_Name SCHEDULING_ALGORITHM_PROVIDER)
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [9330 9346]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'kube_scheduler_docker_tag='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <cat>
                        more_env: []
                        words: [
                          {<cat>}
                          {
                            (DQ (${ Id.VSub_Name KUBE_HOME) 
                              <'/kube-docker-files/kube-scheduler.docker_tag'>
                            )
                          }
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_file='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-manifests/kubernetes/gci-trusty/kube-scheduler.manifest'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <remove-salt-config-comments>
              more_env: []
              words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{srv_kube_path}}@/etc/srv/kubernetes@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)}
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube_docker_registry\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name DOCKER_REGISTRY) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <sed>
              more_env: []
              words: [
                {<sed>}
                {<-i>}
                {<-e>}
                {
                  (DQ <'s@{{pillar'> <Id.Lit_BadBackslash '\\'> <'[\'kube-scheduler_docker_tag\''> 
                    <Id.Lit_BadBackslash '\\'> <']}}@'> (${ Id.VSub_Name kube_scheduler_docker_tag) <'@g'>
                  )
                }
                {(DQ (${ Id.VSub_Name src_file))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-cluster-autoscaler>
      name: start-cluster-autoscaler
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CLUSTER_AUTOSCALER>
                                          var_name: ENABLE_CLUSTER_AUTOSCALER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Start kubernetes cluster autoscaler'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <prepare-log-file>
                      more_env: []
                      words: [{<prepare-log-file>} {<'/var/log/cluster-autoscaler.log'>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'src_file='> 
                          (DQ (${ Id.VSub_Name KUBE_HOME) 
                            <'/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest'>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <remove-salt-config-comments>
                      more_env: []
                      words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name src_file))}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<Id.Lit_VarLike 'params='> 
                          (DQ (${ Id.VSub_Name AUTOSCALER_MIG_CONFIG) <' '> 
                            (${ Id.VSub_Name CLOUD_CONFIG_OPT) <' '> 
                            (BracedVarSub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name AUTOSCALER_EXPANDER_CONFIG>
                              var_name: AUTOSCALER_EXPANDER_CONFIG
                              suffix_op: 
                                (suffix_op.Unary
                                  op: <Id.VTest_ColonHyphen _>
                                  arg_word: {<'--expander=price'>}
                                )
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@{{params}}@'> (${ Id.VSub_Name params) <'@g'>)}
                        {(DQ (${ Id.VSub_Name src_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{cloud_config_mount}}@'> (${ Id.VSub_Name CLOUD_CONFIG_MOUNT) <'@g'>)
                        }
                        {(DQ (${ Id.VSub_Name src_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{cloud_config_volume}}@'> (${ Id.VSub_Name CLOUD_CONFIG_VOLUME) 
                            <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name src_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@{%.*%}@@g'>)}
                        {(DQ (${ Id.VSub_Name src_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [{<cp>} {(DQ (${ Id.VSub_Name src_file))} {<'/etc/kubernetes/manifests'>}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [9529 9549]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <setup-addon-manifests>
      name: setup-addon-manifests
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_dir='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty/'> 
                    ($ Id.VSub_Number 2)
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'dst_dir='> 
                  (DQ <'/etc/kubernetes/'> ($ Id.VSub_Number 1) <'/'> ($ Id.VSub_Number 2))
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalNot
                                  child: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_d
                                      child: {(DQ (${ Id.VSub_Name dst_dir))}
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <mkdir>
                      more_env: []
                      words: [{<mkdir>} {<-p>} {(DQ (${ Id.VSub_Name dst_dir))}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [9758 9775]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'files='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <find>
                        more_env: []
                        words: [
                          {<find>}
                          {(DQ (${ Id.VSub_Name src_dir))}
                          {<-maxdepth>}
                          {<1>}
                          {<-name>}
                          {(DQ <'*.yaml'>)}
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: {(DQ (${ Id.VSub_Name files))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.yaml>}
                        {(DQ (${ Id.VSub_Name dst_dir))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [9816 9831]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'files='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'files='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <find>
                            more_env: []
                            words: [
                              {<find>}
                              {(DQ (${ Id.VSub_Name src_dir))}
                              {<-maxdepth>}
                              {<1>}
                              {<-name>}
                              {(DQ <'*.json'>)}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: {(DQ (${ Id.VSub_Name files))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.json>}
                        {(DQ (${ Id.VSub_Name dst_dir))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [9877 9892]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'files='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'files='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <find>
                            more_env: []
                            words: [
                              {<find>}
                              {(DQ (${ Id.VSub_Name src_dir))}
                              {<-maxdepth>}
                              {<1>}
                              {<-name>}
                              {(DQ <'*.yaml.in'>)}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_n
                                  child: {(DQ (${ Id.VSub_Name files))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {(DQ (${ Id.VSub_Name src_dir) <'/'>) <Id.Lit_Star '*'> <.yaml.in>}
                        {(DQ (${ Id.VSub_Name dst_dir))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [9938 9953]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <chown>
              more_env: []
              words: [{<chown>} {<-R>} {<root> <Id.Lit_Colon ':'> <root>} {(DQ (${ Id.VSub_Name dst_dir))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <chmod>
              more_env: []
              words: [{<chmod>} {<755>} {(DQ (${ Id.VSub_Name dst_dir))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <chmod>
              more_env: []
              words: [{<chmod>} {<644>} {(DQ (${ Id.VSub_Name dst_dir)) <'/'> <Id.Lit_Star '*'>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <update-prometheus-to-sd-parameters>
      name: update-prometheus-to-sd-parameters
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_PROMETHEUS_TO_SD>
                                          var_name: ENABLE_PROMETHEUS_TO_SD
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *prometheus_to_sd_prefix *}}@'> 
                            (${ Id.VSub_Name PROMETHEUS_TO_SD_PREFIX) <'@g'>
                          )
                        }
                        {(DQ ($ Id.VSub_Number 1))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *prometheus_to_sd_endpoint *}}@'> 
                            (${ Id.VSub_Name PROMETHEUS_TO_SD_ENDPOINT) <'@g'>
                          )
                        }
                        {(DQ ($ Id.VSub_Number 1))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [10031 10051]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.Simple
                  blame_tok: <sed>
                  more_env: []
                  words: [
                    {<sed>}
                    {<-i>}
                    {<-e>}
                    {(DQ <'/# BEGIN_PROMETHEUS_TO_SD/,/# END_PROMETHEUS_TO_SD/d'>)}
                    {(DQ ($ Id.VSub_Number 1))}
                  ]
                  redirects: []
                  do_fork: T
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-addons>
      name: start-kube-addons
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Prepare kube-addons manifests and start kube addon manager'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<-r>}
                {<Id.Lit_VarLike 'src_dir='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-manifests/kubernetes/gci-trusty'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<-r>} {<Id.Lit_VarLike 'dst_dir='> (DQ <'/etc/kubernetes/addons'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <setup-addon-manifests>
              more_env: []
              words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <rbac>)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name KUBE_PROXY_DAEMONSET>
                                          var_name: KUBE_PROXY_DAEMONSET
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <prepare-kube-proxy-manifest-variables>
                      more_env: []
                      words: [
                        {<prepare-kube-proxy-manifest-variables>}
                        {(DQ ($ Id.VSub_DollarName src_dir) <'/kube-proxy/kube-proxy-ds.yaml'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <kube-proxy>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [10186 10206]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                              var_name: ENABLE_CLUSTER_MONITORING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <influxdb>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                              var_name: ENABLE_CLUSTER_MONITORING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <google>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                              var_name: ENABLE_CLUSTER_MONITORING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <stackdriver>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                              var_name: ENABLE_CLUSTER_MONITORING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <standalone>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                              var_name: ENABLE_CLUSTER_MONITORING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <googleinfluxdb>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DPipe _> <Id.Op_DPipe _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'file_dir='> 
                          (DQ <'cluster-monitoring/'> (${ Id.VSub_Name ENABLE_CLUSTER_MONITORING))
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <cluster-monitoring>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ (${ Id.VSub_Name file_dir))}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'base_metrics_memory='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'base_metrics_memory='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'base_metrics_memory='>
                              name: base_metrics_memory
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name HEAPSTER_GCP_BASE_MEMORY>
                                  var_name: HEAPSTER_GCP_BASE_MEMORY
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op: <Id.VTest_ColonHyphen _>
                                      arg_word: {<140Mi>}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'base_eventer_memory='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'base_eventer_memory='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'base_eventer_memory='>
                              name: base_eventer_memory
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <190Mi>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'base_metrics_cpu='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'base_metrics_cpu='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'base_metrics_cpu='>
                              name: base_metrics_cpu
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name HEAPSTER_GCP_BASE_CPU>
                                  var_name: HEAPSTER_GCP_BASE_CPU
                                  suffix_op: 
                                    (suffix_op.Unary
                                      op: <Id.VTest_ColonHyphen _>
                                      arg_word: {<80m>}
                                    )
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'nanny_memory='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'nanny_memory='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'nanny_memory='>
                              name: nanny_memory
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <90Mi>)}
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'metrics_memory_per_node='> 
                          (DQ 
                            (BracedVarSub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name HEAPSTER_GCP_MEMORY_PER_NODE>
                              var_name: HEAPSTER_GCP_MEMORY_PER_NODE
                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<4>})
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'metrics_cpu_per_node='> 
                          (DQ 
                            (BracedVarSub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name HEAPSTER_GCP_CPU_PER_NODE>
                              var_name: HEAPSTER_GCP_CPU_PER_NODE
                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<0.5>})
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [{<local>} {<-r>} {<Id.Lit_VarLike 'eventer_memory_per_node='> (DQ <500>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [{<local>} {<-r>} {<Id.Lit_VarLike 'nanny_memory_per_node='> (DQ <200>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.LogicalAnd
                                          left: 
                                            (bool_expr.Unary
                                              op_id: Id.BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name NUM_NODES>
                                                      var_name: NUM_NODES
                                                      suffix_op: 
                                                        (suffix_op.Unary
                                                          op: <Id.VTest_ColonHyphen _>
                                                          arg_word: (rhs_word__Empty)
                                                        )
                                                      right: <Id.Right_DollarBrace '}'>
                                                    )
                                                  )
                                                }
                                            )
                                          right: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_ge
                                              left: {(DQ (${ Id.VSub_Name NUM_NODES))}
                                              right: {<1>}
                                            )
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'num_kube_nodes='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'num_kube_nodes='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'num_kube_nodes='>
                                      name: num_kube_nodes
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (word_part.ArithSub
                                          left: <Id.Left_DollarDParen '$(('>
                                          anode: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Plus
                                              left: {(${ Id.VSub_Name NUM_NODES)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Right_DollarDParen _>
                                        )
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'nanny_memory='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'nanny_memory='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'nanny_memory='>
                                      name: nanny_memory
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (word_part.ArithSub
                                          left: <Id.Left_DollarDParen '$(('>
                                          anode: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Plus
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Star
                                                  left: {(${ Id.VSub_Name num_kube_nodes)}
                                                  right: {(${ Id.VSub_Name nanny_memory_per_node)}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Star
                                                  left: {<Id.Lit_Digits 90>}
                                                  right: {<Id.Lit_Digits 1024>}
                                                )
                                            )
                                          right: <Id.Right_DollarDParen _>
                                        ) <Ki>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [10459 10487]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'controller_yaml='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'controller_yaml='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'controller_yaml='>
                              name: controller_yaml
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name dst_dir) <'/'> (${ Id.VSub_Name file_dir))}
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name ENABLE_CLUSTER_MONITORING>
                                                  var_name: ENABLE_CLUSTER_MONITORING
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <googleinfluxdb>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'controller_yaml='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'controller_yaml='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'controller_yaml='>
                                      name: controller_yaml
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ (${ Id.VSub_Name controller_yaml) 
                                        <'/heapster-controller-combined.yaml'>
                                      )
                                    }
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [10544 10564]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.ShAssignment
                          left: <Id.Lit_VarLike 'controller_yaml='>
                          pairs: [
                            (AssignPair
                              left: <Id.Lit_VarLike 'controller_yaml='>
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'controller_yaml='>
                                  name: controller_yaml
                                )
                              op: assign_op.Equal
                              rhs: 
                                {(DQ (${ Id.VSub_Name controller_yaml) <'/heapster-controller.yaml'>)}
                            )
                          ]
                          redirects: []
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <remove-salt-config-comments>
                      more_env: []
                      words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name controller_yaml))}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@{{ cluster_name }}@'> (${ Id.VSub_Name CLUSTER_NAME) <'@g'>)}
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *base_metrics_memory *}}@'> (${ Id.VSub_Name base_metrics_memory) 
                            <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *base_metrics_cpu *}}@'> (${ Id.VSub_Name base_metrics_cpu) <'@g'>)
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *base_eventer_memory *}}@'> (${ Id.VSub_Name base_eventer_memory) 
                            <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *metrics_memory_per_node *}}@'> 
                            (${ Id.VSub_Name metrics_memory_per_node) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *eventer_memory_per_node *}}@'> 
                            (${ Id.VSub_Name eventer_memory_per_node) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@{{ *nanny_memory *}}@'> (${ Id.VSub_Name nanny_memory) <'@g'>)}
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *metrics_cpu_per_node *}}@'> 
                            (${ Id.VSub_Name metrics_cpu_per_node) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name controller_yaml))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <update-prometheus-to-sd-parameters>
                      more_env: []
                      words: [
                        {<update-prometheus-to-sd-parameters>}
                        {(${ Id.VSub_Name controller_yaml)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [10231 10335]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_METRICS_SERVER>
                                          var_name: ENABLE_METRICS_SERVER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <metrics-server>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [10778 10798]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CLUSTER_DNS>
                                          var_name: ENABLE_CLUSTER_DNS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <dns>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'kubedns_file='> 
                          (DQ (${ Id.VSub_Name dst_dir) <'/dns/kube-dns.yaml'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [
                        {<mv>}
                        {(DQ (${ Id.VSub_Name dst_dir) <'/dns/kube-dns.yaml.in'>)}
                        {(DQ (${ Id.VSub_Name kubedns_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'dns_domain\''> 
                            <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name DNS_DOMAIN) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name kubedns_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> <'[\'dns_server\''> 
                            <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name DNS_SERVER_IP) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name kubedns_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DBracket
                                      left: <Id.KW_DLeftBracket '[['>
                                      expr: 
                                        (bool_expr.Binary
                                          op_id: Id.BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: 
                                                    <Id.VSub_Name ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                                                  var_name: ENABLE_DNS_HORIZONTAL_AUTOSCALER
                                                  suffix_op: 
                                                    (suffix_op.Unary
                                                      op: <Id.VTest_ColonHyphen _>
                                                      arg_word: (rhs_word__Empty)
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              )
                                            }
                                          right: {(DQ <true>)}
                                        )
                                      right: <Id.Lit_DRightBracket ']]'>
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.Simple
                              blame_tok: <setup-addon-manifests>
                              more_env: []
                              words: [
                                {<setup-addon-manifests>}
                                {(DQ <addons>)}
                                {(DQ <dns-horizontal-autoscaler>)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          spids: [10933 10953]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  spids: [10815 10835]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CLUSTER_REGISTRY>
                                          var_name: ENABLE_CLUSTER_REGISTRY
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <registry>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'registry_pv_file='> 
                          (DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pv.yaml'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'registry_pvc_file='> 
                          (DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pvc.yaml'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [
                        {<mv>}
                        {(DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pv.yaml.in'>)}
                        {(DQ (${ Id.VSub_Name registry_pv_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <mv>
                      more_env: []
                      words: [
                        {<mv>}
                        {(DQ (${ Id.VSub_Name dst_dir) <'/registry/registry-pvc.yaml.in'>)}
                        {(DQ (${ Id.VSub_Name registry_pvc_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <remove-salt-config-comments>
                      more_env: []
                      words: [{<remove-salt-config-comments>} {(DQ (${ Id.VSub_Name controller_yaml))}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'[\'cluster_registry_disk_size\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK_SIZE) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name registry_pv_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'[\'cluster_registry_disk_size\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK_SIZE) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name registry_pvc_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {
                          (DQ <'s@{{ *pillar'> <Id.Lit_BadBackslash '\\'> 
                            <'[\'cluster_registry_disk_name\''> <Id.Lit_BadBackslash '\\'> <'] *}}@'> (${ Id.VSub_Name CLUSTER_REGISTRY_DISK) <'@g'>
                          )
                        }
                        {(DQ (${ Id.VSub_Name registry_pvc_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [10973 10993]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_NODE_LOGGING>
                                              var_name: ENABLE_NODE_LOGGING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <true>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name LOGGING_DESTINATION>
                                              var_name: LOGGING_DESTINATION
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <elasticsearch>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_CLUSTER_LOGGING>
                                              var_name: ENABLE_CLUSTER_LOGGING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <true>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <fluentd-elasticsearch>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11156 11218]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              children: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name ENABLE_NODE_LOGGING>
                                              var_name: ENABLE_NODE_LOGGING
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <true>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name LOGGING_DESTINATION>
                                              var_name: LOGGING_DESTINATION
                                              suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          )
                                        }
                                      right: {(DQ <gcp>)}
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: [<Id.Op_DAmp _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <fluentd-gcp>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'event_exporter_yaml='> 
                          (DQ (${ Id.VSub_Name dst_dir) <'/fluentd-gcp/event-exporter.yaml'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'fluentd_gcp_yaml='> 
                          (DQ (${ Id.VSub_Name dst_dir) <'/fluentd-gcp/fluentd-gcp-ds.yaml'>)
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <update-prometheus-to-sd-parameters>
                      more_env: []
                      words: [
                        {<update-prometheus-to-sd-parameters>}
                        {(${ Id.VSub_Name event_exporter_yaml)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <update-prometheus-to-sd-parameters>
                      more_env: []
                      words: [
                        {<update-prometheus-to-sd-parameters>}
                        {(${ Id.VSub_Name fluentd_gcp_yaml)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11235 11276]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_CLUSTER_UI>
                                          var_name: ENABLE_CLUSTER_UI
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <dashboard>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11333 11353]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                          var_name: ENABLE_NODE_PROBLEM_DETECTOR
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <daemonset>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <node-problem-detector>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11370 11390]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  blame_tok: <echo>
                                  more_env: []
                                  words: [
                                    {<echo>}
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ADMISSION_CONTROL>
                                          var_name: ADMISSION_CONTROL
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  ]
                                  redirects: []
                                  do_fork: T
                                )
                                (command.Simple
                                  blame_tok: <grep>
                                  more_env: []
                                  words: [{<grep>} {<-q>} {(DQ <LimitRanger>)}]
                                  redirects: []
                                  do_fork: T
                                )
                              ]
                              ops: [<Id.Op_Pipe _>]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <admission-controls>)} {(DQ <limit-range>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11407 11429]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name NETWORK_POLICY_PROVIDER>
                                          var_name: NETWORK_POLICY_PROVIDER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <calico>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <calico-policy-controller>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <local>
                      more_env: []
                      words: [
                        {<local>}
                        {<-r>}
                        {<Id.Lit_VarLike 'ds_file='> 
                          (DQ (${ Id.VSub_Name dst_dir) 
                            <'/calico-policy-controller/calico-node-daemonset.yaml'>
                          )
                        }
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <sed>
                      more_env: []
                      words: [
                        {<sed>}
                        {<-i>}
                        {<-e>}
                        {(DQ <'s@__CALICO_CNI_DIR__@/opt/cni/bin@g'>)}
                        {(DQ (${ Id.VSub_Name ds_file))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11446 11466]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_DEFAULT_STORAGE_CLASS>
                                          var_name: ENABLE_DEFAULT_STORAGE_CLASS
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [{<setup-addon-manifests>} {(DQ <addons>)} {(DQ <'storage-class/gce'>)}]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11518 11538]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {(DQ (${ Id.VSub_Name src_dir) <'/kube-addon-manager.yaml'>)}
                {<'/etc/kubernetes/manifests'>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-image-puller>
      name: start-image-puller
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start image-puller'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-manifests/kubernetes/gci-trusty/e2e-image-puller.manifest'>
                  )
                }
                {<'/etc/kubernetes/manifests/'>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-kube-registry-proxy>
      name: start-kube-registry-proxy
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [{<echo>} {(DQ <'Start kube-registry-proxy'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cp>
              more_env: []
              words: [
                {<cp>}
                {
                  (DQ (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-manifests/kubernetes/kube-registry-proxy.yaml'>
                  )
                }
                {<'/etc/kubernetes/manifests'>}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-lb-controller>
      name: start-lb-controller
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_L7_LOADBALANCING>
                                          var_name: ENABLE_L7_LOADBALANCING
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <glbc>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Start GCE L7 pod'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <prepare-log-file>
                      more_env: []
                      words: [{<prepare-log-file>} {<'/var/log/glbc.log'>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <setup-addon-manifests>
                      more_env: []
                      words: [
                        {<setup-addon-manifests>}
                        {(DQ <addons>)}
                        {(DQ <'cluster-loadbalancing/glbc'>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {
                          (DQ (${ Id.VSub_Name KUBE_HOME) 
                            <'/kube-manifests/kubernetes/gci-trusty/glbc.manifest'>
                          )
                        }
                        {<'/etc/kubernetes/manifests/'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11648 11668]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <start-rescheduler>
      name: start-rescheduler
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name ENABLE_RESCHEDULER>
                                          var_name: ENABLE_RESCHEDULER
                                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  right: {(DQ <true>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Start Rescheduler'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <prepare-log-file>
                      more_env: []
                      words: [{<prepare-log-file>} {<'/var/log/rescheduler.log'>}]
                      redirects: []
                      do_fork: T
                    )
                    (command.Simple
                      blame_tok: <cp>
                      more_env: []
                      words: [
                        {<cp>}
                        {
                          (DQ (${ Id.VSub_Name KUBE_HOME) 
                            <'/kube-manifests/kubernetes/gci-trusty/rescheduler.manifest'>
                          )
                        }
                        {<'/etc/kubernetes/manifests/'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  ]
                  spids: [11723 11743]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <setup-rkt>
      name: setup-rkt
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'rkt_bin='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/rkt'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Unary
                                  op_id: Id.BoolUnary_x
                                  child: {(DQ (${ Id.VSub_Name rkt_bin))}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'RKT_BIN='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'RKT_BIN='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RKT_BIN='> name:RKT_BIN)
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name rkt_bin))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
                  ]
                  spids: [11807 11822]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [{<mkdir>} {<-p>} {<'/etc/rkt'>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/download/'>)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'rkt_tar='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/download/rkt.tar.gz'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'rkt_tmpdir='> 
                  (CommandSub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Simple
                        blame_tok: <mktemp>
                        more_env: []
                        words: [
                          {<mktemp>}
                          {<-d>}
                          {(DQ (${ Id.VSub_Name KUBE_HOME) <'/rkt_download.XXXXX'>)}
                        ]
                        redirects: []
                        do_fork: T
                      )
                    right: <Id.Eof_RParen _>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <curl>
              more_env: []
              words: [
                {<curl>}
                {<--retry>}
                {<5>}
                {<--retry-delay>}
                {<3>}
                {<--fail>}
                {<--silent>}
                {<--show-error>}
                {<--location>}
                {<--create-dirs>}
                {<--output>}
                {(DQ (${ Id.VSub_Name rkt_tar))}
                {<https> <Id.Lit_Colon ':'> <'//github.com/coreos/rkt/releases/download/v'> 
                  (${ Id.VSub_Name RKT_VERSION) <'/rkt-v'> (${ Id.VSub_Name RKT_VERSION) <.tar.gz>
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <tar>
              more_env: []
              words: [
                {<tar>}
                {<--strip-components> <Id.Lit_Equals '='> <1>}
                {<-xf>}
                {(DQ (${ Id.VSub_Name rkt_tar))}
                {<-C>}
                {(DQ (${ Id.VSub_Name rkt_tmpdir))}
                {<--overwrite>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mv>
              more_env: []
              words: [
                {<mv>}
                {(DQ (${ Id.VSub_Name rkt_tmpdir) <'/rkt'>)}
                {(DQ (${ Id.VSub_Name rkt_bin))}
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.LogicalNot
                                  child: 
                                    (bool_expr.Unary
                                      op_id: Id.BoolUnary_x
                                      child: {(DQ (${ Id.VSub_Name rkt_bin))}
                                    )
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Could not download requested rkt binary'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [11979 11996]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'RKT_BIN='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'RKT_BIN='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RKT_BIN='> name:RKT_BIN)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name rkt_bin))}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <Id.Left_DoubleQuote '"'>
              more_env: []
              words: [
                {(DQ (${ Id.VSub_Name RKT_BIN))}
                {<fetch>}
                {<--insecure-options> <Id.Lit_Equals '='> <image>}
                {(DQ (${ Id.VSub_Name rkt_tmpdir)) <'/'> <Id.Lit_Star '*'> <.aci>}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <rm>
              more_env: []
              words: [{<rm>} {<-rf>} {(DQ (${ Id.VSub_Name rkt_tmpdir))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <cat>
              more_env: []
              words: [{<cat>}]
              redirects: [
                (Redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/etc/systemd/system/rkt-api.service'>}
                )
                (Redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOF>}
                      here_end_tok: <Id.Undefined_Tok ''>
                      stdin_parts: [
                        <'[Unit]\n'>
                        <'Description=rkt api service\n'>
                        <'Documentation=http://github.com/coreos/rkt\n'>
                        <'After=network.target\n'>
                        <'\n'>
                        <'[Service]\n'>
                        <'ExecStart='>
                        (${ Id.VSub_Name RKT_BIN)
                        <' api-service --listen=127.0.0.1:15441\n'>
                        <'Restart=on-failure\n'>
                        <'\n'>
                        <'[Install]\n'>
                        <'WantedBy=multi-user.target\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<enable>} {<rkt-api.service>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<start>} {<rkt-api.service>}]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <install-docker2aci>
      name: install-docker2aci
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'tar_path='> 
                  (DQ (${ Id.VSub_Name KUBE_HOME) <'/download/docker2aci.tar.gz'>)
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'tmp_path='> (DQ (${ Id.VSub_Name KUBE_HOME) <'/docker2aci'>)}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <mkdir>
              more_env: []
              words: [
                {<mkdir>}
                {<-p>}
                {(DQ (${ Id.VSub_Name KUBE_HOME) <'/download/'>)}
                {(DQ (${ Id.VSub_Name tmp_path))}
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <curl>
              more_env: []
              words: [
                {<curl>}
                {<--retry>}
                {<5>}
                {<--retry-delay>}
                {<3>}
                {<--fail>}
                {<--silent>}
                {<--show-error>}
                {<--location>}
                {<--create-dirs>}
                {<--output>}
                {(DQ (${ Id.VSub_Name tar_path))}
                {<https> <Id.Lit_Colon ':'> 
                  <
'//github.com/appc/docker2aci/releases/download/v0.14.0/docker2aci-v0.14.0.tar.gz'
                  >
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <tar>
              more_env: []
              words: [
                {<tar>}
                {<--strip-components> <Id.Lit_Equals '='> <1>}
                {<-xf>}
                {(DQ (${ Id.VSub_Name tar_path))}
                {<-C>}
                {(DQ (${ Id.VSub_Name tmp_path))}
                {<--overwrite>}
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'DOCKER2ACI_BIN='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'DOCKER2ACI_BIN='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DOCKER2ACI_BIN='> name:DOCKER2ACI_BIN)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name KUBE_HOME) <'/bin/docker2aci'>)}
                )
              ]
              redirects: []
            )
            (command.Simple
              blame_tok: <mv>
              more_env: []
              words: [
                {<mv>}
                {(DQ (${ Id.VSub_Name tmp_path) <'/docker2aci'>)}
                {(DQ (${ Id.VSub_Name DOCKER2ACI_BIN))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [{<echo>} {(DQ <'Start to configure instance for kubernetes'>)}]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'KUBE_HOME='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'KUBE_HOME='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'KUBE_HOME='> name:KUBE_HOME)
          op: assign_op.Equal
          rhs: {(DQ <'/opt/kubernetes'>)}
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.LogicalNot
                          child: 
                            (bool_expr.Unary
                              op_id: Id.BoolUnary_e
                              child: {(DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-env'>)}
                            )
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <echo>
              more_env: []
              words: [
                {<echo>}
                {
                  (DQ <'The '> (${ Id.VSub_Name KUBE_HOME) 
                    <'/kube-env file does not exist!! Terminate cluster initialization.'>
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          spids: [12272 12290]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <source>
      more_env: []
      words: [{<source>} {(DQ (${ Id.VSub_Name KUBE_HOME) <'/kube-env'>)}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Unary
                          op_id: Id.BoolUnary_n
                          child: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name KUBE_USER>
                                  var_name: KUBE_USER
                                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Pipeline
                              negated: <Id.KW_Bang '!'>
                              children: [
                                (command.DBracket
                                  left: <Id.KW_DLeftBracket '[['>
                                  expr: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_EqualTilde
                                      left: {(DQ (${ Id.VSub_Name KUBE_USER))}
                                      right: 
                                        {<Id.Lit_Other '^'> <Id.Lit_Other '['> <-> <Id.Lit_Other .> <_> 
                                          <Id.Lit_Other '@'> <a-zA-Z0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                        }
                                    )
                                  right: <Id.Lit_DRightBracket ']]'>
                                  redirects: []
                                )
                              ]
                              ops: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <echo>
                      more_env: []
                      words: [{<echo>} {(DQ <'Bad KUBE_USER format.'>)}]
                      redirects: []
                      do_fork: T
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Exit exit>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [12340 12368]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          spids: [12321 12337]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'KUBE_CONTROLLER_MANAGER_TOKEN='>
              name: KUBE_CONTROLLER_MANAGER_TOKEN
            )
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <dd>
                        more_env: []
                        words: [
                          {<dd>}
                          {<Id.Lit_VarLike 'if='> <'/dev/urandom'>}
                          {<Id.Lit_VarLike 'bs='> <128>}
                          {<Id.Lit_VarLike 'count='> <1>}
                        ]
                        redirects: [
                          (Redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <base64>
                        more_env: []
                        words: [{<base64>}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <tr>
                        more_env: []
                        words: [{<tr>} {<-d>} {(DQ <'=+/'>)}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <dd>
                        more_env: []
                        words: [{<dd>} {<Id.Lit_VarLike 'bs='> <32>} {<Id.Lit_VarLike 'count='> <1>}]
                        redirects: [
                          (Redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>]
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='>
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'KUBE_SCHEDULER_TOKEN='>
              name: KUBE_SCHEDULER_TOKEN
            )
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (command.Simple
                        blame_tok: <dd>
                        more_env: []
                        words: [
                          {<dd>}
                          {<Id.Lit_VarLike 'if='> <'/dev/urandom'>}
                          {<Id.Lit_VarLike 'bs='> <128>}
                          {<Id.Lit_VarLike 'count='> <1>}
                        ]
                        redirects: [
                          (Redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <base64>
                        more_env: []
                        words: [{<base64>}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <tr>
                        more_env: []
                        words: [{<tr>} {<-d>} {(DQ <'=+/'>)}]
                        redirects: []
                        do_fork: T
                      )
                      (command.Simple
                        blame_tok: <dd>
                        more_env: []
                        words: [{<dd>} {<Id.Lit_VarLike 'bs='> <32>} {<Id.Lit_VarLike 'count='> <1>}]
                        redirects: [
                          (Redir
                            op: <Id.Redir_Great '2>'>
                            loc: (redir_loc.Fd fd:2)
                            arg: {<'/dev/null'>}
                          )
                        ]
                        do_fork: T
                      )
                    ]
                    ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>]
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name CONTAINER_RUNTIME>
                                  var_name: CONTAINER_RUNTIME
                                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                          right: {(DQ )}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.ShAssignment
              left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='>
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'CONTAINER_RUNTIME='>
                      name: CONTAINER_RUNTIME
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name KUBERNETES_CONTAINER_RUNTIME>
                          var_name: KUBERNETES_CONTAINER_RUNTIME
                          suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<docker>})
                          right: <Id.Right_DollarBrace '}'>
                        )
                      )
                    }
                )
              ]
              redirects: []
            )
          ]
          spids: [12483 12502]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <create-dirs>
      more_env: []
      words: [{<create-dirs>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <ensure-local-ssds>
      more_env: []
      words: [{<ensure-local-ssds>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name KUBERNETES_MASTER>
                                  var_name: KUBERNETES_MASTER
                                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                          right: {(DQ <true>)}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <mount-master-pd>
              more_env: []
              words: [{<mount-master-pd>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-master-auth>
              more_env: []
              words: [{<create-master-auth>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-master-kubelet-auth>
              more_env: []
              words: [{<create-master-kubelet-auth>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-master-etcd-auth>
              more_env: []
              words: [{<create-master-etcd-auth>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [12521 12541]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.Simple
          blame_tok: <create-kubelet-kubeconfig>
          more_env: []
          words: [
            {<create-kubelet-kubeconfig>}
            {(DQ <'https://'> (${ Id.VSub_Name KUBERNETES_MASTER_NAME))}
          ]
          redirects: []
          do_fork: T
        )
        (command.If
          if_kw: <Id.KW_If if>
          arms: [
            (IfArm
              keyword: <Id.KW_If if>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name KUBE_PROXY_DAEMONSET>
                                      var_name: KUBE_PROXY_DAEMONSET
                                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              right: {(DQ <true>)}
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              then_kw: <Id.KW_Then then>
              action: [
                (command.Simple
                  blame_tok: <create-kubeproxy-user-kubeconfig>
                  more_env: []
                  words: [{<create-kubeproxy-user-kubeconfig>}]
                  redirects: []
                  do_fork: T
                )
              ]
              spids: [12568 12588]
            )
          ]
          else_action: []
          fi_kw: <Id.KW_Fi fi>
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name CONTAINER_RUNTIME>
                                  var_name: CONTAINER_RUNTIME
                                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                          right: {(DQ <rkt>)}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<stop>} {<docker>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <systemctl>
              more_env: []
              words: [{<systemctl>} {<disable>} {<docker>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <setup-rkt>
              more_env: []
              words: [{<setup-rkt>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <install-docker2aci>
              more_env: []
              words: [{<install-docker2aci>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <create-kube-controller-manager-dirs>
              more_env: []
              words: [{<create-kube-controller-manager-dirs>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [12599 12619]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.Simple
          blame_tok: <configure-docker-daemon>
          more_env: []
          words: [{<configure-docker-daemon>}]
          redirects: []
          do_fork: T
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <load-docker-images>
      more_env: []
      words: [{<load-docker-images>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <start-kubelet>
      more_env: []
      words: [{<start-kubelet>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DBracket
                      left: <Id.KW_DLeftBracket '[['>
                      expr: 
                        (bool_expr.Binary
                          op_id: Id.BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name KUBERNETES_MASTER>
                                  var_name: KUBERNETES_MASTER
                                  suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                          right: {(DQ <true>)}
                        )
                      right: <Id.Lit_DRightBracket ']]'>
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <compute-master-manifest-variables>
              more_env: []
              words: [{<compute-master-manifest-variables>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-etcd-servers>
              more_env: []
              words: [{<start-etcd-servers>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-etcd-empty-dir-cleanup-pod>
              more_env: []
              words: [{<start-etcd-empty-dir-cleanup-pod>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-kube-apiserver>
              more_env: []
              words: [{<start-kube-apiserver>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-kube-controller-manager>
              more_env: []
              words: [{<start-kube-controller-manager>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-kube-scheduler>
              more_env: []
              words: [{<start-kube-scheduler>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-kube-addons>
              more_env: []
              words: [{<start-kube-addons>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-cluster-autoscaler>
              more_env: []
              words: [{<start-cluster-autoscaler>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-lb-controller>
              more_env: []
              words: [{<start-lb-controller>}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <start-rescheduler>
              more_env: []
              words: [{<start-rescheduler>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [12657 12677]
        )
      ]
      else_kw: <Id.KW_Else else>
      else_action: [
        (command.If
          if_kw: <Id.KW_If if>
          arms: [
            (IfArm
              keyword: <Id.KW_If if>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name KUBE_PROXY_DAEMONSET>
                                      var_name: KUBE_PROXY_DAEMONSET
                                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              right: {(DQ <true>)}
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              then_kw: <Id.KW_Then then>
              action: [
                (command.Simple
                  blame_tok: <start-kube-proxy>
                  more_env: []
                  words: [{<start-kube-proxy>}]
                  redirects: []
                  do_fork: T
                )
              ]
              spids: [12712 12732]
            )
          ]
          else_action: []
          fi_kw: <Id.KW_Fi fi>
          redirects: []
        )
        (command.If
          if_kw: <Id.KW_If if>
          arms: [
            (IfArm
              keyword: <Id.KW_If if>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name ENABLE_CLUSTER_REGISTRY>
                                      var_name: ENABLE_CLUSTER_REGISTRY
                                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              right: {(DQ <true>)}
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              then_kw: <Id.KW_Then then>
              action: [
                (command.Simple
                  blame_tok: <start-kube-registry-proxy>
                  more_env: []
                  words: [{<start-kube-registry-proxy>}]
                  redirects: []
                  do_fork: T
                )
              ]
              spids: [12745 12765]
            )
          ]
          else_action: []
          fi_kw: <Id.KW_Fi fi>
          redirects: []
        )
        (command.If
          if_kw: <Id.KW_If if>
          arms: [
            (IfArm
              keyword: <Id.KW_If if>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.Binary
                              op_id: Id.BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name PREPULL_E2E_IMAGES>
                                      var_name: PREPULL_E2E_IMAGES
                                      suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:(rhs_word__Empty))
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              right: {(DQ <true>)}
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              then_kw: <Id.KW_Then then>
              action: [
                (command.Simple
                  blame_tok: <start-image-puller>
                  more_env: []
                  words: [{<start-image-puller>}]
                  redirects: []
                  do_fork: T
                )
              ]
              spids: [12774 12794]
            )
          ]
          else_action: []
          fi_kw: <Id.KW_Fi fi>
          redirects: []
        )
      ]
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <echo>
      more_env: []
      words: [{<echo>} {(DQ <'Done for the configuration for kubernetes'>)}]
      redirects: []
      do_fork: T
    )
  ]
)