(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (FuncDef
      name: setup-os-params
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(echo)} {(DQ ("core.%e.%p.%t"))}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/proc/sys/kernel/core_pattern)}
                  spids: [105]
                )
              ]
            )
          ]
          spids: [84]
        )
      spids: [80 83]
    )
    (FuncDef
      name: config-ip-firewall
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Configuring IP firewall rules"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(iptables)} {(-L)} {(INPUT)})
                            (SimpleCommand
                              words: [{(grep)} {(DQ ("Chain INPUT (policy DROP)"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [150]
                                )
                              ]
                            )
                          ]
                          negated: False
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Add rules to accept all inbound TCP/UDP/ICMP packets"))})
                    (C {(iptables)} {(-A)} {(INPUT)} {(-w)} {(-p)} {(TCP)} {(-j)} {(ACCEPT)})
                    (C {(iptables)} {(-A)} {(INPUT)} {(-w)} {(-p)} {(UDP)} {(-j)} {(ACCEPT)})
                    (C {(iptables)} {(-A)} {(INPUT)} {(-w)} {(-p)} {(ICMP)} {(-j)} {(ACCEPT)})
                  ]
                  spids: [-1 155]
                )
              ]
              spids: [-1 216]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(iptables)} {(-L)} {(FORWARD)})
                            (SimpleCommand
                              words: [{(grep)} {(DQ ("Chain FORWARD (policy DROP)"))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_Great
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [235]
                                )
                              ]
                            )
                          ]
                          negated: False
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Add rules to accept all forwarded TCP/UDP/ICMP packets"))})
                    (C {(iptables)} {(-A)} {(FORWARD)} {(-w)} {(-p)} {(TCP)} {(-j)} {(ACCEPT)})
                    (C {(iptables)} {(-A)} {(FORWARD)} {(-w)} {(-p)} {(UDP)} {(-j)} {(ACCEPT)})
                    (C {(iptables)} {(-A)} {(FORWARD)} {(-w)} {(-p)} {(ICMP)} {(-j)} {(ACCEPT)})
                  ]
                  spids: [-1 240]
                )
              ]
              spids: [-1 301]
            )
            (C {(iptables)} {(-N)} {(KUBE-METADATA-SERVER)})
            (C {(iptables)} {(-I)} {(FORWARD)} {(-p)} {(tcp)} {(-d)} {(169.254.169.254)} {(--dport)} {(80)} 
              {(-j)} {(KUBE-METADATA-SERVER)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_FIREWALL_METADATA_SERVER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [343 346]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(iptables)} {(-A)} {(KUBE-METADATA-SERVER)} {(-j)} {(DROP)})]
                  spids: [-1 352]
                )
              ]
              spids: [-1 366]
            )
          ]
          spids: [116]
        )
      spids: [112 115]
    )
    (FuncDef
      name: create-dirs
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating required directories"))})
            (C {(mkdir)} {(-p)} {(/var/lib/kubelet)})
            (C {(mkdir)} {(-p)} {(/etc/kubernetes/manifests)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [404 407]
                                    )
                                  )
                                }
                              right: {(DQ (false))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(mkdir)} {(-p)} {(/var/lib/kube-proxy)})]
                  spids: [-1 419]
                )
              ]
              spids: [-1 429]
            )
          ]
          spids: [375]
        )
      spids: [371 374]
    )
    (FuncDef
      name: safe-format-and-mount
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:device)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [449]
                )
              ]
              spids: [449]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mountpoint)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [453]
                )
              ]
              spids: [453]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(tune2fs)} {(-l)} {(DQ (${ VSub_Name device))})]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Formatting '") (${ VSub_Name device) ("'"))})
                    (C {(mkfs.ext4)} {(-F)} {(DQ (${ VSub_Name device))})
                  ]
                  spids: [-1 478]
                )
              ]
              spids: [-1 503]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name mountpoint))})
            (C {(echo)} 
              {(DQ ("Mounting '") (${ VSub_Name device) ("' at '") (${ VSub_Name mountpoint) ("'"))}
            )
            (C {(mount)} {(-o)} {(discard) (Lit_Comma ",") (defaults)} {(DQ (${ VSub_Name device))} 
              {(DQ (${ VSub_Name mountpoint))}
            )
          ]
          spids: [446]
        )
      spids: [440 445]
    )
    (FuncDef
      name: ensure-local-ssds
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: ssd
              iter_words: [{(/dev/disk/by-id/google-local-ssd-) (Lit_Other "*")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-e)} {(DQ (${ VSub_Name ssd))} {(Lit_Other "]")})
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ssdnum)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(echo)} {(${ VSub_Name ssd)})
                                                  (C {(sed)} {(-e)} 
                                                    {
                                                      (SQ 
                                                        <
"s/\\/dev\\/disk\\/by-id\\/google-local-ssd-\\([0-9]*\\)/\\1/"
                                                        >
                                                      )
                                                    }
                                                  )
                                                ]
                                                negated: False
                                              )
                                            ]
                                          )
                                        left_token: <Left_Backtick "`">
                                        spids: [600 616]
                                      )
                                    }
                                  spids: [599]
                                )
                              ]
                              spids: [599]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:ssdmount)
                                  op: Equal
                                  rhs: {(DQ (/mnt/disks/ssd) (${ VSub_Name ssdnum) (/))}
                                  spids: [619]
                                )
                              ]
                              spids: [619]
                            )
                            (C {(mkdir)} {(-p)} {(${ VSub_Name ssdmount)})
                            (C {(safe-format-and-mount)} {(DQ (${ VSub_Name ssd))} 
                              {(${ VSub_Name ssdmount)}
                            )
                            (C {(echo)} 
                              {
                                (DQ ("Mounted local SSD ") ($ VSub_Name "$ssd") (" at ") 
                                  (${ VSub_Name ssdmount)
                                )
                              }
                            )
                            (C {(chmod)} {(a) (Lit_Other "+") (w)} {(${ VSub_Name ssdmount)})
                          ]
                          spids: [-1 596]
                        )
                      ]
                      else_action: [(C {(echo)} {(DQ ("No local SSD disks found."))})]
                      spids: [674 684]
                    )
                  ]
                  spids: [578 687]
                )
              spids: [573 576]
            )
          ]
          spids: [565]
        )
      spids: [559 564]
    )
    (FuncDef
      name: setup-logrotate
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(/etc/logrotate.d/)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/logrotate.d/allvarlogs)}
                  spids: [753]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("/var/log/*.log {\n") ("    rotate ") 
                        (BracedVarSub
                          token: <VSub_Name LOGROTATE_FILES_MAX_COUNT>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(5)})
                          spids: [762 766]
                        ) ("\n") ("    copytruncate\n") ("    missingok\n") ("    notifempty\n") ("    compress\n") ("    maxsize ") 
                        (BracedVarSub
                          token: <VSub_Name LOGROTATE_MAX_SIZE>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(100M)})
                          spids: [773 777]
                        ) ("\n") ("    daily\n") ("    dateext\n") ("    dateformat -%Y%m%d-%s\n") ("    create 0644 root root\n") 
                        ("}\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [757]
                )
              ]
            )
          ]
          spids: [701]
        )
      spids: [695 700]
    )
    (FuncDef
      name: find-master-pd
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_PD_DEVICE)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [798]
                )
              ]
              spids: [798]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(/dev/disk/by-id/google-master-pd)}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [-1 816]
                )
              ]
              spids: [-1 822]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:device_info)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(ls)} {(-l)} {(/dev/disk/by-id/google-master-pd)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [826 832]
                      )
                    }
                  spids: [825]
                )
              ]
              spids: [825]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:relative_path)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name device_info>
                        suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("* ")})
                        spids: [836 840]
                      )
                    }
                  spids: [835]
                )
              ]
              spids: [835]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_PD_DEVICE)
                  op: Equal
                  rhs: {(DQ (/dev/disk/by-id/) (${ VSub_Name relative_path))}
                  spids: [843]
                )
              ]
              spids: [843]
            )
          ]
          spids: [795]
        )
      spids: [791 794]
    )
    (FuncDef
      name: mount-master-pd
      body: 
        (BraceGroup
          children: [
            (C {(find-master-pd)})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name MASTER_PD_DEVICE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [883 886]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [-1 892]
                )
              ]
              spids: [-1 898]
            )
            (C {(echo)} {(DQ ("Mounting master-pd"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pd_path)
                  op: Equal
                  rhs: {(DQ (/dev/disk/by-id/google-master-pd))}
                  spids: [913]
                )
              ]
              spids: [909]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mount_point)
                  op: Equal
                  rhs: {(DQ (/mnt/disks/master-pd))}
                  spids: [923]
                )
              ]
              spids: [919]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name mount_point))})
            (C {(safe-format-and-mount)} {(DQ (${ VSub_Name pd_path))} {(DQ (${ VSub_Name mount_point))})
            (C {(echo)} 
              {
                (DQ ("Mounted master-pd '") (${ VSub_Name pd_path) ("' at '") (${ VSub_Name mount_point) 
                  ("'")
                )
              }
            )
            (C {(mkdir)} {(-m)} {(700)} {(-p)} {(DQ (${ VSub_Name mount_point) (/var/etcd))})
            (C {(ln)} {(-s)} {(-f)} {(DQ (${ VSub_Name mount_point) (/var/etcd))} {(/var/etcd)})
            (C {(mkdir)} {(-p)} {(/etc/srv)})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name mount_point) (/srv/kubernetes))})
            (C {(ln)} {(-s)} {(-f)} {(DQ (${ VSub_Name mount_point) (/srv/kubernetes))} 
              {(/etc/srv/kubernetes)}
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name mount_point) (/srv/sshproxy))})
            (C {(ln)} {(-s)} {(-f)} {(DQ (${ VSub_Name mount_point) (/srv/sshproxy))} 
              {(/etc/srv/sshproxy)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (Pipeline children:[(C {(id)} {(etcd)})] negated:True)
                      terminator: <Op_Amp "&">
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [1113]
                            )
                          ]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(useradd)} {(-s)} {(/sbin/nologin)} {(-d)} {(/var/etcd)} {(etcd)})]
                  spids: [-1 1117]
                )
              ]
              spids: [-1 1133]
            )
            (C {(chown)} {(-R)} {(etcd)} {(DQ (${ VSub_Name mount_point) (/var/etcd))})
            (C {(chgrp)} {(-R)} {(etcd)} {(DQ (${ VSub_Name mount_point) (/var/etcd))})
          ]
          spids: [870]
        )
      spids: [866 869]
    )
    (FuncDef
      name: append_or_replace_prefixed_line
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 1>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [1191 1194]
                        )
                      )
                    }
                  spids: [1189]
                )
              ]
              spids: [1185]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefix)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [1204 1207]
                        )
                      )
                    }
                  spids: [1202]
                )
              ]
              spids: [1198]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suffix)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 3>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [1217 1220]
                        )
                      )
                    }
                  spids: [1215]
                )
              ]
              spids: [1211]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dirname)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(dirname)} {(${ VSub_Name file)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1230 1236]
                        )
                      )
                    }
                  spids: [1228]
                )
              ]
              spids: [1224]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmpfile)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(mktemp)} {(-t)} {(filtered.XXXX)} 
                                  {(--tmpdir) (Lit_Other "=") (${ VSub_Name dirname)}
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [1246 1258]
                        )
                      )
                    }
                  spids: [1244]
                )
              ]
              spids: [1240]
            )
            (C {(touch)} {(DQ (${ VSub_Name file))})
            (SimpleCommand
              words: [
                {(awk)}
                {
                  (DQ ("substr(") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("0,0,length(") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name prefix) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")) != ") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name prefix) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (" { print }")
                  )
                }
                {(DQ (${ VSub_Name file))}
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name tmpfile))}
                  spids: [1298]
                )
              ]
            )
            (SimpleCommand
              words: [{(echo)} {(DQ (${ VSub_Name prefix) (${ VSub_Name suffix))}]
              redirects: [
                (Redir
                  op_id: Redir_DGreat
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name tmpfile))}
                  spids: [1318]
                )
              ]
            )
            (C {(mv)} {(DQ (${ VSub_Name tmpfile))} {(DQ (${ VSub_Name file))})
          ]
          spids: [1182]
        )
      spids: [1178 1181]
    )
    (FuncDef
      name: write-pki-data
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:data)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [1353]
                )
              ]
              spids: [1351]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:path)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [1363]
                )
              ]
              spids: [1361]
            )
            (Subshell
              child: 
                (CommandList
                  children: [
                    (Sentence
                      child: (C {(umask)} {(077)})
                      terminator: <Op_Semi ";">
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name data))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (${ VSub_Name path))}
                              spids: [1391]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                  ]
                )
              spids: [1371 1398]
            )
          ]
          spids: [1348]
        )
      spids: [1344 1347]
    )
    (FuncDef
      name: create-node-pki
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating node pki files"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pki_dir)
                  op: Equal
                  rhs: {(DQ (/etc/srv/kubernetes/pki))}
                  spids: [1422]
                )
              ]
              spids: [1418]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name pki_dir))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CA_CERT_BUNDLE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1447 1450]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CA_CERT_BUNDLE)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name CA_CERT))}
                          spids: [1459]
                        )
                      ]
                      spids: [1459]
                    )
                  ]
                  spids: [-1 1456]
                )
              ]
              spids: [-1 1467]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_CERT_BUNDLE_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/ca-certificates.crt))}
                  spids: [1471]
                )
              ]
              spids: [1471]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name CA_CERT_BUNDLE))} 
              {(DQ (${ VSub_Name CA_CERT_BUNDLE_PATH))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [1505 1508]
                                            )
                                          )
                                        }
                                    )
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_KEY>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [1518 1521]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBELET_CERT_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/kubelet.crt))}
                          spids: [1530]
                        )
                      ]
                      spids: [1530]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name KUBELET_CERT))} 
                      {(DQ (${ VSub_Name KUBELET_CERT_PATH))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBELET_KEY_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/kubelet.key))}
                          spids: [1555]
                        )
                      ]
                      spids: [1555]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name KUBELET_KEY))} 
                      {(DQ (${ VSub_Name KUBELET_KEY_PATH))}
                    )
                  ]
                  spids: [-1 1527]
                )
              ]
              spids: [-1 1579]
            )
            (C {(ln)} {(-sf)} {(DQ (${ VSub_Name CA_CERT_BUNDLE_PATH))} {(/etc/srv/kubernetes/ca.crt)})
          ]
          spids: [1407]
        )
      spids: [1403 1406]
    )
    (FuncDef
      name: create-master-pki
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating master pki files"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pki_dir)
                  op: Equal
                  rhs: {(DQ (/etc/srv/kubernetes/pki))}
                  spids: [1625]
                )
              ]
              spids: [1621]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name pki_dir))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_CERT_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/ca.crt))}
                  spids: [1643]
                )
              ]
              spids: [1643]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name CA_CERT))} {(DQ (${ VSub_Name CA_CERT_PATH))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name CA_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1681 1684]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CA_KEY_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/ca.key))}
                          spids: [1693]
                        )
                      ]
                      spids: [1693]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name CA_KEY))} {(DQ (${ VSub_Name CA_KEY_PATH))})
                  ]
                  spids: [-1 1690]
                )
              ]
              spids: [-1 1717]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name APISERVER_SERVER_CERT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1728 1731]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name APISERVER_SERVER_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1739 1742]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:APISERVER_SERVER_CERT)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_CERT))}
                          spids: [1751]
                        )
                      ]
                      spids: [1751]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:APISERVER_SERVER_KEY)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_KEY))}
                          spids: [1759]
                        )
                      ]
                      spids: [1759]
                    )
                  ]
                  spids: [-1 1748]
                )
              ]
              spids: [-1 1767]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:APISERVER_SERVER_CERT_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/apiserver.crt))}
                  spids: [1771]
                )
              ]
              spids: [1771]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name APISERVER_SERVER_CERT))} 
              {(DQ (${ VSub_Name APISERVER_SERVER_CERT_PATH))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:APISERVER_SERVER_KEY_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/apiserver.key))}
                  spids: [1796]
                )
              ]
              spids: [1796]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name APISERVER_SERVER_KEY))} 
              {(DQ (${ VSub_Name APISERVER_SERVER_KEY_PATH))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name APISERVER_CLIENT_CERT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1828 1831]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name APISERVER_CLIENT_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1839 1842]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:APISERVER_CLIENT_CERT)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBEAPISERVER_CERT))}
                          spids: [1851]
                        )
                      ]
                      spids: [1851]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:APISERVER_CLIENT_KEY)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBEAPISERVER_KEY))}
                          spids: [1859]
                        )
                      ]
                      spids: [1859]
                    )
                  ]
                  spids: [-1 1848]
                )
              ]
              spids: [-1 1867]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:APISERVER_CLIENT_CERT_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/apiserver-client.crt))}
                  spids: [1871]
                )
              ]
              spids: [1871]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name APISERVER_CLIENT_CERT))} 
              {(DQ (${ VSub_Name APISERVER_CLIENT_CERT_PATH))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:APISERVER_CLIENT_KEY_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/apiserver-client.key))}
                  spids: [1896]
                )
              ]
              spids: [1896]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name APISERVER_CLIENT_KEY))} 
              {(DQ (${ VSub_Name APISERVER_CLIENT_KEY_PATH))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name SERVICEACCOUNT_CERT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1928 1931]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name SERVICEACCOUNT_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1939 1942]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SERVICEACCOUNT_CERT)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_CERT))}
                          spids: [1951]
                        )
                      ]
                      spids: [1951]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SERVICEACCOUNT_KEY)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_KEY))}
                          spids: [1959]
                        )
                      ]
                      spids: [1959]
                    )
                  ]
                  spids: [-1 1948]
                )
              ]
              spids: [-1 1967]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SERVICEACCOUNT_CERT_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/serviceaccount.crt))}
                  spids: [1971]
                )
              ]
              spids: [1971]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name SERVICEACCOUNT_CERT))} 
              {(DQ (${ VSub_Name SERVICEACCOUNT_CERT_PATH))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SERVICEACCOUNT_KEY_PATH)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name pki_dir) (/serviceaccount.key))}
                  spids: [1996]
                )
              ]
              spids: [1996]
            )
            (C {(write-pki-data)} {(DQ (${ VSub_Name SERVICEACCOUNT_KEY))} 
              {(DQ (${ VSub_Name SERVICEACCOUNT_KEY_PATH))}
            )
            (C {(ln)} {(-sf)} {(DQ (${ VSub_Name APISERVER_SERVER_KEY_PATH))} 
              {(/etc/srv/kubernetes/server.key)}
            )
            (C {(ln)} {(-sf)} {(DQ (${ VSub_Name APISERVER_SERVER_CERT_PATH))} 
              {(/etc/srv/kubernetes/server.cert)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name REQUESTHEADER_CA_CERT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2065 2068]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:AGGREGATOR_CA_KEY_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/aggr_ca.key))}
                          spids: [2077]
                        )
                      ]
                      spids: [2077]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name AGGREGATOR_CA_KEY))} 
                      {(DQ (${ VSub_Name AGGREGATOR_CA_KEY_PATH))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REQUESTHEADER_CA_CERT_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/aggr_ca.crt))}
                          spids: [2102]
                        )
                      ]
                      spids: [2102]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name REQUESTHEADER_CA_CERT))} 
                      {(DQ (${ VSub_Name REQUESTHEADER_CA_CERT_PATH))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PROXY_CLIENT_KEY_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/proxy_client.key))}
                          spids: [2127]
                        )
                      ]
                      spids: [2127]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name PROXY_CLIENT_KEY))} 
                      {(DQ (${ VSub_Name PROXY_CLIENT_KEY_PATH))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:PROXY_CLIENT_CERT_PATH)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name pki_dir) (/proxy_client.crt))}
                          spids: [2152]
                        )
                      ]
                      spids: [2152]
                    )
                    (C {(write-pki-data)} {(DQ (${ VSub_Name PROXY_CLIENT_CERT))} 
                      {(DQ (${ VSub_Name PROXY_CLIENT_CERT_PATH))}
                    )
                  ]
                  spids: [-1 2074]
                )
              ]
              spids: [-1 2176]
            )
          ]
          spids: [1610]
        )
      spids: [1606 1609]
    )
    (FuncDef
      name: create-master-auth
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating master auth files"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:auth_dir)
                  op: Equal
                  rhs: {(DQ (/etc/srv/kubernetes))}
                  spids: [2214]
                )
              ]
              spids: [2210]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:basic_auth_csv)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name auth_dir) (/basic_auth.csv))}
                  spids: [2224]
                )
              ]
              spids: [2220]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_PASSWORD>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2240 2243]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_USER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2251 2254]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_e
                                          child: {(DQ (${ VSub_Name basic_auth_csv))}
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name METADATA_CLOBBERS_CONFIG>
                                                  suffix_op: 
                                                    (StringUnary
                                                      op_id: VTest_ColonHyphen
                                                      arg_word: {(false)}
                                                    )
                                                  spids: [2278 2282]
                                                )
                                              )
                                            }
                                          right: {(DQ (true))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [(C {(rm)} {(DQ (${ VSub_Name basic_auth_csv))})]
                          spids: [-1 2294]
                        )
                      ]
                      spids: [-1 2322]
                    )
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name basic_auth_csv))} 
                      {(DQ (${ VSub_Name KUBE_PASSWORD) (",") (${ VSub_Name KUBE_USER) (","))} {(DQ ("admin,system:masters"))}
                    )
                  ]
                  spids: [-1 2260]
                )
              ]
              spids: [-1 2349]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:known_tokens_csv)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name auth_dir) (/known_tokens.csv))}
                  spids: [2357]
                )
              ]
              spids: [2353]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(DQ (${ VSub_Name known_tokens_csv))}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name METADATA_CLOBBERS_CONFIG>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_ColonHyphen
                                              arg_word: {(false)}
                                            )
                                          spids: [2381 2385]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(DQ (${ VSub_Name known_tokens_csv))})]
                  spids: [-1 2397]
                )
              ]
              spids: [-1 2409]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BEARER_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2419 2422]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name known_tokens_csv))} 
                      {(DQ (${ VSub_Name KUBE_BEARER_TOKEN) (","))} {(DQ ("admin,admin,system:masters"))}
                    )
                  ]
                  spids: [-1 2428]
                )
              ]
              spids: [-1 2451]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2461 2464]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name known_tokens_csv))} 
                      {(DQ (${ VSub_Name KUBE_CONTROLLER_MANAGER_TOKEN) (","))} {(DQ ("system:kube-controller-manager,uid:system:kube-controller-manager"))}
                    )
                  ]
                  spids: [-1 2470]
                )
              ]
              spids: [-1 2493]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_SCHEDULER_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2503 2506]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name known_tokens_csv))} 
                      {(DQ (${ VSub_Name KUBE_SCHEDULER_TOKEN) (","))} {(DQ ("system:kube-scheduler,uid:system:kube-scheduler"))}
                    )
                  ]
                  spids: [-1 2512]
                )
              ]
              spids: [-1 2535]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_PROXY_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2545 2548]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name known_tokens_csv))} 
                      {(DQ (${ VSub_Name KUBE_PROXY_TOKEN) (","))} {(DQ ("system:kube-proxy,uid:kube_proxy"))}
                    )
                  ]
                  spids: [-1 2554]
                )
              ]
              spids: [-1 2577]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_PROBLEM_DETECTOR_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2587 2590]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(append_or_replace_prefixed_line)} {(DQ (${ VSub_Name known_tokens_csv))} 
                      {(DQ (${ VSub_Name NODE_PROBLEM_DETECTOR_TOKEN) (","))} {(DQ ("system:node-problem-detector,uid:node-problem-detector"))}
                    )
                  ]
                  spids: [-1 2596]
                )
              ]
              spids: [-1 2619]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_cloud_config)
                  op: Equal
                  rhs: {(DQ (false))}
                  spids: [2624]
                )
              ]
              spids: [2622]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("[global]\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [2632]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/gce.conf)}
                  spids: [2635]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCE_API_ENDPOINT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2647 2650]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("api-endpoint = ") (${ VSub_Name GCE_API_ENDPOINT) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2661]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2664]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2656]
                )
              ]
              spids: [-1 2673]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name TOKEN_URL>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2683 2686]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name TOKEN_BODY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2694 2697]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2706]
                        )
                      ]
                      spids: [2706]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("token-url = ") (${ VSub_Name TOKEN_URL) ("\n") ("token-body = ") 
                                (${ VSub_Name TOKEN_BODY) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2714]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2717]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2703]
                )
              ]
              spids: [-1 2731]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name PROJECT_ID>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2741 2744]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2753]
                        )
                      ]
                      spids: [2753]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("project-id = ") (${ VSub_Name PROJECT_ID) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2761]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2764]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2750]
                )
              ]
              spids: [-1 2773]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK_PROJECT_ID>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2783 2786]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2795]
                        )
                      ]
                      spids: [2795]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {(DQ ("network-project-id = ") (${ VSub_Name NETWORK_PROJECT_ID) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2803]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2806]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2792]
                )
              ]
              spids: [-1 2815]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_NETWORK>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2825 2828]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2837]
                        )
                      ]
                      spids: [2837]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("network-name = ") (${ VSub_Name NODE_NETWORK) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2845]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2848]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2834]
                )
              ]
              spids: [-1 2857]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_SUBNETWORK>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2867 2870]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2879]
                        )
                      ]
                      spids: [2879]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("subnetwork-name = ") (${ VSub_Name NODE_SUBNETWORK) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2887]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2890]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2876]
                )
              ]
              spids: [-1 2899]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_INSTANCE_PREFIX>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2909 2912]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [2921]
                        )
                      ]
                      spids: [2921]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name NODE_TAGS>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [2934 2937]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              flags: ["'-r'"]
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:node_tags)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name NODE_TAGS))}
                                  spids: [2950]
                                )
                              ]
                              spids: [2946]
                            )
                          ]
                          spids: [-1 2943]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_Local
                          flags: ["'-r'"]
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:node_tags)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name NODE_INSTANCE_PREFIX))}
                              spids: [2965]
                            )
                          ]
                          spids: [2961]
                        )
                      ]
                      spids: [2958 2973]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("node-tags = ") (${ VSub_Name node_tags) ("\n") 
                                ("node-instance-prefix = ") (${ VSub_Name NODE_INSTANCE_PREFIX) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [2978]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [2981]
                        )
                      ]
                    )
                  ]
                  spids: [-1 2918]
                )
              ]
              spids: [-1 2995]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name MULTIZONE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3005 3008]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [3017]
                        )
                      ]
                      spids: [3017]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("multizone = ") (${ VSub_Name MULTIZONE) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3025]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [3028]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3014]
                )
              ]
              spids: [-1 3037]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCE_ALPHA_FEATURES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3047 3050]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [3059]
                        )
                      ]
                      spids: [3059]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: {(DQ ("alpha-features = ") (${ VSub_Name GCE_ALPHA_FEATURES) ("\n"))}
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3067]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [3070]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3056]
                )
              ]
              spids: [-1 3079]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SECONDARY_RANGE_NAME>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3089 3092]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:use_cloud_config)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [3101]
                        )
                      ]
                      spids: [3101]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("secondary-range-name = ") 
                                (BracedVarSub
                                  token: <VSub_Name SECONDARY>
                                  suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(RANGE-NAME)})
                                  spids: [3117 3121]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3109]
                        )
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {(/etc/gce.conf)}
                          spids: [3112]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3098]
                )
              ]
              spids: [-1 3124]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name use_cloud_config))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(/etc/gce.conf)})]
                  spids: [-1 3146]
                )
              ]
              spids: [-1 3156]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_AUTHN_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3167 3170]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("clusters:\n") ("  - name: gcp-authentication-server\n") 
                                ("    cluster:\n") ("      server: ") (${ 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")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3181]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/etc/gcp_authn.config)}
                          spids: [3184]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3176]
                )
              ]
              spids: [-1 3207]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_AUTHZ_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3218 3221]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("clusters:\n") ("  - name: gcp-authorization-server\n") 
                                ("    cluster:\n") ("      server: ") (${ 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")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3232]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/etc/gcp_authz.config)}
                          spids: [3235]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3227]
                )
              ]
              spids: [-1 3258]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_IMAGE_VERIFICATION_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3268 3271]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("clusters:\n") ("  - name: gcp-image-review-server\n") 
                                ("    cluster:\n") ("      server: ") (${ 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")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3286]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/etc/gcp_image_review.config)}
                          spids: [3289]
                        )
                      ]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("imagePolicy:\n") 
                                ("  kubeConfigFile: /etc/gcp_image_review.config\n") ("  allowTTL: 30\n") ("  denyTTL: 30\n") ("  retryBackoff: 500\n") ("  defaultAllow: true\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3318]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/etc/admission_controller.config)}
                          spids: [3321]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3277]
                )
              ]
              spids: [-1 3331]
            )
          ]
          spids: [2200]
        )
      spids: [2196 2199]
    )
    (FuncDef
      name: create-master-audit-policy
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:path)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [3350]
                )
              ]
              spids: [3346]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:policy)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Number 2>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [3364 3367]
                        )
                      )
                    }
                  spids: [3362]
                )
              ]
              spids: [3358]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name policy))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ (${ VSub_Name policy))}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name path))}
                          spids: [3398]
                        )
                      ]
                    )
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [-1 3387]
                )
              ]
              spids: [-1 3410]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:known_apis)
                  op: Equal
                  rhs: 
                    {
                      (SQ <"\n"> <"      - group: \"\" # core\n"> 
                        <"      - group: \"admissionregistration.k8s.io\"\n"> <"      - group: \"apiextensions.k8s.io\"\n"> <"      - group: \"apiregistration.k8s.io\"\n"> 
                        <"      - group: \"apps\"\n"> <"      - group: \"authentication.k8s.io\"\n"> <"      - group: \"authorization.k8s.io\"\n"> 
                        <"      - group: \"autoscaling\"\n"> <"      - group: \"batch\"\n"> <"      - group: \"certificates.k8s.io\"\n"> 
                        <"      - group: \"extensions\"\n"> <"      - group: \"metrics.k8s.io\"\n"> <"      - group: \"networking.k8s.io\"\n"> 
                        <"      - group: \"policy\"\n"> <"      - group: \"rbac.authorization.k8s.io\"\n"> <"      - group: \"settings.k8s.io\"\n"> 
                        <"      - group: \"storage.k8s.io\"">
                      )
                    }
                  spids: [3422]
                )
              ]
              spids: [3418]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: audit.k8s.io/v1beta1\n") ("kind: Policy\n") ("rules:\n") 
                        (
"  # The following requests were manually identified as high-volume and low-risk,\n"
                        ) ("  # so drop them.\n") ("  - level: None\n") ("    users: [") (Right_DoubleQuote "\"") 
                        ("system:kube-proxy") (Right_DoubleQuote "\"") ("]\n") ("    verbs: [") (Right_DoubleQuote "\"") (watch) 
                        (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") 
                        (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (endpoints) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (services) (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (services/status) 
                        (Right_DoubleQuote "\"") ("]\n") ("  - level: None\n") 
                        (
"    # Ingress controller reads 'configmaps/ingress-uid' through the unsecured port.\n"
                        ) ("    # TODO(#46983): Change this to the ingress controller service account.\n") ("    users: [") 
                        (Right_DoubleQuote "\"") ("system:unsecured") (Right_DoubleQuote "\"") ("]\n") ("    namespaces: [") (Right_DoubleQuote "\"") 
                        (kube-system) (Right_DoubleQuote "\"") ("]\n") ("    verbs: [") (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") 
                        ("]\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" # core\n") 
                        ("        resources: [") (Right_DoubleQuote "\"") (configmaps) (Right_DoubleQuote "\"") ("]\n") ("  - level: None\n") 
                        ("    users: [") (Right_DoubleQuote "\"") (kubelet) (Right_DoubleQuote "\"") ("] # legacy kubelet identity\n") 
                        ("    verbs: [") (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") 
                        (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (nodes) 
                        (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (nodes/status) (Right_DoubleQuote "\"") ("]\n") ("  - level: None\n") 
                        ("    userGroups: [") (Right_DoubleQuote "\"") ("system:nodes") (Right_DoubleQuote "\"") ("]\n") ("    verbs: [") 
                        (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") 
                        (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (nodes) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (nodes/status) (Right_DoubleQuote "\"") ("]\n") ("  - level: None\n") ("    users:\n") 
                        ("      - system:kube-controller-manager\n") ("      - system:kube-scheduler\n") 
                        ("      - system:serviceaccount:kube-system:endpoint-controller\n") ("    verbs: [") (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") 
                        (update) (Right_DoubleQuote "\"") ("]\n") ("    namespaces: [") (Right_DoubleQuote "\"") (kube-system) 
                        (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") 
                        (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (endpoints) (Right_DoubleQuote "\"") ("]\n") 
                        ("  - level: None\n") ("    users: [") (Right_DoubleQuote "\"") ("system:apiserver") (Right_DoubleQuote "\"") ("]\n") 
                        ("    verbs: [") (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") 
                        (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (namespaces) 
                        (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (namespaces/status) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (namespaces/finalize) (Right_DoubleQuote "\"") ("]\n") ("  # Don't log HPA fetching metrics.\n") 
                        ("  - level: None\n") ("    users:\n") ("      - system:kube-controller-manager\n") ("    verbs: [") (Right_DoubleQuote "\"") 
                        (get) (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (list) (Right_DoubleQuote "\"") ("]\n") 
                        ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") (metrics.k8s.io) (Right_DoubleQuote "\"") ("\n") ("\n") 
                        ("  # Don't log these read-only URLs.\n") ("  - level: None\n") ("    nonResourceURLs:\n") ("      - /healthz*\n") ("      - /version\n") 
                        ("      - /swagger*\n") ("\n") ("  # Don't log events requests.\n") ("  - level: None\n") ("    resources:\n") 
                        ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") 
                        (Right_DoubleQuote "\"") (events) (Right_DoubleQuote "\"") ("]\n") ("\n") 
                        (
"  # node and pod status calls from nodes are high-volume and can be large, don't log responses for expected updates from nodes\n"
                        ) ("  - level: Request\n") ("    users: [") (Right_DoubleQuote "\"") (kubelet) (Right_DoubleQuote "\"") 
                        (", ") (Right_DoubleQuote "\"") ("system:node-problem-detector") (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") ("system:serviceaccount:kube-system:node-problem-detector") (Right_DoubleQuote "\"") ("]\n") 
                        ("    verbs: [") (Right_DoubleQuote "\"") (update) (Right_DoubleQuote "\"") (",") (Right_DoubleQuote "\"") (patch) 
                        (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") 
                        (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (nodes/status) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (pods/status) (Right_DoubleQuote "\"") ("]\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") 
                        (RequestReceived) (Right_DoubleQuote "\"") ("\n") ("  - level: Request\n") ("    userGroups: [") (Right_DoubleQuote "\"") 
                        ("system:nodes") (Right_DoubleQuote "\"") ("]\n") ("    verbs: [") (Right_DoubleQuote "\"") (update) 
                        (Right_DoubleQuote "\"") (",") (Right_DoubleQuote "\"") (patch) (Right_DoubleQuote "\"") ("]\n") ("    resources:\n") 
                        ("      - group: ") (Right_DoubleQuote "\"") (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") 
                        (Right_DoubleQuote "\"") (nodes/status) (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (pods/status) 
                        (Right_DoubleQuote "\"") ("]\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") (RequestReceived) 
                        (Right_DoubleQuote "\"") ("\n") ("\n") 
                        (
"  # deletecollection calls can be large, don't log responses for expected namespace deletions\n"
                        ) ("  - level: Request\n") ("    users: [") (Right_DoubleQuote "\"") 
                        ("system:serviceaccount:kube-system:namespace-controller") (Right_DoubleQuote "\"") ("]\n") ("    verbs: [") (Right_DoubleQuote "\"") (deletecollection) 
                        (Right_DoubleQuote "\"") ("]\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") (RequestReceived) 
                        (Right_DoubleQuote "\"") ("\n") ("\n") ("  # Secrets, ConfigMaps, and TokenReviews can contain sensitive & binary data,\n") 
                        ("  # so only log at the Metadata level.\n") ("  - level: Metadata\n") ("    resources:\n") ("      - group: ") (Right_DoubleQuote "\"") 
                        (Right_DoubleQuote "\"") (" # core\n") ("        resources: [") (Right_DoubleQuote "\"") (secrets) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (configmaps) (Right_DoubleQuote "\"") ("]\n") ("      - group: authentication.k8s.io\n") 
                        ("        resources: [") (Right_DoubleQuote "\"") (tokenreviews) (Right_DoubleQuote "\"") ("]\n") ("    omitStages:\n") 
                        ("      - ") (Right_DoubleQuote "\"") (RequestReceived) (Right_DoubleQuote "\"") ("\n") 
                        ("  # Get repsonses can be large; skip them.\n") ("  - level: Request\n") ("    verbs: [") (Right_DoubleQuote "\"") (get) (Right_DoubleQuote "\"") (", ") 
                        (Right_DoubleQuote "\"") (list) (Right_DoubleQuote "\"") (", ") (Right_DoubleQuote "\"") (watch) (Right_DoubleQuote "\"") ("]\n") 
                        ("    resources: ") (${ VSub_Name known_apis) ("\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") 
                        (RequestReceived) (Right_DoubleQuote "\"") ("\n") ("  # Default level for known APIs\n") ("  - level: RequestResponse\n") 
                        ("    resources: ") (${ VSub_Name known_apis) ("\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") 
                        (RequestReceived) (Right_DoubleQuote "\"") ("\n") ("  # Default level for all other requests.\n") 
                        ("  - level: Metadata\n") ("    omitStages:\n") ("      - ") (Right_DoubleQuote "\"") (RequestReceived) (Right_DoubleQuote "\"") 
                        ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [3448]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name path))}
                  spids: [3451]
                )
              ]
            )
          ]
          spids: [3343]
        )
      spids: [3339 3342]
    )
    (FuncDef
      name: create-master-audit-webhook-config
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:path)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [3860]
                )
              ]
              spids: [3856]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_AUDIT_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [3876 3879]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("clusters:\n") ("  - name: gcp-audit-server\n") ("    cluster:\n") 
                                ("      server: ") (${ VSub_Name GCP_AUDIT_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-audit-server\n") ("    user: kube-apiserver\n") ("  name: webhook\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [3894]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name path))}
                          spids: [3897]
                        )
                      ]
                    )
                  ]
                  spids: [-1 3885]
                )
              ]
              spids: [-1 3924]
            )
          ]
          spids: [3853]
        )
      spids: [3849 3852]
    )
    (FuncDef
      name: create-kubelet-kubeconfig
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:apiserver_address)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [3943]
                )
              ]
              spids: [3941]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: {(DQ (${ VSub_Name apiserver_address))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {(DQ ("Must provide API server address to create Kubelet kubeconfig file!"))}
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 3966]
                )
              ]
              spids: [-1 3981]
            )
            (C {(echo)} {(DQ ("Creating kubelet kubeconfig file"))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: v1\n") ("kind: Config\n") ("users:\n") ("- name: kubelet\n") 
                        ("  user:\n") ("    client-certificate: ") (${ VSub_Name KUBELET_CERT_PATH) ("\n") ("    client-key: ") 
                        (${ VSub_Name KUBELET_KEY_PATH) ("\n") ("clusters:\n") ("- name: local\n") ("  cluster:\n") ("    server: https://") 
                        (${ VSub_Name apiserver_address) ("\n") ("    certificate-authority: ") (${ VSub_Name CA_CERT_BUNDLE_PATH) ("\n") ("contexts:\n") 
                        ("- context:\n") ("    cluster: local\n") ("    user: kubelet\n") ("  name: service-account-context\n") 
                        ("current-context: service-account-context\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [3993]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/var/lib/kubelet/bootstrap-kubeconfig)}
                  spids: [3996]
                )
              ]
            )
          ]
          spids: [3938]
        )
      spids: [3932 3937]
    )
    (FuncDef
      name: create-master-kubelet-auth
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBELET_APISERVER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4070 4073]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [4081 4084]
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_KEY>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [4092 4095]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:REGISTER_MASTER_KUBELET)
                          op: Equal
                          rhs: {(DQ (true))}
                          spids: [4104]
                        )
                      ]
                      spids: [4104]
                    )
                    (C {(create-kubelet-kubeconfig)} {(${ VSub_Name KUBELET_APISERVER)})
                  ]
                  spids: [-1 4101]
                )
              ]
              spids: [-1 4117]
            )
          ]
          spids: [4052]
        )
      spids: [4048 4051]
    )
    (FuncDef
      name: create-kubeproxy-user-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating kube-proxy user kubeconfig file"))})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: v1\n") ("kind: Config\n") ("users:\n") ("- name: kube-proxy\n") 
                        ("  user:\n") ("    token: ") (${ VSub_Name KUBE_PROXY_TOKEN) ("\n") ("clusters:\n") ("- name: local\n") 
                        ("  cluster:\n") ("    certificate-authority-data: ") (${ VSub_Name CA_CERT_BUNDLE) ("\n") ("contexts:\n") 
                        ("- context:\n") ("    cluster: local\n") ("    user: kube-proxy\n") ("  name: service-account-context\n") 
                        ("current-context: service-account-context\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4138]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/var/lib/kube-proxy/kubeconfig)}
                  spids: [4141]
                )
              ]
            )
          ]
          spids: [4126]
        )
      spids: [4122 4125]
    )
    (FuncDef
      name: create-kubecontrollermanager-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating kube-controller-manager kubeconfig file"))})
            (C {(mkdir)} {(-p)} {(/etc/srv/kubernetes/kube-controller-manager)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: v1\n") ("kind: Config\n") ("users:\n") 
                        ("- name: kube-controller-manager\n") ("  user:\n") ("    token: ") (${ 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")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4194]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/srv/kubernetes/kube-controller-manager/kubeconfig)}
                  spids: [4197]
                )
              ]
            )
          ]
          spids: [4175]
        )
      spids: [4171 4174]
    )
    (FuncDef
      name: create-kubescheduler-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating kube-scheduler kubeconfig file"))})
            (C {(mkdir)} {(-p)} {(/etc/srv/kubernetes/kube-scheduler)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: v1\n") ("kind: Config\n") ("users:\n") 
                        ("- name: kube-scheduler\n") ("  user:\n") ("    token: ") (${ 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")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4247]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/srv/kubernetes/kube-scheduler/kubeconfig)}
                  spids: [4250]
                )
              ]
            )
          ]
          spids: [4228]
        )
      spids: [4224 4227]
    )
    (FuncDef
      name: create-node-problem-detector-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Creating node-problem-detector kubeconfig file"))})
            (C {(mkdir)} {(-p)} {(/var/lib/node-problem-detector)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("apiVersion: v1\n") ("kind: Config\n") ("users:\n") 
                        ("- name: node-problem-detector\n") ("  user:\n") ("    token: ") (${ VSub_Name NODE_PROBLEM_DETECTOR_TOKEN) ("\n") ("clusters:\n") 
                        ("- name: local\n") ("  cluster:\n") ("    certificate-authority-data: ") (${ VSub_Name CA_CERT) ("\n") ("contexts:\n") 
                        ("- context:\n") ("    cluster: local\n") ("    user: node-problem-detector\n") ("  name: service-account-context\n") 
                        ("current-context: service-account-context\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4300]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/var/lib/node-problem-detector/kubeconfig)}
                  spids: [4303]
                )
              ]
            )
          ]
          spids: [4281]
        )
      spids: [4277 4280]
    )
    (FuncDef
      name: create-master-etcd-auth
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ETCD_CA_CERT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4347 4350]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_PEER_KEY>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [4358 4361]
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_PEER_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [4369 4372]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:auth_dir)
                          op: Equal
                          rhs: {(DQ (/etc/srv/kubernetes))}
                          spids: [4385]
                        )
                      ]
                      spids: [4381]
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ETCD_CA_CERT))})
                        (C {(base64)} {(--decode)})
                        (SimpleCommand
                          words: [{(gunzip)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (${ VSub_Name auth_dir) (/etcd-ca.crt))}
                              spids: [4409]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ETCD_PEER_KEY))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (${ VSub_Name auth_dir) (/etcd-peer.key))}
                              spids: [4433]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ETCD_PEER_CERT))})
                        (C {(base64)} {(--decode)})
                        (SimpleCommand
                          words: [{(gunzip)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (${ VSub_Name auth_dir) (/etcd-peer.crt))}
                              spids: [4461]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 4378]
                )
              ]
              spids: [-1 4471]
            )
          ]
          spids: [4337]
        )
      spids: [4333 4336]
    )
    (FuncDef
      name: assemble-docker-flags
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Assemble docker command line flags"))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_opts)
                  op: Equal
                  rhs: {(DQ ("-p /var/run/docker.pid --iptables=false --ip-masq=false"))}
                  spids: [4492]
                )
              ]
              spids: [4490]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name TEST_CLUSTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4503 4506]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_opts)
                          op: PlusEqual
                          rhs: {(DQ (" --log-level=debug"))}
                          spids: [4521]
                        )
                      ]
                      spids: [4521]
                    )
                  ]
                  spids: [-1 4518]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:docker_opts)
                      op: PlusEqual
                      rhs: {(DQ (" --log-level=warn"))}
                      spids: [4530]
                    )
                  ]
                  spids: [4530]
                )
              ]
              spids: [4527 4536]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:use_net_plugin)
                  op: Equal
                  rhs: {(DQ (true))}
                  spids: [4541]
                )
              ]
              spids: [4539]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4552 4555]
                                        )
                                      )
                                    }
                                  right: {(DQ (kubenet))}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4567 4570]
                                        )
                                      )
                                    }
                                  right: {(DQ (cni))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_opts)
                          op: PlusEqual
                          rhs: {(DQ (" --bip=169.254.123.1/24"))}
                          spids: [4589]
                        )
                      ]
                      spids: [4589]
                    )
                  ]
                  spids: [-1 4582]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:use_net_plugin)
                      op: Equal
                      rhs: {(DQ (false))}
                      spids: [4598]
                    )
                  ]
                  spids: [4598]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:docker_opts)
                      op: PlusEqual
                      rhs: {(DQ (" --bridge=cbr0"))}
                      spids: [4604]
                    )
                  ]
                  spids: [4604]
                )
              ]
              spids: [4595 4610]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER_REGISTRY_MIRROR_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4629 4632]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ("Enable docker registry mirror at: ") 
                          (${ VSub_Name DOCKER_REGISTRY_MIRROR_URL)
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_opts)
                          op: PlusEqual
                          rhs: {(DQ (" --registry-mirror=") (${ VSub_Name DOCKER_REGISTRY_MIRROR_URL))}
                          spids: [4651]
                        )
                      ]
                      spids: [4651]
                    )
                  ]
                  spids: [-1 4638]
                )
              ]
              spids: [-1 4660]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_opts)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --log-driver=") 
                        (BracedVarSub
                          token: <VSub_Name DOCKER_LOG_DRIVER>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(json-file)})
                          spids: [4671 4675]
                        )
                      )
                    }
                  spids: [4668]
                )
              ]
              spids: [4668]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_opts)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --log-opt=max-size=") 
                        (BracedVarSub
                          token: <VSub_Name DOCKER_LOG_MAX_SIZE>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(10m)})
                          spids: [4682 4686]
                        )
                      )
                    }
                  spids: [4679]
                )
              ]
              spids: [4679]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_opts)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --log-opt=max-file=") 
                        (BracedVarSub
                          token: <VSub_Name DOCKER_LOG_MAX_FILE>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(5)})
                          spids: [4693 4697]
                        )
                      )
                    }
                  spids: [4690]
                )
              ]
              spids: [4690]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ("DOCKER_OPTS=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                    (${ VSub_Name docker_opts) (" ") 
                    (BracedVarSub
                      token: <VSub_Name EXTRA_DOCKER_OPTS>
                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                      spids: [4711 4714]
                    ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/default/docker)}
                  spids: [4718]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name use_net_plugin))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
