(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] ) ] )