(BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:URL) op: assign_op.Equal rhs: {(SQ <www.google.com>)} spids: [67] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number '$1'))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:URL) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number '$1'))} spids: [93] ) ] ) ] spids: [73 90] ) ] ) (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Optimal_mtu>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MTU_SIZE) op: assign_op.Equal rhs: {<1500>} spids: [125] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_MTU_SIZE) op: assign_op.Equal rhs: {<0>} spids: [129] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SUCCESS) op: assign_op.Equal rhs: {<0>} spids: [133] ) ] ) (C {<echo>} {<-e>} { (DQ <'DietPi - MTU optimal size tool'> <Id.Lit_BadBackslash '\\'> <'n - Finding optimal MTU size, please wait...'> ) } ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName '$SUCCESS')} right: {<Id.Lit_Digits 0>} ) ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TEST_MTU_SIZE) op: assign_op.Equal rhs: { (word_part.ArithSub anode: (arith_expr.Binary op_id: Id.Arith_Minus left: {($ Id.VSub_DollarName '$MTU_SIZE')} right: {<Id.Lit_Digits 28>} ) ) } spids: [172] ) ] ) (C {<echo>} {<-e>} {(DQ <'Testing MTU: '> ($ Id.VSub_DollarName '$MTU_SIZE'))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_DEqual left: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<ping>} {<-c>} {<1>} {<-s>} {($ Id.VSub_DollarName '$TEST_MTU_SIZE')} {<-M>} {<Id.KW_Do do>} {($ Id.VSub_DollarName '$URL')} ) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'+1 error'>)}) ] negated: F ) ) } right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SUCCESS) op: assign_op.Equal rhs: {<1>} spids: [240] ) ] ) (C {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nCompleted:'> <Id.Lit_BadBackslash '\\'> <'n - MTU optimal size = '> ($ Id.VSub_DollarName '$MTU_SIZE') <Id.Lit_BadBackslash '\\'> <n> ) } ) ] spids: [196 237] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_LessEqual left: {($ Id.VSub_DollarName '$MTU_SIZE')} right: {<Id.Lit_Digits 0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {<-e>} { (DQ <Id.Lit_BadBackslash '\\'> <'nERROR:'> <Id.Lit_BadBackslash '\\'> <'n - Failed to find MTU size'> <Id.Lit_BadBackslash '\\'> <n> ) } ) ] spids: [259 273] ) ] else_action: [ (command.DParen child: (arith_expr.UnaryAssign op_id: Id.Node_PostDMinus child: <Id.Lit_ArithVarLike MTU_SIZE> ) ) ] ) ] ) ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] )