"Extend the docker.service configuration to remove the network checkpiont"
                          )
                        )
                      }
                    )
                    (C {(mkdir)} {(-p)} {(/etc/systemd/system/docker.service.d)})
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("[Service]\n") ("ExecStartPre=/bin/sh -x -c ") 
                                (Right_DoubleQuote "\"") ("rm -rf /var/lib/docker/network") (Right_DoubleQuote "\"") ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [4774]
                        )
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(/etc/systemd/system/docker.service.d/01network.conf)}
                          spids: [4777]
                        )
                      ]
                    )
                  ]
                  spids: [-1 4743]
                )
              ]
              spids: [-1 4787]
            )
            (C {(echo)} {(DQ ("Extend the docker.service configuration to set a higher pids limit"))})
            (C {(mkdir)} {(-p)} {(/etc/systemd/system/docker.service.d)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ ("[Service]\n") ("TasksMax=infinity\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4815]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/systemd/system/docker.service.d/02tasksmax.conf)}
                  spids: [4818]
                )
              ]
            )
            (C {(systemctl)} {(daemon-reload)})
            (C {(echo)} {(DQ ("Docker command line is updated. Restart docker to pick it up"))})
            (C {(systemctl)} {(restart)} {(docker)})
          ]
          spids: [4480]
        )
      spids: [4476 4479]
    )
    (FuncDef
      name: start-kubelet
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kubelet"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_cert_dir)
                  op: Equal
                  rhs: {(DQ (/var/lib/kubelet/pki/))}
                  spids: [4871]
                )
              ]
              spids: [4867]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name kubelet_cert_dir))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_bin)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin/kubelet))}
                  spids: [4891]
                )
              ]
              spids: [4889]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(DQ (${ VSub_Name kubelet_bin))} 
                                      {(--version) (Lit_Other "=") (true)}
                                    )
                                    (C {(cut)} {(-f2)} {(-d)} {(DQ (" "))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4906 4928]
                        )
                      )
                    }
                  spids: [4904]
                )
              ]
              spids: [4900]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:builtin_kubelet)
                  op: Equal
                  rhs: {(DQ (/usr/bin/kubelet))}
                  spids: [4936]
                )
              ]
              spids: [4932]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name TEST_CLUSTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4947 4950]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_x
                                      child: {(DQ (${ VSub_Name builtin_kubelet))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              flags: ["'-r'"]
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:builtin_version)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(DQ (${ VSub_Name builtin_kubelet))} 
                                                      {(--version) (Lit_Other "=") (true)}
                                                    )
                                                    (C {(cut)} {(-f2)} {(-d)} {(DQ (" "))})
                                                  ]
                                                  negated: False
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [5005 5027]
                                        )
                                      )
                                    }
                                  spids: [5003]
                                )
                              ]
                              spids: [4999]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name builtin_version))}
                                              right: {(DQ (${ VSub_Name version))}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:kubelet_bin)
                                          op: Equal
                                          rhs: {(DQ (${ VSub_Name builtin_kubelet))}
                                          spids: [5055]
                                        )
                                      ]
                                      spids: [5055]
                                    )
                                  ]
                                  spids: [-1 5052]
                                )
                              ]
                              spids: [-1 5063]
                            )
                          ]
                          spids: [-1 4996]
                        )
                      ]
                      spids: [-1 5066]
                    )
                  ]
                  spids: [-1 4962]
                )
              ]
              spids: [-1 5069]
            )
            (C {(echo)} {(DQ ("Using kubelet binary at ") (${ VSub_Name kubelet_bin))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBELET_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [5086 5092]
                        ) (" ") 
                        (BracedVarSub
                          token: <VSub_Name KUBELET_TEST_ARGS>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [5094 5097]
                        )
                      )
                    }
                  spids: [5084]
                )
              ]
              spids: [5082]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --allow-privileged=true"))}
                  spids: [5101]
                )
              ]
              spids: [5101]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --cgroup-root=/"))}
                  spids: [5107]
                )
              ]
              spids: [5107]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --cloud-provider=gce"))}
                  spids: [5113]
                )
              ]
              spids: [5113]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --cluster-dns=") (${ VSub_Name DNS_SERVER_IP))}
                  spids: [5119]
                )
              ]
              spids: [5119]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --cluster-domain=") (${ VSub_Name DNS_DOMAIN))}
                  spids: [5128]
                )
              ]
              spids: [5128]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --pod-manifest-path=/etc/kubernetes/manifests"))}
                  spids: [5137]
                )
              ]
              spids: [5137]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --experimental-mounter-path=") (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) 
                        (/mounter)
                      )
                    }
                  spids: [5143]
                )
              ]
              spids: [5143]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --experimental-check-node-capabilities-before-mount=true"))}
                  spids: [5153]
                )
              ]
              spids: [5153]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --cert-dir=") (${ VSub_Name kubelet_cert_dir))}
                  spids: [5159]
                )
              ]
              spids: [5159]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBELET_PORT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5176 5179]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --port=") (${ VSub_Name KUBELET_PORT))}
                          spids: [5188]
                        )
                      ]
                      spids: [5188]
                    )
                  ]
                  spids: [-1 5185]
                )
              ]
              spids: [-1 5197]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5205 5208]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" ") 
                                (BracedVarSub
                                  token: <VSub_Name MASTER_KUBELET_TEST_ARGS>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [5226 5229]
                                )
                              )
                            }
                          spids: [5223]
                        )
                      ]
                      spids: [5223]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --enable-debugging-handlers=false"))}
                          spids: [5233]
                        )
                      ]
                      spids: [5233]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --hairpin-mode=none"))}
                          spids: [5239]
                        )
                      ]
                      spids: [5239]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name REGISTER_MASTER_KUBELET>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [5250 5254]
                                            )
                                          )
                                        }
                                      right: {(DQ (true))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:flags)
                                  op: PlusEqual
                                  rhs: {(DQ (" --kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig"))}
                                  spids: [5281]
                                )
                              ]
                              spids: [5281]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:flags)
                                  op: PlusEqual
                                  rhs: {(DQ (" --register-schedulable=false"))}
                                  spids: [5287]
                                )
                              ]
                              spids: [5287]
                            )
                          ]
                          spids: [-1 5266]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:flags)
                              op: PlusEqual
                              rhs: {(DQ (" --pod-cidr=") (${ VSub_Name MASTER_IP_RANGE))}
                              spids: [5300]
                            )
                          ]
                          spids: [5300]
                        )
                      ]
                      spids: [5293 5309]
                    )
                  ]
                  spids: [-1 5220]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:flags)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ (" ") 
                            (BracedVarSub
                              token: <VSub_Name NODE_KUBELET_TEST_ARGS>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [5321 5324]
                            )
                          )
                        }
                      spids: [5318]
                    )
                  ]
                  spids: [5318]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:flags)
                      op: PlusEqual
                      rhs: {(DQ (" --enable-debugging-handlers=true"))}
                      spids: [5328]
                    )
                  ]
                  spids: [5328]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:flags)
                      op: PlusEqual
                      rhs: {(DQ (" --bootstrap-kubeconfig=/var/lib/kubelet/bootstrap-kubeconfig"))}
                      spids: [5334]
                    )
                  ]
                  spids: [5334]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:flags)
                      op: PlusEqual
                      rhs: {(DQ (" --kubeconfig=/var/lib/kubelet/kubeconfig"))}
                      spids: [5340]
                    )
                  ]
                  spids: [5340]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name HAIRPIN_MODE>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [5351 5354]
                                            )
                                          )
                                        }
                                      right: {(DQ (promiscuous-bridge))}
                                    )
                                )
                                (AndOr
                                  children: [
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name HAIRPIN_MODE>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [5372 5375]
                                                )
                                              )
                                            }
                                          right: {(DQ (hairpin-veth))}
                                        )
                                    )
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name HAIRPIN_MODE>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [5393 5396]
                                                )
                                              )
                                            }
                                          right: {(DQ (none))}
                                        )
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:flags)
                              op: PlusEqual
                              rhs: {(DQ (" --hairpin-mode=") (${ VSub_Name HAIRPIN_MODE))}
                              spids: [5411]
                            )
                          ]
                          spids: [5411]
                        )
                      ]
                      spids: [-1 5408]
                    )
                  ]
                  spids: [-1 5420]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:flags)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ 
                            (
" --anonymous-auth=false --authorization-mode=Webhook --client-ca-file="
                            ) (${ VSub_Name CA_CERT_BUNDLE_PATH)
                          )
                        }
                      spids: [5423]
                    )
                  ]
                  spids: [5423]
                )
              ]
              spids: [5312 5432]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [5446 5449]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name NETWORK_POLICY_PROVIDER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [5457 5460]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --cni-bin-dir=/home/kubernetes/bin"))}
                          spids: [5469]
                        )
                      ]
                      spids: [5469]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name NETWORK_POLICY_PROVIDER>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [5480 5483]
                                            )
                                          )
                                        }
                                      right: {(DQ (calico))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name KUBERNETES_PRIVATE_MASTER>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [5507 5510]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (true))}
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:flags)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (DQ (" --network-plugin=") 
                                                (${ VSub_Name NETWORK_PROVIDER)
                                              )
                                            }
                                          spids: [5525]
                                        )
                                      ]
                                      spids: [5525]
                                    )
                                  ]
                                  spids: [-1 5522]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:flags)
                                      op: PlusEqual
                                      rhs: {(DQ (" --network-plugin=cni"))}
                                      spids: [5537]
                                    )
                                  ]
                                  spids: [5537]
                                )
                              ]
                              spids: [5534 5543]
                            )
                          ]
                          spids: [-1 5495]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:flags)
                              op: PlusEqual
                              rhs: {(DQ (" --network-plugin=") (${ VSub_Name NETWORK_PROVIDER))}
                              spids: [5553]
                            )
                          ]
                          spids: [5553]
                        )
                      ]
                      spids: [5546 5562]
                    )
                  ]
                  spids: [-1 5466]
                )
              ]
              spids: [-1 5565]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NON_MASQUERADE_CIDR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5575 5578]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --non-masquerade-cidr=") (${ VSub_Name NON_MASQUERADE_CIDR))}
                          spids: [5587]
                        )
                      ]
                      spids: [5587]
                    )
                  ]
                  spids: [-1 5584]
                )
              ]
              spids: [-1 5596]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name VOLUME_PLUGIN_DIR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5610 5613]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --volume-plugin-dir=") (${ VSub_Name VOLUME_PLUGIN_DIR))}
                          spids: [5622]
                        )
                      ]
                      spids: [5622]
                    )
                  ]
                  spids: [-1 5619]
                )
              ]
              spids: [-1 5631]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_MANIFEST_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5639 5642]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --manifest-url=") (${ VSub_Name MANIFEST_URL))}
                          spids: [5657]
                        )
                      ]
                      spids: [5657]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --manifest-url-header=") (${ VSub_Name MANIFEST_URL_HEADER))}
                          spids: [5666]
                        )
                      ]
                      spids: [5666]
                    )
                  ]
                  spids: [-1 5654]
                )
              ]
              spids: [-1 5675]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CUSTOM_METRICS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5685 5688]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: 
                            {(DQ (" --enable-custom-metrics=") (${ VSub_Name ENABLE_CUSTOM_METRICS))}
                          spids: [5697]
                        )
                      ]
                      spids: [5697]
                    )
                  ]
                  spids: [-1 5694]
                )
              ]
              spids: [-1 5706]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:node_labels) op:Equal rhs:{(DQ )} spids:[5711])]
              spids: [5709]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [5721 5724]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                              right: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBERNETES_MASTER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [5736 5739]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:node_labels)
                          op: Equal
                          rhs: {(DQ ("beta.kubernetes.io/kube-proxy-ds-ready=true"))}
                          spids: [5762]
                        )
                      ]
                      spids: [5762]
                    )
                  ]
                  spids: [-1 5751]
                )
              ]
              spids: [-1 5768]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_LABELS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5778 5781]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:node_labels)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name node_labels>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonPlus
                                      arg_word: {(${ VSub_Name node_labels) (",")}
                                    )
                                  spids: [5792 5799]
                                ) (${ VSub_Name NODE_LABELS)
                              )
                            }
                          spids: [5790]
                        )
                      ]
                      spids: [5790]
                    )
                  ]
                  spids: [-1 5787]
                )
              ]
              spids: [-1 5806]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name node_labels>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5816 5819]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --node-labels=") (${ VSub_Name node_labels))}
                          spids: [5828]
                        )
                      ]
                      spids: [5828]
                    )
                  ]
                  spids: [-1 5825]
                )
              ]
              spids: [-1 5837]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_TAINTS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5847 5850]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --register-with-taints=") (${ VSub_Name NODE_TAINTS))}
                          spids: [5859]
                        )
                      ]
                      spids: [5859]
                    )
                  ]
                  spids: [-1 5856]
                )
              ]
              spids: [-1 5868]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name EVICTION_HARD>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5878 5881]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --eviction-hard=") (${ VSub_Name EVICTION_HARD))}
                          spids: [5890]
                        )
                      ]
                      spids: [5890]
                    )
                  ]
                  spids: [-1 5887]
                )
              ]
              spids: [-1 5899]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEATURE_GATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5909 5912]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --feature-gates=") (${ VSub_Name FEATURE_GATES))}
                          spids: [5921]
                        )
                      ]
                      spids: [5921]
                    )
                  ]
                  spids: [-1 5918]
                )
              ]
              spids: [-1 5930]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ROTATE_CERTIFICATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [5940 5943]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:flags)
                          op: PlusEqual
                          rhs: {(DQ (" --rotate-certificates=true"))}
                          spids: [5952]
                        )
                      ]
                      spids: [5952]
                    )
                  ]
                  spids: [-1 5949]
                )
              ]
              spids: [-1 5958]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubelet_env_file)
                  op: Equal
                  rhs: {(DQ (/etc/default/kubelet))}
                  spids: [5966]
                )
              ]
              spids: [5962]
            )
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ("KUBELET_OPTS=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                    (${ VSub_Name flags) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name kubelet_env_file))}
                  spids: [5983]
                )
              ]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("[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=") (${ VSub_Name kubelet_env_file) ("\n") ("ExecStart=") (${ VSub_Name kubelet_bin) (" ") 
                        (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("KUBELET_OPTS\n") ("\n") ("[Install]\n") ("WantedBy=multi-user.target\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [5999]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/systemd/system/kubelet.service)}
                  spids: [6002]
                )
              ]
            )
            (AndOr
              children: [(C {(iptables)} {(-t)} {(nat)} {(-F)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (C {(systemctl)} {(start)} {(kubelet.service)})
          ]
          spids: [4856]
        )
      spids: [4852 4855]
    )
    (FuncDef
      name: start-node-problem-detector
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start node problem detector"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:npd_bin)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/bin/node-problem-detector))}
                  spids: [6081]
                )
              ]
              spids: [6077]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:km_config)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_HOME) (/node-problem-detector/config/kernel-monitor.json))
                    }
                  spids: [6094]
                )
              ]
              spids: [6090]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dm_config)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_HOME) (/node-problem-detector/config/docker-monitor.json))
                    }
                  spids: [6107]
                )
              ]
              spids: [6103]
            )
            (C {(echo)} {(DQ ("Using node problem detector binary at ") (${ VSub_Name npd_bin))})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name NPD_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [6130 6136]
                        ) (" ") 
                        (BracedVarSub
                          token: <VSub_Name NPD_TEST_ARGS>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [6138 6141]
                        )
                      )
                    }
                  spids: [6128]
                )
              ]
              spids: [6126]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --logtostderr"))}
                  spids: [6145]
                )
              ]
              spids: [6145]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --system-log-monitors=") (${ VSub_Name km_config) (",") 
                        (${ VSub_Name dm_config)
                      )
                    }
                  spids: [6151]
                )
              ]
              spids: [6151]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --apiserver-override=https://") (${ VSub_Name KUBERNETES_MASTER_NAME) 
                        ("?inClusterConfig=false&auth=/var/lib/node-problem-detector/kubeconfig")
                      )
                    }
                  spids: [6164]
                )
              ]
              spids: [6164]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:npd_port)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name NODE_PROBLEM_DETECTOR_PORT>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(20256)})
                        spids: [6179 6183]
                      )
                    }
                  spids: [6178]
                )
              ]
              spids: [6174]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:flags)
                  op: PlusEqual
                  rhs: {(DQ (" --port=") (${ VSub_Name npd_port))}
                  spids: [6186]
                )
              ]
              spids: [6186]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("[Unit]\n") ("Description=Kubernetes node problem detector\n") 
                        ("Requires=network-online.target\n") ("After=network-online.target\n") ("\n") ("[Service]\n") ("Restart=always\n") ("RestartSec=10\n") 
                        ("ExecStart=") (${ VSub_Name npd_bin) (" ") (${ VSub_Name flags) ("\n") ("\n") ("[Install]\n") 
                        ("WantedBy=multi-user.target\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [6202]
                )
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/systemd/system/node-problem-detector.service)}
                  spids: [6205]
                )
              ]
            )
            (C {(systemctl)} {(start)} {(node-problem-detector.service)})
          ]
          spids: [6067]
        )
      spids: [6063 6066]
    )
    (FuncDef
      name: prepare-log-file
      body: 
        (BraceGroup
          children: [
            (C {(touch)} {($ VSub_Number "$1")})
            (C {(chmod)} {(644)} {($ VSub_Number "$1")})
            (C {(chown)} {(root) (Lit_Other ":") (root)} {($ VSub_Number "$1")})
          ]
          spids: [6252]
        )
      spids: [6248 6251]
    )
    (FuncDef
      name: prepare-kube-proxy-manifest-variables
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: 
                (Assignment
                  keyword: Assign_Local
                  flags: ["'-r'"]
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:src_file)
                      op: Equal
                      rhs: {($ VSub_Number "$1")}
                      spids: [6295]
                    )
                  ]
                  spids: [6291]
                )
              terminator: <Op_Semi ";">
            )
            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name src_file))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubeconfig)
                  op: Equal
                  rhs: {(DQ ("--kubeconfig=/var/lib/kube-proxy/kubeconfig"))}
                  spids: [6315]
                )
              ]
              spids: [6311]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_docker_registry)
                  op: Equal
                  rhs: {(DQ (gcr.io/google_containers))}
                  spids: [6323]
                )
              ]
              spids: [6321]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_DOCKER_REGISTRY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6336 6339]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kube_docker_registry)
                          op: Equal
                          rhs: {(${ VSub_Name KUBE_DOCKER_REGISTRY)}
                          spids: [6348]
                        )
                      ]
                      spids: [6348]
                    )
                  ]
                  spids: [-1 6345]
                )
              ]
              spids: [-1 6354]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_proxy_docker_tag)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} {(/home/kubernetes/kube-docker-files/kube-proxy.docker_tag)})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [6362 6366]
                      )
                    }
                  spids: [6361]
                )
              ]
              spids: [6357]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:api_servers)
                  op: Equal
                  rhs: {(DQ ("--master=https://") (${ VSub_Name KUBERNETES_MASTER_NAME))}
                  spids: [6371]
                )
              ]
              spids: [6369]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBEPROXY_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [6384 6390]
                        )
                      )
                    }
                  spids: [6382]
                )
              ]
              spids: [6380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEATURE_GATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6401 6404]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --feature-gates=") (${ VSub_Name FEATURE_GATES))}
                          spids: [6413]
                        )
                      ]
                      spids: [6413]
                    )
                  ]
                  spids: [-1 6410]
                )
              ]
              spids: [-1 6422]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ 
                        (
" --iptables-sync-period=1m --iptables-min-sync-period=10s --ipvs-sync-period=1m --ipvs-min-sync-period=10s"
                        )
                      )
                    }
                  spids: [6425]
                )
              ]
              spids: [6425]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBEPROXY_TEST_ARGS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6438 6441]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" ") (${ VSub_Name KUBEPROXY_TEST_ARGS))}
                          spids: [6450]
                        )
                      ]
                      spids: [6450]
                    )
                  ]
                  spids: [-1 6447]
                )
              ]
              spids: [-1 6459]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_env)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [6464]
                )
              ]
              spids: [6462]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_cache_mutation_detector_env_name)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [6471]
                )
              ]
              spids: [6469]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_cache_mutation_detector_env_value)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [6478]
                )
              ]
              spids: [6476]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6490 6493]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:container_env)
                          op: Equal
                          rhs: {(DQ ("env:"))}
                          spids: [6502]
                        )
                      ]
                      spids: [6502]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kube_cache_mutation_detector_env_name)
                          op: Equal
                          rhs: {(DQ ("- name: KUBE_CACHE_MUTATION_DETECTOR"))}
                          spids: [6508]
                        )
                      ]
                      spids: [6508]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kube_cache_mutation_detector_env_value)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("value: ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                (${ VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              )
                            }
                          spids: [6514]
                        )
                      ]
                      spids: [6514]
                    )
                  ]
                  spids: [-1 6499]
                )
              ]
              spids: [-1 6525]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:pod_priority) op:Equal rhs:{(DQ )} spids:[6530])]
              spids: [6528]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_POD_PRIORITY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6540 6543]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:pod_priority)
                          op: Equal
                          rhs: {(DQ ("priorityClassName: system-node-critical"))}
                          spids: [6558]
                        )
                      ]
                      spids: [6558]
                    )
                  ]
                  spids: [-1 6555]
                )
              ]
              spids: [-1 6564]
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{kubeconfig}}@") (${ VSub_Name kubeconfig) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube_docker_registry'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name kube_docker_registry) ("@g")
                )
              } {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube-proxy_docker_tag'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name kube_proxy_docker_tag) ("@g")
                )
              } {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{params}}@") (${ VSub_Name params) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{container_env}}@") (${ VSub_Name container_env) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{kube_cache_mutation_detector_env_name}}@") 
                  (${ VSub_Name kube_cache_mutation_detector_env_name) ("@g")
                )
              } {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{kube_cache_mutation_detector_env_value}}@") 
                  (${ VSub_Name kube_cache_mutation_detector_env_value) ("@g")
                )
              } {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{pod_priority}}@") (${ VSub_Name pod_priority) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ cpurequest }}@100m@g"))} {(${ VSub_Name src_file)})
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{api_servers_with_port}}@") (${ VSub_Name api_servers) ("@g"))} {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{kubernetes_service_host_env_value}}@") (${ VSub_Name KUBERNETES_MASTER_NAME) 
                  ("@g")
                )
              } {(${ VSub_Name src_file)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_IP_RANGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6787 6790]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{cluster_cidr}}@--cluster-cidr=") (${ VSub_Name CLUSTER_IP_RANGE) 
                          ("@g")
                        )
                      } {(${ VSub_Name src_file)}
                    )
                  ]
                  spids: [-1 6796]
                )
              ]
              spids: [-1 6818]
            )
          ]
          spids: [6288]
        )
      spids: [6284 6287]
    )
    (FuncDef
      name: start-kube-proxy
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kube-proxy static pod"))})
            (C {(prepare-log-file)} {(/var/log/kube-proxy.log)})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_file)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/kube-proxy.manifest))}
                  spids: [6849]
                )
              ]
              spids: [6845]
            )
            (C {(prepare-kube-proxy-manifest-variables)} {(DQ (${ VSub_Name src_file))})
            (C {(cp)} {(DQ (${ VSub_Name src_file))} {(/etc/kubernetes/manifests)})
          ]
          spids: [6830]
        )
      spids: [6826 6829]
    )
    (FuncDef
      name: prepare-etcd-manifest
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:host_name)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(hostname)})])
                        left_token: <Left_CommandSub "$(">
                        spids: [6912 6914]
                      )
                    }
                  spids: [6911]
                )
              ]
              spids: [6909]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:etcd_cluster) op:Equal rhs:{(DQ )} spids:[6919])]
              spids: [6917]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cluster_state)
                  op: Equal
                  rhs: {(DQ (new))}
                  spids: [6926]
                )
              ]
              spids: [6924]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:etcd_protocol)
                  op: Equal
                  rhs: {(DQ (http))}
                  spids: [6934]
                )
              ]
              spids: [6932]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:etcd_creds) op:Equal rhs:{(DQ )} spids:[6942])]
              spids: [6940]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name INITIAL_ETCD_CLUSTER_STATE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [6955 6958]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cluster_state)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name INITIAL_ETCD_CLUSTER_STATE))}
                          spids: [6967]
                        )
                      ]
                      spids: [6967]
                    )
                  ]
                  spids: [-1 6964]
                )
              ]
              spids: [-1 6975]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ETCD_CA_KEY>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [6985 6988]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_CA_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [6996 6999]
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name ETCD_PEER_KEY>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [7007 7010]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name ETCD_PEER_CERT>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [7018 7021]
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:etcd_creds)
                          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 "
                                )
                              )
                            }
                          spids: [7030]
                        )
                      ]
                      spids: [7030]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:etcd_protocol)
                          op: Equal
                          rhs: {(DQ (https))}
                          spids: [7036]
                        )
                      ]
                      spids: [7036]
                    )
                  ]
                  spids: [-1 7027]
                )
              ]
              spids: [-1 7042]
            )
            (ForEach
              iter_name: host
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(echo)} 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name INITIAL_ETCD_CLUSTER>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(${ VSub_Name host_name)}
                                        )
                                      spids: [7056 7062]
                                    )
                                  )
                                }
                              )
                              (C {(tr)} {(DQ (","))} 
                                {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))}
                              )
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [7052 7076]
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:etcd_host)
                          op: Equal
                          rhs: 
                            {
                              (DQ (etcd-) (${ VSub_Name host) ("=") (${ VSub_Name etcd_protocol) ("://") 
                                (${ VSub_Name host) (":") ($ VSub_Number "$3")
                              )
                            }
                          spids: [7082]
                        )
                      ]
                      spids: [7082]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ (${ VSub_Name etcd_cluster))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:etcd_cluster)
                                  op: PlusEqual
                                  rhs: {(DQ (","))}
                                  spids: [7119]
                                )
                              ]
                              spids: [7119]
                            )
                          ]
                          spids: [-1 7116]
                        )
                      ]
                      spids: [-1 7125]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:etcd_cluster)
                          op: PlusEqual
                          rhs: {(DQ (${ VSub_Name etcd_host))}
                          spids: [7128]
                        )
                      ]
                      spids: [7128]
                    )
                  ]
                  spids: [7079 7136]
                )
              spids: [7051 7077]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_file)
                  op: Equal
                  rhs: {(DQ (/tmp/) ($ VSub_Number "$5"))}
                  spids: [7144]
                )
              ]
              spids: [7140]
            )
            (C {(cp)} 
              {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/gci-trusty/etcd.manifest))} {(DQ (${ VSub_Name temp_file))}
            )
            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name temp_file))})
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *suffix *}}@") ($ VSub_Number "$1") ("@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *port *}}@") ($ VSub_Number "$2") ("@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *server_port *}}@") ($ VSub_Number "$3") ("@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{ *cpulimit *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                  ($ VSub_Number "$4") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("@g")
                )
              } {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *hostname *}}@") ($ VSub_Name "$host_name") ("@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *srv_kube_path *}}@/etc/srv/kubernetes@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{ *etcd_cluster *}}@") ($ VSub_Name "$etcd_cluster") ("@g"))} {(DQ (${ VSub_Name temp_file))}
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:default_storage_backend)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name temp_file))})
                                  (C {(grep)} {(-o)} 
                                    {
                                      (DQ ("{{ *pillar") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\.">
                                        ) ("get('storage_backend', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\)">
                                        ) ("') *}}")
                                      )
                                    }
                                  )
                                  (C {(sed)} {(-e)} 
                                    {
                                      (DQ ("s@{{ *pillar") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\.">
                                        ) ("get('storage_backend', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\)">
                                        ) ("') *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("@g")
                                      )
                                    }
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [7318 7364]
                      )
                    }
                  spids: [7317]
                )
              ]
              spids: [7313]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_BACKEND>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [7374 7377]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                          ("get('storage_backend', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (${ VSub_Name STORAGE_BACKEND) ("@g")
                        )
                      } {(DQ (${ VSub_Name temp_file))}
                    )
                  ]
                  spids: [-1 7383]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} 
                  {
                    (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                      ("get('storage_backend', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("@g")
                    )
                  } {(DQ (${ VSub_Name temp_file))}
                )
              ]
              spids: [7413 7441]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_BACKEND>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(${ VSub_Name default_storage_backend)}
                                        )
                                      spids: [7449 7455]
                                    )
                                  )
                                }
                              right: {(DQ (etcd3))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{ *quota_bytes *}}@--quota-backend-bytes=4294967296@g"))} {(DQ (${ VSub_Name temp_file))}
                    )
                  ]
                  spids: [-1 7467]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *quota_bytes *}}@@g"))} 
                  {(DQ (${ VSub_Name temp_file))}
                )
              ]
              spids: [7487 7507]
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{ *cluster_state *}}@") ($ VSub_Name "$cluster_state") ("@g"))} {(DQ (${ VSub_Name temp_file))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ETCD_IMAGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [7536 7539]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                          ("get('etcd_docker_tag', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (${ VSub_Name ETCD_IMAGE) ("@g")
                        )
                      } {(DQ (${ VSub_Name temp_file))}
                    )
                  ]
                  spids: [-1 7545]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} 
                  {
                    (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                      ("get('etcd_docker_tag', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("@g")
                    )
                  } {(DQ (${ VSub_Name temp_file))}
                )
              ]
              spids: [7575 7603]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ETCD_DOCKER_REPOSITORY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [7613 7616]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                          ("get('etcd_docker_repository', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (${ VSub_Name ETCD_DOCKER_REPOSITORY) ("@g")
                        )
                      } {(DQ (${ VSub_Name temp_file))}
                    )
                  ]
                  spids: [-1 7622]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} 
                  {
                    (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                      ("get('etcd_docker_repository', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("@g")
                    )
                  } {(DQ (${ VSub_Name temp_file))}
                )
              ]
              spids: [7652 7680]
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{ *etcd_protocol *}}@") ($ VSub_Name "$etcd_protocol") ("@g"))} {(DQ (${ VSub_Name temp_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{ *etcd_creds *}}@") ($ VSub_Name "$etcd_creds") ("@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ETCD_VERSION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [7728 7731]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                          ("get('etcd_version', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                          (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (${ VSub_Name ETCD_VERSION) ("@g")
                        )
                      } {(DQ (${ VSub_Name temp_file))}
                    )
                  ]
                  spids: [-1 7737]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} 
                  {
                    (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) 
                      ("get('etcd_version', '") (EscapedLiteralPart token:<Lit_EscapedChar "\\(">) (".*") 
                      (EscapedLiteralPart token:<Lit_EscapedChar "\\)">) ("') *}}@") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) ("@g")
                    )
                  } {(DQ (${ VSub_Name temp_file))}
                )
              ]
              spids: [7767 7795]
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@/mnt/master-pd/var/etcd@/mnt/disks/master-pd/var/etcd@g"))} 
              {(DQ (${ VSub_Name temp_file))}
            )
            (C {(mv)} {(DQ (${ VSub_Name temp_file))} {(/etc/kubernetes/manifests)})
          ]
          spids: [6906]
        )
      spids: [6902 6905]
    )
    (FuncDef
      name: start-etcd-empty-dir-cleanup-pod
      body: 
        (BraceGroup
          children: [
            (C {(cp)} 
              {
                (DQ (${ VSub_Name KUBE_HOME) 
                  (
/kube-manifests/kubernetes/gci-trusty/etcd-empty-dir-cleanup/etcd-empty-dir-cleanup.yaml
                  )
                )
              } {(DQ (/etc/kubernetes/manifests))}
            )
          ]
          spids: [7836]
        )
      spids: [7832 7835]
    )
    (FuncDef
      name: start-etcd-servers
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start etcd pods"))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_d child:{(/etc/etcd)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(-rf)} {(/etc/etcd)})]
                  spids: [-1 7889]
                )
              ]
              spids: [-1 7899]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_e child:{(/etc/default/etcd)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(/etc/default/etcd)})]
                  spids: [-1 7913]
                )
              ]
              spids: [-1 7923]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_e
                              child: {(/etc/systemd/system/etcd.service)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(/etc/systemd/system/etcd.service)})]
                  spids: [-1 7937]
                )
              ]
              spids: [-1 7947]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_e child:{(/etc/init.d/etcd)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(rm)} {(-f)} {(/etc/init.d/etcd)})]
                  spids: [-1 7961]
                )
              ]
              spids: [-1 7971]
            )
            (C {(prepare-log-file)} {(/var/log/etcd.log)})
            (C {(prepare-etcd-manifest)} {(DQ )} {(DQ (2379))} {(DQ (2380))} {(DQ (200m))} 
              {(DQ (etcd.manifest))}
            )
            (C {(prepare-log-file)} {(/var/log/etcd-events.log)})
            (C {(prepare-etcd-manifest)} {(DQ (-events))} {(DQ (4002))} {(DQ (2381))} {(DQ (100m))} 
              {(DQ (etcd-events.manifest))}
            )
          ]
          spids: [7868]
        )
      spids: [7864 7867]
    )
    (FuncDef
      name: compute-master-manifest-variables
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CLOUD_CONFIG_OPT)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [8057]
                )
              ]
              spids: [8057]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CLOUD_CONFIG_VOLUME)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [8062]
                )
              ]
              spids: [8062]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CLOUD_CONFIG_MOUNT)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [8067]
                )
              ]
              spids: [8067]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_f child:{(/etc/gce.conf)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CLOUD_CONFIG_OPT)
                          op: Equal
                          rhs: {(DQ ("--cloud-config=/etc/gce.conf"))}
                          spids: [8086]
                        )
                      ]
                      spids: [8086]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CLOUD_CONFIG_VOLUME)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (cloudconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (hostPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": {") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (path) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gce.conf) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (type) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (FileOrCreate) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ("}},")
                              )
                            }
                          spids: [8092]
                        )
                      ]
                      spids: [8092]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CLOUD_CONFIG_MOUNT)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (cloudconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (mountPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gce.conf) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (readOnly) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": true},")
                              )
                            }
                          spids: [8126]
                        )
                      ]
                      spids: [8126]
                    )
                  ]
                  spids: [-1 8083]
                )
              ]
              spids: [-1 8152]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:DOCKER_REGISTRY)
                  op: Equal
                  rhs: {(DQ (gcr.io/google_containers))}
                  spids: [8155]
                )
              ]
              spids: [8155]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_DOCKER_REGISTRY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8168 8171]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:DOCKER_REGISTRY)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_DOCKER_REGISTRY))}
                          spids: [8180]
                        )
                      ]
                      spids: [8180]
                    )
                  ]
                  spids: [-1 8177]
                )
              ]
              spids: [-1 8188]
            )
          ]
          spids: [8054]
        )
      spids: [8050 8053]
    )
    (FuncDef
      name: prepare-mounter-rootfs
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Prepare containerized mounter"))})
            (C {(mount)} {(--bind)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME))} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME))}
            )
            (C {(mount)} {(-o)} {(remount) (Lit_Comma ",") (exec)} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CONTAINERIZED_MOUNTER_ROOTFS)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_HOME) (/rootfs))}
                  spids: [8242]
                )
              ]
              spids: [8242]
            )
            (C {(mount)} {(--rbind)} {(/var/lib/kubelet/)} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_ROOTFS) (/var/lib/kubelet))}
            )
            (C {(mount)} {(--make-rshared)} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_ROOTFS) (/var/lib/kubelet))}
            )
            (C {(mount)} {(--bind)} {(-o)} {(ro)} {(/proc)} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_ROOTFS) (/proc))}
            )
            (C {(mount)} {(--bind)} {(-o)} {(ro)} {(/dev)} 
              {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_ROOTFS) (/dev))}
            )
            (C {(cp)} {(/etc/resolv.conf)} {(DQ (${ VSub_Name CONTAINERIZED_MOUNTER_ROOTFS) (/etc/))})
          ]
          spids: [8200]
        )
      spids: [8196 8199]
    )
    (FuncDef
      name: remove-salt-config-comments
      body: 
        (BraceGroup
          children: [
            (C {(sed)} {(-i)} 
              {(DQ ("/^[ |") (EscapedLiteralPart token:<Lit_EscapedChar "\\t">) ("]*{[#|%]/d"))} {($ VSub_Number "$1")}
            )
            (C {(sed)} {(-i)} 
              {(DQ ("/^[ |") (EscapedLiteralPart token:<Lit_EscapedChar "\\t">) ("]*#/d"))} {($ VSub_Number "$1")}
            )
          ]
          spids: [8343]
        )
      spids: [8339 8342]
    )
    (FuncDef
      name: start-kube-apiserver
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kubernetes api-server"))})
            (C {(prepare-log-file)} {(/var/log/kube-apiserver.log)})
            (C {(prepare-log-file)} {(/var/log/kube-apiserver-audit.log)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name API_SERVER_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [8442 8448]
                        ) (" ") 
                        (BracedVarSub
                          token: <VSub_Name APISERVER_TEST_ARGS>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [8450 8453]
                        ) (" ") (${ VSub_Name CLOUD_CONFIG_OPT)
                      )
                    }
                  spids: [8440]
                )
              ]
              spids: [8438]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --address=127.0.0.1"))}
                  spids: [8461]
                )
              ]
              spids: [8461]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --allow-privileged=true"))}
                  spids: [8467]
                )
              ]
              spids: [8467]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --cloud-provider=gce"))}
                  spids: [8473]
                )
              ]
              spids: [8473]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --client-ca-file=") (${ VSub_Name CA_CERT_BUNDLE_PATH))}
                  spids: [8479]
                )
              ]
              spids: [8479]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --etcd-servers=http://127.0.0.1:2379"))}
                  spids: [8488]
                )
              ]
              spids: [8488]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --etcd-servers-overrides=/events#http://127.0.0.1:4002"))}
                  spids: [8494]
                )
              ]
              spids: [8494]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --secure-port=443"))}
                  spids: [8500]
                )
              ]
              spids: [8500]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --tls-cert-file=") (${ VSub_Name APISERVER_SERVER_CERT_PATH))}
                  spids: [8506]
                )
              ]
              spids: [8506]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --tls-private-key-file=") (${ VSub_Name APISERVER_SERVER_KEY_PATH))}
                  spids: [8515]
                )
              ]
              spids: [8515]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_s
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name REQUESTHEADER_CA_CERT_PATH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8531 8534]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --requestheader-client-ca-file=") 
                                (${ VSub_Name REQUESTHEADER_CA_CERT_PATH)
                              )
                            }
                          spids: [8543]
                        )
                      ]
                      spids: [8543]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --requestheader-allowed-names=aggregator"))}
                          spids: [8552]
                        )
                      ]
                      spids: [8552]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --requestheader-extra-headers-prefix=X-Remote-Extra-"))}
                          spids: [8558]
                        )
                      ]
                      spids: [8558]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --requestheader-group-headers=X-Remote-Group"))}
                          spids: [8564]
                        )
                      ]
                      spids: [8564]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --requestheader-username-headers=X-Remote-User"))}
                          spids: [8570]
                        )
                      ]
                      spids: [8570]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --proxy-client-cert-file=") (${ VSub_Name PROXY_CLIENT_CERT_PATH))
                            }
                          spids: [8576]
                        )
                      ]
                      spids: [8576]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {(DQ (" --proxy-client-key-file=") (${ VSub_Name PROXY_CLIENT_KEY_PATH))}
                          spids: [8585]
                        )
                      ]
                      spids: [8585]
                    )
                  ]
                  spids: [-1 8540]
                )
              ]
              spids: [-1 8594]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --enable-aggregator-routing=true"))}
                  spids: [8597]
                )
              ]
              spids: [8597]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(DQ (${ VSub_Name APISERVER_CLIENT_CERT_PATH))}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolUnary
                                  op_id: BoolUnary_e
                                  child: {(DQ (${ VSub_Name APISERVER_CLIENT_KEY_PATH))}
                                )
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --kubelet-client-certificate=") 
                                (${ VSub_Name APISERVER_CLIENT_CERT_PATH)
                              )
                            }
                          spids: [8635]
                        )
                      ]
                      spids: [8635]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --kubelet-client-key=") (${ VSub_Name APISERVER_CLIENT_KEY_PATH))
                            }
                          spids: [8644]
                        )
                      ]
                      spids: [8644]
                    )
                  ]
                  spids: [-1 8632]
                )
              ]
              spids: [-1 8653]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SERVICEACCOUNT_CERT_PATH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8663 8666]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --service-account-key-file=") 
                                (${ VSub_Name SERVICEACCOUNT_CERT_PATH)
                              )
                            }
                          spids: [8675]
                        )
                      ]
                      spids: [8675]
                    )
                  ]
                  spids: [-1 8672]
                )
              ]
              spids: [-1 8684]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --token-auth-file=/etc/srv/kubernetes/known_tokens.csv"))}
                  spids: [8687]
                )
              ]
              spids: [8687]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_PASSWORD>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [8700 8703]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_USER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [8711 8714]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --basic-auth-file=/etc/srv/kubernetes/basic_auth.csv"))}
                          spids: [8723]
                        )
                      ]
                      spids: [8723]
                    )
                  ]
                  spids: [-1 8720]
                )
              ]
              spids: [-1 8729]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_BACKEND>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8739 8742]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --storage-backend=") (${ VSub_Name STORAGE_BACKEND))}
                          spids: [8751]
                        )
                      ]
                      spids: [8751]
                    )
                  ]
                  spids: [-1 8748]
                )
              ]
              spids: [-1 8760]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name STORAGE_MEDIA_TYPE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8770 8773]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --storage-media-type=") (${ VSub_Name STORAGE_MEDIA_TYPE))}
                          spids: [8782]
                        )
                      ]
                      spids: [8782]
                    )
                  ]
                  spids: [-1 8779]
                )
              ]
              spids: [-1 8791]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8801 8804]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --request-timeout=") 
                                (${ VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC) (s)
                              )
                            }
                          spids: [8813]
                        )
                      ]
                      spids: [8813]
                    )
                  ]
                  spids: [-1 8810]
                )
              ]
              spids: [-1 8823]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_GARBAGE_COLLECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8833 8836]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --enable-garbage-collector=") 
                                (${ VSub_Name ENABLE_GARBAGE_COLLECTOR)
                              )
                            }
                          spids: [8845]
                        )
                      ]
                      spids: [8845]
                    )
                  ]
                  spids: [-1 8842]
                )
              ]
              spids: [-1 8854]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NUM_NODES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8864 8867]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_ge
                                      left: {(DQ (${ VSub_Name NUM_NODES))}
                                      right: {(1000)}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ 
                                        (
" --max-requests-inflight=1500 --max-mutating-requests-inflight=500"
                                        )
                                      )
                                    }
                                  spids: [8900]
                                )
                              ]
                              spids: [8900]
                            )
                          ]
                          spids: [-1 8897]
                        )
                      ]
                      spids: [-1 8906]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --target-ram-mb=") 
                                (ArithSubPart
                                  anode: 
                                    (ArithBinary
                                      op_id: Arith_Star
                                      left: (ArithWord w:{(${ VSub_Name NUM_NODES)})
                                      right: (ArithWord w:{(Lit_Digits 60)})
                                    )
                                  spids: [8924 8933]
                                )
                              )
                            }
                          spids: [8921]
                        )
                      ]
                      spids: [8921]
                    )
                  ]
                  spids: [-1 8873]
                )
              ]
              spids: [-1 8937]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SERVICE_CLUSTER_IP_RANGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8947 8950]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --service-cluster-ip-range=") 
                                (${ VSub_Name SERVICE_CLUSTER_IP_RANGE)
                              )
                            }
                          spids: [8959]
                        )
                      ]
                      spids: [8959]
                    )
                  ]
                  spids: [-1 8956]
                )
              ]
              spids: [-1 8968]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ETCD_QUORUM_READ>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [8978 8981]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --etcd-quorum-read=") (${ VSub_Name ETCD_QUORUM_READ))}
                          spids: [8990]
                        )
                      ]
                      spids: [8990]
                    )
                  ]
                  spids: [-1 8987]
                )
              ]
              spids: [-1 8999]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:audit_policy_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9005]
                )
              ]
              spids: [9003]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:audit_policy_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9012]
                )
              ]
              spids: [9010]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:audit_webhook_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9019]
                )
              ]
              spids: [9017]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:audit_webhook_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9026]
                )
              ]
              spids: [9024]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_APISERVER_BASIC_AUDIT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9036 9039]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --audit-log-path=/var/log/kube-apiserver-audit.log"))}
                          spids: [9066]
                        )
                      ]
                      spids: [9066]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --audit-log-maxage=0"))}
                          spids: [9072]
                        )
                      ]
                      spids: [9072]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --audit-log-maxbackup=0"))}
                          spids: [9078]
                        )
                      ]
                      spids: [9078]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --audit-log-maxsize=2000000000"))}
                          spids: [9104]
                        )
                      ]
                      spids: [9104]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name FEATURE_GATES>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [9121 9124]
                                            )
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:FEATURE_GATES)
                                  op: Equal
                                  rhs: {(DQ ("AdvancedAuditing=false"))}
                                  spids: [9133]
                                )
                              ]
                              spids: [9133]
                            )
                          ]
                          spids: [-1 9130]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:FEATURE_GATES)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name FEATURE_GATES) (",AdvancedAuditing=false"))}
                              spids: [9142]
                            )
                          ]
                          spids: [9142]
                        )
                      ]
                      spids: [9139 9151]
                    )
                  ]
                  spids: [-1 9051]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_APISERVER_ADVANCED_AUDIT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9159 9162]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:audit_policy_file)
                          op: Equal
                          rhs: {(DQ (/etc/audit_policy.config))}
                          spids: [9181]
                        )
                      ]
                      spids: [9177]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --audit-policy-file=") (${ VSub_Name audit_policy_file))}
                          spids: [9187]
                        )
                      ]
                      spids: [9187]
                    )
                    (C {(create-master-audit-policy)} {(DQ (${ VSub_Name audit_policy_file))} 
                      {
                        (DQ 
                          (BracedVarSub
                            token: <VSub_Name ADVANCED_AUDIT_POLICY>
                            suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                            spids: [9209 9212]
                          )
                        )
                      }
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:audit_policy_config_mount)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (auditpolicyconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (mountPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name audit_policy_file) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (readOnly) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": true},")
                              )
                            }
                          spids: [9216]
                        )
                      ]
                      spids: [9216]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:audit_policy_config_volume)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (auditpolicyconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (hostPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": {") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (path) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name audit_policy_file) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (type) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (FileOrCreate) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ("}},")
                              )
                            }
                          spids: [9244]
                        )
                      ]
                      spids: [9244]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ADVANCED_AUDIT_BACKEND>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: {(log)}
                                                )
                                              spids: [9286 9290]
                                            )
                                          )
                                        }
                                      right: {(Lit_Other "*") (DQ (log)) (Lit_Other "*")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: {(DQ (" --audit-log-path=/var/log/kube-apiserver-audit.log"))}
                                  spids: [9311]
                                )
                              ]
                              spids: [9311]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: {(DQ (" --audit-log-maxage=0"))}
                                  spids: [9317]
                                )
                              ]
                              spids: [9317]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: {(DQ (" --audit-log-maxbackup=0"))}
                                  spids: [9323]
                                )
                              ]
                              spids: [9323]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: {(DQ (" --audit-log-maxsize=2000000000"))}
                                  spids: [9349]
                                )
                              ]
                              spids: [9349]
                            )
                          ]
                          spids: [-1 9304]
                        )
                      ]
                      spids: [-1 9355]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ADVANCED_AUDIT_BACKEND>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [9363 9366]
                                            )
                                          )
                                        }
                                      right: {(Lit_Other "*") (DQ (webhook)) (Lit_Other "*")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: {(DQ (" --audit-webhook-mode=batch"))}
                                  spids: [9383]
                                )
                              ]
                              spids: [9383]
                            )
                            (Assignment
                              keyword: Assign_Local
                              flags: ["'-r'"]
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:audit_webhook_config_file)
                                  op: Equal
                                  rhs: {(DQ (/etc/audit_webhook.config))}
                                  spids: [9398]
                                )
                              ]
                              spids: [9394]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ (" --audit-webhook-config-file=") 
                                        (${ VSub_Name audit_webhook_config_file)
                                      )
                                    }
                                  spids: [9404]
                                )
                              ]
                              spids: [9404]
                            )
                            (C {(create-master-audit-webhook-config)} 
                              {(DQ (${ VSub_Name audit_webhook_config_file))}
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:audit_webhook_config_mount)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (auditwebhookconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (mountPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (${ VSub_Name audit_webhook_config_file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (readOnly) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": true},")
                                      )
                                    }
                                  spids: [9422]
                                )
                              ]
                              spids: [9422]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:audit_webhook_config_volume)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (auditwebhookconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (hostPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": {") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (path) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (${ VSub_Name audit_webhook_config_file) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (type) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (FileOrCreate) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}},")
                                      )
                                    }
                                  spids: [9450]
                                )
                              ]
                              spids: [9450]
                            )
                          ]
                          spids: [-1 9380]
                        )
                      ]
                      spids: [-1 9486]
                    )
                  ]
                  spids: [9154 9174]
                )
              ]
              spids: [-1 9489]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_APISERVER_LOGS_HANDLER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9498 9501]
                                    )
                                  )
                                }
                              right: {(DQ (false))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --enable-logs-handler=false"))}
                          spids: [9516]
                        )
                      ]
                      spids: [9516]
                    )
                  ]
                  spids: [-1 9513]
                )
              ]
              spids: [-1 9522]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admission_controller_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9528]
                )
              ]
              spids: [9526]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:admission_controller_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9535]
                )
              ]
              spids: [9533]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image_policy_webhook_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9542]
                )
              ]
              spids: [9540]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:image_policy_webhook_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9549]
                )
              ]
              spids: [9547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ADMISSION_CONTROL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9561 9564]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --admission-control=") (${ VSub_Name ADMISSION_CONTROL))}
                          spids: [9573]
                        )
                      ]
                      spids: [9573]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(${ VSub_Name ADMISSION_CONTROL)}
                                      right: 
                                        {(Lit_Other "*") (DQ (ImagePolicyWebhook)) (Lit_Other "*")}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:params)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ 
                                        (
" --admission-control-config-file=/etc/admission_controller.config"
                                        )
                                      )
                                    }
                                  spids: [9604]
                                )
                              ]
                              spids: [9604]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:admission_controller_config_mount)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (admissioncontrollerconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (mountPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (/etc/admission_controller.config) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (readOnly) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": false},")
                                      )
                                    }
                                  spids: [9614]
                                )
                              ]
                              spids: [9614]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:admission_controller_config_volume)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (admissioncontrollerconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (hostPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": {") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (path) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (/etc/admission_controller.config) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (type) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (FileOrCreate) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}},")
                                      )
                                    }
                                  spids: [9640]
                                )
                              ]
                              spids: [9640]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:image_policy_webhook_config_mount)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (imagepolicywebhookconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (mountPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (/etc/gcp_image_review.config) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (readOnly) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": false},")
                                      )
                                    }
                                  spids: [9678]
                                )
                              ]
                              spids: [9678]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:image_policy_webhook_config_volume)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                        (name) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (imagepolicywebhookconfigmount) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (",") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (hostPath) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": {") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (path) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (/etc/gcp_image_review.config) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (", ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (type) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (": ") 
                                        (EscapedLiteralPart
                                          token: <Lit_EscapedChar "\\\"">
                                        ) (FileOrCreate) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}},")
                                      )
                                    }
                                  spids: [9704]
                                )
                              ]
                              spids: [9704]
                            )
                          ]
                          spids: [-1 9601]
                        )
                      ]
                      spids: [-1 9738]
                    )
                  ]
                  spids: [-1 9570]
                )
              ]
              spids: [-1 9741]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9752 9755]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --min-request-timeout=") 
                                (${ VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT)
                              )
                            }
                          spids: [9764]
                        )
                      ]
                      spids: [9764]
                    )
                  ]
                  spids: [-1 9761]
                )
              ]
              spids: [-1 9773]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name RUNTIME_CONFIG>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9783 9786]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --runtime-config=") (${ VSub_Name RUNTIME_CONFIG))}
                          spids: [9795]
                        )
                      ]
                      spids: [9795]
                    )
                  ]
                  spids: [-1 9792]
                )
              ]
              spids: [-1 9804]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEATURE_GATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [9814 9817]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --feature-gates=") (${ VSub_Name FEATURE_GATES))}
                          spids: [9826]
                        )
                      ]
                      spids: [9826]
                    )
                  ]
                  spids: [-1 9823]
                )
              ]
              spids: [-1 9835]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name PROJECT_ID>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [9845 9848]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name TOKEN_URL>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [9856 9859]
                                            )
                                          )
                                        }
                                    )
                                  right: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name TOKEN_BODY>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [9867 9870]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name NODE_NETWORK>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [9878 9881]
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:vm_external_ip)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(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"
                                            )
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [9895 9919]
                              )
                            }
                          spids: [9894]
                        )
                      ]
                      spids: [9890]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --advertise-address=") (${ VSub_Name vm_external_ip))}
                          spids: [9922]
                        )
                      ]
                      spids: [9922]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --ssh-user=") (${ VSub_Name PROXY_SSH_USER))}
                          spids: [9931]
                        )
                      ]
                      spids: [9931]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --ssh-keyfile=/etc/srv/sshproxy/.sshkeyfile"))}
                          spids: [9940]
                        )
                      ]
                      spids: [9940]
                    )
                  ]
                  spids: [-1 9887]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name MASTER_ADVERTISE_ADDRESS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [9953 9956]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name params) (" --advertise-address=") 
                                (${ VSub_Name MASTER_ADVERTISE_ADDRESS)
                              )
                            }
                          spids: [9965]
                        )
                      ]
                      spids: [9965]
                    )
                  ]
                  spids: [9946 9962]
                )
              ]
              spids: [-1 9977]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:webhook_authn_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9983]
                )
              ]
              spids: [9981]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:webhook_authn_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [9990]
                )
              ]
              spids: [9988]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_AUTHN_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10002 10005]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ 
                                (
" --authentication-token-webhook-config-file=/etc/gcp_authn.config"
                                )
                              )
                            }
                          spids: [10014]
                        )
                      ]
                      spids: [10014]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:webhook_authn_config_mount)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (webhookauthnconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (mountPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gcp_authn.config) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (readOnly) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": false},")
                              )
                            }
                          spids: [10020]
                        )
                      ]
                      spids: [10020]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:webhook_authn_config_volume)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (webhookauthnconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (hostPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": {") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (path) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gcp_authn.config) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (type) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (FileOrCreate) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ("}},")
                              )
                            }
                          spids: [10046]
                        )
                      ]
                      spids: [10046]
                    )
                  ]
                  spids: [-1 10011]
                )
              ]
              spids: [-1 10080]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:authorization_mode)
                  op: Equal
                  rhs: {(DQ ("Node,RBAC"))}
                  spids: [10087]
                )
              ]
              spids: [10085]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/gci-trusty))}
                  spids: [10097]
                )
              ]
              spids: [10093]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_LEGACY_ABAC>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10116 10119]
                                    )
                                  )
                                }
                              right: {(DQ (false))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
"Warning: Enabling legacy ABAC policy. All service accounts will have superuser API access. Set ENABLE_LEGACY_ABAC=false to disable this."
                          )
                        )
                      }
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalOr
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name KUBE_USER>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [10152 10155]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (LogicalNot
                                          child: 
                                            (BoolUnary
                                              op_id: BoolUnary_e
                                              child: {(/etc/srv/kubernetes/abac-authz-policy.jsonl)}
                                            )
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_Local
                              flags: ["'-r'"]
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:abac_policy_json)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name src_dir) (/abac-authz-policy.jsonl))}
                                  spids: [10176]
                                )
                              ]
                              spids: [10172]
                            )
                            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name abac_policy_json))})
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolUnary
                                              op_id: BoolUnary_n
                                              child: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name KUBE_USER>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [10201 10204]
                                                    )
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ";">
                                    )
                                  ]
                                  action: [
                                    (C {(sed)} {(-i)} {(-e)} 
                                      {(DQ ("s/{{kube_user}}/") (${ VSub_Name KUBE_USER) (/g))} {(DQ (${ VSub_Name abac_policy_json))}
                                    )
                                  ]
                                  spids: [-1 10210]
                                )
                              ]
                              else_action: [
                                (C {(sed)} {(-i)} {(-e)} {(DQ ("/{{kube_user}}/d"))} 
                                  {(DQ (${ VSub_Name abac_policy_json))}
                                )
                              ]
                              spids: [10234 10254]
                            )
                            (C {(cp)} {(DQ (${ VSub_Name abac_policy_json))} {(/etc/srv/kubernetes/)})
                          ]
                          spids: [-1 10169]
                        )
                      ]
                      spids: [-1 10268]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ 
                                (
" --authorization-policy-file=/etc/srv/kubernetes/abac-authz-policy.jsonl"
                                )
                              )
                            }
                          spids: [10272]
                        )
                      ]
                      spids: [10272]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:authorization_mode)
                          op: PlusEqual
                          rhs: {(DQ (",ABAC"))}
                          spids: [10278]
                        )
                      ]
                      spids: [10278]
                    )
                  ]
                  spids: [-1 10131]
                )
              ]
              spids: [-1 10284]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:webhook_config_mount)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [10290]
                )
              ]
              spids: [10288]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:webhook_config_volume)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [10297]
                )
              ]
              spids: [10295]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name GCP_AUTHZ_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10309 10312]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:authorization_mode)
                          op: PlusEqual
                          rhs: {(DQ (",Webhook"))}
                          spids: [10321]
                        )
                      ]
                      spids: [10321]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --authorization-webhook-config-file=/etc/gcp_authz.config"))}
                          spids: [10327]
                        )
                      ]
                      spids: [10327]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:webhook_config_mount)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (webhookconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (mountPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gcp_authz.config) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (readOnly) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": false},")
                              )
                            }
                          spids: [10333]
                        )
                      ]
                      spids: [10333]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:webhook_config_volume)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (webhookconfigmount) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (",") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (hostPath) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": {") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (path) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (/etc/gcp_authz.config) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (type) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (FileOrCreate) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) ("}},")
                              )
                            }
                          spids: [10359]
                        )
                      ]
                      spids: [10359]
                    )
                  ]
                  spids: [-1 10318]
                )
              ]
              spids: [-1 10393]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --authorization-mode=") (${ VSub_Name authorization_mode))}
                  spids: [10396]
                )
              ]
              spids: [10396]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_env)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [10408]
                )
              ]
              spids: [10406]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10420 10423]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:container_env)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (KUBE_CACHE_MUTATION_DETECTOR) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (value) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                (${ VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              )
                            }
                          spids: [10432]
                        )
                      ]
                      spids: [10432]
                    )
                  ]
                  spids: [-1 10429]
                )
              ]
              spids: [-1 10454]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10464 10467]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolUnary
                                      op_id: BoolUnary_n
                                      child: {(DQ (${ VSub_Name container_env))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:container_env)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name container_env) (", "))}
                                  spids: [10494]
                                )
                              ]
                              spids: [10494]
                            )
                          ]
                          spids: [-1 10491]
                        )
                      ]
                      spids: [-1 10503]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:container_env)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (KUBE_PATCH_CONVERSION_DETECTOR) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (value) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                (${ VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">)
                              )
                            }
                          spids: [10506]
                        )
                      ]
                      spids: [10506]
                    )
                  ]
                  spids: [-1 10473]
                )
              ]
              spids: [-1 10528]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name container_env))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:container_env)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (env) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (":[{") (${ VSub_Name container_env) ("}],")
                              )
                            }
                          spids: [10549]
                        )
                      ]
                      spids: [10549]
                    )
                  ]
                  spids: [-1 10546]
                )
              ]
              spids: [-1 10562]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENCRYPTION_PROVIDER_CONFIG>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [10573 10576]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:encryption_provider_config_path)
                          op: Equal
                          rhs: {(DQ (/etc/srv/kubernetes/encryption-provider-config.yml))}
                          spids: [10587]
                        )
                      ]
                      spids: [10585]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: 
                                                    <VSub_Name GOOGLE_CLOUD_KMS_CONFIG_FILE_NAME>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [10600 10603]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name GOOGLE_CLOUD_KMS_CONFIG>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [10611 10614]
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Pipeline
                              children: [
                                (C {(echo)} {(DQ (${ VSub_Name GOOGLE_CLOUD_KMS_CONFIG))})
                                (SimpleCommand
                                  words: [{(base64)} {(--decode)}]
                                  redirects: [
                                    (Redir
                                      op_id: Redir_Great
                                      fd: -1
                                      arg_word: {(DQ (${ VSub_Name GOOGLE_CLOUD_KMS_CONFIG_FILE_NAME))}
                                      spids: [10637]
                                    )
                                  ]
                                )
                              ]
                              negated: False
                            )
                          ]
                          spids: [-1 10620]
                        )
                      ]
                      spids: [-1 10646]
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ENCRYPTION_PROVIDER_CONFIG))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (${ VSub_Name encryption_provider_config_path))}
                              spids: [10664]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --experimental-encryption-provider-config=") 
                                (${ VSub_Name encryption_provider_config_path)
                              )
                            }
                          spids: [10673]
                        )
                      ]
                      spids: [10673]
                    )
                  ]
                  spids: [-1 10582]
                )
              ]
              spids: [-1 10682]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_file)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name src_dir) (/kube-apiserver.manifest))}
                  spids: [10686]
                )
              ]
              spids: [10686]
            )
            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name src_file))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_apiserver_docker_tag)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} 
                                {(/home/kubernetes/kube-docker-files/kube-apiserver.docker_tag)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10713 10717]
                      )
                    }
                  spids: [10712]
                )
              ]
              spids: [10708]
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{params}}@") (${ VSub_Name params) ("@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{container_env}}@") (${ VSub_Name container_env) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{srv_kube_path}}@/etc/srv/kubernetes@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{srv_sshproxy_path}}@/etc/srv/sshproxy@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{cloud_config_mount}}@") (${ VSub_Name CLOUD_CONFIG_MOUNT) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{cloud_config_volume}}@") (${ VSub_Name CLOUD_CONFIG_VOLUME) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube_docker_registry'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name DOCKER_REGISTRY) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube-apiserver_docker_tag'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name kube_apiserver_docker_tag) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'allow_privileged'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@true@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{secure_port}}@443@g"))} {(DQ (${ VSub_Name src_file))})
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{secure_port}}@8080@g"))} {(DQ (${ VSub_Name src_file))})
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{additional_cloud_config_mount}}@@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{additional_cloud_config_volume}}@@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{webhook_authn_config_mount}}@") (${ VSub_Name webhook_authn_config_mount) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{webhook_authn_config_volume}}@") (${ VSub_Name webhook_authn_config_volume) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{webhook_config_mount}}@") (${ VSub_Name webhook_config_mount) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{webhook_config_volume}}@") (${ VSub_Name webhook_config_volume) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{audit_policy_config_mount}}@") (${ VSub_Name audit_policy_config_mount) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{audit_policy_config_volume}}@") (${ VSub_Name audit_policy_config_volume) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{audit_webhook_config_mount}}@") (${ VSub_Name audit_webhook_config_mount) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{audit_webhook_config_volume}}@") (${ VSub_Name audit_webhook_config_volume) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{admission_controller_config_mount}}@") 
                  (${ VSub_Name admission_controller_config_mount) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{admission_controller_config_volume}}@") 
                  (${ VSub_Name admission_controller_config_volume) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{image_policy_webhook_config_mount}}@") 
                  (${ VSub_Name image_policy_webhook_config_mount) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{image_policy_webhook_config_volume}}@") 
                  (${ VSub_Name image_policy_webhook_config_volume) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(cp)} {(DQ (${ VSub_Name src_file))} {(/etc/kubernetes/manifests)})
          ]
          spids: [8413]
        )
      spids: [8409 8412]
    )
    (FuncDef
      name: start-kube-controller-manager
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kubernetes controller-manager"))})
            (C {(create-kubecontrollermanager-kubeconfig)})
            (C {(prepare-log-file)} {(/var/log/kube-controller-manager.log)})
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [11297 11303]
                        ) (" ") 
                        (BracedVarSub
                          token: <VSub_Name CONTROLLER_MANAGER_TEST_ARGS>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [11305 11308]
                        ) (" ") (${ VSub_Name CLOUD_CONFIG_OPT)
                      )
                    }
                  spids: [11295]
                )
              ]
              spids: [11293]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --use-service-account-credentials"))}
                  spids: [11316]
                )
              ]
              spids: [11316]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --cloud-provider=gce"))}
                  spids: [11322]
                )
              ]
              spids: [11322]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --kubeconfig=/etc/srv/kubernetes/kube-controller-manager/kubeconfig"))}
                  spids: [11328]
                )
              ]
              spids: [11328]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --root-ca-file=") (${ VSub_Name CA_CERT_BUNDLE_PATH))}
                  spids: [11334]
                )
              ]
              spids: [11334]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: 
                    {
                      (DQ (" --service-account-private-key-file=") 
                        (${ VSub_Name SERVICEACCOUNT_KEY_PATH)
                      )
                    }
                  spids: [11343]
                )
              ]
              spids: [11343]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_GARBAGE_COLLECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11359 11362]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --enable-garbage-collector=") 
                                (${ VSub_Name ENABLE_GARBAGE_COLLECTOR)
                              )
                            }
                          spids: [11371]
                        )
                      ]
                      spids: [11371]
                    )
                  ]
                  spids: [-1 11368]
                )
              ]
              spids: [-1 11380]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name INSTANCE_PREFIX>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11390 11393]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --cluster-name=") (${ VSub_Name INSTANCE_PREFIX))}
                          spids: [11402]
                        )
                      ]
                      spids: [11402]
                    )
                  ]
                  spids: [-1 11399]
                )
              ]
              spids: [-1 11411]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_IP_RANGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11421 11424]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --cluster-cidr=") (${ VSub_Name CLUSTER_IP_RANGE))}
                          spids: [11433]
                        )
                      ]
                      spids: [11433]
                    )
                  ]
                  spids: [-1 11430]
                )
              ]
              spids: [-1 11442]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CA_KEY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11452 11455]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --cluster-signing-cert-file=") (${ VSub_Name CA_CERT_PATH))}
                          spids: [11464]
                        )
                      ]
                      spids: [11464]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --cluster-signing-key-file=") (${ VSub_Name CA_KEY_PATH))}
                          spids: [11473]
                        )
                      ]
                      spids: [11473]
                    )
                  ]
                  spids: [-1 11461]
                )
              ]
              spids: [-1 11482]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SERVICE_CLUSTER_IP_RANGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11492 11495]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --service-cluster-ip-range=") 
                                (${ VSub_Name SERVICE_CLUSTER_IP_RANGE)
                              )
                            }
                          spids: [11504]
                        )
                      ]
                      spids: [11504]
                    )
                  ]
                  spids: [-1 11501]
                )
              ]
              spids: [-1 11513]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CONCURRENT_SERVICE_SYNCS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11523 11526]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --concurrent-service-syncs=") 
                                (${ VSub_Name CONCURRENT_SERVICE_SYNCS)
                              )
                            }
                          spids: [11535]
                        )
                      ]
                      spids: [11535]
                    )
                  ]
                  spids: [-1 11532]
                )
              ]
              spids: [-1 11544]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK_PROVIDER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11552 11555]
                                    )
                                  )
                                }
                              right: {(DQ (kubenet))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --allocate-node-cidrs=true"))}
                          spids: [11570]
                        )
                      ]
                      spids: [11570]
                    )
                  ]
                  spids: [-1 11567]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ALLOCATE_NODE_CIDRS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11583 11586]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --allocate-node-cidrs=") (${ VSub_Name ALLOCATE_NODE_CIDRS))}
                          spids: [11595]
                        )
                      ]
                      spids: [11595]
                    )
                  ]
                  spids: [11576 11592]
                )
              ]
              spids: [-1 11604]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name TERMINATED_POD_GC_THRESHOLD>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11614 11617]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --terminated-pod-gc-threshold=") 
                                (${ VSub_Name TERMINATED_POD_GC_THRESHOLD)
                              )
                            }
                          spids: [11626]
                        )
                      ]
                      spids: [11626]
                    )
                  ]
                  spids: [-1 11623]
                )
              ]
              spids: [-1 11635]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_IP_ALIASES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11643 11646]
                                    )
                                  )
                                }
                              right: {(SQ <true>)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --cidr-allocator-type=CloudAllocator"))}
                          spids: [11661]
                        )
                      ]
                      spids: [11661]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --configure-cloud-routes=false"))}
                          spids: [11667]
                        )
                      ]
                      spids: [11667]
                    )
                  ]
                  spids: [-1 11658]
                )
              ]
              spids: [-1 11673]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEATURE_GATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11683 11686]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --feature-gates=") (${ VSub_Name FEATURE_GATES))}
                          spids: [11695]
                        )
                      ]
                      spids: [11695]
                    )
                  ]
                  spids: [-1 11692]
                )
              ]
              spids: [-1 11704]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name VOLUME_PLUGIN_DIR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11714 11717]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --flex-volume-plugin-dir=") (${ VSub_Name VOLUME_PLUGIN_DIR))}
                          spids: [11726]
                        )
                      ]
                      spids: [11726]
                    )
                  ]
                  spids: [-1 11723]
                )
              ]
              spids: [-1 11735]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_SIGNING_DURATION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11745 11748]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --experimental-cluster-signing-duration=") 
                                ($ VSub_Name "$CLUSTER_SIGNING_DURATION")
                              )
                            }
                          spids: [11757]
                        )
                      ]
                      spids: [11757]
                    )
                  ]
                  spids: [-1 11754]
                )
              ]
              spids: [-1 11764]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_METRICS_SERVER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11776 11779]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --horizontal-pod-autoscaler-use-rest-clients=false"))}
                          spids: [11794]
                        )
                      ]
                      spids: [11794]
                    )
                  ]
                  spids: [-1 11791]
                )
              ]
              spids: [-1 11800]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_rc_docker_tag)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} 
                                {
                                  (
/home/kubernetes/kube-docker-files/kube-controller-manager.docker_tag
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [11809 11813]
                      )
                    }
                  spids: [11808]
                )
              ]
              spids: [11804]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:container_env)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [11818]
                )
              ]
              spids: [11816]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [11830 11833]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:container_env)
                          op: Equal
                          rhs: 
                            {
                              (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (env) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (":[{") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (name) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (KUBE_CACHE_MUTATION_DETECTOR) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (value) 
                                (EscapedLiteralPart
                                  token: <Lit_EscapedChar "\\\"">
                                ) (": ") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) 
                                (${ VSub_Name ENABLE_CACHE_MUTATION_DETECTOR) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) ("}],")
                              )
                            }
                          spids: [11842]
                        )
                      ]
                      spids: [11842]
                    )
                  ]
                  spids: [-1 11839]
                )
              ]
              spids: [-1 11869]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_file)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_HOME) 
                        (/kube-manifests/kubernetes/gci-trusty/kube-controller-manager.manifest)
                      )
                    }
                  spids: [11877]
                )
              ]
              spids: [11873]
            )
            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name src_file))})
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{srv_kube_path}}@/etc/srv/kubernetes@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube_docker_registry'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name DOCKER_REGISTRY) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube-controller-manager_docker_tag'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name kube_rc_docker_tag) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{params}}@") (${ VSub_Name params) ("@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{container_env}}@") (${ VSub_Name container_env) ("@g"))} 
              {(${ VSub_Name src_file)}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{cloud_config_mount}}@") (${ VSub_Name CLOUD_CONFIG_MOUNT) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {(DQ ("s@{{cloud_config_volume}}@") (${ VSub_Name CLOUD_CONFIG_VOLUME) ("@g"))} {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{additional_cloud_config_mount}}@@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{additional_cloud_config_volume}}@@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(cp)} {(DQ (${ VSub_Name src_file))} {(/etc/kubernetes/manifests)})
          ]
          spids: [11271]
        )
      spids: [11267 11270]
    )
    (FuncDef
      name: start-kube-scheduler
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kubernetes scheduler"))})
            (C {(create-kubescheduler-kubeconfig)})
            (C {(prepare-log-file)} {(/var/log/kube-scheduler.log)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name SCHEDULER_TEST_LOG_LEVEL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ ("--v=2"))})
                          spids: [12142 12148]
                        ) (" ") 
                        (BracedVarSub
                          token: <VSub_Name SCHEDULER_TEST_ARGS>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [12150 12153]
                        )
                      )
                    }
                  spids: [12140]
                )
              ]
              spids: [12140]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:params)
                  op: PlusEqual
                  rhs: {(DQ (" --kubeconfig=/etc/srv/kubernetes/kube-scheduler/kubeconfig"))}
                  spids: [12157]
                )
              ]
              spids: [12157]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEATURE_GATES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [12170 12173]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: {(DQ (" --feature-gates=") (${ VSub_Name FEATURE_GATES))}
                          spids: [12182]
                        )
                      ]
                      spids: [12182]
                    )
                  ]
                  spids: [-1 12179]
                )
              ]
              spids: [-1 12191]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name SCHEDULING_ALGORITHM_PROVIDER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [12201 12204]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ (" --algorithm-provider=") 
                                (${ VSub_Name SCHEDULING_ALGORITHM_PROVIDER)
                              )
                            }
                          spids: [12213]
                        )
                      ]
                      spids: [12213]
                    )
                  ]
                  spids: [-1 12210]
                )
              ]
              spids: [-1 12222]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_scheduler_docker_tag)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(cat)} 
                                {
                                  (DQ (${ VSub_Name KUBE_HOME) 
                                    (/kube-docker-files/kube-scheduler.docker_tag)
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [12230 12239]
                      )
                    }
                  spids: [12229]
                )
              ]
              spids: [12225]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_file)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_HOME) 
                        (/kube-manifests/kubernetes/gci-trusty/kube-scheduler.manifest)
                      )
                    }
                  spids: [12251]
                )
              ]
              spids: [12247]
            )
            (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name src_file))})
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{srv_kube_path}}@/etc/srv/kubernetes@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{params}}@") (${ VSub_Name params) ("@g"))} 
              {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube_docker_registry'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name DOCKER_REGISTRY) ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(sed)} {(-i)} {(-e)} 
              {
                (DQ ("s@{{pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                  ("'kube-scheduler_docker_tag'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ("}}@") (${ VSub_Name kube_scheduler_docker_tag) 
                  ("@g")
                )
              } {(DQ (${ VSub_Name src_file))}
            )
            (C {(cp)} {(DQ (${ VSub_Name src_file))} {(/etc/kubernetes/manifests)})
          ]
          spids: [12117]
        )
      spids: [12113 12116]
    )
    (FuncDef
      name: start-cluster-autoscaler
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_AUTOSCALER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [12398 12401]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Start kubernetes cluster autoscaler"))})
                    (C {(prepare-log-file)} {(/var/log/cluster-autoscaler.log)})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:src_file)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name KUBE_HOME) 
                                (/kube-manifests/kubernetes/gci-trusty/cluster-autoscaler.manifest)
                              )
                            }
                          spids: [12437]
                        )
                      ]
                      spids: [12433]
                    )
                    (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name src_file))})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:params)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name AUTOSCALER_MIG_CONFIG) (" ") 
                                (${ VSub_Name CLOUD_CONFIG_OPT) (" ") 
                                (BracedVarSub
                                  token: <VSub_Name AUTOSCALER_EXPANDER_CONFIG>
                                  suffix_op: 
                                    (StringUnary
                                      op_id: VTest_ColonHyphen
                                      arg_word: {("--expander=price")}
                                    )
                                  spids: [12468 12472]
                                )
                              )
                            }
                          spids: [12458]
                        )
                      ]
                      spids: [12456]
                    )
                    (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{{params}}@") (${ VSub_Name params) ("@g"))} 
                      {(DQ (${ VSub_Name src_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{cloud_config_mount}}@") (${ VSub_Name CLOUD_CONFIG_MOUNT) ("@g"))} {(DQ (${ VSub_Name src_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{cloud_config_volume}}@") (${ VSub_Name CLOUD_CONFIG_VOLUME) ("@g"))} {(DQ (${ VSub_Name src_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} {(DQ ("s@{%.*%}@@g"))} {(DQ (${ VSub_Name src_file))})
                    (C {(cp)} {(DQ (${ VSub_Name src_file))} {(/etc/kubernetes/manifests)})
                  ]
                  spids: [-1 12413]
                )
              ]
              spids: [-1 12568]
            )
          ]
          spids: [12390]
        )
      spids: [12386 12389]
    )
    (FuncDef
      name: setup-addon-manifests
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_dir)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/gci-trusty/) 
                        ($ VSub_Number "$2")
                      )
                    }
                  spids: [12599]
                )
              ]
              spids: [12595]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (/etc/kubernetes/) ($ VSub_Number "$1") (/) ($ VSub_Number "$2"))}
                  spids: [12613]
                )
              ]
              spids: [12609]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: (BoolUnary op_id:BoolUnary_d child:{(DQ (${ VSub_Name dst_dir))})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(mkdir)} {(-p)} {(DQ (${ VSub_Name dst_dir))})]
                  spids: [-1 12639]
                )
              ]
              spids: [-1 12653]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:files)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(find)} {(DQ (${ VSub_Name src_dir))} {(-maxdepth)} {(1)} {(-name)} 
                                {(DQ ("*.yaml"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [12659 12677]
                      )
                    }
                  spids: [12658]
                )
              ]
              spids: [12656]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name files))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other "*") (.yaml)} 
                      {(DQ (${ VSub_Name dst_dir))}
                    )
                  ]
                  spids: [-1 12695]
                )
              ]
              spids: [-1 12716]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:files)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(find)} {(DQ (${ VSub_Name src_dir))} {(-maxdepth)} {(1)} {(-name)} 
                                {(DQ ("*.json"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [12720 12738]
                      )
                    }
                  spids: [12719]
                )
              ]
              spids: [12719]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name files))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other "*") (.json)} 
                      {(DQ (${ VSub_Name dst_dir))}
                    )
                  ]
                  spids: [-1 12756]
                )
              ]
              spids: [-1 12777]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:files)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(find)} {(DQ (${ VSub_Name src_dir))} {(-maxdepth)} {(1)} {(-name)} 
                                {(DQ ("*.yaml.in"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [12781 12799]
                      )
                    }
                  spids: [12780]
                )
              ]
              spids: [12780]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name files))})
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(cp)} {(DQ (${ VSub_Name src_dir) (/)) (Lit_Other "*") (.yaml.in)} 
                      {(DQ (${ VSub_Name dst_dir))}
                    )
                  ]
                  spids: [-1 12817]
                )
              ]
              spids: [-1 12838]
            )
            (C {(chown)} {(-R)} {(root) (Lit_Other ":") (root)} {(DQ (${ VSub_Name dst_dir))})
            (C {(chmod)} {(755)} {(DQ (${ VSub_Name dst_dir))})
            (C {(chmod)} {(644)} {(DQ (${ VSub_Name dst_dir)) (/) (Lit_Other "*")})
          ]
          spids: [12592]
        )
      spids: [12588 12591]
    )
    (FuncDef
      name: wait-for-apiserver-and-update-fluentd
      body: 
        (BraceGroup
          children: [
            (Until
              cond: [(C {(kubectl)} {(get)} {(nodes)})]
              body: (DoGroup children:[(C {(sleep)} {(10)})] spids:[1290412912])
            )
            (SimpleCommand
              words: [
                {(kubectl)}
                {(set)}
                {(resources)}
                {(--dry-run)}
                {(--local)}
                {(-f)}
                {(${ VSub_Name fluentd_gcp_yaml)}
                {(--limits) (Lit_Other "=") (Lit_VarLike "memory=") 
                  (${ VSub_Name FLUENTD_GCP_MEMORY_LIMIT)
                }
                {(--requests) (Lit_Other "=") (Lit_VarLike "cpu=") 
                  (${ VSub_Name FLUENTD_GCP_CPU_REQUEST) (Lit_Comma ",") (Lit_VarLike "memory=") (${ VSub_Name FLUENTD_GCP_MEMORY_REQUEST)
                }
                {(--containers) (Lit_Other "=") (fluentd-gcp)}
                {(-o)}
                {(yaml)}
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(${ VSub_Name fluentd_gcp_yaml) (.tmp)}
                  spids: [12964]
                )
              ]
            )
            (C {(mv)} {(${ VSub_Name fluentd_gcp_yaml) (.tmp)} {(${ VSub_Name fluentd_gcp_yaml)})
          ]
          spids: [12892]
        )
      spids: [12888 12891]
    )
    (FuncDef
      name: start-fluentd-resource-update
      body: 
        (BraceGroup
          children: [
            (Sentence
              child: (C {(wait-for-apiserver-and-update-fluentd)})
              terminator: <Op_Amp "&">
            )
          ]
          spids: [12996]
        )
      spids: [12992 12995]
    )
    (FuncDef
      name: update-prometheus-to-sd-parameters
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_PROMETHEUS_TO_SD>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [13024 13027]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *prometheus_to_sd_prefix *}}@") 
                          (${ VSub_Name PROMETHEUS_TO_SD_PREFIX) ("@g")
                        )
                      } {(DQ ($ VSub_Number "$1"))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *prometheus_to_sd_endpoint *}}@") 
                          (${ VSub_Name PROMETHEUS_TO_SD_ENDPOINT) ("@g")
                        )
                      } {(DQ ($ VSub_Number "$1"))}
                    )
                  ]
                  spids: [-1 13039]
                )
              ]
              else_action: [
                (C {(sed)} {(-i)} {(-e)} {(DQ ("/# BEGIN_PROMETHEUS_TO_SD/,/# END_PROMETHEUS_TO_SD/d"))} 
                  {(DQ ($ VSub_Number "$1"))}
                )
              ]
              spids: [13080 13102]
            )
          ]
          spids: [13016]
        )
      spids: [13012 13015]
    )
    (FuncDef
      name: start-kube-addons
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Prepare kube-addons manifests and start kube addon manager"))})
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:src_dir)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/gci-trusty))}
                  spids: [13134]
                )
              ]
              spids: [13130]
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:dst_dir)
                  op: Equal
                  rhs: {(DQ (/etc/kubernetes/addons))}
                  spids: [13147]
                )
              ]
              spids: [13143]
            )
            (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (rbac))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [13179 13182]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(prepare-kube-proxy-manifest-variables)} 
                      {(DQ ($ VSub_Name "$src_dir") (/kube-proxy/kube-proxy-ds.yaml))}
                    )
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (kube-proxy))})
                  ]
                  spids: [-1 13194]
                )
              ]
              spids: [-1 13216]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [13224 13227]
                                        )
                                      )
                                    }
                                  right: {(DQ (influxdb))}
                                )
                            )
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [13245 13248]
                                            )
                                          )
                                        }
                                      right: {(DQ (google))}
                                    )
                                )
                                (AndOr
                                  children: [
                                    (DBracket
                                      expr: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [13266 13269]
                                                )
                                              )
                                            }
                                          right: {(DQ (stackdriver))}
                                        )
                                    )
                                    (AndOr
                                      children: [
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [13287 13290]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (standalone))}
                                            )
                                        )
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [13308 13311]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (googleinfluxdb))}
                                            )
                                        )
                                      ]
                                      op_id: Op_DPipe
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:file_dir)
                          op: Equal
                          rhs: {(DQ (cluster-monitoring/) (${ VSub_Name ENABLE_CLUSTER_MONITORING))}
                          spids: [13330]
                        )
                      ]
                      spids: [13326]
                    )
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (cluster-monitoring))})
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (${ VSub_Name file_dir))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_metrics_memory)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name HEAPSTER_GCP_BASE_MEMORY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(140Mi)})
                                  spids: [13369 13373]
                                )
                              )
                            }
                          spids: [13367]
                        )
                      ]
                      spids: [13367]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_eventer_memory)
                          op: Equal
                          rhs: {(DQ (190Mi))}
                          spids: [13377]
                        )
                      ]
                      spids: [13377]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:base_metrics_cpu)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name HEAPSTER_GCP_BASE_CPU>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(80m)})
                                  spids: [13385 13389]
                                )
                              )
                            }
                          spids: [13383]
                        )
                      ]
                      spids: [13383]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nanny_memory)
                          op: Equal
                          rhs: {(DQ (90Mi))}
                          spids: [13393]
                        )
                      ]
                      spids: [13393]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:metrics_memory_per_node)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name HEAPSTER_GCP_MEMORY_PER_NODE>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(4)})
                                  spids: [13405 13409]
                                )
                              )
                            }
                          spids: [13403]
                        )
                      ]
                      spids: [13399]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:metrics_cpu_per_node)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name HEAPSTER_GCP_CPU_PER_NODE>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0.5)})
                                  spids: [13419 13423]
                                )
                              )
                            }
                          spids: [13417]
                        )
                      ]
                      spids: [13413]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:eventer_memory_per_node)
                          op: Equal
                          rhs: {(DQ (500))}
                          spids: [13431]
                        )
                      ]
                      spids: [13427]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:nanny_memory_per_node)
                          op: Equal
                          rhs: {(DQ (200))}
                          spids: [13441]
                        )
                      ]
                      spids: [13437]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalAnd
                                      left: 
                                        (BoolUnary
                                          op_id: BoolUnary_n
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name NUM_NODES>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [13454 13457]
                                                )
                                              )
                                            }
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_ge
                                          left: {(DQ (${ VSub_Name NUM_NODES))}
                                          right: {(1)}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:num_kube_nodes)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (ArithSubPart
                                          anode: 
                                            (ArithBinary
                                              op_id: Arith_Plus
                                              left: (ArithWord w:{(${ VSub_Name NUM_NODES)})
                                              right: (ArithWord w:{(Lit_Digits 1)})
                                            )
                                          spids: [13480 13487]
                                        )
                                      )
                                    }
                                  spids: [13478]
                                )
                              ]
                              spids: [13478]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:nanny_memory)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (ArithSubPart
                                          anode: 
                                            (ArithBinary
                                              op_id: Arith_Plus
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_Star
                                                  left: (ArithWord w:{(${ VSub_Name num_kube_nodes)})
                                                  right: 
                                                    (ArithWord
                                                      w: {(${ VSub_Name nanny_memory_per_node)}
                                                    )
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_Star
                                                  left: (ArithWord w:{(Lit_Digits 90)})
                                                  right: (ArithWord w:{(Lit_Digits 1024)})
                                                )
                                            )
                                          spids: [13493 13512]
                                        ) (Ki)
                                      )
                                    }
                                  spids: [13491]
                                )
                              ]
                              spids: [13491]
                            )
                          ]
                          spids: [-1 13475]
                        )
                      ]
                      spids: [-1 13517]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:controller_yaml)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/) (${ VSub_Name file_dir))}
                          spids: [13520]
                        )
                      ]
                      spids: [13520]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [13537 13540]
                                            )
                                          )
                                        }
                                      right: {(DQ (googleinfluxdb))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:controller_yaml)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ (${ VSub_Name controller_yaml) 
                                        (/heapster-controller-combined.yaml)
                                      )
                                    }
                                  spids: [13555]
                                )
                              ]
                              spids: [13555]
                            )
                          ]
                          spids: [-1 13552]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:controller_yaml)
                              op: Equal
                              rhs: {(DQ (${ VSub_Name controller_yaml) (/heapster-controller.yaml))}
                              spids: [13567]
                            )
                          ]
                          spids: [13567]
                        )
                      ]
                      spids: [13564 13576]
                    )
                    (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name controller_yaml))})
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{ cluster_name }}@") (${ VSub_Name CLUSTER_NAME) ("@g"))} {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *base_metrics_memory *}}@") (${ VSub_Name base_metrics_memory) 
                          ("@g")
                        )
                      } {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{ *base_metrics_cpu *}}@") (${ VSub_Name base_metrics_cpu) ("@g"))} {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *base_eventer_memory *}}@") (${ VSub_Name base_eventer_memory) 
                          ("@g")
                        )
                      } {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *metrics_memory_per_node *}}@") 
                          (${ VSub_Name metrics_memory_per_node) ("@g")
                        )
                      } {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *eventer_memory_per_node *}}@") 
                          (${ VSub_Name eventer_memory_per_node) ("@g")
                        )
                      } {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {(DQ ("s@{{ *nanny_memory *}}@") (${ VSub_Name nanny_memory) ("@g"))} {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *metrics_cpu_per_node *}}@") (${ VSub_Name metrics_cpu_per_node) 
                          ("@g")
                        )
                      } {(DQ (${ VSub_Name controller_yaml))}
                    )
                    (C {(update-prometheus-to-sd-parameters)} {(${ VSub_Name controller_yaml)})
                  ]
                  spids: [-1 13323]
                )
              ]
              spids: [-1 13763]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_METRICS_SERVER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [13771 13774]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (metrics-server))})]
                  spids: [-1 13786]
                )
              ]
              spids: [-1 13800]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_DNS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [13808 13811]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (dns))})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kubedns_file)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/dns/kube-dns.yaml))}
                          spids: [13841]
                        )
                      ]
                      spids: [13837]
                    )
                    (C {(mv)} {(DQ (${ VSub_Name dst_dir) (/dns/kube-dns.yaml.in))} 
                      {(DQ (${ VSub_Name kubedns_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                          ("'dns_domain'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (" *}}@") (${ VSub_Name DNS_DOMAIN) ("@g")
                        )
                      } {(DQ (${ VSub_Name kubedns_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                          ("'dns_server'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (" *}}@") (${ VSub_Name DNS_SERVER_IP) ("@g")
                        )
                      } {(DQ (${ VSub_Name kubedns_file))}
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [13926 13929]
                                            )
                                          )
                                        }
                                      right: {(DQ (true))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(setup-addon-manifests)} {(DQ (addons))} 
                              {(DQ (dns-horizontal-autoscaler))}
                            )
                          ]
                          spids: [-1 13941]
                        )
                      ]
                      spids: [-1 13955]
                    )
                  ]
                  spids: [-1 13823]
                )
              ]
              spids: [-1 13958]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_REGISTRY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [13966 13969]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (registry))})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:registry_pv_file)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/registry/registry-pv.yaml))}
                          spids: [13999]
                        )
                      ]
                      spids: [13995]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:registry_pvc_file)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/registry/registry-pvc.yaml))}
                          spids: [14012]
                        )
                      ]
                      spids: [14008]
                    )
                    (C {(mv)} {(DQ (${ VSub_Name dst_dir) (/registry/registry-pv.yaml.in))} 
                      {(DQ (${ VSub_Name registry_pv_file))}
                    )
                    (C {(mv)} {(DQ (${ VSub_Name dst_dir) (/registry/registry-pvc.yaml.in))} 
                      {(DQ (${ VSub_Name registry_pvc_file))}
                    )
                    (C {(remove-salt-config-comments)} {(DQ (${ VSub_Name controller_yaml))})
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                          ("'cluster_registry_disk_size'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (" *}}@") (${ VSub_Name CLUSTER_REGISTRY_DISK_SIZE) 
                          ("@g")
                        )
                      } {(DQ (${ VSub_Name registry_pv_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                          ("'cluster_registry_disk_size'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (" *}}@") (${ VSub_Name CLUSTER_REGISTRY_DISK_SIZE) 
                          ("@g")
                        )
                      } {(DQ (${ VSub_Name registry_pvc_file))}
                    )
                    (C {(sed)} {(-i)} {(-e)} 
                      {
                        (DQ ("s@{{ *pillar") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) 
                          ("'cluster_registry_disk_name'") (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (" *}}@") (${ VSub_Name CLUSTER_REGISTRY_DISK) ("@g")
                        )
                      } {(DQ (${ VSub_Name registry_pvc_file))}
                    )
                  ]
                  spids: [-1 13981]
                )
              ]
              spids: [-1 14141]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ENABLE_NODE_LOGGING>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [14149 14152]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                            )
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name LOGGING_DESTINATION>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [14170 14173]
                                            )
                                          )
                                        }
                                      right: {(DQ (elasticsearch))}
                                    )
                                )
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_CLUSTER_LOGGING>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [14191 14194]
                                            )
                                          )
                                        }
                                      right: {(DQ (true))}
                                    )
                                )
                              ]
                              op_id: Op_DAmp
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (fluentd-elasticsearch))})]
                  spids: [-1 14206]
                )
              ]
              spids: [-1 14220]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name ENABLE_NODE_LOGGING>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [14228 14231]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                            )
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name LOGGING_DESTINATION>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [14249 14252]
                                        )
                                      )
                                    }
                                  right: {(DQ (gcp))}
                                )
                            )
                          ]
                          op_id: Op_DAmp
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (fluentd-gcp))})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:event_exporter_yaml)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/fluentd-gcp/event-exporter.yaml))}
                          spids: [14282]
                        )
                      ]
                      spids: [14278]
                    )
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:fluentd_gcp_yaml)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name dst_dir) (/fluentd-gcp/fluentd-gcp-ds.yaml))}
                          spids: [14295]
                        )
                      ]
                      spids: [14291]
                    )
                    (C {(update-prometheus-to-sd-parameters)} {(${ VSub_Name event_exporter_yaml)})
                    (C {(update-prometheus-to-sd-parameters)} {(${ VSub_Name fluentd_gcp_yaml)})
                    (C {(start-fluentd-resource-update)})
                  ]
                  spids: [-1 14264]
                )
              ]
              spids: [-1 14321]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_UI>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14329 14332]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (dashboard))})]
                  spids: [-1 14344]
                )
              ]
              spids: [-1 14358]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14366 14369]
                                    )
                                  )
                                }
                              right: {(DQ (daemonset))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (node-problem-detector))})]
                  spids: [-1 14381]
                )
              ]
              spids: [-1 14395]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14403 14406]
                                    )
                                  )
                                }
                              right: {(DQ (standalone))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (addons))} 
                      {(DQ (node-problem-detector/standalone))}
                    )
                  ]
                  spids: [-1 14418]
                )
              ]
              spids: [-1 14436]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C {(echo)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name ADMISSION_CONTROL>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                    spids: [14444 14447]
                                  )
                                )
                              }
                            )
                            (C {(grep)} {(-q)} {(DQ (LimitRanger))})
                          ]
                          negated: False
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (admission-controls))} {(DQ (limit-range))})
                  ]
                  spids: [-1 14461]
                )
              ]
              spids: [-1 14475]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK_POLICY_PROVIDER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14483 14486]
                                    )
                                  )
                                }
                              right: {(DQ (calico))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (calico-policy-controller))})
                    (Assignment
                      keyword: Assign_Local
                      flags: ["'-r'"]
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:ds_file)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name dst_dir) 
                                (/calico-policy-controller/calico-node-daemonset.yaml)
                              )
                            }
                          spids: [14521]
                        )
                      ]
                      spids: [14517]
                    )
                    (C {(sed)} {(-i)} {(-e)} {(DQ ("s@__CALICO_CNI_DIR__@/home/kubernetes/bin@g"))} 
                      {(DQ (${ VSub_Name ds_file))}
                    )
                  ]
                  spids: [-1 14498]
                )
              ]
              spids: [-1 14547]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_DEFAULT_STORAGE_CLASS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14555 14558]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (storage-class/gce))})]
                  spids: [-1 14570]
                )
              ]
              spids: [-1 14584]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_IP_MASQ_AGENT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14592 14595]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (ip-masq-agent))})]
                  spids: [-1 14607]
                )
              ]
              spids: [-1 14621]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_METADATA_PROXY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14629 14632]
                                    )
                                  )
                                }
                              right: {(DQ (simple))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (metadata-proxy/gce))})]
                  spids: [-1 14644]
                )
              ]
              spids: [-1 14658]
            )
            (C {(cp)} {(DQ (${ VSub_Name src_dir) (/kube-addon-manager.yaml))} 
              {(/etc/kubernetes/manifests)}
            )
          ]
          spids: [13120]
        )
      spids: [13116 13119]
    )
    (FuncDef
      name: start-image-puller
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start image-puller"))})
            (C {(cp)} 
              {
                (DQ (${ VSub_Name KUBE_HOME) 
                  (/kube-manifests/kubernetes/gci-trusty/e2e-image-puller.manifest)
                )
              } {(/etc/kubernetes/manifests/)}
            )
          ]
          spids: [14687]
        )
      spids: [14683 14686]
    )
    (FuncDef
      name: start-kube-registry-proxy
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Start kube-registry-proxy"))})
            (C {(cp)} 
              {(DQ (${ VSub_Name KUBE_HOME) (/kube-manifests/kubernetes/kube-registry-proxy.yaml))} {(/etc/kubernetes/manifests)}
            )
          ]
          spids: [14720]
        )
      spids: [14716 14719]
    )
    (FuncDef
      name: start-lb-controller
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_L7_LOADBALANCING>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14759 14762]
                                    )
                                  )
                                }
                              right: {(DQ (glbc))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Start GCE L7 pod"))})
                    (C {(prepare-log-file)} {(/var/log/glbc.log)})
                    (C {(setup-addon-manifests)} {(DQ (addons))} {(DQ (cluster-loadbalancing/glbc))})
                    (C {(cp)} 
                      {
                        (DQ (${ VSub_Name KUBE_HOME) 
                          (/kube-manifests/kubernetes/gci-trusty/glbc.manifest)
                        )
                      } {(/etc/kubernetes/manifests/)}
                    )
                  ]
                  spids: [-1 14774]
                )
              ]
              spids: [-1 14814]
            )
          ]
          spids: [14751]
        )
      spids: [14747 14750]
    )
    (FuncDef
      name: start-rescheduler
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_RESCHEDULER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [14834 14837]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("Start Rescheduler"))})
                    (C {(prepare-log-file)} {(/var/log/rescheduler.log)})
                    (C {(cp)} 
                      {
                        (DQ (${ VSub_Name KUBE_HOME) 
                          (/kube-manifests/kubernetes/gci-trusty/rescheduler.manifest)
                        )
                      } {(/etc/kubernetes/manifests/)}
                    )
                  ]
                  spids: [-1 14849]
                )
              ]
              spids: [-1 14878]
            )
          ]
          spids: [14826]
        )
      spids: [14822 14825]
    )
    (FuncDef
      name: setup-kubelet-dir
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("Making /var/lib/kubelet executable for kubelet"))})
            (C {(mount)} {(-B)} {(/var/lib/kubelet)} {(/var/lib/kubelet/)})
            (C {(mount)} {(-B)} {(-o)} 
              {(remount) (Lit_Comma ",") (exec) (Lit_Comma ",") (suid) (Lit_Comma ",") (dev)} {(/var/lib/kubelet)}
            )
          ]
          spids: [14890]
        )
      spids: [14886 14889]
    )
    (FuncDef
      name: reset-motd
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:version)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(DQ (${ VSub_Name KUBE_HOME)) (/bin/kubelet)} 
                                      {(--version) (Lit_Other "=") (true)}
                                    )
                                    (C {(cut)} {(-f2)} {(-d)} {(DQ (" "))})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [14945 14968]
                        )
                      )
                    }
                  spids: [14943]
                )
              ]
              spids: [14939]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:gitref)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ (${ VSub_Name version))})
                                    (C {(sed)} {(-r)} 
                                      {
                                        (DQ ("s/(v[0-9]+") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\.">
                                          ) ("[0-9]+") (EscapedLiteralPart token:<Lit_EscapedChar "\\.">) ("[0-9]+)(-[a-z]+") 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\.">
                                          ) ("[0-9]+)?.*/") (EscapedLiteralPart token:<Lit_EscapedChar "\\1">) 
                                          (EscapedLiteralPart
                                            token: <Lit_EscapedChar "\\2">
                                          ) (/g)
                                        )
                                      }
                                    )
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [14984 15011]
                        )
                      )
                    }
                  spids: [14982]
                )
              ]
              spids: [14980]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:devel) op:Equal rhs:{(DQ )} spids:[15017])]
              spids: [15015]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name gitref))}
                              right: {(DQ (${ VSub_Name version))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:devel)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("\n") 
                                (
"Note: This looks like a development version, which might not be present on GitHub.\n"
                                ) ("If it isn't, the closest tag is at:\n") ("  https://github.com/kubernetes/kubernetes/tree/") 
                                (${ VSub_Name gitref) ("\n")
                              )
                            }
                          spids: [15046]
                        )
                      ]
                      spids: [15046]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:gitref)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name version>
                                  suffix_op: 
                                    (PatSub
                                      pat: {("*+")}
                                      replace: {(SQ )}
                                      do_all: True
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [15061 15067]
                                )
                              )
                            }
                          spids: [15059]
                        )
                      ]
                      spids: [15059]
                    )
                  ]
                  spids: [-1 15043]
                )
              ]
              spids: [-1 15071]
            )
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir op_id:Redir_Great fd:-1 arg_word:{(/etc/motd)} spids:[15076])
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("\n") ("Welcome to Kubernetes ") (${ VSub_Name version) ("!\n") ("\n") 
                        ("You can find documentation for Kubernetes at:\n") ("  http://docs.kubernetes.io/\n") ("\n") ("The source for this release can be found at:\n") 
                        ("  /home/kubernetes/kubernetes-src.tar.gz\n") ("Or you can download it at:\n") ("  https://storage.googleapis.com/kubernetes-release/release/") 
                        (${ VSub_Name version) ("/kubernetes-src.tar.gz\n") ("\n") ("It is based on the Kubernetes source at:\n") 
                        ("  https://github.com/kubernetes/kubernetes/tree/") (${ VSub_Name gitref) ("\n") (${ VSub_Name devel) ("\n") 
                        ("For Kubernetes copyright and licensing information, see:\n") ("  /home/kubernetes/LICENSES\n") ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [15080]
                )
              ]
            )
          ]
          spids: [14932]
        )
      spids: [14928 14931]
    )
    (FuncDef
      name: override-kubectl
      body: 
        (BraceGroup
          children: [
            (C {(echo)} {(DQ ("overriding kubectl"))})
            (SimpleCommand
              words: [
                {(echo)}
                {
                  (DQ ("export PATH=") (${ VSub_Name KUBE_HOME) ("/bin:") 
                    (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) (PATH)
                  )
                }
              ]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(/etc/profile.d/kube_env.sh)}
                  spids: [15144]
                )
              ]
            )
          ]
          spids: [15122]
        )
      spids: [15118 15121]
    )
    (C {(echo)} {(DQ ("Start to configure instance for kubernetes"))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_HOME)
          op: Equal
          rhs: {(DQ (/home/kubernetes))}
          spids: [15161]
        )
      ]
      spids: [15161]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CONTAINERIZED_MOUNTER_HOME)
          op: Equal
          rhs: {(DQ (${ VSub_Name KUBE_HOME) (/containerized_mounter))}
          spids: [15166]
        )
      ]
      spids: [15166]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (LogicalNot
                      child: 
                        (BoolUnary
                          op_id: BoolUnary_e
                          child: {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))}
                        )
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ ("The ") (${ VSub_Name KUBE_HOME) 
                  ("/kube-env file does not exist!! Terminate cluster initialization.")
                )
              }
            )
            (C {(exit)} {(1)})
          ]
          spids: [-1 15192]
        )
      ]
      spids: [-1 15210]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-env))})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_e
                      child: {(DQ (${ VSub_Name KUBE_HOME) (/kube-master-certs))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [(C {(source)} {(DQ (${ VSub_Name KUBE_HOME) (/kube-master-certs))})]
          spids: [-1 15239]
        )
      ]
      spids: [-1 15251]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_n
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBE_USER>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [15261 15264]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {(DQ (${ VSub_Name KUBE_USER))}
                                  right: 
                                    {(Lit_Other "^") (Lit_Other "[") (-._) (Lit_Other "@") (a-zA-Z0-9) 
                                      (Lit_Other "]") (Lit_Other "+") (Lit_Other "$")
                                    }
                                )
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("Bad KUBE_USER format."))}) (C {(exit)} {(1)})]
                  spids: [-1 15299]
                )
              ]
              spids: [-1 15314]
            )
          ]
          spids: [-1 15270]
        )
      ]
      spids: [-1 15316]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CONTROLLER_MANAGER_TOKEN)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (SimpleCommand
                            words: [
                              {(dd)}
                              {(Lit_VarLike "if=") (/dev/urandom)}
                              {(Lit_VarLike "bs=") (128)}
                              {(Lit_VarLike "count=") (1)}
                            ]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [15335]
                              )
                            ]
                          )
                          (C {(base64)})
                          (C {(tr)} {(-d)} {(DQ ("=+/"))})
                          (SimpleCommand
                            words: [{(dd)} {(Lit_VarLike "bs=") (32)} {(Lit_VarLike "count=") (1)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [15362]
                              )
                            ]
                          )
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [15323 15364]
              )
            }
          spids: [15322]
        )
      ]
      spids: [15322]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_SCHEDULER_TOKEN)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (SimpleCommand
                            words: [
                              {(dd)}
                              {(Lit_VarLike "if=") (/dev/urandom)}
                              {(Lit_VarLike "bs=") (128)}
                              {(Lit_VarLike "count=") (1)}
                            ]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [15379]
                              )
                            ]
                          )
                          (C {(base64)})
                          (C {(tr)} {(-d)} {(DQ ("=+/"))})
                          (SimpleCommand
                            words: [{(dd)} {(Lit_VarLike "bs=") (32)} {(Lit_VarLike "count=") (1)}]
                            redirects: [
                              (Redir
                                op_id: Redir_Great
                                fd: 2
                                arg_word: {(/dev/null)}
                                spids: [15406]
                              )
                            ]
                          )
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [15367 15408]
              )
            }
          spids: [15366]
        )
      ]
      spids: [15366]
    )
    (C {(setup-os-params)})
    (C {(config-ip-firewall)})
    (C {(create-dirs)})
    (C {(setup-kubelet-dir)})
    (C {(ensure-local-ssds)})
    (C {(setup-logrotate)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBERNETES_MASTER>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [15428 15431]
                            )
                          )
                        }
                      right: {(DQ (true))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(mount-master-pd)})
            (C {(create-node-pki)})
            (C {(create-master-pki)})
            (C {(create-master-auth)})
            (C {(create-master-kubelet-auth)})
            (C {(create-master-etcd-auth)})
          ]
          spids: [-1 15443]
        )
      ]
      else_action: [
        (C {(create-node-pki)})
        (C {(create-kubelet-kubeconfig)} {(${ VSub_Name KUBERNETES_MASTER_NAME)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobNEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15481 15484]
                                )
                              )
                            }
                          right: {(DQ (true))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(create-kubeproxy-user-kubeconfig)})]
              spids: [-1 15496]
            )
          ]
          spids: [-1 15502]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15510 15513]
                                )
                              )
                            }
                          right: {(DQ (standalone))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(create-node-problem-detector-kubeconfig)})]
              spids: [-1 15525]
            )
          ]
          spids: [-1 15531]
        )
      ]
      spids: [15463 15533]
    )
    (C {(override-kubectl)})
    (C {(assemble-docker-flags)})
    (C {(start-kubelet)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name KUBERNETES_MASTER>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [15551 15554]
                            )
                          )
                        }
                      right: {(DQ (true))}
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(compute-master-manifest-variables)})
            (C {(start-etcd-servers)})
            (C {(start-etcd-empty-dir-cleanup-pod)})
            (C {(start-kube-apiserver)})
            (C {(start-kube-controller-manager)})
            (C {(start-kube-scheduler)})
            (C {(start-kube-addons)})
            (C {(start-cluster-autoscaler)})
            (C {(start-lb-controller)})
            (C {(start-rescheduler)})
          ]
          spids: [-1 15566]
        )
      ]
      else_action: [
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobNEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15606 15609]
                                )
                              )
                            }
                          right: {(DQ (true))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(start-kube-proxy)})]
              spids: [-1 15621]
            )
          ]
          spids: [-1 15627]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name ENABLE_CLUSTER_REGISTRY>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15639 15642]
                                )
                              )
                            }
                          right: {(DQ (true))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(start-kube-registry-proxy)})]
              spids: [-1 15654]
            )
          ]
          spids: [-1 15660]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name PREPULL_E2E_IMAGES>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15668 15671]
                                )
                              )
                            }
                          right: {(DQ (true))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(start-image-puller)})]
              spids: [-1 15683]
            )
          ]
          spids: [-1 15689]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_GlobDEqual
                          left: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                  spids: [15697 15700]
                                )
                              )
                            }
                          right: {(DQ (standalone))}
                        )
                    )
                  terminator: <Op_Semi ";">
                )
              ]
              action: [(C {(start-node-problem-detector)})]
              spids: [-1 15712]
            )
          ]
          spids: [-1 15718]
        )
      ]
      spids: [15598 15720]
    )
    (C {(reset-motd)})
    (C {(prepare-mounter-rootfs)})
    (C {(modprobe)} {(configs)})
    (C {(echo)} {(DQ ("Done for the configuration for kubernetes"))})
  ]
)