(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NUM_NODES)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name NUM_NODES>
                suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (1))})
                spids: [52 58]
              )
            }
          spids: [51]
        )
      ]
      spids: [51]
    )
    (C {(export)} {(NUM_NODES)})
    (C {(export)} 
      {(Lit_VarLike 'MASTER_IP=') 
        (BracedVarSub
          token: <VSub_Name MASTER_IP>
          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (10.245.1.2))})
          spids: [71 77]
        )
      }
    )
    (C {(export)} {(Lit_VarLike 'KUBE_MASTER_IP=') (${ VSub_Name MASTER_IP)})
    (C {(export)} {(Lit_VarLike 'INSTANCE_PREFIX=') (DQ (kubernetes))})
    (C {(export)} {(Lit_VarLike 'MASTER_NAME=') (DQ (${ VSub_Name INSTANCE_PREFIX) (-master))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:REGISTER_MASTER_KUBELET)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name REGISTER_MASTER>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                spids: [109 113]
              )
            }
          spids: [108]
        )
      ]
      spids: [108]
    )
    (C {(export)} 
      {(Lit_VarLike 'NODE_IP_BASE=') 
        (BracedVarSub
          token: <VSub_Name NODE_IP_BASE>
          suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(DQ (10.245.1.))})
          spids: [122 128]
        )
      }
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NODE_CONTAINER_SUBNET_BASE)
          op: Equal
          rhs: {(DQ (10.246))}
          spids: [130]
        )
      ]
      spids: [130]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_NETMASK)
          op: Equal
          rhs: {(DQ (255.255.255.0))}
          spids: [135]
        )
      ]
      spids: [135]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_ADDR)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.1))}
          spids: [140]
        )
      ]
      spids: [140]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_CONTAINER_SUBNET)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.1/24))}
          spids: [148]
        )
      ]
      spids: [148]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CONTAINER_SUBNET)
          op: Equal
          rhs: {(DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.0.0/16))}
          spids: [156]
        )
      ]
      spids: [156]
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: (ArithVarRef name:NUM_NODES)
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (C 
              {(NODE_IPS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_IP_BASE) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 3)})
                      )
                    spids: [196 201]
                  )
                )
              }
            )
            (C 
              {(NODE_NAMES) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (DQ (${ VSub_Name INSTANCE_PREFIX) (-node-) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [215 220]
                  )
                )
              }
            )
            (C 
              {(NODE_CONTAINER_SUBNETS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [234 239]
                  ) (.1/24)
                )
              }
            )
            (C 
              {(NODE_CONTAINER_ADDRS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') 
                (DQ (${ VSub_Name NODE_CONTAINER_SUBNET_BASE) (.) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [254 259]
                  ) (.1)
                )
              }
            )
            (C 
              {(NODE_CONTAINER_NETMASKS) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                (Lit_Other '=') (DQ (255.255.255.0))
              }
            )
            (C 
              {(VAGRANT_NODE_NAMES) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (DQ (node-) 
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Plus
                        left: (ArithVarRef name:i)
                        right: (ArithWord w:{(Lit_Digits 1)})
                      )
                    spids: [281 286]
                  )
                )
              }
            )
          ]
          spids: [184 289]
        )
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:CLUSTER_IP_RANGE)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name CLUSTER_IP_RANGE>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {(10.246.0.0) (Lit_Slash /) (16)}
                    )
                  spids: [294 300]
                )
              )
            }
          spids: [292]
        )
      ]
      spids: [292]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:SERVICE_CLUSTER_IP_RANGE)
          op: Equal
          rhs: {(10.247.0.0/16)}
          spids: [304]
        )
      ]
      spids: [304]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_USER)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name MASTER_USER>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(vagrant)})
                  spids: [316 320]
                )
              )
            }
          spids: [314]
        )
      ]
      spids: [314]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_PASSWD)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name MASTER_PASSWD>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(vagrant)})
                  spids: [325 329]
                )
              )
            }
          spids: [323]
        )
      ]
      spids: [323]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ADMISSION_CONTROL)
          op: Equal
          rhs: 
            {(Initializers) (Lit_Comma ',') (NamespaceLifecycle) (Lit_Comma ',') (LimitRanger) 
              (Lit_Comma ',') (ServiceAccount) (Lit_Comma ',') (DefaultStorageClass) (Lit_Comma ',') (DefaultTolerationSeconds) 
              (Lit_Comma ',') (ResourceQuota)
            }
          spids: [339]
        )
      ]
      spids: [339]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:ENABLE_NODE_LOGGING) op:Equal rhs:{(false)} spids:[358])]
      spids: [358]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:LOGGING_DESTINATION)
          op: Equal
          rhs: {(elasticsearch)}
          spids: [361]
        )
      ]
      spids: [361]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_LOGGING)
          op: Equal
          rhs: {(false)}
          spids: [368]
        )
      ]
      spids: [368]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ELASTICSEARCH_LOGGING_REPLICAS)
          op: Equal
          rhs: {(1)}
          spids: [371]
        )
      ]
      spids: [371]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_MONITORING)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CLUSTER_MONITORING>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(influxdb)})
                  spids: [389 393]
                )
              )
            }
          spids: [387]
        )
      ]
      spids: [387]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:EXTRA_DOCKER_OPTS)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name EXTRA_DOCKER_OPTS>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                  spids: [414 417]
                ) (' --insecure-registry 10.0.0.0/8 -s overlay')
              )
            }
          spids: [412]
        )
      ]
      spids: [412]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CPU_CFS_QUOTA)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CPU_CFS_QUOTA>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [427 431]
                )
              )
            }
          spids: [425]
        )
      ]
      spids: [425]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_DNS)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CLUSTER_DNS>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [440 444]
                )
              )
            }
          spids: [438]
        )
      ]
      spids: [438]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DNS_SERVER_IP)
          op: Equal
          rhs: {(DQ (10.247.0.10))}
          spids: [447]
        )
      ]
      spids: [447]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DNS_DOMAIN)
          op: Equal
          rhs: {(DQ (cluster.local))}
          spids: [452]
        )
      ]
      spids: [452]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_DNS_HORIZONTAL_AUTOSCALER)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                  spids: [463 467]
                )
              )
            }
          spids: [461]
        )
      ]
      spids: [461]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_CLUSTER_UI)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_ENABLE_CLUSTER_UI>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [476 480]
                )
              )
            }
          spids: [474]
        )
      ]
      spids: [474]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:RUNTIME_CONFIG)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name KUBE_RUNTIME_CONFIG>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                  spids: [489 492]
                )
              )
            }
          spids: [487]
        )
      ]
      spids: [487]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:octets)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {
                    (CommandSubPart
                      command_list: 
                        (CommandList
                          children: [
                            (Pipeline
                              children: [
                                (C {(echo)} {(DQ ($ VSub_Name '$SERVICE_CLUSTER_IP_RANGE'))})
                                (C {(sed)} {(-e)} {(SQ <'s|/.*||'>)} {(-e)} {(SQ <'s/\\./ /g'>)})
                              ]
                              negated: False
                            )
                          ]
                        )
                      left_token: <Left_CommandSub '$('>
                      spids: [501 523]
                    )
                  }
                ]
              )
            }
          spids: [499]
        )
      ]
      spids: [499]
    )
    (DParen
      child: 
        (BinaryAssign
          op_id: Arith_PlusEqual
          left: (LhsIndexedName name:octets index:(ArithWord w:{(Lit_Digits 3)}))
          right: (ArithWord w:{(Lit_Digits 1)})
        )
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:service_ip)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(echo)} 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name octets>
                                  bracket_op: (WholeArray op_id:Arith_Star)
                                  spids: [541 546]
                                )
                              )
                            }
                          )
                          (C {(sed)} {(SQ <'s/ /./g'>)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [537 556]
              )
            }
          spids: [536]
        )
      ]
      spids: [536]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:MASTER_EXTRA_SANS)
          op: Equal
          rhs: 
            {
              (DQ ('IP:') (${ VSub_Name service_ip) 
                (
',DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.'
                ) (${ VSub_Name DNS_DOMAIN) (',DNS:') (${ VSub_Name MASTER_NAME)
              )
            }
          spids: [558]
        )
      ]
      spids: [558]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:NETWORK_PROVIDER)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name NETWORK_PROVIDER>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(none)})
                  spids: [577 581]
                )
              )
            }
          spids: [575]
        )
      ]
      spids: [575]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ (${ VSub_Name NETWORK_PROVIDER))} 
                  {(Lit_Other '=') (Lit_Other '=')} {(DQ (kubenet))} {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CLUSTER_IP_RANGE)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name CONTAINER_SUBNET))}
                  spids: [610]
                )
              ]
              spids: [610]
            )
          ]
          spids: [16777215 607]
        )
      ]
      spids: [16777215 617]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:ENABLE_HOSTPATH_PROVISIONER)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name ENABLE_HOSTPATH_PROVISIONER>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)})
                  spids: [625 629]
                )
              )
            }
          spids: [623]
        )
      ]
      spids: [623]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OPENCONTRAIL_TAG)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name OPENCONTRAIL_TAG>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(R2.20)})
                  spids: [638 642]
                )
              )
            }
          spids: [636]
        )
      ]
      spids: [636]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OPENCONTRAIL_KUBERNETES_TAG)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name OPENCONTRAIL_KUBERNETES_TAG>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(master)})
                  spids: [647 651]
                )
              )
            }
          spids: [645]
        )
      ]
      spids: [645]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:OPENCONTRAIL_PUBLIC_SUBNET)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name OPENCONTRAIL_PUBLIC_SUBNET>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {(10.1.0.0) (Lit_Slash /) (16)}
                    )
                  spids: [656 662]
                )
              )
            }
          spids: [654]
        )
      ]
      spids: [654]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:E2E_STORAGE_TEST_ENVIRONMENT)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Name KUBE_E2E_STORAGE_TEST_ENVIRONMENT>
                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)})
                spids: [670 674]
              )
            }
          spids: [669]
        )
      ]
      spids: [669]
    )
    (C {(export)} {(Lit_VarLike 'DEFAULT_NETWORK_IF_NAME=') (DQ (eth0))})
  ]
)