(CommandList
  children: [
    (BraceGroup
      children: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[95])]
          spids: [95]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DBracket
                      expr: 
                        (BoolBinary
                          op_id: BoolBinary_EqualTilde
                          left: {($ VSub_Number '$1')}
                          right: 
                            {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') 
                              (Lit_Other '+') (Lit_Other '$')
                            }
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:INPUT)
                      op: Equal
                      rhs: {($ VSub_Number '$1')}
                      spids: [122]
                    )
                  ]
                  spids: [122]
                )
              ]
              spids: [16777215 119]
            )
          ]
          spids: [16777215 126]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-f)} {(/DietPi/dietpi/func/dietpi-globals)} {(Lit_Other ']')})
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
                (C {(G_CHECK_ROOT_USER)})
                (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Drive_Manager>)})
              ]
              spids: [16777215 145]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$HOME')) (/dietpi-globals)} 
                      {(Lit_Other ']')}
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(.)} {(DQ ($ VSub_Name '$HOME')) (/dietpi-globals)})
                (C {(G_CHECK_ROOT_USER)})
                (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Drive_Manager>)})
              ]
              spids: [170 184]
            )
          ]
          spids: [16777215 208]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:EXIT_CODE) op:Equal rhs:{(0)} spids:[216])]
          spids: [216]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:PROGRAM_NAME)
              op: Equal
              rhs: {(SQ <'DietPi-Drive Manager'>)}
              spids: [221]
            )
          ]
          spids: [221]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:SERVICE_CONTROL) op:Equal rhs:{(1)} spids:[232])]
          spids: [232]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FP_DRIVE_MANAGER_SELECTION)
              op: Equal
              rhs: {(SQ </tmp/dietpi-drive_manager_selmnt>)}
              spids: [241]
            )
          ]
          spids: [241]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FP_TEMP_FSTAB)
              op: Equal
              rhs: {(SQ </tmp/.fstab>)}
              spids: [252]
            )
          ]
          spids: [252]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:FP_ROOTFS_SOURCE) op:Equal rhs:{(0)} spids:[259])]
          spids: [259]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MAX_DRIVES) op:Equal rhs:{(0)} spids:[268])]
          spids: [268]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:FORMAT_GPT) op:Equal rhs:{(1)} spids:[272])]
          spids: [272]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FORMAT_FILESYSTEM_TYPE)
              op: Equal
              rhs: {(0)}
              spids: [279]
            )
          ]
          spids: [279]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
              op: Equal
              rhs: {(1)}
              spids: [286]
            )
          ]
          spids: [286]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:FORMAT_COMPLETED) op:Equal rhs:{(0)} spids:[293])]
          spids: [293]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:FORMAT_PREVIOUS_MOUNT_SOURCE)
              op: Equal
              rhs: {(0)}
              spids: [297]
            )
          ]
          spids: [297]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
              op: Equal
              rhs: {(0)}
              spids: [305]
            )
          ]
          spids: [305]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:ROOTFS_RW_CHECKED) op:Equal rhs:{(0)} spids:[310])]
          spids: [310]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_UUID)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [315]
            )
          ]
          spids: [315]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_PART_UUID)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [320]
            )
          ]
          spids: [320]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_MOUNT_SOURCE)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [325]
            )
          ]
          spids: [325]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_MOUNT_TARGET)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [330]
            )
          ]
          spids: [330]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_FSTYPE)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [335]
            )
          ]
          spids: [335]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_SIZE_TOTAL)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [340]
            )
          ]
          spids: [340]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_SIZE_USED)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [345]
            )
          ]
          spids: [345]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_SIZE_PERCENTUSED)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [350]
            )
          ]
          spids: [350]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_SIZE_FREE)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [355]
            )
          ]
          spids: [355]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISAVAILABLE)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [361]
            )
          ]
          spids: [361]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISFILESYSTEM)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [366]
            )
          ]
          spids: [366]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISMOUNTED)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [371]
            )
          ]
          spids: [371]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISUUIDMOUNT)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [376]
            )
          ]
          spids: [376]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISREADONLY_FSTAB)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [381]
            )
          ]
          spids: [381]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:aDRIVE_ISREADONLY_CURRENTLY)
              op: Equal
              rhs: {(ArrayLiteralPart)}
              spids: [386]
            )
          ]
          spids: [386]
        )
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:INIT_FSTAB_SLOTS_ENABLED)
              op: Equal
              rhs: {(0)}
              spids: [392]
            )
          ]
          spids: [392]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:FP_USERDATA_CURRENT) op:Equal rhs:{(0)} spids:[397])]
          spids: [397]
        )
        (FuncDef
          name: Destroy
          body: 
            (BraceGroup
              children: [
                (C {(unset)} {(aDRIVE_MOUNT_SOURCE)})
                (C {(unset)} {(aDRIVE_MOUNT_TARGET)})
                (C {(unset)} {(aDRIVE_FSTYPE)})
                (C {(unset)} {(aDRIVE_SIZE_TOTAL)})
                (C {(unset)} {(aDRIVE_SIZE_USED)})
                (C {(unset)} {(aDRIVE_SIZE_PERCENTUSED)})
                (C {(unset)} {(aDRIVE_SIZE_FREE)})
                (C {(unset)} {(aDRIVE_PART_UUID)})
                (C {(unset)} {(aDRIVE_UUID)})
                (C {(unset)} {(aDRIVE_ISMOUNTED)})
                (C {(unset)} {(aDRIVE_ISFILESYSTEM)})
                (C {(unset)} {(aDRIVE_ISAVAILABLE)})
                (C {(unset)} {(aDRIVE_ISUUIDMOUNT)})
                (C {(unset)} {(aDRIVE_ISREADONLY_FSTAB)})
                (C {(unset)} {(aDRIVE_ISREADONLY_CURRENTLY)})
              ]
              spids: [405]
            )
          spids: [402 405]
        )
        (FuncDef
          name: Init_Drives_and_Refresh
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [(assign_pair lhs:(LhsName name:init) op:Equal rhs:{(1)} spids:[507])]
                  spids: [505]
                )
                (While
                  cond: [(DParen child:(ArithWord w:{($ VSub_Name '$init')}))]
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:init)
                              op: Equal
                              rhs: {(0)}
                              spids: [526]
                            )
                          ]
                          spids: [526]
                        )
                        (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Detecting drives, please wait...'))})
                        (C {(cp)} {(/etc/fstab)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))})
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MAX_DRIVES)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [(C {(blkid)} {(-o)} {(device)}) (C {(wc)} {(-l)})]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [560 572]
                                  )
                                }
                              spids: [559]
                            )
                          ]
                          spids: [559]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:fp_temp)
                              op: Equal
                              rhs: {(SQ </tmp/.dietpi-drive_manager_devlist>)}
                              spids: [577]
                            )
                          ]
                          spids: [575]
                        )
                        (SimpleCommand
                          words: [{(blkid)} {(-o)} {(device)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [589]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(readarray)} {(-t)} {(aDRIVE_MOUNT_SOURCE)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Less
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [600]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(blkid)} {(-s)} {(UUID)} {(-o)} {(value)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [620]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(readarray)} {(-t)} {(aDRIVE_UUID)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Less
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [631]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(blkid)} {(-s)} {(PARTUUID)} {(-o)} {(value)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [651]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(readarray)} {(-t)} {(aDRIVE_PART_UUID)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Less
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [662]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(blkid)} {(-s)} {(TYPE)} {(-o)} {(value)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [682]
                            )
                          ]
                        )
                        (SimpleCommand
                          words: [{(readarray)} {(-t)} {(aDRIVE_FSTYPE)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Less
                              fd: 16777215
                              arg_word: {($ VSub_Name '$fp_temp')}
                              spids: [693]
                            )
                          ]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:mount_index)
                              op: Equal
                              rhs: {(1)}
                              spids: [705]
                            )
                          ]
                          spids: [703]
                        )
                        (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                            )
                          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (C 
                                  {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (C 
                                  {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                                  }
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:drive_mount_target_dev)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [768 773]
                                                            ) ('[[:space:]]')
                                                          )
                                                        } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                      )
                                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [762 788]
                                          )
                                        }
                                      spids: [761]
                                    )
                                  ]
                                  spids: [759]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:drive_mount_target_uuid)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ ('UUID=') 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_UUID>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [801 806]
                                                            ) ('[[:space:]]')
                                                          )
                                                        } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                      )
                                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [794 821]
                                          )
                                        }
                                      spids: [793]
                                    )
                                  ]
                                  spids: [791]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:drive_mount_target_partuuid)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ ('PARTUUID=') 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_PART_UUID>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [834 839]
                                                            ) ('[[:space:]]')
                                                          )
                                                        } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                                      )
                                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [827 854]
                                          )
                                        }
                                      spids: [826]
                                    )
                                  ]
                                  spids: [824]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$drive_mount_target_dev'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_dev')
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                                          {
                                            (DQ ('Detected /dev mount: ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [902 907]
                                              ) (' > ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [909 914]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 875]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$drive_mount_target_uuid'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_uuid')
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                                          {
                                            (DQ ('Detected UUID mount: ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [972 977]
                                              ) (' > ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [979 984]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      spids: [923 936]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$drive_mount_target_partuuid'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') ($ VSub_Name '$drive_mount_target_partuuid')
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                                          {
                                            (DQ ('Detected PARTUUID mount: ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1042 1047]
                                              ) (' > ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1049 1054]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      spids: [993 1006]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_UUID>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [1070 1075]
                                                  )
                                                )
                                              } {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') 
                                            (DQ (/mnt/) 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1095 1100]
                                              )
                                            )
                                          }
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                                          {
                                            (DQ ('Creating UUID fstab entry: ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1111 1116]
                                              )
                                            )
                                          }
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [1134 1139]
                                                          )
                                                        )
                                                      } {(Lit_Other '=')} 
                                                      {
                                                        (DQ 
                                                          (CommandSubPart
                                                            command_list: 
                                                              (CommandList
                                                                children: [
                                                                  (C {(findmnt)} {(/)} {(-o)} {(source)} 
                                                                    {(-n)}
                                                                  )
                                                                ]
                                                              )
                                                            left_token: <Left_CommandSub '$('>
                                                            spids: [1145 1155]
                                                          )
                                                        )
                                                      } {(Lit_Other ']')}
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C 
                                                  {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') 
                                                    ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (SQ </>)
                                                  }
                                                )
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
' - Drive is currently mounted, using existing mount location: '
                                                      ) 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1182 1187]
                                                      )
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [16777215 1161]
                                            )
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (CommandSubPart
                                                                command_list: 
                                                                  (CommandList
                                                                    children: [
                                                                      (Pipeline
                                                                        children: [
                                                                          (C {(df)} {(-P)})
                                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                                            {
                                                                              (DQ 
                                                                                (BracedVarSub
                                                                                  token: 
                                                                                    <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                                    >
                                                                                  bracket_op: 
                                                                                    (ArrayIndex
                                                                                      expr: 
                                                                                        (ArithWord
                                                                                          w: 
                                                                                            {
                                                                                              ($ 
VSub_Name '$i'
                                                                                              )
                                                                                            }
                                                                                        )
                                                                                    )
                                                                                  spids: [1214 1219]
                                                                                ) ('[[:space:]]')
                                                                              )
                                                                            }
                                                                          )
                                                                        ]
                                                                        negated: F
                                                                      )
                                                                    ]
                                                                  )
                                                                left_token: <Left_CommandSub '$('>
                                                                spids: [1200 1222]
                                                              )
                                                            }
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
' - Drive is currently mounted, using existing mount location: '
                                                      ) 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1238 1243]
                                                      )
                                                    )
                                                  }
                                                )
                                                (C 
                                                  {(aDRIVE_MOUNT_TARGET) (Lit_Other '[') 
                                                    ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                                                    (CommandSubPart
                                                      command_list: 
                                                        (CommandList
                                                          children: [
                                                            (Pipeline
                                                              children: [
                                                                (C {(df)} {(-P)})
                                                                (C {(grep)} {(-m1)} 
                                                                  {
                                                                    (DQ 
                                                                      (BracedVarSub
                                                                        token: 
                                                                          <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                          >
                                                                        bracket_op: 
                                                                          (ArrayIndex
                                                                            expr: 
                                                                              (ArithWord
                                                                                w: 
                                                                                  {
                                                                                    ($ VSub_Name '$i')
                                                                                  }
                                                                              )
                                                                          )
                                                                        spids: [1265 1270]
                                                                      ) ('[[:space:]]')
                                                                    )
                                                                  }
                                                                )
                                                                (C {(awk)} {(SQ <'{print $NF}'>)})
                                                              ]
                                                              negated: F
                                                            )
                                                          ]
                                                        )
                                                      left_token: <Left_CommandSub '$('>
                                                      spids: [1253 1281]
                                                    )
                                                  }
                                                )
                                              ]
                                              spids: [1196 1228]
                                            )
                                          ]
                                          spids: [16777215 1285]
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ (Lit_Other '\\') ('@^') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1300 1305]
                                              ) ('[[:space:]]@d')
                                            )
                                          } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                        )
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ (Lit_Other '\\') ('@^UUID=') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1321 1326]
                                              ) ('[[:space:]]@d')
                                            )
                                          } {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                        )
                                        (Assignment
                                          keyword: Assign_Local
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:mount_options)
                                              op: Equal
                                              rhs: {(SQ <'defaults,noatime,nofail'>)}
                                              spids: [1338]
                                            )
                                          ]
                                          spids: [1336]
                                        )
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(Lit_Other '[')} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_TARGET>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [1362 1367]
                                                              )
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(SQ </>)} {(Lit_Other ']')}
                                                        )
                                                        (C {(Lit_Other '[')} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_TARGET>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [1385 1390]
                                                              )
                                                            )
                                                          } {(KW_Bang '!') (Lit_Other '=')} {(SQ </boot>)} {(Lit_Other ']')}
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:mount_options)
                                                      op: PlusEqual
                                                      rhs: {(SQ <',x-systemd.automount'>)}
                                                      spids: [1407]
                                                    )
                                                  ]
                                                  spids: [1407]
                                                )
                                              ]
                                              spids: [16777215 1403]
                                            )
                                          ]
                                          spids: [16777215 1414]
                                        )
                                        (SimpleCommand
                                          words: [
                                            {(echo)}
                                            {(-e)}
                                            {
                                              (DQ ('UUID=') 
                                                (BracedVarSub
                                                  token: <VSub_Name aDRIVE_UUID>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: (ArithWord w:{($ VSub_Name '$i')})
                                                    )
                                                  spids: [1424 1429]
                                                ) ('    ') 
                                                (BracedVarSub
                                                  token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                  bracket_op: 
                                                    (ArrayIndex
                                                      expr: (ArithWord w:{($ VSub_Name '$i')})
                                                    )
                                                  spids: [1431 1436]
                                                ) ('    auto    ') ($ VSub_Name '$mount_options') ('    0 0')
                                              )
                                            }
                                          ]
                                          redirects: [
                                            (Redir
                                              op_id: Redir_DGreat
                                              fd: 16777215
                                              arg_word: {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))}
                                              spids: [1442]
                                            )
                                          ]
                                        )
                                        (C 
                                          {(aDRIVE_ISAVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISUUIDMOUNT) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                      ]
                                      spids: [1063 1081]
                                    )
                                  ]
                                  spids: [16777215 1467]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (AndOr
                                              ops: [Op_DAmp]
                                              children: [
                                                (DParen
                                                  child: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_ISAVAILABLE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [1479 1484]
                                                          )
                                                        }
                                                    )
                                                )
                                                (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1499 1504]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              ]
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                                          {
                                            (DQ ('Creating mount folder for ') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1520 1525]
                                              )
                                            )
                                          }
                                        )
                                        (C {(mkdir)} {(-p)} 
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1534 1539]
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      spids: [16777215 1510]
                                    )
                                  ]
                                  spids: [16777215 1544]
                                )
                              ]
                              spids: [728 1548]
                            )
                        )
                        (C {(cp)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))} {(/etc/fstab)})
                        (C {(systemctl)} {(daemon-reload)})
                        (C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP_FSTAB'))})
                        (C {(mount)} {(-a)})
                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                          {(DQ ('Processing drive information, please wait...'))}
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:FP_ROOTFS_SOURCE)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(df)} {(-P)})
                                              (C {(grep)} {(-m1)} {(SQ <'[[:space:]]/$'>)})
                                              (C {(awk)} {(SQ <'{print $1}'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [1601 1623]
                                  )
                                }
                              spids: [1600]
                            )
                          ]
                          spids: [1600]
                        )
                        (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                            )
                          update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                          body: 
                            (DoGroup
                              children: [
                                (C 
                                  {(aDRIVE_FSTYPE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                    (Lit_Other '=') (SQ <'No filesystem'>)
                                  }
                                )
                                (C 
                                  {(aDRIVE_SIZE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                                  }
                                )
                                (C 
                                  {(aDRIVE_SIZE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                                  }
                                )
                                (C 
                                  {(aDRIVE_SIZE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                                  }
                                )
                                (C 
                                  {(aDRIVE_SIZE_PERCENTUSED) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (SQ <NULL>)
                                  }
                                )
                                (C 
                                  {(aDRIVE_ISMOUNTED) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (C 
                                  {(aDRIVE_ISFILESYSTEM) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (C 
                                  {(aDRIVE_ISREADONLY_FSTAB) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (C 
                                  {(aDRIVE_ISREADONLY_CURRENTLY) (Lit_Other '[') ($ VSub_Name '$i') 
                                    (Lit_Other ']') (Lit_Other '=') (0)
                                  }
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(blkid)} 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [1746 1751]
                                                        )
                                                      )
                                                    } {(-s)} {(TYPE)} {(-o)} {(value)}
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [1742 1761]
                                          )
                                        }
                                      spids: [1741]
                                    )
                                  ]
                                  spids: [1741]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_ISFILESYSTEM) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_FSTYPE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                          }
                                        )
                                      ]
                                      spids: [16777215 1777]
                                    )
                                  ]
                                  spids: [16777215 1800]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-Ph)})
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [1821 1826]
                                                            ) (Lit_Other '$')
                                                          )
                                                        }
                                                      )
                                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [1809 1837]
                                          )
                                        }
                                      spids: [1808]
                                    )
                                  ]
                                  spids: [1808]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_SIZE_TOTAL) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                          }
                                        )
                                        (C 
                                          {(aDRIVE_ISMOUNTED) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                      ]
                                      spids: [16777215 1853]
                                    )
                                  ]
                                  spids: [16777215 1876]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-Ph)})
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [1893 1898]
                                                            ) (Lit_Other '$')
                                                          )
                                                        }
                                                      )
                                                      (C {(awk)} {(SQ <'{print $3}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [1881 1909]
                                          )
                                        }
                                      spids: [1880]
                                    )
                                  ]
                                  spids: [1880]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_SIZE_USED) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                          }
                                        )
                                      ]
                                      spids: [16777215 1925]
                                    )
                                  ]
                                  spids: [16777215 1940]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-Ph)})
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [1957 1962]
                                                            ) (Lit_Other '$')
                                                          )
                                                        }
                                                      )
                                                      (C {(awk)} {(SQ <'{print $4}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [1945 1973]
                                          )
                                        }
                                      spids: [1944]
                                    )
                                  ]
                                  spids: [1944]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_SIZE_FREE) (Lit_Other '[') ($ VSub_Name '$i') 
                                            (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                          }
                                        )
                                      ]
                                      spids: [16777215 1989]
                                    )
                                  ]
                                  spids: [16777215 2004]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-Ph)})
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [2021 2026]
                                                            ) (Lit_Other '$')
                                                          )
                                                        }
                                                      )
                                                      (C {(awk)} {(SQ <'{print $5}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [2009 2037]
                                          )
                                        }
                                      spids: [2008]
                                    )
                                  ]
                                  spids: [2008]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_SIZE_PERCENTUSED) (Lit_Other '[') 
                                            ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$cmd_scrape_string'))
                                          }
                                        )
                                      ]
                                      spids: [16777215 2053]
                                    )
                                  ]
                                  spids: [16777215 2068]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ ('[[:space:]]') 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [2080 2085]
                                                            ) ('[[:space:]]')
                                                          )
                                                        } {(/etc/fstab)}
                                                      )
                                                      (C {(grep)} {(-m1)} {(SQ <',ro,'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [2073 2100]
                                          )
                                        }
                                      spids: [2072]
                                    )
                                  ]
                                  spids: [2072]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_ISREADONLY_FSTAB) (Lit_Other '[') 
                                            ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                      ]
                                      spids: [16777215 2116]
                                    )
                                  ]
                                  spids: [16777215 2129]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:cmd_scrape_string)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(grep)} 
                                                        {
                                                          (DQ ('[[:space:]]') 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [2155 2160]
                                                            ) ('[[:space:]]')
                                                          )
                                                        } {(/proc/mounts)}
                                                      )
                                                      (C {(grep)} {(-m1)} {(SQ <'[[:space:]]ro,'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [2150 2175]
                                          )
                                        }
                                      spids: [2149]
                                    )
                                  ]
                                  spids: [2149]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} {(-n)} 
                                              {(DQ ($ VSub_Name '$cmd_scrape_string'))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C 
                                          {(aDRIVE_ISREADONLY_CURRENTLY) (Lit_Other '[') 
                                            ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (1)
                                          }
                                        )
                                      ]
                                      spids: [16777215 2191]
                                    )
                                  ]
                                  spids: [16777215 2204]
                                )
                              ]
                              spids: [1650 2208]
                            )
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithUnary
                                          op_id: Arith_Bang
                                          child: (ArithWord w:{($ VSub_Name '$ROOTFS_RW_CHECKED')})
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:ROOTFS_RW_CHECKED)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [2232]
                                    )
                                  ]
                                  spids: [2232]
                                )
                                (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                                    )
                                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                                  body: 
                                    (DoGroup
                                      children: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (AndOr
                                                      ops: [Op_DAmp]
                                                      children: [
                                                        (C {(Lit_Other '[')} 
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_TARGET>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [2265 2270]
                                                              )
                                                            )
                                                          } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                        )
                                                        (DParen
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (BracedVarSub
                                                                    token: 
                                                                      <VSub_Name 
aDRIVE_ISREADONLY_CURRENTLY
                                                                      >
                                                                    bracket_op: 
                                                                      (ArrayIndex
                                                                        expr: 
                                                                          (ArithWord
                                                                            w: {($ VSub_Name '$i')}
                                                                          )
                                                                      )
                                                                    spids: [2286 2291]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                      ]
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (Assignment
                                                  keyword: Assign_None
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                                      op: Equal
                                                      rhs: {($ VSub_Name '$i')}
                                                      spids: [2301]
                                                    )
                                                  ]
                                                  spids: [2301]
                                                )
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ ('RootFS is currently set to R/O. ') 
                                                      ($ VSub_Name '$PROGRAM_NAME') (' requires R/W access.')
                                                    )
                                                  }
                                                )
                                                (C {(whiptail)} {(--title)} {(DQ ('RootFS is R/O'))} 
                                                  {(--yesno)} 
                                                  {
                                                    (DQ 
                                                      (
"RootFS is currently set to 'Read Only'. DietPi-Drive_Manager requires 'Read Write' access to function."
                                                      ) (Lit_Other '\\') (n) (Lit_Other '\\') ("nWould you like to renable 'Read Write' access on RootFS?")
                                                    )
                                                  } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(14)} {(75)}
                                                )
                                                (If
                                                  arms: [
                                                    (if_arm
                                                      cond: [
                                                        (Sentence
                                                          child: 
                                                            (DParen
                                                              child: 
                                                                (ArithBinary
                                                                  op_id: Arith_DEqual
                                                                  left: 
                                                                    (ArithWord
                                                                      w: {($ VSub_QMark '$?')}
                                                                    )
                                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                                )
                                                            )
                                                          terminator: <Op_Semi ';'>
                                                        )
                                                      ]
                                                      action: [
                                                        (C {(Toggle_WriteMode)})
                                                        (C {(G_DIETPI-NOTIFY)} {(0)} 
                                                          {(DQ ('RootFS R/W now enabled.'))}
                                                        )
                                                        (Assignment
                                                          keyword: Assign_None
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: (LhsName name:init)
                                                              op: Equal
                                                              rhs: {(1)}
                                                              spids: [2384]
                                                            )
                                                          ]
                                                          spids: [2384]
                                                        )
                                                      ]
                                                      spids: [16777215 2363]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (C {(/DietPi/dietpi/dietpi-services)} {(start)})
                                                    (C {(G_DIETPI-NOTIFY)} {(0)} 
                                                      {(DQ ('RootFS currently set to R/O.'))}
                                                    )
                                                    (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                      {
                                                        (DQ 
                                                          (
"Please run 'dietpi-drive_manager' again, if you want to re-enable RootFS R/W."
                                                          )
                                                        )
                                                      }
                                                    )
                                                    (C {(Destroy)})
                                                    (ControlFlow
                                                      token: <ControlFlow_Exit exit>
                                                    )
                                                  ]
                                                  spids: [2389 2425]
                                                )
                                              ]
                                              spids: [16777215 2297]
                                            )
                                          ]
                                          spids: [16777215 2429]
                                        )
                                      ]
                                      spids: [2256 2433]
                                    )
                                )
                              ]
                              spids: [16777215 2228]
                            )
                          ]
                          spids: [16777215 2437]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:FP_USERDATA_CURRENT)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(readlink)} {(-f)} {($ VSub_Name '$G_FP_DIETPI_USERDATA')})
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [2446 2452]
                                  )
                                }
                              spids: [2445]
                            )
                          ]
                          spids: [2445]
                        )
                      ]
                      spids: [522 2456]
                    )
                )
              ]
              spids: [497]
            )
          spids: [494 497]
        )
        (FuncDef
          name: Return_Drive_Without_Partitions
          body: 
            (BraceGroup
              children: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: {($ VSub_Number '$1')}
                                  right: {(/dev/sd) (Lit_Other '*')}
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Pipeline
                          children: [
                            (C {(echo)} {(-e)} {(DQ ($ VSub_Number '$1'))})
                            (C {(sed)} {(SQ <'s/[0-9]$//g'>)})
                          ]
                          negated: F
                        )
                      ]
                      spids: [16777215 2489]
                    )
                  ]
                  else_action: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(-e)} {(DQ ($ VSub_Number '$1'))})
                        (C {(sed)} {(SQ <'s/p[0-9]$//g'>)})
                      ]
                      negated: F
                    )
                  ]
                  spids: [2515 2537]
                )
              ]
              spids: [2467]
            )
          spids: [2464 2467]
        )
        (FuncDef
          name: Run_Format
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:drivepath_no_partitions)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(Return_Drive_Without_Partitions)} 
                                    {
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [2558 2563]
                                      )
                                    }
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [2555 2564]
                          )
                        }
                      spids: [2554]
                    )
                  ]
                  spids: [2552]
                )
                (C {(umount)} 
                  {
                    (BracedVarSub
                      token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                      bracket_op: 
                        (ArrayIndex
                          expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                        )
                      spids: [2574 2579]
                    )
                  }
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: (ArithWord w:{($ VSub_Name '$FORMAT_RECREATE_PARTITION_TABLE')})
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} 
                          {(Lit_VarLike 'of=') ($ VSub_Name '$drivepath_no_partitions')} {(Lit_VarLike 'bs=') (5M)} {(Lit_VarLike 'count=') (1)}
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:parition_table_type)
                              op: Equal
                              rhs: {(SQ <msdos>)}
                              spids: [2623]
                            )
                          ]
                          spids: [2621]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: (DParen child:(ArithWord w:{($ VSub_Name '$FORMAT_GPT')}))
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:parition_table_type)
                                      op: Equal
                                      rhs: {(SQ <gpt>)}
                                      spids: [2643]
                                    )
                                  ]
                                  spids: [2643]
                                )
                              ]
                              spids: [16777215 2639]
                            )
                          ]
                          spids: [16777215 2650]
                        )
                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                          {(DQ ('Partition table target: ') ($ VSub_Name '$parition_table_type'))}
                        )
                        (C {(parted)} {(-s)} {(DQ ($ VSub_Name '$drivepath_no_partitions'))} {(mklabel)} 
                          {(DQ ($ VSub_Name '$parition_table_type'))}
                        )
                        (C {(parted)} {(-a)} {(optimal)} {(DQ ($ VSub_Name '$drivepath_no_partitions'))} 
                          {(mkpart)} {(primary)} {(0) (Lit_Other '%')} {(100) (Lit_Other '%')}
                        )
                        (C {(sleep)} {(1)})
                        (C {(umount)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2726 2731]
                            )
                          }
                        )
                      ]
                      spids: [16777215 2593]
                    )
                  ]
                  else_action: [
                    (C {(dd)} {(Lit_VarLike 'if=') (/dev/zero)} 
                      {(Lit_VarLike 'of=') 
                        (BracedVarSub
                          token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                          bracket_op: 
                            (ArrayIndex
                              expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                            )
                          spids: [2749 2754]
                        )
                      } {(Lit_VarLike 'bs=') (5M)} {(Lit_VarLike 'count=') (1)}
                    )
                  ]
                  spids: [2735 2764]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.ext4)} {(-F)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2798 2803]
                            )
                          }
                        )
                        (C {(resize2fs)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2808 2813]
                            )
                          }
                        )
                      ]
                      spids: [16777215 2786]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.ntfs)} {(-f)} {(-I)} {(-F)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2851 2856]
                            )
                          }
                        )
                      ]
                      spids: [2821 2835]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.vfat)} {(-I)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2890 2895]
                            )
                          }
                        )
                      ]
                      spids: [2864 2878]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 3)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.hfsplus)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2923 2928]
                            )
                          }
                        )
                      ]
                      spids: [2903 2917]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 4)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.btrfs)} {(-f)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2962 2967]
                            )
                          }
                        )
                      ]
                      spids: [2936 2950]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 5)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.f2fs)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [2995 3000]
                            )
                          }
                        )
                      ]
                      spids: [2975 2989]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 6)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(mkfs.exfat)} 
                          {
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [3028 3033]
                            )
                          }
                        )
                      ]
                      spids: [3008 3022]
                    )
                  ]
                  spids: [16777215 3037]
                )
                (C {(rm)} {(-R)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3050 3055]
                      )
                    )
                  }
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ (Lit_Other '\\') ('@') 
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3066 3071]
                      ) ('[[:space:]]@d')
                    )
                  } {(/etc/fstab)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FORMAT_COMPLETED)
                      op: Equal
                      rhs: {(1)}
                      spids: [3079]
                    )
                  ]
                  spids: [3079]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FORMAT_PREVIOUS_MOUNT_SOURCE)
                      op: Equal
                      rhs: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                            bracket_op: 
                              (ArrayIndex
                                expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                              )
                            spids: [3084 3089]
                          )
                        }
                      spids: [3083]
                    )
                  ]
                  spids: [3083]
                )
                (C {(Init_Drives_and_Refresh)})
              ]
              spids: [2548]
            )
          spids: [2545 2548]
        )
        (FuncDef
          name: RootFS_Move
          body: 
            (BraceGroup
              children: [
                (C {(cp)} {(/etc/fstab)} {(/etc/fstab.bak)})
                (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [3155 3160]
                                          )
                                        )
                                      } {(Lit_Other '=')} {(DQ ($ VSub_Name '$FORMAT_PREVIOUS_MOUNT_SOURCE'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                      op: Equal
                                      rhs: {($ VSub_Name '$i')}
                                      spids: [3176]
                                    )
                                  ]
                                  spids: [3176]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 3172]
                            )
                          ]
                          spids: [16777215 3184]
                        )
                      ]
                      spids: [3146 3188]
                    )
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ (Lit_Other '\\') ('@') 
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3203 3208]
                      ) ('[[:space:]]@d')
                    )
                  } {(/etc/fstab)}
                )
                (C {(sed)} {(-i)} 
                  {
                    (DQ (Lit_Other '\\') ('@[[:space:]]/[[:space:]]@c UUID=') 
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_UUID>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3227 3232]
                      ) (' / auto defaults,noatime 0 1')
                    )
                  } {(/etc/fstab)}
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(dpkg)} {(--get-selections)})
                                                      (C {(grep)} {(-ci)} {(-m1)} 
                                                        {(SQ <'^rsync[[[:space:]]'>)}
                                                      )
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [3250 3266]
                                          )
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                          {(DQ ('Installing Rsync, please wait...') (Lit_Other '\\') (n))}
                        )
                        (C {(sleep)} {(1)})
                        (C {(G_AGI)} {(rsync)})
                      ]
                      spids: [16777215 3272]
                    )
                  ]
                  spids: [16777215 3299]
                )
                (C {(rsync)} {(-paxv)} {(--exclude)} {(SQ <'/lost+found'>)} {(/)} 
                  {
                    (DQ 
                      (BracedVarSub
                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                        bracket_op: 
                          (ArrayIndex
                            expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                          )
                        spids: [3316 3321]
                      )
                    ) (/)
                  }
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_NEqual
                                  left: (ArithWord w:{($ VSub_QMark '$?')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(G_DIETPI-NOTIFY)} {(1)} 
                          {(SQ <'Rsync has failed, RootFS transfer has been aborted.'>)}
                        )
                        (C {(cp)} {(/etc/fstab.bak)} {(/etc/fstab)})
                        (C {(Destroy)})
                        (ControlFlow token:<ControlFlow_Exit exit>)
                      ]
                      spids: [16777215 3340]
                    )
                  ]
                  spids: [16777215 3372]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                  right: (ArithWord w:{(Lit_Digits 10)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:rootfs_current)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                                {(/boot/cmdline.txt)}
                                              )
                                              (C {(grep)} {(-m1)} {(SQ <'root='>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3405 3423]
                                  )
                                }
                              spids: [3404]
                            )
                          ]
                          spids: [3402]
                        )
                        (C {(sed)} {(-i)} 
                          {
                            (DQ ('s#') ($ VSub_Name '$rootfs_current') ('#root=PARTUUID=') 
                              (BracedVarSub
                                token: <VSub_Name aDRIVE_PART_UUID>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                  )
                                spids: [3434 3439]
                              ) ('#g')
                            )
                          } {(/boot/cmdline.txt)}
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithUnary
                                          op_id: Arith_Bang
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(grep)} {(-ci)} {(-m1)} 
                                                            {(SQ <'[[:space:]]rootdelay='>)} {(/boot/cmdline.txt)}
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [3457 3469]
                                                  )
                                                }
                                            )
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(sed)} {(-i)} {(DQ ('s#console=tty1#console=tty1 rootdelay=10#g'))} 
                                  {(/boot/cmdline.txt)}
                                )
                              ]
                              spids: [16777215 3475]
                            )
                          ]
                          spids: [16777215 3491]
                        )
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:rootfstype_current)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                                {(/boot/cmdline.txt)}
                                              )
                                              (C {(grep)} {(-m1)} {(SQ <'rootfstype='>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3502 3520]
                                  )
                                }
                              spids: [3501]
                            )
                          ]
                          spids: [3499]
                        )
                        (C {(sed)} {(-i)} 
                          {
                            (DQ ('s#') ($ VSub_Name '$rootfstype_current') ('#rootfstype=') 
                              (BracedVarSub
                                token: <VSub_Name aDRIVE_FSTYPE>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                  )
                                spids: [3531 3536]
                              ) ('#g')
                            )
                          } {(/boot/cmdline.txt)}
                        )
                      ]
                      spids: [16777215 3394]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DPipe
                                  left: 
                                    (ArithBinary
                                      op_id: Arith_DPipe
                                      left: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                          right: (ArithWord w:{(Lit_Digits 10)})
                                        )
                                      right: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                          right: (ArithWord w:{(Lit_Digits 11)})
                                        )
                                    )
                                  right: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                      right: (ArithWord w:{(Lit_Digits 12)})
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:rootfs_current)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (Pipeline
                                            children: [
                                              (C {(awk)} {(SQ <'{for(i=1;i<=NF;i++) {print $i} }'>)} 
                                                {(/DietPi/boot.ini)}
                                              )
                                              (C {(grep)} {(-m1)} {(SQ <'root='>)})
                                              (C {(sed)} {(SQ <'s/\\"//'>)})
                                            ]
                                            negated: F
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [3589 3615]
                                  )
                                }
                              spids: [3588]
                            )
                          ]
                          spids: [3586]
                        )
                        (C {(sed)} {(-i)} 
                          {
                            (DQ ('s#') ($ VSub_Name '$rootfs_current') ('#root=UUID=') 
                              (BracedVarSub
                                token: <VSub_Name aDRIVE_UUID>
                                bracket_op: 
                                  (ArrayIndex
                                    expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                  )
                                spids: [3626 3631]
                              ) ('#g')
                            )
                          } {(/DietPi/boot.ini)}
                        )
                      ]
                      spids: [3548 3578]
                    )
                  ]
                  spids: [16777215 3639]
                )
                (C {(systemctl)} {(daemon-reload)})
                (C {(whiptail)} {(--title)} {(DQ ('RootFS transfer completed'))} {(--msgbox)} 
                  {(DQ ('RootFS transfer completed. Press enter to reboot system.'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} {(60)}
                )
                (C {(reboot)})
              ]
              spids: [3104]
            )
          spids: [3101 3104]
        )
        (FuncDef
          name: RootFS_Low_Free_Space_Check
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:free_space_limit)
                      op: Equal
                      rhs: {(500)}
                      spids: [3696]
                    )
                  ]
                  spids: [3694]
                )
                (C {(G_DIETPI-NOTIFY)} {(2)} 
                  {(SQ <'Checking available free space on RootFS, please wait...'>)}
                )
                (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ (/))} {(Lit_Other '=')} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [3749 3754]
                                          )
                                        )
                                      } {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:INDEX_DRIVE_BEING_EDITED)
                                      op: Equal
                                      rhs: {($ VSub_Name '$i')}
                                      spids: [3764]
                                    )
                                  ]
                                  spids: [3764]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:free_space_current)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(df)} {(-B)} {(M)})
                                                      (C {(grep)} {(-m1)} 
                                                        {
                                                          (DQ 
                                                            (BracedVarSub
                                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                              bracket_op: 
                                                                (ArrayIndex
                                                                  expr: 
                                                                    (ArithWord
                                                                      w: {($ VSub_Name '$i')}
                                                                    )
                                                                )
                                                              spids: [3790 3795]
                                                            ) (Lit_Other '$')
                                                          )
                                                        }
                                                      )
                                                      (C {(awk)} {(SQ <'{print $4}'>)})
                                                      (C {(sed)} {(SQ <'s/[^0-9]//g'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [3776 3814]
                                          )
                                        }
                                      spids: [3775]
                                    )
                                  ]
                                  spids: [3773]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$free_space_current')}
                                                    )
                                                  right: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$free_space_limit')}
                                                    )
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_Local
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:message)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ('Error:') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                    ('nAvailable free space on RootFS is low (') ($ VSub_Name '$free_space_current') 
                                                    (
' MB). To prevent potential issues due to running out of free space, this script will now be terminated.'
                                                    ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease free up at least ') ($ VSub_Name '$free_space_limit') 
                                                    (' MB of free space, then try again.')
                                                  )
                                                }
                                              spids: [3838]
                                            )
                                          ]
                                          spids: [3836]
                                        )
                                        (C {(whiptail)} {(--title)} {(DQ ('Insufficient free space'))} 
                                          {(--msgbox)} {(DQ ($ VSub_Name '$message'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(1)} 
                                          {
                                            (DQ ('Insufficient free space on RootFS. ') 
                                              ($ VSub_Name '$free_space_current') (' MB available, ') ($ VSub_Name '$free_space_limit') (' MB required')
                                            )
                                          }
                                        )
                                        (C {(G_DIETPI-NOTIFY)} {(1)} {(SQ <Aborting>)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:EXIT_CODE)
                                              op: Equal
                                              rhs: {(1)}
                                              spids: [3910]
                                            )
                                          ]
                                          spids: [3910]
                                        )
                                      ]
                                      spids: [16777215 3832]
                                    )
                                  ]
                                  else_action: [
                                    (C {(G_DIETPI-NOTIFY)} {(0)} 
                                      {
                                        (DQ ($ VSub_Name '$free_space_current') (' MB available, ') 
                                          ($ VSub_Name '$free_space_limit') (' MB required')
                                        )
                                      }
                                    )
                                  ]
                                  spids: [3915 3932]
                                )
                                (ControlFlow
                                  token: <ControlFlow_Break break>
                                )
                              ]
                              spids: [16777215 3760]
                            )
                          ]
                          spids: [16777215 3940]
                        )
                      ]
                      spids: [3734 3944]
                    )
                )
              ]
              spids: [3686]
            )
          spids: [3683 3686]
        )
        (FuncDef
          name: RootFS_RW_Check
          body: 
            (BraceGroup
              children: [
                (C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ('Checking RootFS R/W access. Please wait...'))})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithWord
                                  w: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (Pipeline
                                                children: [
                                                  (C {(mount)})
                                                  (C {(grep)} {(-m1)} {(SQ <'[[:space:]]/[[:space:]]'>)})
                                                  (C {(grep)} {(-ci)} {(-m1)} {(SQ <'(ro,'>)})
                                                ]
                                                negated: F
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub '$('>
                                        spids: [4009 4033]
                                      )
                                    }
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(G_DIETPI-NOTIFY)} {(1)} {(DQ ('RootFS is currently set to R/O.'))})
                        (C {(G_DIETPI-NOTIFY)} {(2)} 
                          {
                            (DQ 
                              (
"DietPi requires RootFS R/W access. Please run 'dietpi-drive_manager' to re-enable."
                              ) (Lit_Other '\\') (n)
                            )
                          }
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:EXIT_CODE)
                              op: Equal
                              rhs: {(1)}
                              spids: [4063]
                            )
                          ]
                          spids: [4063]
                        )
                      ]
                      spids: [16777215 4039]
                    )
                  ]
                  else_action: [
                    (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('RootFS R/W access.') (Lit_Other '\\') (n))})
                  ]
                  spids: [4068 4084]
                )
              ]
              spids: [3960]
            )
          spids: [3957 3960]
        )
        (FuncDef
          name: Toggle_WriteMode
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:line_number)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (Pipeline
                                    children: [
                                      (C {(grep)} {(-m1)} {(-n)} 
                                        {
                                          (DQ ('[[:space:]]') 
                                            (BracedVarSub
                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                    )
                                                )
                                              spids: [4111 4116]
                                            ) ('[[:space:]]')
                                          )
                                        } {(/etc/fstab)}
                                      )
                                      (C {(cut)} {(-f1)} {(-d) (Lit_Other ':')})
                                    ]
                                    negated: F
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4102 4129]
                          )
                        }
                      spids: [4101]
                    )
                  ]
                  spids: [4099]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:exit_status)
                      op: Equal
                      rhs: {(0)}
                      spids: [4134]
                    )
                  ]
                  spids: [4132]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:message_result)
                      op: Equal
                      rhs: {(0)}
                      spids: [4140]
                    )
                  ]
                  spids: [4138]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DPipe
                                  left: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISREADONLY_FSTAB>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [4148 4153]
                                          )
                                        }
                                    )
                                  right: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISREADONLY_CURRENTLY>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [4157 4162]
                                          )
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:message_result)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(mount)}
                                              {(-v)}
                                              {(-o)}
                                              {(rw) (Lit_Comma ',') (remount)}
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [4185 4190]
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_GreatAnd
                                                fd: 2
                                                arg_word: {(1)}
                                                spids: [4193]
                                              )
                                            ]
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub '$('>
                                    spids: [4173 4195]
                                  )
                                }
                              spids: [4172]
                            )
                          ]
                          spids: [4172]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:exit_status)
                              op: Equal
                              rhs: {($ VSub_QMark '$?')}
                              spids: [4198]
                            )
                          ]
                          spids: [4198]
                        )
                        (C {(sed)} {(-i)} 
                          {(DQ (${ VSub_Name line_number) ('s/[[:space:]]defaults,ro,/ defaults,/'))} {(/etc/fstab)}
                        )
                      ]
                      spids: [16777215 4168]
                    )
                  ]
                  else_action: [
                    (C {(sed)} {(-i)} 
                      {(DQ (${ VSub_Name line_number) ('s/[[:space:]]defaults,/ defaults,ro,/'))} {(/etc/fstab)}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:message_result)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (SimpleCommand
                                        words: [
                                          {(mount)}
                                          {(-v)}
                                          {(-o)}
                                          {(ro) (Lit_Comma ',') (remount)}
                                          {
                                            (DQ 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [4254 4259]
                                              )
                                            )
                                          }
                                        ]
                                        redirects: [
                                          (Redir
                                            op_id: Redir_GreatAnd
                                            fd: 2
                                            arg_word: {(1)}
                                            spids: [4262]
                                          )
                                        ]
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [4242 4264]
                              )
                            }
                          spids: [4241]
                        )
                      ]
                      spids: [4241]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:exit_status)
                          op: Equal
                          rhs: {($ VSub_QMark '$?')}
                          spids: [4267]
                        )
                      ]
                      spids: [4267]
                    )
                  ]
                  spids: [4222 4272]
                )
                (C {(systemctl)} {(daemon-reload)})
                (C {(mount)} {(-a)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_NEqual
                                  left: (ArithWord w:{($ VSub_Name '$exit_status')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(whiptail)} {(--title)} {(DQ ('Failed to apply now'))} {(--msgbox)} 
                          {
                            (DQ ('Due to:') (Lit_Other '\\') ('n - ') ($ VSub_Name '$message_result') 
                              (Lit_Other '\\') (n) (Lit_Other '\\') ('nIf you have set to read only, this will be active on next reboot.')
                            )
                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                        )
                      ]
                      spids: [16777215 4301]
                    )
                  ]
                  spids: [16777215 4338]
                )
              ]
              spids: [4095]
            )
          spids: [4092 4095]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[4346])]
          spids: [4346]
        )
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:MENU_LASTITEM) op:Equal rhs:{(SQ )} spids:[4350])]
          spids: [4350]
        )
        (FuncDef
          name: Menu_Main_Drive_Manager
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [4369]
                    )
                  ]
                  spids: [4367]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:drive_available)
                      op: Equal
                      rhs: {(0)}
                      spids: [4381]
                    )
                  ]
                  spids: [4379]
                )
                (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                    )
                  update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:drive_available)
                              op: Equal
                              rhs: {(1)}
                              spids: [4408]
                            )
                          ]
                          spids: [4408]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (DParen
                                      child: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_ISAVAILABLE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [4417 4422]
                                              )
                                            }
                                        )
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(echo)} {(-e)} 
                                                                    {
                                                                      (DQ 
                                                                        (BracedVarSub
                                                                          token: 
                                                                            <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                            >
                                                                          bracket_op: 
                                                                            (ArrayIndex
                                                                              expr: 
                                                                                (ArithWord
                                                                                  w: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$i'
                                                                                      )
                                                                                    }
                                                                                )
                                                                            )
                                                                          spids: [4446 4451]
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                  (C {(grep)} {(-ci)} {(-m1)} 
                                                                    {(SQ <'1$'>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_CommandSub '$('>
                                                        spids: [4440 4465]
                                                      )
                                                    }
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_Local
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:drivepath_no_partitions)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (CommandSubPart
                                                    command_list: 
                                                      (CommandList
                                                        children: [
                                                          (C {(Return_Drive_Without_Partitions)} 
                                                            {
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [4481 4486]
                                                              )
                                                            }
                                                          )
                                                        ]
                                                      )
                                                    left_token: <Left_CommandSub '$('>
                                                    spids: [4478 4487]
                                                  )
                                                }
                                              spids: [4477]
                                            )
                                          ]
                                          spids: [4475]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {(SQ )}
                                                      {
                                                        (DQ ('\xe2\x94\x80(') 
                                                          ($ VSub_Name '$drivepath_no_partitions') 
                                                          (
')\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80'
                                                          )
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [4490]
                                            )
                                          ]
                                          spids: [4490]
                                        )
                                      ]
                                      spids: [16777215 4471]
                                    )
                                  ]
                                  spids: [16777215 4504]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_ISMOUNTED>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4516 4521]
                                                      )
                                                    }
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4538 4543]
                                                          )
                                                        )
                                                      }
                                                      {
                                                        (DQ (': ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4548 4553]
                                                          ) (' | ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_FSTYPE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4555 4560]
                                                          ) (' | Size: ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_SIZE_TOTAL>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4562 4567]
                                                          ) (' | Used: ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_SIZE_USED>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4569 4574]
                                                          ) (' (') 
                                                          (BracedVarSub
                                                            token: 
                                                              <VSub_Name aDRIVE_SIZE_PERCENTUSED>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4576 4581]
                                                          ) (')')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [4535]
                                            )
                                          ]
                                          spids: [4535]
                                        )
                                      ]
                                      spids: [16777215 4527]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithUnary
                                                      op_id: Arith_Bang
                                                      child: 
                                                        (ArithWord
                                                          w: 
                                                            {
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_ISFILESYSTEM>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [4606 4611]
                                                              )
                                                            }
                                                        )
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:whiptail_menu_array)
                                                  op: PlusEqual
                                                  rhs: 
                                                    {
                                                      (ArrayLiteralPart
                                                        words: [
                                                          {
                                                            (DQ 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_TARGET>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [4624 4629]
                                                              )
                                                            )
                                                          }
                                                          {
                                                            (DQ (': ') 
                                                              (BracedVarSub
                                                                token: 
                                                                  <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                                bracket_op: 
                                                                  (ArrayIndex
                                                                    expr: 
                                                                      (ArithWord
                                                                        w: {($ VSub_Name '$i')}
                                                                      )
                                                                  )
                                                                spids: [4634 4639]
                                                              ) (' | No filesystem / format required')
                                                            )
                                                          }
                                                        ]
                                                      )
                                                    }
                                                  spids: [4621]
                                                )
                                              ]
                                              spids: [4621]
                                            )
                                          ]
                                          spids: [16777215 4617]
                                        )
                                      ]
                                      else_action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:whiptail_menu_array)
                                              op: PlusEqual
                                              rhs: 
                                                {
                                                  (ArrayLiteralPart
                                                    words: [
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4657 4662]
                                                          )
                                                        )
                                                      }
                                                      {
                                                        (DQ (': ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4667 4672]
                                                          ) (' | ') 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_FSTYPE>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: {($ VSub_Name '$i')}
                                                                  )
                                                              )
                                                            spids: [4674 4679]
                                                          ) (' | Not mounted')
                                                        )
                                                      }
                                                    ]
                                                  )
                                                }
                                              spids: [4654]
                                            )
                                          ]
                                          spids: [4654]
                                        )
                                      ]
                                      spids: [4650 4686]
                                    )
                                  ]
                                  spids: [4592 4690]
                                )
                              ]
                              spids: [16777215 4428]
                            )
                          ]
                          spids: [16777215 4694]
                        )
                      ]
                      spids: [4404 4698]
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ )}
                              {
                                (DQ 
                                  (
'\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80'
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [4702]
                    )
                  ]
                  spids: [4702]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: (ArithWord w:{($ VSub_Name '$drive_available')})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (Refresh))}
                                      {
                                        (DQ 
                                          (
': No drives found. Insert a drive and select this option'
                                          )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [4730]
                            )
                          ]
                          spids: [4730]
                        )
                      ]
                      spids: [16777215 4726]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_menu_array)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ (Refresh))}
                                  {(DQ (': Scan for recently added/removed drives'))}
                                ]
                              )
                            }
                          spids: [4747]
                        )
                      ]
                      spids: [4747]
                    )
                  ]
                  spids: [4743 4760]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:userdata_location_text)
                      op: Equal
                      rhs: {(DQ ('RootFS (') ($ VSub_Name '$FP_USERDATA_CURRENT') (')'))}
                      spids: [4770]
                    )
                  ]
                  spids: [4768]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} 
                              {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$G_FP_DIETPI_USERDATA'))} {(Lit_Other ']')}
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:userdata_location_text)
                              op: Equal
                              rhs: {(DQ ('USB (') ($ VSub_Name '$FP_USERDATA_CURRENT') (')'))}
                              spids: [4801]
                            )
                          ]
                          spids: [4801]
                        )
                      ]
                      spids: [16777215 4797]
                    )
                  ]
                  spids: [16777215 4810]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                      spids: [4814]
                    )
                  ]
                  spids: [4814]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--menu)}
                                      {
                                        (DQ ('Please select a drive to see available options.') 
                                          (Lit_Other '\\') ('n - User data location: ') ($ VSub_Name '$userdata_location_text')
                                        )
                                      }
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                      {(--cancel-button)}
                                      {(DQ (Exit))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                      {(20)}
                                      {(110)}
                                      {(11)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name whiptail_menu_array>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [4864 4869]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [4872]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [4875]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [4878]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [4821 4880]
                          )
                        }
                      spids: [4820]
                    )
                  ]
                  spids: [4820]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [4884]
                    )
                  ]
                  spids: [4884]
                )
                (C {(unset)} {(whiptail_menu_array)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MENU_LASTITEM)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$OPTION'))}
                              spids: [4913]
                            )
                          ]
                          spids: [4913]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Refresh))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [(C {(Init_Drives_and_Refresh)})]
                              spids: [16777215 4941]
                            )
                          ]
                          else_action: [
                            (C {(Init_Drives_and_Refresh)})
                            (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: (ArithWord w:{($ VSub_Name '$MAX_DRIVES')})
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                                  {(Lit_Other '=')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [4999 5004]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  (BracedVarSub
                                                                    token: 
                                                                      <VSub_Name aDRIVE_ISAVAILABLE>
                                                                    bracket_op: 
                                                                      (ArrayIndex
                                                                        expr: 
                                                                          (ArithWord
                                                                            w: {($ VSub_Name '$i')}
                                                                          )
                                                                      )
                                                                    spids: [5022 5027]
                                                                  )
                                                                }
                                                            )
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (LhsName
                                                              name: INDEX_DRIVE_BEING_EDITED
                                                            )
                                                          op: Equal
                                                          rhs: {($ VSub_Name '$i')}
                                                          spids: [5037]
                                                        )
                                                      ]
                                                      spids: [5037]
                                                    )
                                                    (Assignment
                                                      keyword: Assign_None
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: (LhsName name:TARGETMENUID)
                                                          op: Equal
                                                          rhs: {(1)}
                                                          spids: [5041]
                                                        )
                                                      ]
                                                      spids: [5041]
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [16777215 5033]
                                                )
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (C {(Lit_Other '[')} {(-n)} 
                                                          {(DQ ($ VSub_Name '$OPTION'))} {(Lit_Other ']')}
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [
                                                    (C {(whiptail)} {(--title)} {(DQ ('Info: No drive'))} 
                                                      {(--msgbox)} {(DQ ('This drive is no longer available'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} 
                                                      {(60)}
                                                    )
                                                    (ControlFlow
                                                      token: <ControlFlow_Break break>
                                                    )
                                                  ]
                                                  spids: [5049 5062]
                                                )
                                              ]
                                              spids: [16777215 5095]
                                            )
                                          ]
                                          spids: [16777215 5010]
                                        )
                                      ]
                                      spids: [16777215 5099]
                                    )
                                  ]
                                  spids: [4984 5103]
                                )
                            )
                          ]
                          spids: [4953 5107]
                        )
                      ]
                      spids: [16777215 4909]
                    )
                  ]
                  else_action: [(C {(Menu_Exit)})]
                  spids: [5115 5123]
                )
              ]
              spids: [4359]
            )
          spids: [4356 4359]
        )
        (FuncDef
          name: Menu_Drive_Manager_Edit_Drive
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(1)}
                      spids: [5142]
                    )
                  ]
                  spids: [5142]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:partition_contains_userdata)
                      op: Equal
                      rhs: {(0)}
                      spids: [5149]
                    )
                  ]
                  spids: [5147]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_desc)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [5160]
                    )
                  ]
                  spids: [5158]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [5167]
                    )
                  ]
                  spids: [5165]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_desc)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ ('Mount target: ') 
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [5176 5181]
                            ) (Lit_Other '\\') (n)
                          )
                        }
                      spids: [5173]
                    )
                  ]
                  spids: [5173]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_desc)
                      op: PlusEqual
                      rhs: 
                        {
                          (DQ ('Mount source: ') 
                            (BracedVarSub
                              token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                              bracket_op: 
                                (ArrayIndex
                                  expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                )
                              spids: [5190 5195]
                            ) (Lit_Other '\\') (n)
                          )
                        }
                      spids: [5187]
                    )
                  ]
                  spids: [5187]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithUnary
                                  op_id: Arith_Bang
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISFILESYSTEM>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [5212 5217]
                                          )
                                        }
                                    )
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ ('Status:       Drive has no filesystem and must be formatted'))
                                }
                              spids: [5227]
                            )
                          ]
                          spids: [5227]
                        )
                      ]
                      spids: [16777215 5223]
                    )
                  ]
                  else_action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [5242 5247]
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_desc)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ 
                                        (
"Mount method: UUID (Permanent: always mount to 'Mount Target')"
                                        ) (Lit_Other '\\') (n)
                                      )
                                    }
                                  spids: [5257]
                                )
                              ]
                              spids: [5257]
                            )
                          ]
                          spids: [16777215 5253]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ 
                                    (
'Mount method: /dev/sd (Warning: mount location not permanent, use UUID)'
                                    ) (Lit_Other '\\') (n)
                                  )
                                }
                              spids: [5270]
                            )
                          ]
                          spids: [5270]
                        )
                      ]
                      spids: [5266 5279]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_desc)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ ('Filesystem:   ') 
                                (BracedVarSub
                                  token: <VSub_Name aDRIVE_FSTYPE>
                                  bracket_op: 
                                    (ArrayIndex
                                      expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                    )
                                  spids: [5286 5291]
                                ) (Lit_Other '\\') (n)
                              )
                            }
                          spids: [5283]
                        )
                      ]
                      spids: [5283]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:whiptail_desc)
                          op: PlusEqual
                          rhs: 
                            {
                              (DQ ('UUID:         ') 
                                (BracedVarSub
                                  token: <VSub_Name aDRIVE_UUID>
                                  bracket_op: 
                                    (ArrayIndex
                                      expr: (ArithWord w:{($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')})
                                    )
                                  spids: [5300 5305]
                                ) (Lit_Other '\\') (n)
                              )
                            }
                          spids: [5297]
                        )
                      ]
                      spids: [5297]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_ISMOUNTED>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [5316 5321]
                                          )
                                        }
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_desc)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ ('Capacity:     ') 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_SIZE_TOTAL>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [5334 5339]
                                        ) (b) (Lit_Other '\\') (n)
                                      )
                                    }
                                  spids: [5331]
                                )
                              ]
                              spids: [5331]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_desc)
                                  op: PlusEqual
                                  rhs: 
                                    {
                                      (DQ ('Used:         ') 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_SIZE_USED>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [5349 5354]
                                        ) ('b (') 
                                        (BracedVarSub
                                          token: <VSub_Name aDRIVE_SIZE_PERCENTUSED>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                )
                                            )
                                          spids: [5356 5361]
                                        ) (')') (Lit_Other '\\') (n)
                                      )
                                    }
                                  spids: [5346]
                                )
                              ]
                              spids: [5346]
                            )
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:whiptail_desc)
                                  op: PlusEqual
                                  rhs: {(DQ ('Status:       Drive is online and ready for use'))}
                                  spids: [5368]
                                )
                              ]
                              spids: [5368]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DAmp]
                                          children: [
                                            (C {(Lit_Other '[')} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [5384 5389]
                                                  )
                                                )
                                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                            )
                                            (C {(Lit_Other '[')} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [5406 5411]
                                                  )
                                                )
                                              } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/boot))} {(Lit_Other ']')}
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ (Unmount))}
                                                  {
                                                    (DQ 
                                                      (
': Allows you to physically remove the drive'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [5428]
                                        )
                                      ]
                                      spids: [5428]
                                    )
                                  ]
                                  spids: [16777215 5424]
                                )
                              ]
                              spids: [16777215 5441]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (AndOr
                                          ops: [Op_DPipe]
                                          children: [
                                            (Subshell
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                        )
                                                                      }
                                                                  )
                                                              )
                                                            spids: [5452 5457]
                                                          )
                                                        )
                                                      } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                    )
                                                    (DBracket
                                                      expr: 
                                                        (BoolBinary
                                                          op_id: BoolBinary_GlobDEqual
                                                          left: {($ VSub_Name '$FP_USERDATA_CURRENT')}
                                                          right: 
                                                            {
                                                              (DQ 
                                                                (BracedVarSub
                                                                  token: 
                                                                    <VSub_Name aDRIVE_MOUNT_TARGET>
                                                                  bracket_op: 
                                                                    (ArrayIndex
                                                                      expr: 
                                                                        (ArithWord
                                                                          w: 
                                                                            {
                                                                              ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                              )
                                                                            }
                                                                        )
                                                                    )
                                                                  spids: [5478 5483]
                                                                )
                                                              ) (Lit_Other '*')
                                                            }
                                                        )
                                                    )
                                                  ]
                                                )
                                              spids: [5447 5489]
                                            )
                                            (Subshell
                                              child: 
                                                (AndOr
                                                  ops: [Op_DAmp]
                                                  children: [
                                                    (C {(Lit_Other '[')} 
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                        )
                                                                      }
                                                                  )
                                                              )
                                                            spids: [5502 5507]
                                                          )
                                                        )
                                                      } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                                    )
                                                    (C {(Lit_Other '[')} 
                                                      {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$G_FP_DIETPI_USERDATA'))} {(Lit_Other ']')}
                                                    )
                                                  ]
                                                )
                                              spids: [5497 5534]
                                            )
                                          ]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('User data'))}
                                                  {
                                                    (DQ 
                                                      (
': Your user data is currently located on this drive'
                                                      )
                                                    )
                                                  }
                                                ]
                                              )
                                            }
                                          spids: [5544]
                                        )
                                      ]
                                      spids: [5544]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:partition_contains_userdata)
                                          op: Equal
                                          rhs: {(1)}
                                          spids: [5556]
                                        )
                                      ]
                                      spids: [5556]
                                    )
                                  ]
                                  spids: [16777215 5537]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('Move User data'))}
                                              {(DQ (': Move your DietPi user data to this drive'))}
                                            ]
                                          )
                                        }
                                      spids: [5565]
                                    )
                                  ]
                                  spids: [5565]
                                )
                              ]
                              spids: [5561 5578]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [5586 5591]
                                                  )
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('Mount Method'))}
                                                  {(DQ (': Change from UUID to /dev/sd'))}
                                                ]
                                              )
                                            }
                                          spids: [5601]
                                        )
                                      ]
                                      spids: [5601]
                                    )
                                  ]
                                  spids: [16777215 5597]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('Mount Method'))}
                                              {(DQ (': Change from /dev/sd to UUID'))}
                                            ]
                                          )
                                        }
                                      spids: [5618]
                                    )
                                  ]
                                  spids: [5618]
                                )
                              ]
                              spids: [5614 5631]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_ISREADONLY_FSTAB>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [5643 5648]
                                                      )
                                                    }
                                                )
                                              right: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (BracedVarSub
                                                        token: 
                                                          <VSub_Name aDRIVE_ISREADONLY_CURRENTLY>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [5652 5657]
                                                      )
                                                    }
                                                )
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_menu_array)
                                          op: PlusEqual
                                          rhs: 
                                            {
                                              (ArrayLiteralPart
                                                words: [
                                                  {(DQ ('Read Only'))}
                                                  {(DQ (': Enabled | Select to allow R/W'))}
                                                ]
                                              )
                                            }
                                          spids: [5667]
                                        )
                                      ]
                                      spids: [5667]
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:whiptail_desc)
                                          op: PlusEqual
                                          rhs: {(DQ (Lit_Other '\\') ('nRead only:    Enabled'))}
                                          spids: [5679]
                                        )
                                      ]
                                      spids: [5679]
                                    )
                                  ]
                                  spids: [16777215 5663]
                                )
                              ]
                              else_action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ ('Read Only'))}
                                              {(DQ (': Disabled | Select to set read only'))}
                                            ]
                                          )
                                        }
                                      spids: [5691]
                                    )
                                  ]
                                  spids: [5691]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_desc)
                                      op: PlusEqual
                                      rhs: {(DQ (Lit_Other '\\') ('nRead only:    Disabled'))}
                                      spids: [5703]
                                    )
                                  ]
                                  spids: [5703]
                                )
                              ]
                              spids: [5687 5711]
                            )
                          ]
                          spids: [16777215 5327]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_desc)
                              op: PlusEqual
                              rhs: 
                                {
                                  (DQ ('Status:       Drive is not mounted and can be unplugged') 
                                    (Lit_Other '\\') (n)
                                  )
                                }
                              spids: [5720]
                            )
                          ]
                          spids: [5720]
                        )
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (Mount))}
                                      {
                                        (DQ (': Mount the drive to ') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [5737 5742]
                                          )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [5729]
                            )
                          ]
                          spids: [5729]
                        )
                      ]
                      spids: [5716 5748]
                    )
                  ]
                  spids: [5234 5752]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5765 5770]
                                      )
                                    )
                                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                )
                                (C {(Lit_Other '[')} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [5787 5792]
                                      )
                                    )
                                  } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/boot))} {(Lit_Other ']')}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ (Format))}
                                      {(DQ (': Wipe all data and format drive with ext4'))}
                                    ]
                                  )
                                }
                              spids: [5809]
                            )
                          ]
                          spids: [5809]
                        )
                      ]
                      spids: [16777215 5805]
                    )
                  ]
                  spids: [16777215 5822]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DAmp]
                              children: [
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobNEqual
                                      left: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [5834 5839]
                                          )
                                        }
                                      right: {($ VSub_Name '$FP_ROOTFS_SOURCE')}
                                    )
                                )
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DPipe
                                      left: 
                                        (ArithBinary
                                          op_id: Arith_DPipe
                                          left: 
                                            (ArithBinary
                                              op_id: Arith_DPipe
                                              left: 
                                                (ArithBinary
                                                  op_id: Arith_Less
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 10)})
                                                )
                                              right: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                                  right: (ArithWord w:{(Lit_Digits 10)})
                                                )
                                            )
                                          right: 
                                            (ArithBinary
                                              op_id: Arith_DEqual
                                              left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                              right: (ArithWord w:{(Lit_Digits 11)})
                                            )
                                        )
                                      right: 
                                        (ArithBinary
                                          op_id: Arith_DEqual
                                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                                          right: (ArithWord w:{(Lit_Digits 12)})
                                        )
                                    )
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {(DQ ('Transfer RootFS'))}
                                      {(DQ (': Transfer RootFS to this drive'))}
                                    ]
                                  )
                                }
                              spids: [5890]
                            )
                          ]
                          spids: [5890]
                        )
                      ]
                      spids: [16777215 5886]
                    )
                  ]
                  spids: [16777215 5903]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                      spids: [5907]
                    )
                  ]
                  spids: [5907]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--menu)}
                                      {(DQ ($ VSub_Name '$whiptail_desc'))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                      {(22)}
                                      {(90)}
                                      {(6)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name whiptail_menu_array>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [5954 5959]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [5962]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [5965]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [5968]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [5914 5970]
                          )
                        }
                      spids: [5913]
                    )
                  ]
                  spids: [5913]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [5974]
                    )
                  ]
                  spids: [5974]
                )
                (C {(unset)} {(whiptail_desc)})
                (C {(unset)} {(whiptail_menu_array)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MENU_LASTITEM)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$OPTION'))}
                              spids: [6008]
                            )
                          ]
                          spids: [6008]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Mount))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(sed)} {(-i)} {(-e)} 
                                  {
                                    (DQ (Lit_Other '\\') ('@') 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [6049 6054]
                                      ) ('[[:space:]]@s@^#@@')
                                    )
                                  } {(/etc/fstab)}
                                )
                                (C {(systemctl)} {(daemon-reload)})
                                (C {(mount)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                        bracket_op: 
                                          (ArrayIndex
                                            expr: 
                                              (ArithWord
                                                w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                              )
                                          )
                                        spids: [6070 6075]
                                      )
                                    )
                                  }
                                )
                              ]
                              spids: [16777215 6032]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Unmount))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$partition_contains_userdata')}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Info: dismount prevented'))} 
                                          {(--msgbox)} 
                                          {
                                            (DQ 
                                              (
'Your DietPi user data is currently located on this drive:'
                                              ) (Lit_Other '\\') ('n - ') ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                              (
'nDismounting the drive at this time is not possible.'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease move your user data elsewhere, before trying again:') 
                                              (Lit_Other '\\') ('nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=478')
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(13)} {(80)}
                                        )
                                      ]
                                      spids: [16777215 6115]
                                    )
                                  ]
                                  else_action: [
                                    (C {(umount)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [6165 6170]
                                          )
                                        )
                                      }
                                    )
                                    (C {(sed)} {(-i)} {(-e)} 
                                      {
                                        (DQ (Lit_Other '\\') ('@') 
                                          (BracedVarSub
                                            token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: 
                                                  (ArithWord
                                                    w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                  )
                                              )
                                            spids: [6188 6193]
                                          ) ('[[:space:]]@s@^#*@#@')
                                        )
                                      } {(/etc/fstab)}
                                    )
                                    (C {(systemctl)} {(daemon-reload)})
                                  ]
                                  spids: [6158 6206]
                                )
                              ]
                              spids: [6080 6097]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Mount Method'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_UUID>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6240 6245]
                                                  )
                                                )
                                              } {(Lit_Other '=')} {(DQ (NULL))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Error: No UUID'))} 
                                          {(--msgbox)} {(DQ ('This drive does not have a UUID assigned. Unable to proceed.'))} {(--backtitle)} 
                                          {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} {(60)}
                                        )
                                      ]
                                      spids: [16777215 6257]
                                    )
                                  ]
                                  else_action: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          (BracedVarSub
                                                            token: <VSub_Name aDRIVE_ISUUIDMOUNT>
                                                            bracket_op: 
                                                              (ArrayIndex
                                                                expr: 
                                                                  (ArithWord
                                                                    w: 
                                                                      {
                                                                        ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                        )
                                                                      }
                                                                  )
                                                              )
                                                            spids: [6295 6300]
                                                          )
                                                        }
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(sed)} {(-i)} 
                                              {
                                                (DQ ('s@^UUID=') 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_UUID>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6316 6321]
                                                  ) ('@') 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6323 6328]
                                                  ) ('@g')
                                                )
                                              } {(/etc/fstab)}
                                            )
                                          ]
                                          spids: [16777215 6306]
                                        )
                                      ]
                                      else_action: [
                                        (C {(sed)} {(-i)} 
                                          {
                                            (DQ ('s@^') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6346 6351]
                                              ) ('@UUID=') 
                                              (BracedVarSub
                                                token: <VSub_Name aDRIVE_UUID>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: 
                                                      (ArithWord
                                                        w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                      )
                                                  )
                                                spids: [6353 6358]
                                              ) ('@g')
                                            )
                                          } {(/etc/fstab)}
                                        )
                                      ]
                                      spids: [6336 6366]
                                    )
                                    (C {(systemctl)} {(daemon-reload)})
                                  ]
                                  spids: [6287 6380]
                                )
                              ]
                              spids: [6210 6227]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Move User data'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_FSTYPE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6410 6415]
                                                  )
                                                )
                                              } {(Lit_Other '=')} {(DQ (vfat))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Warning: FAT32'))} 
                                          {(--msgbox)} 
                                          {
                                            (DQ ('Warning:') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                              (
'nFAT32 does not support file and folder permissions. Some of the programs which use the DietPi user directory (eg: Owncloud data storage), rely on permissions to function correctly.'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                              (
'nIf you continue with the DietPi user data move to this FAT32 drive, programs may have issues reading and writing data.'
                                              )
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)}
                                        )
                                      ]
                                      spids: [16777215 6427]
                                    )
                                  ]
                                  spids: [16777215 6465]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:target_userdata_dir)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                    )
                                                )
                                              spids: [6473 6478]
                                            )
                                          )
                                        }
                                      spids: [6471]
                                    )
                                  ]
                                  spids: [6469]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (C {(Lit_Other '[')} 
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name aDRIVE_MOUNT_TARGET>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: 
                                                          (ArithWord
                                                            w: 
                                                              {
                                                                ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                )
                                                              }
                                                          )
                                                      )
                                                    spids: [6491 6496]
                                                  )
                                                )
                                              } {(Lit_Other '=')} {(DQ (/))} {(Lit_Other ']')}
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:target_userdata_dir)
                                              op: Equal
                                              rhs: {(SQ </mnt>)}
                                              spids: [6512]
                                            )
                                          ]
                                          spids: [6512]
                                        )
                                      ]
                                      spids: [16777215 6508]
                                    )
                                  ]
                                  spids: [16777215 6519]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:target_userdata_dir)
                                      op: PlusEqual
                                      rhs: {(SQ </dietpi_userdata>)}
                                      spids: [6523]
                                    )
                                  ]
                                  spids: [6523]
                                )
                                (C {(whiptail)} {(--title)} {(DQ ('Move user data'))} {(--yesno)} 
                                  {
                                    (DQ ('Your user data will be moved:') (Lit_Other '\\') 
                                      ('n - From: ') ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') ('n - To: ') ($ VSub_Name '$target_userdata_dir') 
                                      (Lit_Other '\\') (n) (Lit_Other '\\') ('nDo you wish to continue?')
                                    )
                                  } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(12)} {(70)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [6567]
                                    )
                                  ]
                                  spids: [6567]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(/DietPi/dietpi/func/dietpi-set_userdata)} 
                                          {(DQ ($ VSub_Name '$FP_USERDATA_CURRENT'))} {(DQ ($ VSub_Name '$target_userdata_dir'))}
                                        )
                                        (C {(sleep)} {(1)})
                                      ]
                                      spids: [16777215 6585]
                                    )
                                  ]
                                  spids: [16777215 6606]
                                )
                              ]
                              spids: [6384 6401]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Format))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [6631]
                                    )
                                  ]
                                  spids: [6631]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:drivepath_no_partitions)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(Return_Drive_Without_Partitions)} 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [6642 6647]
                                                      )
                                                    }
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [6639 6648]
                                          )
                                        }
                                      spids: [6638]
                                    )
                                  ]
                                  spids: [6636]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: {($ VSub_Name '$partition_contains_userdata')}
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Info: format prevented'))} 
                                          {(--msgbox)} 
                                          {
                                            (DQ 
                                              (
'Your DietPi user data is currently located on this drive:'
                                              ) (Lit_Other '\\') ('n - ') ($ VSub_Name '$FP_USERDATA_CURRENT') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                              (
'nFormatting the drive at this time is not possible.'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease move your user data elsewhere, before trying again:') 
                                              (Lit_Other '\\') ('nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=478')
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(13)} {(80)}
                                        )
                                      ]
                                      spids: [16777215 6666]
                                    )
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(df)} {(-Ph)})
                                                                  (C {(grep)} {(-ci)} {(-m1)} 
                                                                    {
                                                                      (DQ ('^') 
                                                                        ($ VSub_Name 
'$drivepath_no_partitions'
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_CommandSub '$('>
                                                        spids: [6717 6735]
                                                      )
                                                    }
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Notice:'))} {(--msgbox)} 
                                          {
                                            (DQ 
                                              (
'As DietPi will format the entire drive with 1 partition, you must unmount ALL partitions on this disk, before formatting is available.'
                                              )
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(10)} {(70)}
                                        )
                                      ]
                                      spids: [6713 6741]
                                    )
                                  ]
                                  else_action: [
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:TARGETMENUID)
                                          op: Equal
                                          rhs: {(2)}
                                          spids: [6775]
                                        )
                                      ]
                                      spids: [6775]
                                    )
                                  ]
                                  spids: [6771 6780]
                                )
                              ]
                              spids: [6610 6627]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Transfer RootFS'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:FORMAT_RECREATE_PARTITION_TABLE)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [6809]
                                    )
                                  ]
                                  spids: [6809]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithWord
                                                  w: 
                                                    {
                                                      (CommandSubPart
                                                        command_list: 
                                                          (CommandList
                                                            children: [
                                                              (Pipeline
                                                                children: [
                                                                  (C {(df)} {(-Ph)})
                                                                  (C {(grep)} {(-ci)} {(-m1)} 
                                                                    {
                                                                      (DQ ('^') 
                                                                        (BracedVarSub
                                                                          token: 
                                                                            <VSub_Name 
aDRIVE_MOUNT_SOURCE
                                                                            >
                                                                          bracket_op: 
                                                                            (ArrayIndex
                                                                              expr: 
                                                                                (ArithWord
                                                                                  w: 
                                                                                    {
                                                                                      ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                                      )
                                                                                    }
                                                                                )
                                                                            )
                                                                          spids: [6837 6842]
                                                                        )
                                                                      )
                                                                    }
                                                                  )
                                                                ]
                                                                negated: F
                                                              )
                                                            ]
                                                          )
                                                        left_token: <Left_CommandSub '$('>
                                                        spids: [6822 6844]
                                                      )
                                                    }
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(whiptail)} {(--title)} {(DQ ('Notice:'))} {(--msgbox)} 
                                          {
                                            (DQ 
                                              (
'Partition must be unmounted, before format and RootFS transfer can begin.'
                                              ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nPlease unmount the partition, then try again.')
                                            )
                                          } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(10)} {(70)}
                                        )
                                      ]
                                      spids: [16777215 6850]
                                    )
                                  ]
                                  else_action: [
                                    (C {(whiptail)} {(--title)} {(DQ ('Move RootFS'))} {(--yesno)} 
                                      {(--defaultno)} 
                                      {
                                        (DQ 
                                          (
'This process will move RootFS data to another location. This may increase filesystem performance when using a USB drive over SD card, however, there are some limitations:'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - The SD/EMMC card is still required for the boot process') 
                                          (Lit_Other '\\') ('n - ALL data on the target PARTITION will be deleted') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                          (
'nNB: As this feature is still in testing, we recommend you use this feature on a fresh installation only.'
                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nDo you wish to continue?')
                                        )
                                      } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(18)} {(77)}
                                    )
                                    (Assignment
                                      keyword: Assign_None
                                      pairs: [
                                        (assign_pair
                                          lhs: (LhsName name:CHOICE)
                                          op: Equal
                                          rhs: {($ VSub_QMark '$?')}
                                          spids: [6929]
                                        )
                                      ]
                                      spids: [6929]
                                    )
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                      right: (ArithWord w:{(Lit_Digits 0)})
                                                    )
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C {(whiptail)} {(--title)} {(DQ ('Info:'))} {(--msgbox)} 
                                              {
                                                (DQ 
                                                  (
'On the next screen, you will be asked to format the target partition.'
                                                  ) (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                  (
'nPlease see the following recommendations for RootFS target filesystem type:'
                                                  ) (Lit_Other '\\') (n) (Lit_Other '\\') ('n - Odroid') (Lit_Other '\\') 
                                                  ('nRootFS transfer supports ONLY EXT4 format') (Lit_Other '\\') (n) (Lit_Other '\\') ('n - RPi') (Lit_Other '\\') 
                                                  (
'nRootFS transfer supports EXT4, BTRFS and F2FS'
                                                  )
                                                )
                                              } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(16)} {(75)}
                                            )
                                            (Assignment
                                              keyword: Assign_None
                                              pairs: [
                                                (assign_pair
                                                  lhs: (LhsName name:TARGETMENUID)
                                                  op: Equal
                                                  rhs: {(2)}
                                                  spids: [6997]
                                                )
                                              ]
                                              spids: [6997]
                                            )
                                            (While
                                              cond: [
                                                (DParen
                                                  child: 
                                                    (ArithBinary
                                                      op_id: Arith_DEqual
                                                      left: 
                                                        (ArithWord
                                                          w: {($ VSub_Name '$TARGETMENUID')}
                                                        )
                                                      right: (ArithWord w:{(Lit_Digits 2)})
                                                    )
                                                )
                                              ]
                                              body: 
                                                (DoGroup
                                                  children: [(C {(Menu_Format)})]
                                                  spids: [7015 7023]
                                                )
                                            )
                                            (If
                                              arms: [
                                                (if_arm
                                                  cond: [
                                                    (Sentence
                                                      child: 
                                                        (DParen
                                                          child: 
                                                            (ArithWord
                                                              w: {($ VSub_Name '$FORMAT_COMPLETED')}
                                                            )
                                                        )
                                                      terminator: <Op_Semi ';'>
                                                    )
                                                  ]
                                                  action: [(C {(RootFS_Move)})]
                                                  spids: [16777215 7037]
                                                )
                                              ]
                                              spids: [16777215 7045]
                                            )
                                          ]
                                          spids: [16777215 6947]
                                        )
                                      ]
                                      spids: [16777215 7049]
                                    )
                                  ]
                                  spids: [6884 7053]
                                )
                              ]
                              spids: [6788 6805]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Read Only'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (C {(Toggle_WriteMode)})
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:ROOTFS_RW_CHECKED)
                                      op: Equal
                                      rhs: {(0)}
                                      spids: [7081]
                                    )
                                  ]
                                  spids: [7081]
                                )
                              ]
                              spids: [7057 7074]
                            )
                          ]
                          spids: [16777215 7086]
                        )
                      ]
                      spids: [16777215 6004]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(0)}
                          spids: [7098]
                        )
                      ]
                      spids: [7098]
                    )
                  ]
                  spids: [7094 7103]
                )
                (C {(Init_Drives_and_Refresh)})
              ]
              spids: [5134]
            )
          spids: [5131 5134]
        )
        (FuncDef
          name: Menu_Format
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:TARGETMENUID)
                      op: Equal
                      rhs: {(2)}
                      spids: [7126]
                    )
                  ]
                  spids: [7126]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:FORMAT_COMPLETED)
                      op: Equal
                      rhs: {(0)}
                      spids: [7131]
                    )
                  ]
                  spids: [7131]
                )
                (C {(/DietPi/dietpi/func/dietpi-set_dphys-swapfile)} {(0)} {(/var/swap)})
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:partition_table_text)
                      op: Equal
                      rhs: {(SQ <MBR>)}
                      spids: [7150]
                    )
                  ]
                  spids: [7148]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: (DParen child:(ArithWord w:{($ VSub_Name '$FORMAT_GPT')}))
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:partition_table_text)
                              op: Equal
                              rhs: {(SQ <GPT>)}
                              spids: [7170]
                            )
                          ]
                          spids: [7170]
                        )
                      ]
                      spids: [16777215 7166]
                    )
                  ]
                  spids: [16777215 7177]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:format_type_text)
                      op: Equal
                      rhs: {(SQ <EXT4>)}
                      spids: [7183]
                    )
                  ]
                  spids: [7181]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 1)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <NTFS>)}
                              spids: [7207]
                            )
                          ]
                          spids: [7207]
                        )
                      ]
                      spids: [16777215 7203]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 2)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <FAT32>)}
                              spids: [7232]
                            )
                          ]
                          spids: [7232]
                        )
                      ]
                      spids: [7214 7228]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 3)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <'HFS+'>)}
                              spids: [7257]
                            )
                          ]
                          spids: [7257]
                        )
                      ]
                      spids: [7239 7253]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 4)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <BTRFS>)}
                              spids: [7282]
                            )
                          ]
                          spids: [7282]
                        )
                      ]
                      spids: [7264 7278]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 5)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <F2FS>)}
                              spids: [7307]
                            )
                          ]
                          spids: [7307]
                        )
                      ]
                      spids: [7289 7303]
                    )
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$FORMAT_FILESYSTEM_TYPE')})
                                  right: (ArithWord w:{(Lit_Digits 6)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:format_type_text)
                              op: Equal
                              rhs: {(SQ <EXFAT>)}
                              spids: [7332]
                            )
                          ]
                          spids: [7332]
                        )
                      ]
                      spids: [7314 7328]
                    )
                  ]
                  spids: [16777215 7339]
                )
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [7345]
                    )
                  ]
                  spids: [7343]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ('Partition Type'))}
                              {(DQ (': ') ($ VSub_Name '$partition_table_text'))}
                            ]
                          )
                        }
                      spids: [7351]
                    )
                  ]
                  spids: [7351]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ('Filesystem Type'))}
                              {(DQ (': ') ($ VSub_Name '$format_type_text'))}
                            ]
                          )
                        }
                      spids: [7364]
                    )
                  ]
                  spids: [7364]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ (Format))}
                              {(DQ (': Wipe all data and format drive with current options'))}
                            ]
                          )
                        }
                      spids: [7377]
                    )
                  ]
                  spids: [7377]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ('Format Drive'))}
                      spids: [7390]
                    )
                  ]
                  spids: [7390]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--menu)}
                                      {(DQ ('Please select formatting options:'))}
                                      {(--cancel-button)}
                                      {(DQ (Back))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                      {(11)}
                                      {(75)}
                                      {(3)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name whiptail_menu_array>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [7437 7442]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [7445]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [7448]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [7451]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [7397 7453]
                          )
                        }
                      spids: [7396]
                    )
                  ]
                  spids: [7396]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [7456]
                    )
                  ]
                  spids: [7456]
                )
                (C {(unset)} {(whiptail_menu_array)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:MENU_LASTITEM)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$OPTION'))}
                              spids: [7485]
                            )
                          ]
                          spids: [7485]
                        )
                        (If
                          arms: [
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Partition Type'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_TITLE)
                                      op: Equal
                                      rhs: {(SQ <'Partition table?'>)}
                                      spids: [7513]
                                    )
                                  ]
                                  spids: [7513]
                                )
                                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                  {(--yesno)} 
                                  {
                                    (DQ ('Would you like to use GPT or MBR parition table?') 
                                      (Lit_Other '\\') ('n - GPT is required for 2TB+ drives') (Lit_Other '\\') ('n - MBR does NOT support 2TB+ drives') 
                                      (Lit_Other '\\') (n) (Lit_Other '\\') ('nIf unsure, select GPT (default)')
                                    )
                                  } {(--yes-button)} {(DQ (MBR))} {(--no-button)} {(DQ (GPT))} {(--backtitle)} 
                                  {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} {(12)} {(70)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [7566]
                                    )
                                  ]
                                  spids: [7566]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:FORMAT_GPT)
                                      op: Equal
                                      rhs: {(1)}
                                      spids: [7570]
                                    )
                                  ]
                                  spids: [7570]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:FORMAT_GPT)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [7592]
                                            )
                                          ]
                                          spids: [7592]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:partition_table_text)
                                              op: Equal
                                              rhs: {(SQ <MBR>)}
                                              spids: [7596]
                                            )
                                          ]
                                          spids: [7596]
                                        )
                                      ]
                                      spids: [16777215 7588]
                                    )
                                  ]
                                  spids: [16777215 7603]
                                )
                              ]
                              spids: [16777215 7509]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ ('Filesystem Type'))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: Equal
                                      rhs: {(ArrayLiteralPart)}
                                      spids: [7628]
                                    )
                                  ]
                                  spids: [7628]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (0))}
                                              {(DQ (': EXT4   | Default (Recommended)'))}
                                            ]
                                          )
                                        }
                                      spids: [7633]
                                    )
                                  ]
                                  spids: [7633]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (1))}
                                              {(DQ (': NTFS   | Windows (High CPU usage)'))}
                                            ]
                                          )
                                        }
                                      spids: [7645]
                                    )
                                  ]
                                  spids: [7645]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (2))}
                                              {(DQ (': FAT32  | All OS (4GB filesize limit)'))}
                                            ]
                                          )
                                        }
                                      spids: [7657]
                                    )
                                  ]
                                  spids: [7657]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (3))}
                                              {
                                                (DQ 
                                                  (
': HFS+   | Mac OS X (Intel Mac default file system)'
                                                  )
                                                )
                                              }
                                            ]
                                          )
                                        }
                                      spids: [7669]
                                    )
                                  ]
                                  spids: [7669]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (4))}
                                              {(DQ (': BTRFS  | Linux (Modern filesystem)'))}
                                            ]
                                          )
                                        }
                                      spids: [7681]
                                    )
                                  ]
                                  spids: [7681]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (5))}
                                              {(DQ (': F2FS   | Linux (Flash filesystem)'))}
                                            ]
                                          )
                                        }
                                      spids: [7693]
                                    )
                                  ]
                                  spids: [7693]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:whiptail_menu_array)
                                      op: PlusEqual
                                      rhs: 
                                        {
                                          (ArrayLiteralPart
                                            words: [
                                              {(DQ (6))}
                                              {(DQ (': exFAT  | Windows (Flash filesystem)'))}
                                            ]
                                          )
                                        }
                                      spids: [7705]
                                    )
                                  ]
                                  spids: [7705]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_TITLE)
                                      op: Equal
                                      rhs: {(SQ <'Filesystem Type?'>)}
                                      spids: [7718]
                                    )
                                  ]
                                  spids: [7718]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:OPTION)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (SimpleCommand
                                                    words: [
                                                      {(whiptail)}
                                                      {(--title)}
                                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                                      {(--menu)}
                                                      {
                                                        (DQ 
                                                          (
'Please select a filesystem type for this format:'
                                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nEXT4:') (Lit_Other '\\') 
                                                          (
'nHighly recommended if you plan to use this drive solely on this system (dedicated drive).'
                                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nNTFS:') (Lit_Other '\\') 
                                                          (
'nRecommended if you plan to use this drive on a Windows system. High CPU usage during transfers.'
                                                          ) (Lit_Other '\\') (n) (Lit_Other '\\') ('nFull list of different filesystem types:') (Lit_Other '\\') 
                                                          (
'nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=673&p=2898#p2898'
                                                          )
                                                        )
                                                      }
                                                      {(--cancel-button)}
                                                      {(DQ (Back))}
                                                      {(--default-item)}
                                                      {(DQ ($ VSub_Name '$FORMAT_FILESYSTEM_TYPE'))}
                                                      {(--backtitle)}
                                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                                      {(24)}
                                                      {(70)}
                                                      {(5)}
                                                      {
                                                        (DQ 
                                                          (BracedVarSub
                                                            token: <VSub_Name whiptail_menu_array>
                                                            bracket_op: (WholeArray op_id:Lit_At)
                                                            spids: [7783 7788]
                                                          )
                                                        )
                                                      }
                                                    ]
                                                    redirects: [
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 3
                                                        arg_word: {(1)}
                                                        spids: [7791]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 1
                                                        arg_word: {(2)}
                                                        spids: [7794]
                                                      )
                                                      (Redir
                                                        op_id: Redir_GreatAnd
                                                        fd: 2
                                                        arg_word: {(3)}
                                                        spids: [7797]
                                                      )
                                                    ]
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [7725 7799]
                                          )
                                        }
                                      spids: [7724]
                                    )
                                  ]
                                  spids: [7724]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [7802]
                                    )
                                  ]
                                  spids: [7802]
                                )
                                (C {(unset)} {(whiptail_menu_array)})
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (If
                                          arms: [
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_DAmp
                                                          left: 
                                                            (ArithBinary
                                                              op_id: Arith_DEqual
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 3)})
                                                            )
                                                          right: 
                                                            (ArithUnary
                                                              op_id: Arith_Bang
                                                              child: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(dpkg)} 
                                                                                    {
                                                                                      (
--get-selections
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(grep)} {(-ci)} 
                                                                                    {(-m1)} {(SQ <'^hfsutils'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_CommandSub '$('>
                                                                        spids: [7850 7866]
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
'Installing additional packages for HFS+ support, please wait...'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(G_AGI)} {(hfsplus)} {(hfsprogs)} {(hfsutils)})
                                              ]
                                              spids: [16777215 7872]
                                            )
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_DAmp
                                                          left: 
                                                            (ArithBinary
                                                              op_id: Arith_DEqual
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 4)})
                                                            )
                                                          right: 
                                                            (ArithUnary
                                                              op_id: Arith_Bang
                                                              child: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(dpkg)} 
                                                                                    {
                                                                                      (
--get-selections
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(grep)} {(-ci)} 
                                                                                    {(-m1)} {(SQ <'^btrfs-tools'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_CommandSub '$('>
                                                                        spids: [7914 7930]
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
'Installing additional packages for BTRFS support, please wait...'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(G_AGI)} {(btrfs-tools)})
                                              ]
                                              spids: [7899 7936]
                                            )
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_DAmp
                                                          left: 
                                                            (ArithBinary
                                                              op_id: Arith_DEqual
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 5)})
                                                            )
                                                          right: 
                                                            (ArithUnary
                                                              op_id: Arith_Bang
                                                              child: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(dpkg)} 
                                                                                    {
                                                                                      (
--get-selections
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(grep)} {(-ci)} 
                                                                                    {(-m1)} {(SQ <'^f2fs-tools'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_CommandSub '$('>
                                                                        spids: [7974 7990]
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
'Installing additional packages for F2FS support, please wait...'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(G_AGI)} {(f2fs-tools)})
                                              ]
                                              spids: [7959 7996]
                                            )
                                            (if_arm
                                              cond: [
                                                (Sentence
                                                  child: 
                                                    (DParen
                                                      child: 
                                                        (ArithBinary
                                                          op_id: Arith_DAmp
                                                          left: 
                                                            (ArithBinary
                                                              op_id: Arith_DEqual
                                                              left: 
                                                                (ArithWord
                                                                  w: {($ VSub_Name '$OPTION')}
                                                                )
                                                              right: (ArithWord w:{(Lit_Digits 6)})
                                                            )
                                                          right: 
                                                            (ArithUnary
                                                              op_id: Arith_Bang
                                                              child: 
                                                                (ArithWord
                                                                  w: 
                                                                    {
                                                                      (CommandSubPart
                                                                        command_list: 
                                                                          (CommandList
                                                                            children: [
                                                                              (Pipeline
                                                                                children: [
                                                                                  (C {(dpkg)} 
                                                                                    {
                                                                                      (
--get-selections
                                                                                      )
                                                                                    }
                                                                                  )
                                                                                  (C {(grep)} {(-ci)} 
                                                                                    {(-m1)} {(SQ <'^exfat-utils'>)}
                                                                                  )
                                                                                ]
                                                                                negated: F
                                                                              )
                                                                            ]
                                                                          )
                                                                        left_token: 
                                                                          <Left_CommandSub '$('>
                                                                        spids: [8034 8050]
                                                                      )
                                                                    }
                                                                )
                                                            )
                                                        )
                                                    )
                                                  terminator: <Op_Semi ';'>
                                                )
                                              ]
                                              action: [
                                                (C {(G_DIETPI-NOTIFY)} {(2)} 
                                                  {
                                                    (DQ 
                                                      (
'Installing additional packages for exFAT support, please wait...'
                                                      )
                                                    )
                                                  }
                                                )
                                                (C {(G_AGI)} {(exfat-utils)} {(exfat-fuse)})
                                              ]
                                              spids: [8019 8056]
                                            )
                                          ]
                                          spids: [16777215 8077]
                                        )
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:FORMAT_FILESYSTEM_TYPE)
                                              op: Equal
                                              rhs: {($ VSub_Name '$OPTION')}
                                              spids: [8081]
                                            )
                                          ]
                                          spids: [8081]
                                        )
                                      ]
                                      spids: [16777215 7827]
                                    )
                                  ]
                                  spids: [16777215 8086]
                                )
                              ]
                              spids: [7607 7624]
                            )
                            (if_arm
                              cond: [
                                (Sentence
                                  child: 
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$OPTION'))} 
                                      {(Lit_Other '=')} {(DQ (Format))} {(Lit_Other ']')}
                                    )
                                  terminator: <Op_Semi ';'>
                                )
                              ]
                              action: [
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:drivepath_no_partitions)
                                      op: Equal
                                      rhs: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(Return_Drive_Without_Partitions)} 
                                                    {
                                                      (BracedVarSub
                                                        token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: 
                                                              (ArithWord
                                                                w: 
                                                                  {
                                                                    ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                    )
                                                                  }
                                                              )
                                                          )
                                                        spids: [8117 8122]
                                                      )
                                                    }
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [8114 8123]
                                          )
                                        }
                                      spids: [8113]
                                    )
                                  ]
                                  spids: [8111]
                                )
                                (Assignment
                                  keyword: Assign_Local
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:text_desc)
                                      op: Equal
                                      rhs: 
                                        {
                                          (DQ ('Format Drive:') (Lit_Other '\\') ('n - ') 
                                            ($ VSub_Name '$drivepath_no_partitions') (Lit_Other '\\') ('n - UUID=') 
                                            (BracedVarSub
                                              token: <VSub_Name aDRIVE_UUID>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: 
                                                    (ArithWord
                                                      w: {($ VSub_Name '$INDEX_DRIVE_BEING_EDITED')}
                                                    )
                                                )
                                              spids: [8136 8141]
                                            ) (Lit_Other '\\') ('n - Partition table: ') ($ VSub_Name '$partition_table_text') (Lit_Other '\\') 
                                            ('n - Filesystem type: ') ($ VSub_Name '$format_type_text') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                            (
'nALL DATA and PARTITIONS on this drive will be DELETED.'
                                            ) (Lit_Other '\\') ('nDo you wish to continue?')
                                          )
                                        }
                                      spids: [8128]
                                    )
                                  ]
                                  spids: [8126]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithUnary
                                                  op_id: Arith_Bang
                                                  child: 
                                                    (ArithWord
                                                      w: 
                                                        {
                                                          ($ VSub_Name 
'$FORMAT_RECREATE_PARTITION_TABLE'
                                                          )
                                                        }
                                                    )
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:text_desc)
                                              op: Equal
                                              rhs: 
                                                {
                                                  (DQ ('Format partition:') (Lit_Other '\\') ('n - ') 
                                                    (BracedVarSub
                                                      token: <VSub_Name aDRIVE_MOUNT_SOURCE>
                                                      bracket_op: 
                                                        (ArrayIndex
                                                          expr: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                  )
                                                                }
                                                            )
                                                        )
                                                      spids: [8179 8184]
                                                    ) (Lit_Other '\\') ('n - UUID=') 
                                                    (BracedVarSub
                                                      token: <VSub_Name aDRIVE_UUID>
                                                      bracket_op: 
                                                        (ArrayIndex
                                                          expr: 
                                                            (ArithWord
                                                              w: 
                                                                {
                                                                  ($ VSub_Name 
'$INDEX_DRIVE_BEING_EDITED'
                                                                  )
                                                                }
                                                            )
                                                        )
                                                      spids: [8187 8192]
                                                    ) (Lit_Other '\\') ('n - Partition table: ') ($ VSub_Name '$partition_table_text') (Lit_Other '\\') 
                                                    ('n - Filesystem type: ') ($ VSub_Name '$format_type_text') (Lit_Other '\\') (n) (Lit_Other '\\') 
                                                    (
'nALL DATA on this partition will be DELETED.'
                                                    ) (Lit_Other '\\') ('nDo you wish to continue?')
                                                  )
                                                }
                                              spids: [8174]
                                            )
                                          ]
                                          spids: [8174]
                                        )
                                      ]
                                      spids: [16777215 8170]
                                    )
                                  ]
                                  spids: [16777215 8209]
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:WHIP_TITLE)
                                      op: Equal
                                      rhs: {(SQ <'Start Format?'>)}
                                      spids: [8213]
                                    )
                                  ]
                                  spids: [8213]
                                )
                                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} 
                                  {(--yesno)} {(DQ ($ VSub_Name '$text_desc'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--defaultno)} 
                                  {(14)} {(75)}
                                )
                                (Assignment
                                  keyword: Assign_None
                                  pairs: [
                                    (assign_pair
                                      lhs: (LhsName name:CHOICE)
                                      op: Equal
                                      rhs: {($ VSub_QMark '$?')}
                                      spids: [8246]
                                    )
                                  ]
                                  spids: [8246]
                                )
                                (If
                                  arms: [
                                    (if_arm
                                      cond: [
                                        (Sentence
                                          child: 
                                            (DParen
                                              child: 
                                                (ArithBinary
                                                  op_id: Arith_DEqual
                                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                                  right: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                            )
                                          terminator: <Op_Semi ';'>
                                        )
                                      ]
                                      action: [
                                        (C {(Run_Format)})
                                        (Assignment
                                          keyword: Assign_None
                                          pairs: [
                                            (assign_pair
                                              lhs: (LhsName name:TARGETMENUID)
                                              op: Equal
                                              rhs: {(0)}
                                              spids: [8272]
                                            )
                                          ]
                                          spids: [8272]
                                        )
                                      ]
                                      spids: [16777215 8264]
                                    )
                                  ]
                                  spids: [16777215 8277]
                                )
                              ]
                              spids: [8090 8107]
                            )
                          ]
                          spids: [16777215 8281]
                        )
                      ]
                      spids: [16777215 7481]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(1)}
                          spids: [8289]
                        )
                      ]
                      spids: [8289]
                    )
                  ]
                  spids: [8285 8294]
                )
              ]
              spids: [7122]
            )
          spids: [7119 7122]
        )
        (FuncDef
          name: Menu_Select_Mount_Location
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:whiptail_menu_array)
                      op: Equal
                      rhs: {(ArrayLiteralPart)}
                      spids: [8315]
                    )
                  ]
                  spids: [8313]
                )
                (Pipeline
                  children: [
                    (C {(df)} {(-Ph)})
                    (C {(tail)} {(-n)} {(Lit_Other '+') (2)})
                    (C {(grep)} {(-v)} {(SQ <'tmpfs[[:space:]]'>)})
                    (SimpleCommand
                      words: [{(grep)} {(-v)} {(SQ <'^udev'>)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: 16777215
                          arg_word: {(/tmp/dietpi-drive_manager_selmnt)}
                          spids: [8354]
                        )
                      ]
                    )
                  ]
                  negated: F
                )
                (While
                  cond: [(C {(read)} {(line)})]
                  body: 
                    (DoGroup
                      children: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:whiptail_menu_array)
                              op: PlusEqual
                              rhs: 
                                {
                                  (ArrayLiteralPart
                                    words: [
                                      {
                                        (DQ 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                      (C {(awk)} {(SQ <'{print $6}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [8374 8388]
                                          )
                                        )
                                      }
                                      {
                                        (DQ (': ') 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                      (C {(awk)} {(SQ <'{print $1}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [8393 8407]
                                          ) (' | size: ') 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                      (C {(awk)} {(SQ <'{print $2}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [8409 8423]
                                          ) (' | available: ') 
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (Pipeline
                                                    children: [
                                                      (C {(echo)} {(-e)} {($ VSub_Name '$line')})
                                                      (C {(awk)} {(SQ <'{print $4}'>)})
                                                    ]
                                                    negated: F
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [8425 8439]
                                          )
                                        )
                                      }
                                    ]
                                  )
                                }
                              spids: [8371]
                            )
                          ]
                          spids: [8371]
                        )
                      ]
                      spids: [8367 8445]
                    )
                  redirects: [
                    (Redir
                      op_id: Redir_Less
                      fd: 16777215
                      arg_word: {(/tmp/dietpi-drive_manager_selmnt)}
                      spids: [8447]
                    )
                  ]
                )
                (C {(rm)} {(/tmp/dietpi-drive_manager_selmnt)})
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                      spids: [8459]
                    )
                  ]
                  spids: [8459]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:OPTION)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(whiptail)}
                                      {(--title)}
                                      {(DQ ($ VSub_Name '$WHIP_TITLE'))}
                                      {(--menu)}
                                      {(DQ ('Please select a mount location to use:'))}
                                      {(--default-item)}
                                      {(DQ ($ VSub_Name '$MENU_LASTITEM'))}
                                      {(--cancel-button)}
                                      {(DQ (Exit))}
                                      {(--backtitle)}
                                      {(DQ ($ VSub_Name '$PROGRAM_NAME'))}
                                      {(16)}
                                      {(110)}
                                      {(7)}
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name whiptail_menu_array>
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [8506 8511]
                                          )
                                        )
                                      }
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 3
                                        arg_word: {(1)}
                                        spids: [8514]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 1
                                        arg_word: {(2)}
                                        spids: [8517]
                                      )
                                      (Redir
                                        op_id: Redir_GreatAnd
                                        fd: 2
                                        arg_word: {(3)}
                                        spids: [8520]
                                      )
                                    ]
                                  )
                                ]
                              )
                            left_token: <Left_CommandSub '$('>
                            spids: [8466 8522]
                          )
                        }
                      spids: [8465]
                    )
                  ]
                  spids: [8465]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [8526]
                    )
                  ]
                  spids: [8526]
                )
                (C {(unset)} {(whiptail_menu_array)})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_Local
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:drive_manager_selection)
                              op: Equal
                              rhs: {(DQ ($ VSub_Name '$OPTION'))}
                              spids: [8557]
                            )
                          ]
                          spids: [8555]
                        )
                        (C {(G_DIETPI-NOTIFY)} {(0)} 
                          {(DQ ('Drive mount selected: ') ($ VSub_Name '$drive_manager_selection'))}
                        )
                        (SimpleCommand
                          words: [{(echo)} {(-e)} {(DQ ($ VSub_Name '$drive_manager_selection'))}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 16777215
                              arg_word: {(DQ ($ VSub_Name '$FP_DRIVE_MANAGER_SELECTION'))}
                              spids: [8582]
                            )
                          ]
                        )
                      ]
                      spids: [16777215 8551]
                    )
                  ]
                  spids: [16777215 8590]
                )
              ]
              spids: [8305]
            )
          spids: [8302 8305]
        )
        (FuncDef
          name: Menu_Exit
          body: 
            (BraceGroup
              children: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_TITLE)
                      op: Equal
                      rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))}
                      spids: [8605]
                    )
                  ]
                  spids: [8605]
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:WHIP_QUESTION)
                      op: Equal
                      rhs: {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))}
                      spids: [8613]
                    )
                  ]
                  spids: [8613]
                )
                (C {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$WHIP_TITLE'))} {(--yesno)} 
                  {(DQ ($ VSub_Name '$WHIP_QUESTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} 
                  {(DQ (Back))} {(--defaultno)} {(9)} {(55)}
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:CHOICE)
                      op: Equal
                      rhs: {($ VSub_QMark '$?')}
                      spids: [8660]
                    )
                  ]
                  spids: [8660]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Name '$CHOICE')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:TARGETMENUID)
                              op: Equal
                              rhs: {(-1)}
                              spids: [8686]
                            )
                          ]
                          spids: [8686]
                        )
                      ]
                      spids: [16777215 8678]
                    )
                  ]
                  else_action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:TARGETMENUID)
                          op: Equal
                          rhs: {(0)}
                          spids: [8699]
                        )
                      ]
                      spids: [8699]
                    )
                  ]
                  spids: [8691 8704]
                )
              ]
              spids: [8601]
            )
          spids: [8598 8601]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_GreatEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:SERVICE_CONTROL)
                      op: Equal
                      rhs: {(0)}
                      spids: [8742]
                    )
                  ]
                  spids: [8742]
                )
              ]
              spids: [16777215 8738]
            )
          ]
          spids: [16777215 8747]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (DParen child:(ArithWord w:{($ VSub_Name '$SERVICE_CONTROL')}))
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(/DietPi/dietpi/dietpi-services)} {(stop)})]
              spids: [16777215 8768]
            )
          ]
          spids: [16777215 8778]
        )
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 4)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (HereDoc
                      op_id: Redir_DLess
                      fd: 16777215
                      body: 
                        {
                          (DQ 
                            (
'#Samba Client------------------------------------------------------\n'
                            ) ('#/mnt/samba . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n') 
                            ('\n') ('#FTP Client Mount--------------------------------------------------\n') 
                            (
'#/mnt/ftp_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n'
                            ) ('\n') ('#NFS Client Mount--------------------------------------------------\n') 
                            (
'#/mnt/nfs_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount\n'
                            ) ('\n') ('#TMPFS / MISC ------------------------------------------------------\n') 
                            (
'proc            /proc           proc    defaults\t\t\t\t\t\t\t\t\t\t\t0 0\n'
                            ) ('tmpfs \t\t\t/tmp  \t\t\ttmpfs \tdefaults,noatime,nodev,nosuid,mode=1777\t\t\t\t0 0\n') 
                            (
'tmpfs \t\t\t/var/log \t\ttmpfs \tdefaults,size=20m,noatime,nodev,nosuid,mode=1777\t0 0\n'
                            ) ('tmpfs \t\t\t/DietPi \t\ttmpfs \tdefaults,size=10m,noatime,nodev,nosuid,mode=1777\t0 0\n') ('\n') 
                            (
'#Internal Drives---------------------------------------------------\n'
                            )
                          )
                        }
                      do_expansion: True
                      here_end: _EOF_
                      was_filled: T
                      spids: [8809]
                    )
                    (Redir
                      op_id: Redir_Great
                      fd: 16777215
                      arg_word: {(/etc/fstab)}
                      spids: [8813]
                    )
                  ]
                )
                (C {(Init_Drives_and_Refresh)})
              ]
              spids: [16777215 8803]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 3)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(RootFS_RW_Check)})]
              spids: [8844 8858]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 2)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(Init_Drives_and_Refresh)}) (C {(RootFS_Low_Free_Space_Check)})]
              spids: [8870 8884]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$INPUT')})
                          right: (ArithWord w:{(Lit_Digits 1)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(Init_Drives_and_Refresh)}) (C {(Menu_Select_Mount_Location)})]
              spids: [8899 8913]
            )
            (if_arm
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_DEqual
                          left: (ArithWord w:{($ VSub_Name '$G_HW_MODEL')})
                          right: (ArithWord w:{(Lit_Digits 20)})
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [
                (C {(G_DIETPI-NOTIFY)} {(1)} 
                  {(DQ ($ VSub_Name '$PROGRAM_NAME') (' is not currently supported on VM images'))}
                )
              ]
              spids: [8928 8942]
            )
          ]
          else_action: [
            (C {(Init_Drives_and_Refresh)})
            (While
              cond: [
                (Sentence
                  child: 
                    (DParen
                      child: 
                        (ArithBinary
                          op_id: Arith_Great
                          left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                          right: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)}))
                        )
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C {(clear)})
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Main_Drive_Manager)})]
                          spids: [16777215 9006]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Drive_Manager_Edit_Drive)})]
                          spids: [9014 9028]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')})
                                      right: (ArithWord w:{(Lit_Digits 2)})
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(Menu_Format)})]
                          spids: [9036 9050]
                        )
                      ]
                      spids: [16777215 9058]
                    )
                  ]
                  spids: [8984 9062]
                )
            )
          ]
          spids: [8961 9066]
        )
        (C {(Destroy)})
        (If
          arms: [
            (if_arm
              cond: [
                (Sentence
                  child: (DParen child:(ArithWord w:{($ VSub_Name '$SERVICE_CONTROL')}))
                  terminator: <Op_Semi ';'>
                )
              ]
              action: [(C {(/DietPi/dietpi/dietpi-services)} {(start)})]
              spids: [16777215 9099]
            )
          ]
          spids: [16777215 9109]
        )
        (ControlFlow token:<ControlFlow_Exit exit> arg_word:{($ VSub_Name '$EXIT_CODE')})
      ]
      spids: [3]
    )
  ]
)