(CommandList
  children: [
    (FuncDef
      name: get-master-size
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suggested_master_size)
                  op: Equal
                  rhs: {(1)}
                  spids: [59]
                )
              ]
              spids: [57]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (5))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(2)}
                          spids: [85]
                        )
                      ]
                      spids: [85]
                    )
                  ]
                  spids: [16777215 82]
                )
              ]
              spids: [16777215 89]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (10))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(4)}
                          spids: [114]
                        )
                      ]
                      spids: [114]
                    )
                  ]
                  spids: [16777215 111]
                )
              ]
              spids: [16777215 118]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (100))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(8)}
                          spids: [143]
                        )
                      ]
                      spids: [143]
                    )
                  ]
                  spids: [16777215 140]
                )
              ]
              spids: [16777215 147]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (250))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(16)}
                          spids: [172]
                        )
                      ]
                      spids: [172]
                    )
                  ]
                  spids: [16777215 169]
                )
              ]
              spids: [16777215 176]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (500))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(32)}
                          spids: [201]
                        )
                      ]
                      spids: [201]
                    )
                  ]
                  spids: [16777215 198]
                )
              ]
              spids: [16777215 205]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (3000))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_size)
                          op: Equal
                          rhs: {(64)}
                          spids: [230]
                        )
                      ]
                      spids: [230]
                    )
                  ]
                  spids: [16777215 227]
                )
              ]
              spids: [16777215 234]
            )
            (C {(echo)} {(DQ (${ VSub_Name suggested_master_size))})
          ]
          spids: [54]
        )
      spids: [50 53]
    )
    (FuncDef
      name: get-master-root-disk-size
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suggested_master_root_disk_size)
                  op: Equal
                  rhs: {(DQ (20GB))}
                  spids: [265]
                )
              ]
              spids: [263]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (1000))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_root_disk_size)
                          op: Equal
                          rhs: {(DQ (50GB))}
                          spids: [293]
                        )
                      ]
                      spids: [293]
                    )
                  ]
                  spids: [16777215 290]
                )
              ]
              spids: [16777215 299]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (2000))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_root_disk_size)
                          op: Equal
                          rhs: {(DQ (100GB))}
                          spids: [324]
                        )
                      ]
                      spids: [324]
                    )
                  ]
                  spids: [16777215 321]
                )
              ]
              spids: [16777215 330]
            )
            (C {(echo)} {(DQ (${ VSub_Name suggested_master_root_disk_size))})
          ]
          spids: [260]
        )
      spids: [254 259]
    )
    (FuncDef
      name: get-master-disk-size
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suggested_master_disk_size)
                  op: Equal
                  rhs: {(DQ (20GB))}
                  spids: [361]
                )
              ]
              spids: [359]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (1000))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_disk_size)
                          op: Equal
                          rhs: {(DQ (100GB))}
                          spids: [389]
                        )
                      ]
                      spids: [389]
                    )
                  ]
                  spids: [16777215 386]
                )
              ]
              spids: [16777215 395]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(DQ (2000))}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_master_disk_size)
                          op: Equal
                          rhs: {(DQ (200GB))}
                          spids: [420]
                        )
                      ]
                      spids: [420]
                    )
                  ]
                  spids: [16777215 417]
                )
              ]
              spids: [16777215 426]
            )
            (C {(echo)} {(DQ (${ VSub_Name suggested_master_disk_size))})
          ]
          spids: [356]
        )
      spids: [350 355]
    )
    (FuncDef
      name: get-node-ip-range
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name NODE_IP_RANGE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [454 457]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ('Using user provided NODE_IP_RANGE: ') (${ VSub_Name NODE_IP_RANGE))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[466])]
                    )
                    (C {(echo)} {(DQ (${ VSub_Name NODE_IP_RANGE))})
                    (ControlFlow token:<ControlFlow_Return return>)
                  ]
                  spids: [16777215 463]
                )
              ]
              spids: [16777215 491]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suggested_range)
                  op: Equal
                  rhs: {(DQ (10.40.0.0/22))}
                  spids: [496]
                )
              ]
              spids: [494]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(1000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.40.0.0/21))}
                          spids: [522]
                        )
                      ]
                      spids: [522]
                    )
                  ]
                  spids: [16777215 519]
                )
              ]
              spids: [16777215 528]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(2000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.40.0.0/20))}
                          spids: [551]
                        )
                      ]
                      spids: [551]
                    )
                  ]
                  spids: [16777215 548]
                )
              ]
              spids: [16777215 557]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(4000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.40.0.0/19))}
                          spids: [580]
                        )
                      ]
                      spids: [580]
                    )
                  ]
                  spids: [16777215 577]
                )
              ]
              spids: [16777215 586]
            )
            (C {(echo)} {(DQ (${ VSub_Name suggested_range))})
          ]
          spids: [444]
        )
      spids: [440 443]
    )
    (FuncDef
      name: get-cluster-ip-range
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:suggested_range)
                  op: Equal
                  rhs: {(DQ (10.64.0.0/14))}
                  spids: [609]
                )
              ]
              spids: [607]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(1000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.64.0.0/13))}
                          spids: [635]
                        )
                      ]
                      spids: [635]
                    )
                  ]
                  spids: [16777215 632]
                )
              ]
              spids: [16777215 641]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(2000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.64.0.0/12))}
                          spids: [664]
                        )
                      ]
                      spids: [664]
                    )
                  ]
                  spids: [16777215 661]
                )
              ]
              spids: [16777215 670]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_gt
                              left: {(DQ (${ VSub_Name NUM_NODES))}
                              right: {(4000)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:suggested_range)
                          op: Equal
                          rhs: {(DQ (10.64.0.0/11))}
                          spids: [693]
                        )
                      ]
                      spids: [693]
                    )
                  ]
                  spids: [16777215 690]
                )
              ]
              spids: [16777215 699]
            )
            (C {(echo)} {(DQ (${ VSub_Name suggested_range))})
          ]
          spids: [604]
        )
      spids: [600 603]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name FEDERATION>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [719 722]
                            )
                          )
                        }
                      right: {(true)}
                    )
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NODE_SCOPES)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name NODE_SCOPES>
                          suffix_op: 
                            (StringUnary
                              op_id: VTest_ColonHyphen
                              arg_word: 
                                {('monitoring,logging-write,storage-ro,https:') (Lit_Slash /) 
                                  (Lit_Slash /) (www.googleapis.com) (Lit_Slash /) (auth) (Lit_Slash /) (ndev.clouddns.readwrite)
                                }
                            )
                          spids: [737 748]
                        )
                      )
                    }
                  spids: [735]
                )
              ]
              spids: [735]
            )
          ]
          spids: [16777215 732]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:NODE_SCOPES)
              op: Equal
              rhs: 
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name NODE_SCOPES>
                      suffix_op: 
                        (StringUnary
                          op_id: VTest_ColonHyphen
                          arg_word: {('monitoring,logging-write,storage-ro')}
                        )
                      spids: [756 760]
                    )
                  )
                }
              spids: [754]
            )
          ]
          spids: [754]
        )
      ]
      spids: [751 763]
    )
  ]
)