(FuncDef
  name: make_hdb
  body: 
    (BraceGroup
      children: [
        (If
          arms: [
            (if_arm
              cond: 
                (AndOr
                  children: [
                    (C {(Lit_Other "[")} {(-z)} 
                      {(DQ (CommandSubPart command_list:(C {(which)} {(mke2fs)}) spids:[1822]))} {(Lit_Other "]")}
                    )
                    (C {(Lit_Other "[")} {(-z)} 
                      {(DQ (CommandSubPart command_list:(C {(which)} {(tune2fs)}) spids:[3438]))} {(Lit_Other "]")}
                    )
                  ]
                  op_id: Op_DPipe
                )
              action: 
                (Assignment
                  keyword: Assign_Export
                  pairs: [
                    (assign_pair
                      lhs: (LeftVar name:PATH)
                      rhs: {(/sbin) (Lit_Other ":") (/usr/sbin) (Lit_Other ":") ($ VSub_Name "$PATH")}
                      spids: [49]
                    )
                  ]
                  spids: [47]
                )
              spids: [-1 44]
            )
          ]
          spids: [-1 57]
        )
        (AndOr
          children: [
            (C {(truncate)} {(-s)} {(${ VSub_Name HDBMEGS) (m)} {(DQ ($ VSub_Name "$HDB"))})
            (AndOr
              children: [
                (C {(mke2fs)} {(-q)} {(-b)} {(1024)} {(-F)} {(DQ ($ VSub_Name "$HDB"))} {(-i)} {(4096)})
                (C {(tune2fs)} {(-j)} {(-c)} {(0)} {(-i)} {(0)} {(DQ ($ VSub_Name "$HDB"))})
              ]
              op_id: Op_DAmp
            )
          ]
          op_id: Op_DAmp
        )
        (AndOr
          children: [
            (C {(Lit_Other "[")} {($ VSub_QMark "$?")} {(-ne)} {(0)} {(Lit_Other "]")})
            (C {(exit)} {(1)})
          ]
          op_id: Op_DAmp
        )
      ]
      spids: [4]
    )
  spids: [0 3]
)